diff options
Diffstat (limited to 'community')
-rw-r--r-- | community/bbswitch/PKGBUILD | 15 | ||||
-rw-r--r-- | community/bbswitch/bbswitch.install | 2 | ||||
-rw-r--r-- | community/cinnamon-screensaver/PKGBUILD | 4 | ||||
-rw-r--r-- | community/cinnamon-screensaver/cinnamon-screensaver.pam | 2 | ||||
-rw-r--r-- | community/glee/Makefile | 55 | ||||
-rw-r--r-- | community/glee/PKGBUILD | 35 | ||||
-rw-r--r-- | community/glee/glee.pc | 12 | ||||
-rw-r--r-- | community/i3-wm/PKGBUILD | 6 | ||||
-rw-r--r-- | community/php-memcache/PKGBUILD | 13 | ||||
-rw-r--r-- | community/php-memcache/php-memcache-3.0.7-fix-segfault-with-object-serialization.patch | 162 | ||||
-rw-r--r-- | community/shotwell/0001-Port-to-GStreamer-1.0.patch | 219 | ||||
-rw-r--r-- | community/shotwell/PKGBUILD | 26 | ||||
-rw-r--r-- | community/shotwell/regenerate-video-thumbnails.patch | 154 | ||||
-rw-r--r-- | community/udevil/PKGBUILD | 6 |
14 files changed, 278 insertions, 433 deletions
diff --git a/community/bbswitch/PKGBUILD b/community/bbswitch/PKGBUILD index 4f9eba675..3dbf06f98 100644 --- a/community/bbswitch/PKGBUILD +++ b/community/bbswitch/PKGBUILD @@ -4,23 +4,26 @@ pkgname=bbswitch pkgver=0.5 -_extramodules=extramodules-3.7-ARCH # Don't forget to update bbswitch.install -pkgrel=2 +_extramodules=extramodules-3.8-ARCH # Don't forget to update bbswitch.install +pkgrel=3 pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops" arch=('i686' 'x86_64') url=("http://github.com/Bumblebee-Project/bbswitch") license=('GPL') -depends=('linux>=3.7' 'linux<3.8') -makedepends=('linux-headers>=3.7' 'linux-headers<3.8') +depends=('linux>=3.8' 'linux<3.9') +makedepends=('linux-headers>=3.8' 'linux-headers<3.9') install=bbswitch.install -source=("https://github.com/downloads/Bumblebee-Project/bbswitch/${pkgname}-${pkgver}.tar.gz") -md5sums=('5e0e6eb9c5e8c10db56e5b349b43bba7') +source=("https://github.com/downloads/Bumblebee-Project/bbswitch/${pkgname}-${pkgver}.tar.gz" + "https://github.com/Bumblebee-Project/bbswitch/commit/5593d9519364dc7f6f28c3dd8358afb907f39c0f.patch") +md5sums=('5e0e6eb9c5e8c10db56e5b349b43bba7' + 'd76180b8f6fd092038d5ae7c71a9caa8') build() { cd ${srcdir}/${pkgname}-${pkgver} _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" + patch -Np1 < ${srcdir}/5593d9519364dc7f6f28c3dd8358afb907f39c0f.patch make KDIR=/usr/src/linux-${_kernver} } diff --git a/community/bbswitch/bbswitch.install b/community/bbswitch/bbswitch.install index b19b2f9c4..1b791a89d 100644 --- a/community/bbswitch/bbswitch.install +++ b/community/bbswitch/bbswitch.install @@ -1,5 +1,5 @@ post_install() { - EXTRAMODULES='extramodules-3.7-ARCH' + EXTRAMODULES='extramodules-3.8-ARCH' depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) } diff --git a/community/cinnamon-screensaver/PKGBUILD b/community/cinnamon-screensaver/PKGBUILD index 5b712d8d1..ae1e35a1e 100644 --- a/community/cinnamon-screensaver/PKGBUILD +++ b/community/cinnamon-screensaver/PKGBUILD @@ -5,7 +5,7 @@ pkgname=cinnamon-screensaver pkgver=1.7.1 -pkgrel=4 +pkgrel=5 pkgdesc="Screensaver designed to integrate well with the Cinnamon desktop." arch=('i686' 'x86_64') license=('GPL') @@ -25,7 +25,7 @@ source=($pkgname-$pkgver.tar.gz::https://github.com/linuxmint/cinnamon-screensav sha256sums=('055abbc24305dad5efa609b354e01fdc367792ccac5383df4b28090ab0bf64e1' '2f29a72991deb5cc2b44da06f49d1115148fee6a0a22b1abfecee1c1661abcaa' '335df8f2fb270484829d94995622521f0a42a12d6887f7de827db34fc81f583a' - 'c19870c4f2d6e91ba0eea2603753a74e0c5c82ff5fa3cacb1198027a38d0a6cb' + '99457b683c2e766a8c09a75ca906e3e00db6d294bb204a2e7a2a05c2e6b1d77e' '827276b01e658afb8045fb0dcbebb54f679ef47dac482f4399e1839369277ccc' 'fed5f1f94404fab13c5369f4106b0b498cff2bb71351cae4f3d9c27f417f5e6a' '9013004395a401e99ce6685abb8319eb1e9ddd888c4fa6a7e45729fb93d285d1') diff --git a/community/cinnamon-screensaver/cinnamon-screensaver.pam b/community/cinnamon-screensaver/cinnamon-screensaver.pam index 453dae646..fd8d42d03 100644 --- a/community/cinnamon-screensaver/cinnamon-screensaver.pam +++ b/community/cinnamon-screensaver/cinnamon-screensaver.pam @@ -1,3 +1,3 @@ #%PAM-1.0 auth required pam_unix_auth.so nullok -auth optional pam_gnome_keyring.so +-auth optional pam_gnome_keyring.so diff --git a/community/glee/Makefile b/community/glee/Makefile new file mode 100644 index 000000000..06425fd82 --- /dev/null +++ b/community/glee/Makefile @@ -0,0 +1,55 @@ +all: libGLee.so + +MAJOR=5 +MINOR=4 + +SOURCES = $(shell find . -name "*.c") + +SHARED_OBJS = $(SOURCES:.c=.shared.o) +STATIC_OBJS = $(SOURCES:.c=.static.o) + +EXTRA_CFLAGS= $(CFLAGS) +SHARED_CFLAGS= -Wall $(EXTRA_CFLAGS) -fPIC + +LDFLAGS= -Wl,-z,defs -Wl,--as-needed -Wl,--no-undefined +EXTRA_LDFLAGS= +LIBS=-lGL +EXTRA_LIBS= + +libGLee.so.$(MAJOR).$(MINOR): $(SHARED_OBJS) + g++ $(LDFLAGS) $(EXTRA_LDFLAGS) -shared \ + -Wl,-soname,libGLee.so.$(MAJOR) \ + -o libGLee.so.$(MAJOR).$(MINOR) \ + $+ -o $@ $(EXTRA_LIBS) $(LIBS) + +libGLee.so: libGLee.so.$(MAJOR).$(MINOR) + rm -f $@.$(MAJOR) + ln -s $@.$(MAJOR).$(MINOR) $@.$(MAJOR) + rm -f $@ + ln -s $@.$(MAJOR) $@ + +%.shared.o: %.cpp + g++ -o $@ -c $+ $(SHARED_CFLAGS) + +%.shared.o: %.c + gcc -o $@ -c $+ $(SHARED_CFLAGS) + +%.so : %.o + g++ $(LDFLAGS) $(EXTRA_LDFLAGS) -shared $^ -o $@ + +clean: + rm -f $(SHARED_OBJS) + rm -f $(FIXED_OBJS) + rm -f *.so *.so* *~ + +DESTDIR= + +install: libGLee.so + install -d "$(DESTDIR)/usr/lib/" + cp -a *.so* "$(DESTDIR)/usr/lib/" + install -d "$(DESTDIR)/usr/include/" + install -Dm644 *.h "$(DESTDIR)/usr/include/" + install -d "$(DESTDIR)/usr/lib/pkgconfig/" + install -Dm644 glee.pc "$(DESTDIR)/usr/lib/pkgconfig/" + install -d "$(DESTDIR)/usr/share/licenses/glee" + sed '9,32!d' readme.txt > "$(DESTDIR)/usr/share/licenses/glee/LICENSE" diff --git a/community/glee/PKGBUILD b/community/glee/PKGBUILD index 928cb04b8..3ad4e3649 100644 --- a/community/glee/PKGBUILD +++ b/community/glee/PKGBUILD @@ -1,38 +1,31 @@ -# $Id: PKGBUILD 72465 2012-06-14 23:53:43Z ebelanger $ -# Maintainer : SpepS <dreamspepser at yahoo dot it> -# Contributor: Philipp Brüschweiler <blei42 at gmail dot com > +# $Id: PKGBUILD 86549 2013-03-19 04:49:29Z speps $ +# Maintainer : speps <speps at aur dot archlinux dot org> pkgname=glee -pkgver=5.4 -pkgrel=4 -pkgdesc="Free cross-platform extension loading library for OpenGL." +pkgver=5.4.0 +pkgrel=1 +pkgdesc="Free cross-platform extension loading library for OpenGL" arch=('i686' 'x86_64' 'mips64el') url="http://elf-stone.com/glee.php" -license=('BSD') +license=('custom:BSD') depends=('gcc-libs' 'libgl') makedepends=('mesa') -source=("http://elf-stone.com/downloads/GLee/GLee-5.4.0-src.tar.gz") -md5sums=('0bd03db136dbc075488b6c6e83f326ae') +#source=("http://elf-stone.com/downloads/GLee/GLee-$pkgver-src.tar.gz") +md5sums=('0bd03db136dbc075488b6c6e83f326ae' + '937a48856486291070943488fa2824d0' + 'b59e8d11402fb2ee6c4a92bf6916b3aa') +_spkg=GLee-$pkgver-src.tar.gz +source=("http://pkgs.fedoraproject.org/repo/pkgs/GLee/$_spkg/$md5sums/$_spkg" + glee.pc Makefile) # implement FS#32670 + fix TEXTREL for i686 build() { cd "$srcdir" - - [ "$CARCH" != 'i686' ] && export CXXFLAGS="$CXXFLAGS -fPIC" - - ./configure --prefix=/usr make } package() { cd "$srcdir" - - # lib and headers - install -Dm755 libGLee.so "$pkgdir/usr/lib/libGLee.so" - install -Dm644 GLee.h "$pkgdir/usr/include/GLee.h" - - # license - install -Dm644 readme.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" - sed -i '9,32!d' "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + make DESTDIR="$pkgdir/" install } # vim:set ts=2 sw=2 et: diff --git a/community/glee/glee.pc b/community/glee/glee.pc new file mode 100644 index 000000000..0f03b450a --- /dev/null +++ b/community/glee/glee.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: GLee +Description: GL Easy Extension library +Version: 5.4.0 +Requires: +Conflicts: +Libs: -L${libdir} -lglee +Cflags: -I${includedir} diff --git a/community/i3-wm/PKGBUILD b/community/i3-wm/PKGBUILD index 3f90daffd..8146341b4 100644 --- a/community/i3-wm/PKGBUILD +++ b/community/i3-wm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 86213 2013-03-13 09:19:21Z ttoepper $ +# $Id: PKGBUILD 86553 2013-03-19 09:17:14Z ttoepper $ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> pkgname=i3-wm _pkgsourcename=i3 -pkgver=4.5 +pkgver=4.5.1 pkgrel=1 pkgdesc="An improved dynamic tiling window manager" arch=('i686' 'x86_64' 'mips64el') @@ -19,7 +19,7 @@ optdepends=('dmenu: As menu.' 'i3status: To display systeminformation with a bar.') options=('docs' '!strip') source=("http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2") -md5sums=('9eea2f570ec19affa3ec60b5ab411497') +md5sums=('a448388a9e26b7ae371534ff9f6ca353') build() { cd "$srcdir/$_pkgsourcename-$pkgver" diff --git a/community/php-memcache/PKGBUILD b/community/php-memcache/PKGBUILD index 7327f30bc..5e91965e1 100644 --- a/community/php-memcache/PKGBUILD +++ b/community/php-memcache/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 76558 2012-09-23 05:22:53Z foutrelis $ +# $Id: PKGBUILD 86563 2013-03-19 15:14:56Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> pkgname=php-memcache pkgver=3.0.7 -pkgrel=1 +pkgrel=2 pkgdesc="Memcache module for PHP" arch=('i686' 'x86_64' 'mips64el') url="http://pecl.php.net/package/memcache" @@ -11,12 +11,17 @@ license=('PHP') depends=('php') backup=('etc/php/conf.d/memcache.ini') install=php-memcache.install -source=(http://pecl.php.net/get/memcache-$pkgver.tgz) -sha256sums=('f34e2ef42dd8f1f7e6a2cfbb9417a9e58e3bfd7f5db7227ca5afab686cefdd1f') +source=(http://pecl.php.net/get/memcache-$pkgver.tgz + php-memcache-3.0.7-fix-segfault-with-object-serialization.patch) +sha256sums=('f34e2ef42dd8f1f7e6a2cfbb9417a9e58e3bfd7f5db7227ca5afab686cefdd1f' + '100bffed22ad537de1cb03653e2dbb6768617ba3b8b49b1cf05c59554270c25b') build() { cd "$srcdir/memcache-$pkgver" + # https://bugs.php.net/bug.php?id=63142 + patch -Np0 -i "$srcdir/php-memcache-3.0.7-fix-segfault-with-object-serialization.patch" + phpize ./configure --prefix=/usr make diff --git a/community/php-memcache/php-memcache-3.0.7-fix-segfault-with-object-serialization.patch b/community/php-memcache/php-memcache-3.0.7-fix-segfault-with-object-serialization.patch new file mode 100644 index 000000000..f3909746b --- /dev/null +++ b/community/php-memcache/php-memcache-3.0.7-fix-segfault-with-object-serialization.patch @@ -0,0 +1,162 @@ +Index: memcache.c +=================================================================== +--- memcache.c (revision 329831) ++++ memcache.c (working copy) +@@ -1529,15 +1529,13 @@ + unsigned int flags, unsigned long cas, void *param TSRMLS_DC) /* + receives a multiple values, param is a zval** array to store value and flags in {{{ */ + { +- zval *arrval, **result = (zval **)param; +- ALLOC_ZVAL(arrval); +- *((zval *)arrval) = *value; ++ zval **result = (zval **)param; + + /* add value to result */ + if (Z_TYPE_P(result[0]) != IS_ARRAY) { + array_init(result[0]); + } +- add_assoc_zval_ex(result[0], (char *)key, key_len + 1, arrval); ++ add_assoc_zval_ex(result[0], (char *)key, key_len + 1, value); + + /* add flags to result */ + if (result[1] != NULL) { +@@ -1565,7 +1563,7 @@ + receives a single value, param is a zval pointer to store value to {{{ */ + { + zval **result = (zval **)param; +- *(result[0]) = *value; ++ ZVAL_ZVAL(result[0], value, 1, 1); + + if (result[1] != NULL) { + ZVAL_LONG(result[1], flags); +Index: memcache_ascii_protocol.c +=================================================================== +--- memcache_ascii_protocol.c (revision 329831) ++++ memcache_ascii_protocol.c (working copy) +@@ -122,7 +122,7 @@ + line_len = mmc_stream_get_line(request->io, &line TSRMLS_CC); + if (line_len > 0) { + long lval; +- zval value; ++ zval *value; + + int response = mmc_request_check_response(line, line_len); + if (response != MMC_RESPONSE_UNKNOWN) { +@@ -132,10 +132,10 @@ + if (sscanf(line, "%lu", &lval) < 1) { + return mmc_server_failure(mmc, request->io, "Malformed VALUE header", 0 TSRMLS_CC); + } +- +- INIT_PZVAL(&value); +- ZVAL_LONG(&value, lval); +- return request->value_handler(request->key, request->key_len, &value, 0, 0, request->value_handler_param TSRMLS_CC); ++ ++ MAKE_STD_ZVAL(value); ++ ZVAL_LONG(value, lval); ++ return request->value_handler(request->key, request->key_len, value, 0, 0, request->value_handler_param TSRMLS_CC); + } + + return MMC_REQUEST_MORE; +Index: memcache_binary_protocol.c +=================================================================== +--- memcache_binary_protocol.c (revision 329831) ++++ memcache_binary_protocol.c (working copy) +@@ -225,14 +225,14 @@ + header = (mmc_mutate_response_header_t *)mmc_stream_get(request->io, sizeof(*header) TSRMLS_CC); + if (header != NULL) { + int result; +- zval *key, value; ++ zval *key, *value; + + /* convert remembered key to string and unpack value */ + key = (zval *)mmc_queue_item(&(req->keys), req->command.reqid); ++ ++ MAKE_STD_ZVAL(value); ++ ZVAL_LONG(value, ntohll(header->value)); + +- INIT_PZVAL(&value); +- ZVAL_LONG(&value, ntohll(header->value)); +- + if (Z_TYPE_P(key) != IS_STRING) { + zval keytmp = *key; + +@@ -241,14 +241,14 @@ + convert_to_string(&keytmp); + + result = request->value_handler( +- Z_STRVAL(keytmp), Z_STRLEN(keytmp), &value, ++ Z_STRVAL(keytmp), Z_STRLEN(keytmp), value, + req->value.flags, req->value.cas, request->value_handler_param TSRMLS_CC); + + zval_dtor(&keytmp); + } + else { + result = request->value_handler( +- Z_STRVAL_P(key), Z_STRLEN_P(key), &value, ++ Z_STRVAL_P(key), Z_STRLEN_P(key), value, + req->value.flags, req->value.cas, request->value_handler_param TSRMLS_CC); + } + +Index: memcache_pool.c +=================================================================== +--- memcache_pool.c (revision 329831) ++++ memcache_pool.c (working copy) +@@ -428,8 +428,8 @@ + unsigned long data_len; + int rv; + +- zval value; +- INIT_ZVAL(value); ++ zval *object; ++ MAKE_STD_ZVAL(object); + + if (flags & MMC_COMPRESSED) { + if (mmc_uncompress(buffer->value.c, bytes, &data, &data_len) != MMC_OK) { +@@ -445,8 +445,6 @@ + if (flags & MMC_SERIALIZED) { + php_unserialize_data_t var_hash; + const unsigned char *p = (unsigned char *)data; +- zval *object = &value; +- + char key_tmp[MMC_MAX_KEY_LEN + 1]; + mmc_request_value_handler value_handler; + void *value_handler_param; +@@ -501,7 +499,7 @@ + long val; + data[data_len] = '\0'; + val = strtol(data, NULL, 10); +- ZVAL_LONG(&value, val); ++ ZVAL_LONG(object, val); + break; + } + +@@ -509,17 +507,17 @@ + double val = 0; + data[data_len] = '\0'; + sscanf(data, "%lg", &val); +- ZVAL_DOUBLE(&value, val); ++ ZVAL_DOUBLE(object, val); + break; + } + + case MMC_TYPE_BOOL: +- ZVAL_BOOL(&value, data_len == 1 && data[0] == '1'); ++ ZVAL_BOOL(object, data_len == 1 && data[0] == '1'); + break; + + default: + data[data_len] = '\0'; +- ZVAL_STRINGL(&value, data, data_len, 0); ++ ZVAL_STRINGL(object, data, data_len, 0); + + if (!(flags & MMC_COMPRESSED)) { + /* release buffer because it's now owned by the zval */ +@@ -528,7 +526,7 @@ + } + + /* delegate to value handler */ +- return request->value_handler(key, key_len, &value, flags, cas, request->value_handler_param TSRMLS_CC); ++ return request->value_handler(key, key_len, object, flags, cas, request->value_handler_param TSRMLS_CC); + } + } + /* }}}*/ diff --git a/community/shotwell/0001-Port-to-GStreamer-1.0.patch b/community/shotwell/0001-Port-to-GStreamer-1.0.patch deleted file mode 100644 index a7a2cbf4c..000000000 --- a/community/shotwell/0001-Port-to-GStreamer-1.0.patch +++ /dev/null @@ -1,219 +0,0 @@ -From 4db67e385c9c2d89947077f1520aa31af2538d65 Mon Sep 17 00:00:00 2001 -From: Alban Browaeys <prahal@yahoo.com> -Date: Wed, 09 Jan 2013 01:11:27 +0000 -Subject: Ports Shotwell to GStreamer 1.0. Closes #6055. - ---- -diff --git a/Makefile b/Makefile -index 2488f82..5a7e262 100644 ---- a/Makefile -+++ b/Makefile -@@ -37,7 +37,7 @@ EXTRAS_SUPPORTED_LANGUAGES=fr de it es pl et sv sk lv pt bg bn nl da zh_CN el ru - LOCAL_LANG_DIR=locale-langpack - SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale - --VALAFLAGS := -g --enable-checking --thread --fatal-warnings --enable-deprecated $(USER_VALAFLAGS) -+VALAFLAGS := -g --enable-checking --thread --fatal-warnings --enable-deprecated --enable-experimental $(USER_VALAFLAGS) - ifdef UNITY_SUPPORT - VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT - endif -@@ -293,9 +293,9 @@ EXT_PKGS = \ - gio-unix-2.0 \ - glib-2.0 \ - gmodule-2.0 \ -- gstreamer-0.10 \ -- gstreamer-base-0.10 \ -- gstreamer-pbutils-0.10 \ -+ gstreamer-1.0 \ -+ gstreamer-base-1.0 \ -+ gstreamer-pbutils-1.0 \ - gtk+-3.0 \ - gudev-1.0 \ - libexif \ -@@ -314,8 +314,8 @@ endif - THUMBNAILER_PKGS = \ - gtk+-3.0 \ - gee-1.0 \ -- gstreamer-0.10 \ -- gstreamer-base-0.10 -+ gstreamer-1.0 \ -+ gstreamer-base-1.0 - - DIRECT_LIBS = - -@@ -325,10 +325,10 @@ EXT_PKG_VERSIONS = \ - gio-unix-2.0 >= 2.20 \ - glib-2.0 >= $(MIN_GLIB_VERSION) \ - gmodule-2.0 >= 2.24.0 \ -- gstreamer-0.10 >= 0.10.28 \ -- gstreamer-base-0.10 >= 0.10.28 \ -- gstreamer-plugins-base-0.10 >= 0.10.32 \ -- gstreamer-pbutils-0.10 >= 0.10.32 \ -+ gstreamer-1.0 >= 1.0.0 \ -+ gstreamer-base-1.0 >= 1.0.0 \ -+ gstreamer-plugins-base-1.0 >= 1.0.0 \ -+ gstreamer-pbutils-1.0 >= 1.0.0 \ - gtk+-3.0 >= 3.0.11 \ - gudev-1.0 >= 145 \ - libexif >= 0.6.16 \ -@@ -683,7 +683,7 @@ $(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(GPHOTO_VAPI_FILE) - $(call check_valac_version) - @echo Compiling Vala code... - @mkdir -p $(BUILD_DIR) -- @$(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \ -+ $(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \ - $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ - $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ - $(foreach def,$(DEFINES),-X -D$(def)) \ -diff --git a/src/VideoSupport.vala b/src/VideoSupport.vala -index deb45e2..f679bd0 100644 ---- a/src/VideoSupport.vala -+++ b/src/VideoSupport.vala -@@ -163,8 +163,8 @@ public class VideoReader { - file.get_path())); - - try { -- Gst.Discoverer d = new Gst.Discoverer((Gst.ClockTime) (Gst.SECOND * 5)); -- Gst.DiscovererInfo info = d.discover_uri(file.get_uri()); -+ Gst.PbUtils.Discoverer d = new Gst.PbUtils.Discoverer((Gst.ClockTime) (Gst.SECOND * 5)); -+ Gst.PbUtils.DiscovererInfo info = d.discover_uri(file.get_uri()); - - clip_duration = ((double) info.get_duration()) / 1000000000.0; - -@@ -172,7 +172,7 @@ public class VideoReader { - // TODO: Note that TAG_DATE can be changed to TAG_DATE_TIME in the future - // (and the corresponding output struct) in order to implement #2836. - Date? video_date = null; -- if (info.get_tags() != null && info.get_tags().get_date(Gst.TAG_DATE, out video_date)) { -+ if (info.get_tags() != null && info.get_tags().get_date(Gst.Tags.DATE, out video_date)) { - timestamp = new DateTime.local(video_date.get_year(), video_date.get_month(), - video_date.get_day(), 0, 0, 0); - } -@@ -323,7 +323,7 @@ public class Video : VideoSource, Flaggable, Monitorable, Dateable { - Gst.init(ref fake_unowned_args); - - int saved_state = Config.Facade.get_instance().get_video_interpreter_state_cookie(); -- current_state = (int) Gst.Registry.get_default().get_feature_list_cookie(); -+ current_state = (int) Gst.Registry.get().get_feature_list_cookie(); - if (saved_state == Config.Facade.NO_VIDEO_INTERPRETER_STATE) { - message("interpreter state cookie not found; assuming all video thumbnails are out of date"); - interpreter_state_changed = true; -diff --git a/thumbnailer/shotwell-video-thumbnailer.vala b/thumbnailer/shotwell-video-thumbnailer.vala -index 79a2d7e..ae1e537 100644 ---- a/thumbnailer/shotwell-video-thumbnailer.vala -+++ b/thumbnailer/shotwell-video-thumbnailer.vala -@@ -10,22 +10,15 @@ - // Shotwell Thumbnailer takes in a video file and returns a thumbnail to stdout. This is - // a replacement for totem-video-thumbnailer - class ShotwellThumbnailer { -- const string caps_string = """video/x-raw-rgb,bpp = (int) 32, depth = (int) 32, -- endianness = (int) BIG_ENDIAN, -- red_mask = (int) 0xFF000000, -- green_mask = (int) 0x00FF0000, -- blue_mask = (int) 0x0000FF00, -- width = (int) [ 1, max ], -- height = (int) [ 1, max ], -- framerate = (fraction) [ 0, max ]"""; -+ const string caps_string = """video/x-raw,format=RGB,bpp=32,depth=32,pixel-aspect-ratio=1/1"""; - - public static int main(string[] args) { - Gst.Element pipeline, sink; - int width, height; -- Gst.Buffer buffer; -+ Gst.Sample sample; - string descr; - Gdk.Pixbuf pixbuf; -- int64 position; -+ int64 duration, position; - Gst.StateChangeReturn ret; - bool res; - -@@ -36,7 +29,7 @@ class ShotwellThumbnailer { - return 1; - } - -- descr = "filesrc location=\"%s\" ! decodebin2 ! ffmpegcolorspace ! ".printf(args[1]) + -+ descr = "filesrc location=\"%s\" ! decodebin ! videoconvert ! videoscale ! ".printf(args[1]) + - "appsink name=sink caps=\"%s\"".printf(caps_string); - - try { -@@ -64,29 +57,41 @@ class ShotwellThumbnailer { - stderr.printf("Failed to play the file: couldn't get state.\n"); - return 3; - } -- -- // Seek to the a position in the file. Most files have a black first frame so -- // by seeking to somewhere else we have a bigger chance of getting something -- // more interesting. An optimization would be to detect black images and then -- // seek a little more. -- position = (int64) (Gst.Format.PERCENT_MAX * 0.05); -- pipeline.seek_simple(Gst.Format.PERCENT, Gst.SeekFlags.KEY_UNIT | Gst.SeekFlags.FLUSH , position); -- -- // Get the preroll buffer from appsink, this block untils appsink really -- // prerolls. -- GLib.Signal.emit_by_name(sink, "pull-preroll", out buffer, null); -- -+ -+ /* get the duration */ -+ pipeline.query_duration (Gst.Format.TIME, out duration); -+ -+ if (duration != -1) { -+ /* we have a duration, seek to 5% */ -+ position = duration * 5 / 100; -+ } else { -+ /* no duration, seek to 1 second, this could EOS */ -+ position = 1 * Gst.SECOND; -+ } -+ -+ /* seek to the a position in the file. Most files have a black first frame so -+ * by seeking to somewhere else we have a bigger chance of getting something -+ * more interesting. An optimisation would be to detect black images and then -+ * seek a little more */ -+ pipeline.seek_simple (Gst.Format.TIME, Gst.SeekFlags.KEY_UNIT | Gst.SeekFlags.FLUSH, position); -+ -+ /* get the preroll buffer from appsink, this block untils appsink really -+ * prerolls */ -+ GLib.Signal.emit_by_name (sink, "pull-preroll", out sample, null); -+ - // if we have a buffer now, convert it to a pixbuf. It's possible that we - // don't have a buffer because we went EOS right away or had an error. -- if (buffer != null) { -+ if (sample != null) { -+ Gst.Buffer buffer; - Gst.Caps caps; - Gst.Structure s; -+ Gst.MapInfo mapinfo; - - // Get the snapshot buffer format now. We set the caps on the appsink so - // that it can only be an rgb buffer. The only thing we have not specified - // on the caps is the height, which is dependant on the pixel-aspect-ratio - // of the source material. -- caps = buffer.get_caps(); -+ caps = sample.get_caps(); - if (caps == null) { - stderr.printf("could not get snapshot format\n"); - return 5; -@@ -101,14 +106,18 @@ class ShotwellThumbnailer { - stderr.printf("Could not get snapshot dimension\n"); - return 6; - } -- -+ -+ buffer = sample.get_buffer(); -+ buffer.map(out mapinfo, Gst.MapFlags.READ); -+ - // Create pixmap from buffer and save, gstreamer video buffers have a stride - // that is rounded up to the nearest multiple of 4. -- pixbuf = new Gdk.Pixbuf.from_data(buffer.data, Gdk.Colorspace.RGB, true, 8, -- width, height, width * 4, null); -+ pixbuf = new Gdk.Pixbuf.from_data(mapinfo.data, Gdk.Colorspace.RGB, false, 8, -+ width, height, (((width * 3)+3)&~3), null); - - // Save the pixbuf. - pixbuf.save("/dev/stdout", "png"); -+ buffer.unmap(mapinfo); - } else { - stderr.printf("Could not make snapshot\n"); - return 10; --- -cgit v0.9 diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD index dfbe8168a..477f29775 100644 --- a/community/shotwell/PKGBUILD +++ b/community/shotwell/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 85690 2013-03-05 07:36:48Z bgyorgy $ +# $Id: PKGBUILD 86560 2013-03-19 11:35:15Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com> pkgname=shotwell -pkgver=0.13.1 -pkgrel=6 +pkgver=0.14.0 +pkgrel=1 pkgdesc="A digital photo organizer designed for the GNOME desktop environment" arch=('i686' 'x86_64' 'mips64el') url="http://yorba.org/shotwell/" @@ -15,28 +15,16 @@ depends=('libgee' 'libwebkit3' 'libgexiv2' 'libraw' 'rest' 'gst-plugins-base' 'libgphoto2') makedepends=('intltool' 'vala>=0.17.2' 'libunique3') install=shotwell.install -source=("http://yorba.org/download/shotwell/0.13/shotwell-${pkgver}.tar.xz" - "no-libexec.patch" - "0001-Port-to-GStreamer-1.0.patch" - "regenerate-video-thumbnails.patch") -md5sums=('71eb1346093705ca2b37c12a21994d14' - 'b4124e022c98b4382530e6fbcef965e2' - '666d28c2a1b78632df8ab5f24c3aa3cd' - '4b70442c6d9c04f3be23426ef92adb43') +source=("http://yorba.org/download/shotwell/stable/shotwell-$pkgver.tar.xz" + "no-libexec.patch") +md5sums=('14b8e02091376fa69ac0a04ba61ea608' + 'b4124e022c98b4382530e6fbcef965e2') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -p1 <$srcdir/no-libexec.patch - # Port to GSreamer 1.0 (video thumbnailer) - # http://redmine.yorba.org/issues/6055 - patch -p1 <$srcdir/0001-Port-to-GStreamer-1.0.patch - - # Regenerate video thumbnails on lost - # http://redmine.yorba.org/issues/6152 - patch -p1 <$srcdir/regenerate-video-thumbnails.patch - ./configure --prefix=/usr \ --disable-schemas-compile \ --disable-desktop-update \ diff --git a/community/shotwell/regenerate-video-thumbnails.patch b/community/shotwell/regenerate-video-thumbnails.patch deleted file mode 100644 index 8a399355e..000000000 --- a/community/shotwell/regenerate-video-thumbnails.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 05c10b9c6107dc785808732216498ef5f3f6b87d Mon Sep 17 00:00:00 2001 -From: Clint Rogers <clinton@yorba.org> -Date: Wed, 16 Jan 2013 00:09:42 +0000 -Subject: Causes video thumbnails to get regenerated if lost; closes #6152. - -Also moves some code around so regeneration for both stills and videos happens in the same spot, improving code navigability. ---- -diff --git a/src/PhotoMonitor.vala b/src/PhotoMonitor.vala -index 40416d1..3dcc481 100644 ---- a/src/PhotoMonitor.vala -+++ b/src/PhotoMonitor.vala -@@ -287,16 +287,7 @@ private class PhotoMonitor : MediaMonitor { - - return MediaMonitor.DiscoveredFile.UNKNOWN; - } -- -- if (!ThumbnailCache.exists(photo)) { -- try { -- ThumbnailCache.import_from_source(photo, true); -- photo.notify_altered(new Alteration("image","thumbnail")); -- } catch (Error e) { -- // thumbnail for this object was already broken, so nothing got worse. -- } -- } -- -+ - switch (state) { - case LibraryPhotoSourceCollection.State.ONLINE: - case LibraryPhotoSourceCollection.State.OFFLINE: -diff --git a/src/ThumbnailCache.vala b/src/ThumbnailCache.vala -index be97183..2a2c716 100644 ---- a/src/ThumbnailCache.vala -+++ b/src/ThumbnailCache.vala -@@ -1,7 +1,7 @@ --/* Copyright 2009-2012 Yorba Foundation -+/* Copyright 2009-2013 Yorba Foundation - * - * This software is licensed under the GNU LGPL (version 2.1 or later). -- * See the COPYING file in this distribution. -+ * See the COPYING file in this distribution. - */ - - public class Thumbnails { -@@ -74,6 +74,7 @@ public class ThumbnailCache : Object { - private class AsyncFetchJob : BackgroundJob { - public ThumbnailCache cache; - public string thumbnail_name; -+ public ThumbnailSource source; - public PhotoFileFormat source_format; - public Dimensions dim; - public Gdk.InterpType interp; -@@ -84,13 +85,14 @@ public class ThumbnailCache : Object { - public bool fetched = false; - - public AsyncFetchJob(ThumbnailCache cache, string thumbnail_name, -- PhotoFileFormat source_format, Gdk.Pixbuf? prefetched, Dimensions dim, -+ ThumbnailSource source, Gdk.Pixbuf? prefetched, Dimensions dim, - Gdk.InterpType interp, AsyncFetchCallback callback, Cancellable? cancellable) { - base(cache, async_fetch_completion_callback, cancellable); - - this.cache = cache; - this.thumbnail_name = thumbnail_name; -- this.source_format = source_format; -+ this.source = source; -+ this.source_format = source.get_preferred_thumbnail_format(); - this.unscaled = prefetched; - this.dim = dim; - this.interp = interp; -@@ -126,11 +128,42 @@ public class ThumbnailCache : Object { - // scale if specified - scaled = dim.has_area() ? resize_pixbuf(unscaled, dim, interp) : unscaled; - } catch (Error err) { -+ // Is the problem that the thumbnail couldn't be read? If so, it's recoverable; -+ // we'll just create it and leave this.err as null if creation works. -+ if (err is FileError) { -+ try { -+ Photo photo = source as Photo; -+ Video video = source as Video; -+ -+ if (photo != null) { -+ unscaled = photo.get_pixbuf(Scaling.for_best_fit(dim.width, true)); -+ photo.notify_altered(new Alteration("image","thumbnail")); -+ return; -+ } -+ -+ if (video != null) { -+ unscaled = video.create_thumbnail(dim.width); -+ scaled = resize_pixbuf(unscaled, dim, interp); -+ cache.save_thumbnail(cache.get_source_cached_file(source), -+ unscaled, source); -+ replace(source, cache.size, unscaled); -+ return; -+ } -+ -+ } catch (Error e) { -+ // Creating the thumbnail failed; tell the rest of the app. -+ this.err = e; -+ return; -+ } -+ } -+ -+ // ...the original error wasn't from reading the file, but something else; -+ // tell the rest of the app. - this.err = err; - } - } - } -- -+ - private static Workers fetch_workers = null; - - public const ulong MAX_BIG_CACHED_BYTES = 40 * 1024 * 1024; -@@ -230,13 +263,13 @@ public class ThumbnailCache : Object { - - public static void fetch_async(ThumbnailSource source, int scale, AsyncFetchCallback callback, - Cancellable? cancellable = null) { -- get_best_cache(scale)._fetch_async(source.get_source_id(), source.get_preferred_thumbnail_format(), -+ get_best_cache(scale)._fetch_async(source, source.get_preferred_thumbnail_format(), - Dimensions(), DEFAULT_INTERP, callback, cancellable); - } - -- public static void fetch_async_scaled(ThumbnailSource source, int scale, Dimensions dim, -+ public static void fetch_async_scaled(ThumbnailSource source, int scale, Dimensions dim, - Gdk.InterpType interp, AsyncFetchCallback callback, Cancellable? cancellable = null) { -- get_best_cache(scale)._fetch_async(source.get_source_id(), -+ get_best_cache(scale)._fetch_async(source, - source.get_preferred_thumbnail_format(), dim, interp, callback, cancellable); - } - -@@ -343,9 +376,10 @@ public class ThumbnailCache : Object { - return pixbuf; - } - -- private void _fetch_async(string thumbnail_name, PhotoFileFormat format, Dimensions dim, -+ private void _fetch_async(ThumbnailSource source, PhotoFileFormat format, Dimensions dim, - Gdk.InterpType interp, AsyncFetchCallback callback, Cancellable? cancellable) { - // check if the pixbuf is already in memory -+ string thumbnail_name = source.get_source_id(); - Gdk.Pixbuf pixbuf = fetch_from_memory(thumbnail_name); - if (pixbuf != null && (!dim.has_area() || Dimensions.for_pixbuf(pixbuf).equals(dim))) { - // if no scaling operation required, callback in this context and done (otherwise, -@@ -365,8 +399,8 @@ public class ThumbnailCache : Object { - // situation. This may change in the future, and the caching situation will need to be - // handled. - -- fetch_workers.enqueue(new AsyncFetchJob(this, thumbnail_name, format, pixbuf, dim, interp, -- callback, cancellable)); -+ fetch_workers.enqueue(new AsyncFetchJob(this, thumbnail_name, source, pixbuf, dim, -+ interp, callback, cancellable)); - } - - // Called within Gtk.main's thread context --- -cgit v0.9 diff --git a/community/udevil/PKGBUILD b/community/udevil/PKGBUILD index d064ec18d..cc61a4970 100644 --- a/community/udevil/PKGBUILD +++ b/community/udevil/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 84145 2013-02-11 17:05:04Z bpiotrowski $ +# $Id: PKGBUILD 86567 2013-03-19 17:52:24Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: IgnorantGuru http://igurublog.wordpress.com/contact-ignorantguru/ pkgname=udevil -pkgver=0.4.0 +pkgver=0.4.1 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') pkgdesc='Mount and unmount without password' @@ -24,7 +24,7 @@ provides=('devmon') backup=('etc/udevil/udevil.conf') install=$pkgname.install source=(https://raw.github.com/IgnorantGuru/$pkgname/master/packages/$pkgver/$pkgname-$pkgver.tar.xz) -sha256sums=('baaab9b65ccbab55849ce4dec22ba412fd45655b14d163030c2245bc62fc7265') +sha256sums=('fa4a3d85361d17bb69dd7dabdcfeecd2b0f5fff95698113975d8fbd504af6c2e') build() { cd $srcdir/$pkgname-$pkgver |