summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-11-01 01:47:44 -0700
committerroot <root@rshg054.dnsready.net>2012-11-01 01:47:44 -0700
commit83a318800db22408628e60c9e1730578efcfee37 (patch)
tree9f1c330c5019dd940e41c44a7c1db13d337058a6 /extra
parent5827948456201df72a1bd73e87977c569129fb27 (diff)
Thu Nov 1 01:47:04 PDT 2012
Diffstat (limited to 'extra')
-rw-r--r--extra/cairo/PKGBUILD47
-rw-r--r--extra/cairo/git_fixes.diff934
-rw-r--r--extra/empathy/PKGBUILD6
-rw-r--r--extra/gconf-editor/PKGBUILD13
-rw-r--r--extra/gconf-editor/fix-assertion-failed-crash.patch34
-rw-r--r--extra/gconf/PKGBUILD15
-rw-r--r--extra/gconf/gconf-dbus-fix-shutdown.patch34
-rw-r--r--extra/gconf/gconf-dbus-fix-use-after-free.patch99
-rw-r--r--extra/gconf/gsettings-schema-convert-dont-fail.patch28
-rw-r--r--extra/gnome-shell/PKGBUILD4
-rw-r--r--extra/gnutls/PKGBUILD6
-rw-r--r--extra/kdebase-workspace/PKGBUILD17
-rw-r--r--extra/kdebase-workspace/fix-mesa9.patch60
-rw-r--r--extra/kdebase-workspace/kde-np.pam2
-rw-r--r--extra/kdebase-workspace/kdebase-workspace.install6
-rw-r--r--extra/kdebase-workspace/logind-support2.patch124
-rw-r--r--extra/kdeplasma-addons/PKGBUILD14
-rw-r--r--extra/kdeplasma-addons/fix-spell-crash.patch267
-rw-r--r--extra/libcanberra/PKGBUILD17
-rw-r--r--extra/libcanberra/libcanberra.install22
-rw-r--r--extra/libreoffice/PKGBUILD26
-rw-r--r--extra/libtasn1/PKGBUILD8
-rw-r--r--extra/metacity/PKGBUILD6
-rw-r--r--extra/openmpi/PKGBUILD6
-rw-r--r--extra/screen/PKGBUILD7
-rw-r--r--extra/screen/screen.install5
-rw-r--r--extra/telepathy-kde-text-ui/PKGBUILD4
-rw-r--r--extra/telepathy-logger/PKGBUILD8
-rw-r--r--extra/transmission/PKGBUILD14
29 files changed, 1710 insertions, 123 deletions
diff --git a/extra/cairo/PKGBUILD b/extra/cairo/PKGBUILD
index ee34626b9..9f275feb5 100644
--- a/extra/cairo/PKGBUILD
+++ b/extra/cairo/PKGBUILD
@@ -1,46 +1,37 @@
-# $Id: PKGBUILD 167546 2012-10-02 15:03:57Z foutrelis $
+# $Id: PKGBUILD 170057 2012-10-31 10:24:44Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
-#_gitdate=20120426
-#_gitver=957a9cc619965178a8927d114fe852034fc2385c
-pkgver=1.12.2
-pkgrel=3
+pkgver=1.12.6
+pkgrel=2
pkgdesc="Cairo vector graphics library"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
url="http://cairographics.org/"
-depends=('libpng' 'libxrender' 'fontconfig' 'pixman' 'glib2' 'sh')
+depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman' 'glib2' 'sh')
makedepends=('librsvg' 'poppler-glib' 'libspectre' 'gtk-doc') # 'libdrm')
optdepends=('xcb-util: for XCB backend') # really needed?
provides=('cairo-xcb')
replaces=('cairo-xcb')
options=('!libtool')
source=(http://cairographics.org/releases/$pkgname-$pkgver.tar.xz
- #$pkgname-$pkgver.tar.gz::http://cgit.freedesktop.org/cairo/snapshot/cairo-${_gitver}.tar.gz
cairo-1.10.0-buggy_gradients.patch
- cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch
- cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch
- #git_fixes.patch
-)
-md5sums=('87649eb75789739d517c743e94879e51'
- '9b323790dab003e228c6955633cb888e'
- '75ec73746cfaefcbed0e9b2a9f76bf00'
- '56f64466fd70ead732b00691464144f2')
+ git_fixes.diff)
+sha1sums=('a383c6cb4495e18848ea43e1031c294aa9417a43'
+ '8b843a9934e5112b6188e5bcf4adfc1fdaf9fa04'
+ '31b3179cda0afa2e2f037d6850fd8607383cb95a')
build() {
cd "$srcdir/$pkgname-$pkgver"
- #cd ${srcdir}/${pkgname}-${_gitver}
- patch -Np1 -i ${srcdir}/cairo-1.10.0-buggy_gradients.patch
- # https://bugs.freedesktop.org/show_bug.cgi?id=50852
- patch -Np1 -i ${srcdir}/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch
- # https://bugs.freedesktop.org/show_bug.cgi?id=51443
- patch -Np1 -i ${srcdir}/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch
- # status is 2012-04-26 last commit: image: Fix typo in _blit_spans()
- #patch -Np1 -i ${srcdir}/git_fixes.patch
- autoreconf -vfi
- #./autogen.sh --prefix=/usr \
+# patch -Np1 -i ${srcdir}/cairo-1.10.0-buggy_gradients.patch
+
+ # status: http://cgit.freedesktop.org/cairo/commit/?id=66625cb46c985321c46b79d2163a4d676d6700ba
+ # 2012-10-30 12:40:41 (GMT)
+ # xlib: Apply the image offsets to the destination rather the source
+ patch -Np1 -i ${srcdir}/git_fixes.diff
+
+# autoreconf -vfi
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -53,13 +44,11 @@ build() {
}
#check() {
-# #cd "$srcdir/$pkgname-$pkgver"
-# cd $srcdir/$pkgname-${_gitver}
-# make -k check || /bin/true # 165 Passed, 316 Failed [3 crashed, 10 expected], 23 Skipped
+# cd "$srcdir/$pkgname-$pkgver"
+# make -k check || /bin/true # 161 Passed, 328 Failed [8 crashed, 10 expected], 26 Skipped
#}
package() {
cd "$srcdir/$pkgname-$pkgver"
- #cd $srcdir/$pkgname-${_gitver}
make DESTDIR="$pkgdir" install
}
diff --git a/extra/cairo/git_fixes.diff b/extra/cairo/git_fixes.diff
new file mode 100644
index 000000000..3fc7ff659
--- /dev/null
+++ b/extra/cairo/git_fixes.diff
@@ -0,0 +1,934 @@
+From e43f53bf7f3d371116f31f22ab9754b08b5abe7f Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Mon, 22 Oct 2012 12:47:11 +0000
+Subject: version: Post release bump to 1.12.7
+
+---
+diff --git a/cairo-version.h b/cairo-version.h
+index dc89a19..c685909 100644
+--- a/cairo-version.h
++++ b/cairo-version.h
+@@ -3,6 +3,6 @@
+
+ #define CAIRO_VERSION_MAJOR 1
+ #define CAIRO_VERSION_MINOR 12
+-#define CAIRO_VERSION_MICRO 6
++#define CAIRO_VERSION_MICRO 7
+
+ #endif
+--
+cgit v0.9.0.2-2-gbebe
+From 00feb8ce530a472abbde445b52d9ae8c99ec97f0 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri, 26 Oct 2012 09:51:31 +0000
+Subject: xlib/shm: Sanity check that the server handles XSendEvent with ShmCompletion
+
+Uli Schlachter suggested it would be wiser to complement our blacklist
+of known broken X/libXext with an explicit roundtrip to check for a
+BadValue error return when we try to use XSendEvent.
+
+Suggested-by: Uli Schlachter <psychon@znc.in>
+Reported-by: Martin Husemann <martin@duskware.de>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
+index ec0d334..17594b1 100644
+--- a/src/cairo-xlib-surface-shm.c
++++ b/src/cairo-xlib-surface-shm.c
+@@ -1128,8 +1128,60 @@ _cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface)
+ (((major) * 10000000) + ((minor) * 100000) + ((patch) * 1000) + snap)
+
+ static cairo_bool_t
+-xorg_has_buggy_send_shm_completion_event(Display *dpy)
++has_broken_send_shm_event (cairo_xlib_display_t *display,
++ cairo_xlib_shm_display_t *shm)
+ {
++ Display *dpy = display->display;
++ int (*old_handler) (Display *display, XErrorEvent *event);
++ XShmCompletionEvent ev;
++ XShmSegmentInfo info;
++
++ info.shmid = shmget (IPC_PRIVATE, 0x1000, IPC_CREAT | 0600);
++ if (info.shmid == -1)
++ return TRUE;
++
++ info.readOnly = FALSE;
++ info.shmaddr = shmat (info.shmid, NULL, 0);
++ if (info.shmaddr == (char *) -1) {
++ shmctl (info.shmid, IPC_RMID, NULL);
++ return TRUE;
++ }
++
++ ev.type = shm->event;
++ ev.drawable = shm->window;
++ ev.major_code = shm->opcode;
++ ev.minor_code = X_ShmPutImage;
++
++ ev.shmseg = info.shmid;
++ ev.offset = 0;
++
++ assert (CAIRO_MUTEX_IS_LOCKED (_cairo_xlib_display_mutex));
++ _x_error_occurred = FALSE;
++
++ XLockDisplay (dpy);
++ XSync (dpy, False);
++ old_handler = XSetErrorHandler (_check_error_handler);
++
++ XShmAttach (dpy, &info);
++ XSendEvent (dpy, ev.drawable, False, 0, (XEvent *)&ev);
++ XShmDetach (dpy, &info);
++
++ XSync (dpy, False);
++ XSetErrorHandler (old_handler);
++ XUnlockDisplay (dpy);
++
++ shmctl (info.shmid, IPC_RMID, NULL);
++ shmdt (info.shmaddr);
++
++ return _x_error_occurred;
++}
++
++static cairo_bool_t
++xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t *display,
++ cairo_xlib_shm_display_t *shm)
++{
++ Display *dpy = display->display;
++
+ /* As libXext sets the SEND_EVENT bit in the ShmCompletionEvent,
+ * the Xserver may crash if it does not take care when processing
+ * the event type. For instance versions of Xorg prior to 1.11.1
+@@ -1141,8 +1193,12 @@ xorg_has_buggy_send_shm_completion_event(Display *dpy)
+ *
+ * Remove the SendEvent bit (0x80) before doing range checks on event type.
+ */
+- return (strstr (ServerVendor (dpy), "X.Org") != NULL &&
+- VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1));
++ if (strstr (ServerVendor (dpy), "X.Org") != NULL &&
++ VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1))
++ return TRUE;
++
++ /* For everyone else check that no error is generated */
++ return has_broken_send_shm_event (display, shm);
+ }
+
+ void
+@@ -1162,6 +1218,15 @@ _cairo_xlib_display_init_shm (cairo_xlib_display_t *display)
+ if (unlikely (shm == NULL))
+ return;
+
++ codes = XInitExtension (display->display, SHMNAME);
++ if (codes == NULL) {
++ free (shm);
++ return;
++ }
++
++ shm->opcode = codes ->major_opcode;
++ shm->event = codes->first_event;
++
+ if (unlikely (_pqueue_init (&shm->info))) {
+ free (shm);
+ return;
+@@ -1177,16 +1242,12 @@ _cairo_xlib_display_init_shm (cairo_xlib_display_t *display)
+ DefaultVisual (display->display, scr),
+ CWOverrideRedirect, &attr);
+
+- if (xorg_has_buggy_send_shm_completion_event(display->display))
++ if (xorg_has_buggy_send_shm_completion_event(display, shm))
+ has_pixmap = 0;
+
+ shm->has_pixmaps = has_pixmap ? MIN_PIXMAP_SIZE : 0;
+ cairo_list_init (&shm->pool);
+
+- codes = XInitExtension (display->display, SHMNAME);
+- shm->opcode = codes ->major_opcode;
+- shm->event = codes->first_event;
+-
+ cairo_list_init (&shm->surfaces);
+
+ display->shm = shm;
+--
+cgit v0.9.0.2-2-gbebe
+From fdd2082f923012a1354be7086d03f78fb166695b Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri, 26 Oct 2012 09:51:31 +0000
+Subject: xlib: Check for both X.org and Xorg ServerVendors
+
+Martin Husemann reported that on his NetBSD machine the vendor was being
+reported as "The Xorg Foundation", a non-conformist separatist split of
+the Peoples' Liberation Army^W^W^W "The X.Org Foundation". Simply check
+for both during initialisation.
+
+Reported-by: Martin Husemann <martin@duskware.de>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c
+index 67c0673..04c89b2 100644
+--- a/src/cairo-xlib-display.c
++++ b/src/cairo-xlib-display.c
+@@ -315,7 +315,7 @@ _cairo_xlib_device_create (Display *dpy)
+ * safest to just blacklist all old-versioning-scheme X servers,
+ * (just using VendorRelease < 70000000), as buggy_repeat=TRUE.
+ */
+- if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
++ if (_cairo_xlib_vendor_is_xorg (dpy)) {
+ if (VendorRelease (dpy) >= 60700000) {
+ if (VendorRelease (dpy) < 70000000)
+ display->buggy_repeat = TRUE;
+diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h
+index d2bd588..c328302 100644
+--- a/src/cairo-xlib-private.h
++++ b/src/cairo-xlib-private.h
+@@ -216,6 +216,13 @@ struct _cairo_xlib_proxy {
+ cairo_surface_t *owner;
+ };
+
++inline static cairo_bool_t
++_cairo_xlib_vendor_is_xorg (Display *dpy)
++{
++ const char *const vendor = ServerVendor (dpy);
++ return strstr (vendor, "X.Org") || strstr (vendor, "Xorg");
++}
++
+ cairo_private cairo_status_t
+ _cairo_xlib_surface_get_gc (cairo_xlib_display_t *display,
+ cairo_xlib_surface_t *surface,
+diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
+index 17594b1..89f51a9 100644
+--- a/src/cairo-xlib-surface-shm.c
++++ b/src/cairo-xlib-surface-shm.c
+@@ -1193,7 +1193,7 @@ xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t *display,
+ *
+ * Remove the SendEvent bit (0x80) before doing range checks on event type.
+ */
+- if (strstr (ServerVendor (dpy), "X.Org") != NULL &&
++ if (_cairo_xlib_vendor_is_xorg (dpy) &&
+ VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1))
+ return TRUE;
+
+--
+cgit v0.9.0.2-2-gbebe
+From d57e652f08f5ff7c334d01bc071962e6a131928f Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Fri, 26 Oct 2012 12:30:01 +0000
+Subject: type1-subset: parse all operators
+
+The PDF at bug 56265 contained a Type 1 font that used the "div"
+operator to compute the glyph width. As the "div" operator was
+not handled by the charstring parser this resulted in an incorrect
+glyph width in the PDF output.
+
+Fix this by upgrading the charstring parsing to handle all Type 1
+operators.
+---
+diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
+index 1bdb12b..c7f613a 100644
+--- a/src/cairo-type1-subset.c
++++ b/src/cairo-type1-subset.c
+@@ -137,13 +137,10 @@ typedef struct _cairo_type1_font_subset {
+ int hex_column;
+
+ struct {
+- int stack[TYPE1_STACKSIZE], sp, top_value;
++ double stack[TYPE1_STACKSIZE];
++ int sp;
+ } build_stack;
+
+- struct {
+- int other_subr_args[TYPE1_STACKSIZE], num_other_subr_args, cur_other_subr_arg;
+- } ps_stack;
+-
+
+ } cairo_type1_font_subset_t;
+
+@@ -742,15 +739,33 @@ use_standard_encoding_glyph (cairo_type1_font_subset_t *font, int index)
+ return CAIRO_INT_STATUS_UNSUPPORTED;
+ }
+
+-#define TYPE1_CHARSTRING_COMMAND_ESCAPE 0x0c
+-#define TYPE1_CHARSTRING_COMMAND_SEAC 0x0c06
+-#define TYPE1_CHARSTRING_COMMAND_SBW 0x0c07
+-#define TYPE1_CHARSTRING_COMMAND_HSBW 0x0d
+-#define TYPE1_CHARSTRING_COMMAND_CALLSUBR 0x0a
+-#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR 0x0c10
+-#define TYPE1_CHARSTRING_COMMAND_POP 0x0c11
+-
+
++#define TYPE1_CHARSTRING_COMMAND_HSTEM 0x01
++#define TYPE1_CHARSTRING_COMMAND_VSTEM 0x03
++#define TYPE1_CHARSTRING_COMMAND_VMOVETO 0x04
++#define TYPE1_CHARSTRING_COMMAND_RLINETO 0x05
++#define TYPE1_CHARSTRING_COMMAND_HLINETO 0x06
++#define TYPE1_CHARSTRING_COMMAND_VLINETO 0x07
++#define TYPE1_CHARSTRING_COMMAND_RRCURVETO 0x08
++#define TYPE1_CHARSTRING_COMMAND_CLOSEPATH 0x09
++#define TYPE1_CHARSTRING_COMMAND_CALLSUBR 0x0a
++#define TYPE1_CHARSTRING_COMMAND_RETURN 0x0b
++#define TYPE1_CHARSTRING_COMMAND_ESCAPE 0x0c
++#define TYPE1_CHARSTRING_COMMAND_HSBW 0x0d
++#define TYPE1_CHARSTRING_COMMAND_ENDCHAR 0x0e
++#define TYPE1_CHARSTRING_COMMAND_RMOVETO 0x15
++#define TYPE1_CHARSTRING_COMMAND_HMOVETO 0x16
++#define TYPE1_CHARSTRING_COMMAND_VHCURVETO 0x1e
++#define TYPE1_CHARSTRING_COMMAND_HVCURVETO 0x1f
++#define TYPE1_CHARSTRING_COMMAND_DOTSECTION 0x0c00
++#define TYPE1_CHARSTRING_COMMAND_VSTEM3 0x0c01
++#define TYPE1_CHARSTRING_COMMAND_HSTEM3 0x0c02
++#define TYPE1_CHARSTRING_COMMAND_SEAC 0x0c06
++#define TYPE1_CHARSTRING_COMMAND_SBW 0x0c07
++#define TYPE1_CHARSTRING_COMMAND_DIV 0x0c0c
++#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR 0x0c10
++#define TYPE1_CHARSTRING_COMMAND_POP 0x0c11
++#define TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT 0x0c21
+
+ /* Get glyph width and look for seac operatorParse charstring */
+ static cairo_status_t
+@@ -765,7 +780,6 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ const unsigned char *p;
+ cairo_bool_t last_op_was_integer;
+ int command;
+- int subr_num, i;
+
+ charstring = malloc (encrypted_charstring_length);
+ if (unlikely (charstring == NULL))
+@@ -785,37 +799,60 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ if (*p < 32) {
+ command = *p++;
+ switch (command) {
+- case TYPE1_CHARSTRING_COMMAND_HSBW:
+- if (! last_op_was_integer)
+- return CAIRO_INT_STATUS_UNSUPPORTED;
+-
+- font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em;
++ case TYPE1_CHARSTRING_COMMAND_HSTEM:
++ case TYPE1_CHARSTRING_COMMAND_VSTEM:
++ case TYPE1_CHARSTRING_COMMAND_VMOVETO:
++ case TYPE1_CHARSTRING_COMMAND_RLINETO:
++ case TYPE1_CHARSTRING_COMMAND_HLINETO:
++ case TYPE1_CHARSTRING_COMMAND_VLINETO:
++ case TYPE1_CHARSTRING_COMMAND_RRCURVETO:
++ case TYPE1_CHARSTRING_COMMAND_CLOSEPATH:
++ case TYPE1_CHARSTRING_COMMAND_RMOVETO:
++ case TYPE1_CHARSTRING_COMMAND_HMOVETO:
++ case TYPE1_CHARSTRING_COMMAND_VHCURVETO:
++ case TYPE1_CHARSTRING_COMMAND_HVCURVETO:
++ case TYPE1_CHARSTRING_COMMAND_RETURN:
++ case TYPE1_CHARSTRING_COMMAND_ENDCHAR:
++ default:
+ font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
+ break;
+
+ case TYPE1_CHARSTRING_COMMAND_CALLSUBR:
+- if (font->subset_subrs &&
+- last_op_was_integer &&
+- font->build_stack.top_value >= 0 &&
+- font->build_stack.top_value < font->num_subrs)
+- {
+- subr_num = font->build_stack.top_value;
+- font->build_stack.sp--;
+- font->subrs[subr_num].used = TRUE;
+- last_op_was_integer = FALSE;
+- status = cairo_type1_font_subset_parse_charstring (font,
+- glyph,
+- font->subrs[subr_num].subr_string,
+- font->subrs[subr_num].subr_length);
+- } else {
+- font->subset_subrs = FALSE;
++ if (font->subset_subrs && font->build_stack.sp > 0) {
++ int subr_num = font->build_stack.stack[--font->build_stack.sp];
++ if (subr_num >= 0 && subr_num < font->num_subrs) {
++ font->subrs[subr_num].used = TRUE;
++ status = cairo_type1_font_subset_parse_charstring (
++ font,
++ glyph,
++ font->subrs[subr_num].subr_string,
++ font->subrs[subr_num].subr_length);
++ break;
++ }
+ }
++ font->subset_subrs = FALSE;
++ break;
++
++ case TYPE1_CHARSTRING_COMMAND_HSBW:
++ if (font->build_stack.sp < 2)
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++
++ font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em;
++ font->build_stack.sp = 0;
+ break;
+
+ case TYPE1_CHARSTRING_COMMAND_ESCAPE:
+ command = command << 8 | *p++;
+ switch (command) {
++ case TYPE1_CHARSTRING_COMMAND_DOTSECTION:
++ case TYPE1_CHARSTRING_COMMAND_VSTEM3:
++ case TYPE1_CHARSTRING_COMMAND_HSTEM3:
++ case TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT:
++ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
++ default:
++ font->build_stack.sp = 0;
++ break;
++
+ case TYPE1_CHARSTRING_COMMAND_SEAC:
+ /* The seac command takes five integer arguments. The
+ * last two are glyph indices into the PS standard
+@@ -823,6 +860,9 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ * glyph is composed from. All we need to do is to
+ * make sure those glyphs are present in the subset
+ * under their standard names. */
++ if (font->build_stack.sp < 5)
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++
+ status = use_standard_encoding_glyph (font, font->build_stack.stack[3]);
+ if (unlikely (status))
+ return status;
+@@ -832,55 +872,49 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ return status;
+
+ font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
+ break;
+
+ case TYPE1_CHARSTRING_COMMAND_SBW:
+- if (! last_op_was_integer)
++ if (font->build_stack.sp < 4)
+ return CAIRO_INT_STATUS_UNSUPPORTED;
+
+ font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em;
+ font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
+- break;
+-
+- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
+- for (i = 0; i < font->build_stack.sp; i++)
+- font->ps_stack.other_subr_args[i] = font->build_stack.stack[i];
+- font->ps_stack.num_other_subr_args = font->build_stack.sp;
+- font->ps_stack.cur_other_subr_arg = 0;
+- font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
+ break;
+
+- case TYPE1_CHARSTRING_COMMAND_POP:
+- if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) {
+- font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++];
+- last_op_was_integer = TRUE;
++ case TYPE1_CHARSTRING_COMMAND_DIV:
++ if (font->build_stack.sp < 2) {
++ return CAIRO_INT_STATUS_UNSUPPORTED;
+ } else {
+- font->subset_subrs = FALSE;
++ double num1 = font->build_stack.stack[font->build_stack.sp - 2];
++ double num2 = font->build_stack.stack[font->build_stack.sp - 1];
++ font->build_stack.sp--;
++ if (num2 == 0.0)
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++
++ font->build_stack.stack[font->build_stack.sp - 1] = num1/num2;
+ }
+ break;
+
+- default:
+- font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
++ case TYPE1_CHARSTRING_COMMAND_POP:
++ if (font->build_stack.sp < TYPE1_STACKSIZE) {
++ /* use negative number to prevent it being used as a subr_num */
++ font->build_stack.stack[font->build_stack.sp++] = -1.0;
++ }
+ break;
+ }
+ break;
+-
+- default:
+- font->build_stack.sp = 0;
+- last_op_was_integer = FALSE;
+- break;
+ }
+- } else {
++ } else {
+ /* integer argument */
+- p = cairo_type1_font_subset_decode_integer (p, &font->build_stack.top_value);
+- last_op_was_integer = TRUE;
+- if (font->build_stack.sp < TYPE1_STACKSIZE)
+- font->build_stack.stack[font->build_stack.sp++] = font->build_stack.top_value;
+- }
++ if (font->build_stack.sp < TYPE1_STACKSIZE) {
++ int val;
++ p = cairo_type1_font_subset_decode_integer (p, &val);
++ font->build_stack.stack[font->build_stack.sp++] = val;
++ } else {
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++ }
++ }
+ }
+
+ free (charstring);
+@@ -1321,7 +1355,6 @@ skip_subrs:
+ for (j = 0; j < font->num_glyphs; j++) {
+ glyph = font->subset_index_to_glyphs[j];
+ font->build_stack.sp = 0;
+- font->ps_stack.num_other_subr_args = 0;
+ status = cairo_type1_font_subset_parse_charstring (font,
+ glyph,
+ font->glyphs[glyph].encrypted_charstring,
+--
+cgit v0.9.0.2-2-gbebe
+From f18199fcfb3b052c198041fc05156ae3d9e6aee7 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun, 28 Oct 2012 10:04:12 +0000
+Subject: xlib/shm: Check for XShm headers
+
+Not all version of libXext ship the same set of headers, so play safe
+and check during configure that we have the headers we depend upon in
+the code.
+
+Reported-by: Sebastian Haas <sehaas@gmail.com>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/configure.ac b/configure.ac
+index 7adbeb1..021ec8e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -105,6 +105,10 @@ CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [
+ AC_MSG_RESULT(no),
+ AC_MSG_RESULT(assuming no))
+ fi
++
++ AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h], [], [],
++ [#include <X11/Xlibint.h>
++ #include <X11/Xproto.h>])
+ ])
+
+ CAIRO_ENABLE_SURFACE_BACKEND(xlib_xrender, Xlib Xrender, auto, [
+diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
+index 89f51a9..a3d4385 100644
+--- a/src/cairo-xlib-surface-shm.c
++++ b/src/cairo-xlib-surface-shm.c
+@@ -41,12 +41,105 @@
+
+ #include "cairo-xlib-private.h"
+ #include "cairo-xlib-surface-private.h"
+-#include "cairo-image-surface-private.h"
+-#include "cairo-mempool-private.h"
++
++#if !HAVE_X11_EXTENSIONS_XSHM_H || !HAVE_X11_EXTENSIONS_SHMPROTO_H
++void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {}
++
++cairo_surface_t *
++_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface,
++ cairo_bool_t overwrite)
++{
++ return NULL;
++}
++
++cairo_int_status_t
++_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return CAIRO_INT_STATUS_SUCCESS;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other,
++ pixman_format_code_t format,
++ int width, int height)
++{
++ return NULL;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
++ pixman_format_code_t format,
++ int width, int height)
++{
++ return NULL;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_similar_shm (void *other,
++ cairo_format_t format,
++ int width, int height)
++{
++ return cairo_image_surface_create (format, width, height);
++}
++
++void
++_cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm)
++{
++ ASSERT_NOT_REACHED;
++}
++
++void
++_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
++ XImage *ximage)
++{
++ ASSERT_NOT_REACHED;
++}
++
++void *
++_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return NULL;
++}
++
++Pixmap
++_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return 0;
++}
++
++XRenderPictFormat *
++_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return NULL;
++}
++
++cairo_bool_t
++_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return FALSE;
++}
++
++cairo_bool_t
++_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return TRUE;
++}
++
++void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {}
++
++#else
+
+ #include "cairo-damage-private.h"
+ #include "cairo-default-context-private.h"
++#include "cairo-image-surface-private.h"
+ #include "cairo-list-inline.h"
++#include "cairo-mempool-private.h"
+
+ #include <X11/Xlibint.h>
+ #include <X11/Xproto.h>
+@@ -1281,5 +1374,5 @@ _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display)
+ free (shm);
+ display->shm = NULL;
+ }
+-
++#endif
+ #endif
+--
+cgit v0.9.0.2-2-gbebe
+From 0e2458697848cf8c89c9d57fa9b64f0ea7bd0877 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Sun, 28 Oct 2012 10:08:39 +0000
+Subject: xlib/shm: Use shmstr.h instead of shmproto.h if available
+
+Before it was known as shmproto.h, the wire protocol definition was to
+be found in shmstr.h, so if we don't have the current version of libXext
+try to use the older includes.
+
+Reported-by: Sebastian Haas <sehaas@gmail.com>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/configure.ac b/configure.ac
+index 021ec8e..f523284 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -106,7 +106,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [
+ AC_MSG_RESULT(assuming no))
+ fi
+
+- AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h], [], [],
++ AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h X11/extensions/shmstr.h], [], [],
+ [#include <X11/Xlibint.h>
+ #include <X11/Xproto.h>])
+ ])
+diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
+index a3d4385..44e6284 100644
+--- a/src/cairo-xlib-surface-shm.c
++++ b/src/cairo-xlib-surface-shm.c
+@@ -42,7 +42,7 @@
+ #include "cairo-xlib-private.h"
+ #include "cairo-xlib-surface-private.h"
+
+-#if !HAVE_X11_EXTENSIONS_XSHM_H || !HAVE_X11_EXTENSIONS_SHMPROTO_H
++#if !HAVE_X11_EXTENSIONS_XSHM_H || !(HAVE_X11_EXTENSIONS_SHMPROTO_H || HAVE_X11_EXTENSIONS_SHMSTR_H)
+ void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {}
+
+ cairo_surface_t *
+@@ -144,7 +144,11 @@ void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {}
+ #include <X11/Xlibint.h>
+ #include <X11/Xproto.h>
+ #include <X11/extensions/XShm.h>
++#if HAVE_X11_EXTENSIONS_SHMPROTO_H
+ #include <X11/extensions/shmproto.h>
++#elif HAVE_X11_EXTENSIONS_SHMSTR_H
++#include <X11/extensions/shmstr.h>
++#endif
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+
+--
+cgit v0.9.0.2-2-gbebe
+From 5a6e1d680a5bf1c4091e74f999abd611abd92334 Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Sun, 28 Oct 2012 10:28:52 +0000
+Subject: type1-subset: restore correct callothersub behavior
+
+that was removed in d57e652f. Without this subsetting of subroutines
+won't work for some fonts.
+---
+diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
+index c7f613a..786055a 100644
+--- a/src/cairo-type1-subset.c
++++ b/src/cairo-type1-subset.c
+@@ -141,6 +141,11 @@ typedef struct _cairo_type1_font_subset {
+ int sp;
+ } build_stack;
+
++ struct {
++ int stack[TYPE1_STACKSIZE];
++ int sp;
++ } ps_stack;
++
+
+ } cairo_type1_font_subset_t;
+
+@@ -767,7 +772,9 @@ use_standard_encoding_glyph (cairo_type1_font_subset_t *font, int index)
+ #define TYPE1_CHARSTRING_COMMAND_POP 0x0c11
+ #define TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT 0x0c21
+
+-/* Get glyph width and look for seac operatorParse charstring */
++/* Parse the charstring, including recursing into subroutines. Find
++ * the glyph width, subroutines called, and glyphs required by the
++ * SEAC operator. */
+ static cairo_status_t
+ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ int glyph,
+@@ -814,6 +821,7 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ case TYPE1_CHARSTRING_COMMAND_RETURN:
+ case TYPE1_CHARSTRING_COMMAND_ENDCHAR:
+ default:
++ /* stack clearing operator */
+ font->build_stack.sp = 0;
+ break;
+
+@@ -848,8 +856,8 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ case TYPE1_CHARSTRING_COMMAND_VSTEM3:
+ case TYPE1_CHARSTRING_COMMAND_HSTEM3:
+ case TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT:
+- case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
+ default:
++ /* stack clearing operator */
+ font->build_stack.sp = 0;
+ break;
+
+@@ -896,11 +904,25 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+ }
+ break;
+
++ case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
++ if (font->build_stack.sp < 1)
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++
++ font->build_stack.sp--;
++ font->ps_stack.sp = 0;
++ while (font->build_stack.sp)
++ font->ps_stack.stack[font->ps_stack.sp++] = font->build_stack.stack[--font->build_stack.sp];
++
++ break;
++
+ case TYPE1_CHARSTRING_COMMAND_POP:
+- if (font->build_stack.sp < TYPE1_STACKSIZE) {
+- /* use negative number to prevent it being used as a subr_num */
+- font->build_stack.stack[font->build_stack.sp++] = -1.0;
+- }
++ if (font->ps_stack.sp < 1)
++ return CAIRO_INT_STATUS_UNSUPPORTED;
++
++ /* T1 spec states that if the interpreter does not
++ * support executing the callothersub, the results
++ * must be taken from the callothersub arguments. */
++ font->build_stack.stack[font->build_stack.sp++] = font->ps_stack.stack[--font->ps_stack.sp];
+ break;
+ }
+ break;
+@@ -1355,6 +1377,7 @@ skip_subrs:
+ for (j = 0; j < font->num_glyphs; j++) {
+ glyph = font->subset_index_to_glyphs[j];
+ font->build_stack.sp = 0;
++ font->ps_stack.sp = 0;
+ status = cairo_type1_font_subset_parse_charstring (font,
+ glyph,
+ font->glyphs[glyph].encrypted_charstring,
+--
+cgit v0.9.0.2-2-gbebe
+From 0c800dc3f64ee030df1cd0a6a1dcd6df71502dea Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson@redneon.com>
+Date: Tue, 30 Oct 2012 08:53:30 +0000
+Subject: type1-subset: ensure subroutine numnber is an integer
+
+---
+diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
+index 786055a..dff4a95 100644
+--- a/src/cairo-type1-subset.c
++++ b/src/cairo-type1-subset.c
+@@ -827,15 +827,18 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
+
+ case TYPE1_CHARSTRING_COMMAND_CALLSUBR:
+ if (font->subset_subrs && font->build_stack.sp > 0) {
+- int subr_num = font->build_stack.stack[--font->build_stack.sp];
+- if (subr_num >= 0 && subr_num < font->num_subrs) {
+- font->subrs[subr_num].used = TRUE;
+- status = cairo_type1_font_subset_parse_charstring (
+- font,
+- glyph,
+- font->subrs[subr_num].subr_string,
+- font->subrs[subr_num].subr_length);
+- break;
++ double int_val;
++ if (modf(font->build_stack.stack[--font->build_stack.sp], &int_val) == 0.0) {
++ int subr_num = int_val;
++ if (subr_num >= 0 && subr_num < font->num_subrs) {
++ font->subrs[subr_num].used = TRUE;
++ status = cairo_type1_font_subset_parse_charstring (
++ font,
++ glyph,
++ font->subrs[subr_num].subr_string,
++ font->subrs[subr_num].subr_length);
++ break;
++ }
+ }
+ }
+ font->subset_subrs = FALSE;
+--
+cgit v0.9.0.2-2-gbebe
+From 65176b7380f0d633da514be1febe16f17b99d876 Mon Sep 17 00:00:00 2001
+From: Kevin Tardif <kiyoka@gmail.com>
+Date: Tue, 30 Oct 2012 04:27:27 +0000
+Subject: type1-subset, cff-subset: Plugged 2 memory leaks
+
+- _cairo_type1_font_subset_fini doesn't free font->cleartext
+- _cairo_cff_font_create can exit without freeing font->font_name and/or
+ font->data; _cairo_cff_font_load_opentype_cff is called to allocate
+ font_name, then _cairo_cff_font_load_cff is called to allocate
+ font->data, then _cairo_cff_font_load_cff's return status is checked
+ and if it failed, it jumps to fail1. This can cause font_name to leak
+ since the fail1 target only frees the font variable. In addition,
+ _cairo_cff_font_load_cff can fail -after- allocating data, and then
+ data won't be freed either.
+
+Bug 56566
+---
+diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c
+index e3040fc..bd8d5b5 100644
+--- a/src/cairo-cff-subset.c
++++ b/src/cairo-cff-subset.c
+@@ -2787,7 +2787,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
+ if (backend->is_synthetic && backend->is_synthetic (scaled_font_subset->scaled_font))
+ return CAIRO_INT_STATUS_UNSUPPORTED;
+
+- font = malloc (sizeof (cairo_cff_font_t));
++ font = calloc (1, sizeof (cairo_cff_font_t));
+ if (unlikely (font == NULL))
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+@@ -2862,11 +2862,11 @@ fail4:
+ fail3:
+ free (font->subset_font_name);
+ fail2:
+- free (font->data);
+- free (font->font_name);
+ free (font->ps_name);
+ _cairo_array_fini (&font->output);
+ fail1:
++ free (font->data);
++ free (font->font_name);
+ free (font);
+
+ return status;
+diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
+index dff4a95..2ec56f1 100644
+--- a/src/cairo-type1-subset.c
++++ b/src/cairo-type1-subset.c
+@@ -1670,6 +1670,8 @@ _cairo_type1_font_subset_fini (cairo_type1_font_subset_t *font)
+
+ free (font->subset_index_to_glyphs);
+
++ free (font->cleartext);
++
+ return status;
+ }
+
+--
+cgit v0.9.0.2-2-gbebe
+From 66625cb46c985321c46b79d2163a4d676d6700ba Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue, 30 Oct 2012 12:40:41 +0000
+Subject: xlib: Apply the image offsets to the destination rather the source
+
+So that we can specify the entire source surface as the region to copy
+and not introduce clipping errors.
+
+Fixes regression from
+commit c068691ff57c2f6cd750a54db17393c0e132cb00
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri Aug 17 21:33:54 2012 +0100
+
+ xlib/shm: Use an impromptu upload ShmSegment
+
+Reported-by: John Lindgren <john.lindgren@aol.com>
+Reported-by: Kalev Lember <kalevlember@gmail.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56547
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
+index e325382..74c43e9 100644
+--- a/src/cairo-xlib-render-compositor.c
++++ b/src/cairo-xlib-render-compositor.c
+@@ -179,22 +179,19 @@ copy_image_boxes (void *_dst,
+ int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x);
+ int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y);
+
+- rects[j].x = x1;
+- rects[j].y = y1;
+- rects[j].width = x2 - x1;
+- rects[j].height = y2 - y1;
+- j++;
++ if (x2 > x1 && y2 > y1) {
++ rects[j].x = x1;
++ rects[j].y = y1;
++ rects[j].width = x2 - x1;
++ rects[j].height = y2 - y1;
++ j++;
++ }
+ }
+ }
+- assert (j == boxes->num_boxes);
+
+ XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, Unsorted);
+-
+ XCopyArea (dst->dpy, src, dst->drawable, gc,
+- dx, dy,
+- image->width, image->height,
+- 0, 0);
+-
++ 0, 0, image->width, image->height, -dx, -dy);
+ XSetClipMask (dst->dpy, gc, None);
+
+ if (rects != stack_rects)
+@@ -337,7 +334,8 @@ draw_image_boxes (void *_dst,
+
+ if (_cairo_xlib_shm_surface_get_pixmap (&image->base)) {
+ status = copy_image_boxes (dst, image, boxes, dx, dy);
+- goto out;
++ if (status != CAIRO_INT_STATUS_UNSUPPORTED)
++ goto out;
+ }
+ }
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/extra/empathy/PKGBUILD b/extra/empathy/PKGBUILD
index e55f080bb..f84f8d8ce 100644
--- a/extra/empathy/PKGBUILD
+++ b/extra/empathy/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 169862 2012-10-30 22:24:57Z heftig $
+# $Id: PKGBUILD 170065 2012-10-31 13:32:53Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=empathy
pkgver=3.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="A GNOME instant messaging client using the Telepathy framework."
arch=('i686' 'x86_64')
url="http://live.gnome.org/Empathy"
@@ -16,7 +16,7 @@ optdepends=('telepathy-gabble: XMPP/Jabber support'
'telepathy-rakia: SIP support'
'telepathy-haze: libpurple support'
'nautilus-sendto: Send files from nautilus')
-options=('!libtool')
+options=('!libtool' '!makeflags')
groups=('gnome-extra')
install=empathy.install
source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz)
diff --git a/extra/gconf-editor/PKGBUILD b/extra/gconf-editor/PKGBUILD
index 94ade7b75..43e03ae09 100644
--- a/extra/gconf-editor/PKGBUILD
+++ b/extra/gconf-editor/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 150859 2012-02-23 13:04:28Z ibiru $
+# $Id: PKGBUILD 170049 2012-10-31 09:09:59Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gconf-editor
-pkgver=3.0.0
-pkgrel=2
+pkgver=3.0.1
+pkgrel=1
pkgdesc="Graphical gconf registry editor"
arch=(i686 x86_64)
license=('GPL')
@@ -13,11 +13,14 @@ url="http://www.gnome.org"
groups=('gnome-extra')
options=(!emptydirs)
install=gconf-editor.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
-sha256sums=('184e17416c2dd927ccb3a9b435d86fbe4b654316b91a6db724a3fd447a9fae60')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
+ fix-assertion-failed-crash.patch)
+sha256sums=('9afc4fc0d0afe019998736f06c04cbfa0393c813e2aa755133d95e83835f8869'
+ '6550714ee06d09632244d0f4f41402224599f5230ef71376ea34291ce0d651bc')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "${srcdir}/fix-assertion-failed-crash.patch"
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-scrollkeeper
make
diff --git a/extra/gconf-editor/fix-assertion-failed-crash.patch b/extra/gconf-editor/fix-assertion-failed-crash.patch
new file mode 100644
index 000000000..c9162f7f6
--- /dev/null
+++ b/extra/gconf-editor/fix-assertion-failed-crash.patch
@@ -0,0 +1,34 @@
+From 25d823099337f7ede4782f46fea46f251646dc3e Mon Sep 17 00:00:00 2001
+From: Edward Sheldrake <ejsheldrake@gmail.com>
+Date: Wed, 11 Apr 2012 07:27:16 +0000
+Subject: Fix assertion failed crash
+
+Fix "assertion failed: (last_slash != NULL)" crash while navigating the
+left tree view, fixed by having the model for the right list view emit
+all the row deleted signals before deleting any of its data.
+
+Fixes https://bugzilla.gnome.org/show_bug.cgi?id=670586
+---
+diff --git a/src/gconf-list-model.c b/src/gconf-list-model.c
+index 27e1af6..4fc60f8 100644
+--- a/src/gconf-list-model.c
++++ b/src/gconf-list-model.c
+@@ -133,11 +133,14 @@ gconf_list_model_set_root_path (GConfListModel *model, const gchar *root_path)
+
+ if (model->root_path != NULL) {
+ for (list = model->values; list; list = list->next) {
++ model->stamp++;
++ gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path);
++ }
++
++ for (list = model->values; list; list = list->next) {
+ GConfEntry *entry = list->data;
+
+ g_hash_table_remove (model->key_hash, gconf_entry_get_key (entry));
+- model->stamp++;
+- gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path);
+
+ gconf_entry_unref (entry);
+ }
+--
+cgit v0.9.0.2
diff --git a/extra/gconf/PKGBUILD b/extra/gconf/PKGBUILD
index 9a4d1f6b5..31e7a370f 100644
--- a/extra/gconf/PKGBUILD
+++ b/extra/gconf/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 156770 2012-04-23 09:05:12Z ibiru $
+# $Id: PKGBUILD 170051 2012-10-31 09:24:25Z jgc $
# Maintainer: Jan de Groot <jan@archlinux.org>
pkgname=gconf
pkgver=3.2.5
-pkgrel=2
+pkgrel=3
pkgdesc="A configuration database system"
arch=(i686 x86_64)
license=('LGPL')
@@ -13,11 +13,17 @@ options=('!libtool')
install=gconf.install
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-$pkgver.tar.xz
+ gconf-dbus-fix-use-after-free.patch
+ gconf-dbus-fix-shutdown.patch
+ gsettings-schema-convert-dont-fail.patch
gconf-merge-schema
gconfpkg
gconf-reload.patch
01_xml-gettext-domain.patch)
sha256sums=('4ddea9503a212ee126c5b46a0a958fd5484574c3cb6ef2baf38db02e819e58c6'
+ '76c078218e7c3e93691ddd4d7fd9f5c83d4862d0a0406d17b805f3106b50375d'
+ 'ddf55a40a260dd00364b32b3200bd8a76e890070ea6267fbfb322907c0946ab2'
+ 'be6f084a31229e8edfd6936005c6bb4f2d1548b777df5937923b4702f7a9ac19'
'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028'
'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898'
'567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694'
@@ -25,6 +31,11 @@ sha256sums=('4ddea9503a212ee126c5b46a0a958fd5484574c3cb6ef2baf38db02e819e58c6'
build() {
cd "GConf-$pkgver"
+ # Upstream fixes from git
+ patch -Np1 -i "$srcdir/gconf-dbus-fix-shutdown.patch"
+ patch -Np1 -i "$srcdir/gsettings-schema-convert-dont-fail.patch"
+ patch -Np1 -i "$srcdir/gconf-dbus-fix-use-after-free.patch"
+
# Patch from fedora - reloads gconf after installing schemas
patch -Np1 -i "$srcdir/gconf-reload.patch"
# http://bugzilla.gnome.org/show_bug.cgi?id=568845
diff --git a/extra/gconf/gconf-dbus-fix-shutdown.patch b/extra/gconf/gconf-dbus-fix-shutdown.patch
new file mode 100644
index 000000000..b294284b2
--- /dev/null
+++ b/extra/gconf/gconf-dbus-fix-shutdown.patch
@@ -0,0 +1,34 @@
+From 39299610083e0e7f9b44e62b7f4e51e89693cf89 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Tue, 06 Mar 2012 19:39:06 +0000
+Subject: dbus: fix shutdown
+
+gconftool-2 wasn't properly shutting down gconfd, because
+it was trying to do it before connecting to the daemon.
+
+This commit makes sure that we always first try to connect to
+the daemon before asking it to shutdown.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=671490
+---
+diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
+index 442a94b..f167fc5 100644
+--- a/gconf/gconf-dbus.c
++++ b/gconf/gconf-dbus.c
+@@ -2483,7 +2483,13 @@ gconf_shutdown_daemon (GError** err)
+ {
+ DBusMessage *message;
+
+- /* Don't want to spawn it if it's already down */
++ /* If we haven't reached out to it yet,
++ * reach out now.
++ */
++ if (global_conn == NULL)
++ gconf_ping_daemon();
++
++ /* But we don't want to spawn it if it's already down */
+ if (global_conn == NULL || !service_running)
+ return;
+
+--
+cgit v0.9.0.2
diff --git a/extra/gconf/gconf-dbus-fix-use-after-free.patch b/extra/gconf/gconf-dbus-fix-use-after-free.patch
new file mode 100644
index 000000000..d99b222cc
--- /dev/null
+++ b/extra/gconf/gconf-dbus-fix-use-after-free.patch
@@ -0,0 +1,99 @@
+From 84884e9df7ce8c081a1c223c66a799b82545ff1e Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Thu, 18 Oct 2012 20:08:02 +0000
+Subject: gconf-dbus: fix use after free
+
+gconf_engine_get_fuller is accessing freed memory.
+The problem is that it's referencing strings that are owned
+by a D-Bus message, and they go away when the D-Bus message is freed.
+
+This commit addresses the problem by duplicating the strings and
+freeing them later.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=667167
+---
+diff --git a/gconf/gconf-dbus-utils.c b/gconf/gconf-dbus-utils.c
+index 6fd5bfa..92f5980 100644
+--- a/gconf/gconf-dbus-utils.c
++++ b/gconf/gconf-dbus-utils.c
+@@ -569,11 +569,11 @@ gconf_dbus_utils_get_entry_values (DBusMessageIter *main_iter,
+ gchar **schema_name_p)
+ {
+ DBusMessageIter struct_iter;
+- gchar *key;
++ const gchar *key;
+ GConfValue *value;
+ gboolean is_default;
+ gboolean is_writable;
+- gchar *schema_name;
++ const gchar *schema_name;
+
+ g_return_val_if_fail (dbus_message_iter_get_arg_type (main_iter) == DBUS_TYPE_STRUCT,
+ FALSE);
+@@ -587,7 +587,7 @@ gconf_dbus_utils_get_entry_values (DBusMessageIter *main_iter,
+ value = utils_get_value (&struct_iter);
+
+ dbus_message_iter_next (&struct_iter);
+- schema_name = (gchar *) utils_get_optional_string (&struct_iter);
++ schema_name = utils_get_optional_string (&struct_iter);
+
+ dbus_message_iter_next (&struct_iter);
+ dbus_message_iter_get_basic (&struct_iter, &is_default);
+@@ -596,7 +596,7 @@ gconf_dbus_utils_get_entry_values (DBusMessageIter *main_iter,
+ dbus_message_iter_get_basic (&struct_iter, &is_writable);
+
+ if (key_p)
+- *key_p = key;
++ *key_p = g_strdup (key);
+
+ if (value_p)
+ *value_p = value;
+@@ -604,7 +604,7 @@ gconf_dbus_utils_get_entry_values (DBusMessageIter *main_iter,
+ gconf_value_free (value);
+
+ if (schema_name_p)
+- *schema_name_p = schema_name;
++ *schema_name_p = g_strdup (schema_name);
+
+ if (is_default_p)
+ *is_default_p = is_default;
+diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
+index f167fc5..5610fcf 100644
+--- a/gconf/gconf-dbus.c
++++ b/gconf/gconf-dbus.c
+@@ -1252,12 +1252,13 @@ gconf_engine_get_fuller (GConfEngine *conf,
+
+ if (schema_name && schema_name[0] != '/')
+ {
++ g_free (schema_name);
+ schema_name = NULL;
+ }
+
+ if (schema_name_p)
+- *schema_name_p = g_strdup (schema_name);
+-
++ *schema_name_p = schema_name;
++
+ return val;
+ }
+
+@@ -2402,7 +2403,7 @@ handle_notify (DBusConnection *connection,
+ GConfEngine *conf2)
+ {
+ GConfEngine *conf;
+- gchar *key, *schema_name;
++ gchar *key = NULL, *schema_name = NULL;
+ gboolean is_default, is_writable;
+ DBusMessageIter iter;
+ GConfValue *value;
+@@ -2466,6 +2467,8 @@ handle_notify (DBusConnection *connection,
+
+ if (value)
+ gconf_value_free (value);
++ g_free (key);
++ g_free (schema_name);
+
+ if (!match)
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+--
+cgit v0.9.0.2
diff --git a/extra/gconf/gsettings-schema-convert-dont-fail.patch b/extra/gconf/gsettings-schema-convert-dont-fail.patch
new file mode 100644
index 000000000..92040b343
--- /dev/null
+++ b/extra/gconf/gsettings-schema-convert-dont-fail.patch
@@ -0,0 +1,28 @@
+From 02f12f41b031a1c2672e7cf1cb8ebde58288c547 Mon Sep 17 00:00:00 2001
+From: Guido Günther <agx@sigxcpu.org>
+Date: Thu, 23 Feb 2012 20:14:18 +0000
+Subject: gsettings-schema-convert: Don't fail to convert lists without default element
+
+---
+diff --git a/gsettings/gsettings-schema-convert b/gsettings/gsettings-schema-convert
+index a60dc35..913cc83 100755
+--- a/gsettings/gsettings-schema-convert
++++ b/gsettings/gsettings-schema-convert
+@@ -854,11 +854,10 @@ class GConfSchema:
+ # Fix the default value to be parsable by GVariant
+ if self.type == 'list':
+ l = self.default.strip()
+- if not (l[0] == '[' and l[-1] == ']'):
+- if not l:
+- l = '[]'
+- else:
+- raise GSettingsSchemaConvertException('Cannot parse default list value \'%s\' for key \'%s\'.' % (self.default, self.applyto or self.key))
++ if not l:
++ l = '[]'
++ elif not (l[0] == '[' and l[-1] == ']'):
++ raise GSettingsSchemaConvertException('Cannot parse default list value \'%s\' for key \'%s\'.' % (self.default, self.applyto or self.key))
+ values = l[1:-1].strip()
+ if not values:
+ self.default = '[]'
+--
+cgit v0.9.0.2
diff --git a/extra/gnome-shell/PKGBUILD b/extra/gnome-shell/PKGBUILD
index 894a0e978..506592963 100644
--- a/extra/gnome-shell/PKGBUILD
+++ b/extra/gnome-shell/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 169913 2012-10-30 22:34:45Z heftig $
+# $Id: PKGBUILD 170067 2012-10-31 13:36:50Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: Flamelab <panosfilip@gmail.com
pkgname=gnome-shell
pkgver=3.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="The next generation GNOME Shell"
arch=('i686' 'x86_64')
url="http://live.gnome.org/GnomeShell"
diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD
index b4e24f364..b85e0fac8 100644
--- a/extra/gnutls/PKGBUILD
+++ b/extra/gnutls/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 168527 2012-10-13 06:38:44Z andyrtr $
+# $Id: PKGBUILD 170032 2012-10-31 05:16:00Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnutls
pkgver=3.1.3
-pkgrel=1
+pkgrel=2
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64')
license=('GPL3' 'LGPL')
url="http://www.gnu.org/software/gnutls/"
install=gnutls.install
options=('!libtool' '!zipman')
-depends=('gcc-libs>=4.7.1-5' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12')
+depends=('gcc-libs>=4.7.1-5' 'libtasn1>=3.0' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12')
makedepends=('valgrind' 'strace')
source=(http://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz{,.sig})
md5sums=('8a7b47456f65ffa8c01c58461fed1388'
diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD
index ed6d4d6ad..bc329f0e5 100644
--- a/extra/kdebase-workspace/PKGBUILD
+++ b/extra/kdebase-workspace/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 169946 2012-10-30 22:46:25Z heftig $
+# $Id: PKGBUILD 170060 2012-10-31 10:38:11Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
_pkgname=kde-workspace
pkgver=4.9.2
-pkgrel=5
+pkgrel=6
pkgdesc="Provides the interface and basic tools for the KDE workspace"
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/kde-workspace'
@@ -26,18 +26,22 @@ backup=('usr/share/config/kdm/kdmrc')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' 'kdm.logrotate'
'etc-scripts.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
- 'logind-support.patch')
+ 'logind-support.patch'
+ 'logind-support2.patch'
+ 'fix-mesa9.patch')
sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
'660eae40a707d2711d8d7f32a93214865506b795'
- 'b7980f2e199963caf8e92b499042d244ece2fca0'
+ '6aeecc9e0e221f0515c6bf544f9a3c11cb6961fe'
'106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
'bbe55f2000217474ce7246f12ee437ceaaf7e9ae'
'c079ebd157c836ba996190f0d2bcea1a7828d02c'
'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
'd509dac592bd8b310df27991b208c95b6d907514'
- 'ccde71c42e19feaf40d3bd76e7396a0cb6df012f')
+ 'ccde71c42e19feaf40d3bd76e7396a0cb6df012f'
+ '8f27ebd4bcc2f833a73d453837f4522b2be0aa1f'
+ 'c57583555bf8acd213295316512b92b6dc07703e')
build() {
cd ${_pkgname}-${pkgver}
@@ -51,6 +55,9 @@ build() {
patch -p0 -i "${srcdir}"/terminate-server.patch
# KDEBUG#307412 (fixed upstream)
patch -p1 -i "${srcdir}"/logind-support.patch
+ patch -p1 -i "${srcdir}"/logind-support2.patch
+ # KDEBUG#308385 (fixed upstream)
+ patch -p1 -i "${srcdir}"/fix-mesa9.patch
cd ../
diff --git a/extra/kdebase-workspace/fix-mesa9.patch b/extra/kdebase-workspace/fix-mesa9.patch
new file mode 100644
index 000000000..4c5fca408
--- /dev/null
+++ b/extra/kdebase-workspace/fix-mesa9.patch
@@ -0,0 +1,60 @@
+commit 6cf057777555a5d0c834de3a0165a62916cf3b40
+Author: Fredrik Höglund <fredrik@kde.org>
+Date: Tue Oct 30 18:20:00 2012 +0100
+
+ kwin/glx: Avoid MSAA configs in initBufferConfigs()
+
+ It appears that we're accidentally choosing an MSAA config with the
+ Intel driver in Mesa 9.0. So change the algorithm to take the values
+ of GLX_SAMPLES and GLX_SAMPLE_BUFFERS into account.
+
+ Found by Kenneth Graunke.
+
+diff --git a/kwin/scene_opengl_glx.cpp b/kwin/scene_opengl_glx.cpp
+index 1fe2f18..cf7933b 100644
+--- a/kwin/scene_opengl_glx.cpp
++++ b/kwin/scene_opengl_glx.cpp
+@@ -270,12 +270,15 @@ bool SceneOpenGL::initBufferConfigs()
+ fbcbuffer_nondb = NULL;
+
+ for (int i = 0; i < 2; i++) {
+- int back, stencil, depth, caveat, alpha;
++ int back, stencil, depth, caveat, msaa_buffers, msaa_samples, alpha;
+ back = i > 0 ? INT_MAX : 1;
+ stencil = INT_MAX;
+ depth = INT_MAX;
+ caveat = INT_MAX;
++ msaa_buffers = INT_MAX;
++ msaa_samples = INT_MAX;
+ alpha = 0;
++
+ for (int j = 0; j < cnt; j++) {
+ XVisualInfo *vi;
+ int visual_depth;
+@@ -322,10 +325,26 @@ bool SceneOpenGL::initBufferConfigs()
+ GLX_CONFIG_CAVEAT, &caveat_value);
+ if (caveat_value > caveat)
+ continue;
++
++ int msaa_buffers_value;
++ glXGetFBConfigAttrib(display(), fbconfigs[j], GLX_SAMPLE_BUFFERS,
++ &msaa_buffers_value);
++ if (msaa_buffers_value > msaa_buffers)
++ continue;
++
++ int msaa_samples_value;
++ glXGetFBConfigAttrib(display(), fbconfigs[j], GLX_SAMPLES,
++ &msaa_samples_value);
++ if (msaa_samples_value > msaa_samples)
++ continue;
++
+ back = back_value;
+ stencil = stencil_value;
+ depth = depth_value;
+ caveat = caveat_value;
++ msaa_buffers = msaa_buffers_value;
++ msaa_samples = msaa_samples_value;
++
+ if (i > 0)
+ fbcbuffer_nondb = fbconfigs[ j ];
+ else
diff --git a/extra/kdebase-workspace/kde-np.pam b/extra/kdebase-workspace/kde-np.pam
index eccaa08f4..2a4a940c7 100644
--- a/extra/kdebase-workspace/kde-np.pam
+++ b/extra/kdebase-workspace/kde-np.pam
@@ -3,7 +3,7 @@ auth required pam_tally.so onerr=succeed file=/var/log/faillog
auth required pam_shells.so
auth requisite pam_nologin.so
auth required pam_env.so
-auth optional pam_permit.s
+auth optional pam_permit.so
account include system-login
diff --git a/extra/kdebase-workspace/kdebase-workspace.install b/extra/kdebase-workspace/kdebase-workspace.install
index f7d6d305b..c52c06417 100644
--- a/extra/kdebase-workspace/kdebase-workspace.install
+++ b/extra/kdebase-workspace/kdebase-workspace.install
@@ -4,6 +4,7 @@ post_install() {
chown -R 135:135 var/lib/kdm &>/dev/null
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-desktop-database -q
+ genkdmconf --no-old --no-backup &>/dev/null
}
post_upgrade() {
@@ -12,6 +13,7 @@ post_upgrade() {
chown -R 135:135 var/lib/kdm &>/dev/null
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
update-desktop-database -q
+ genkdmconf &>/dev/null
}
post_remove() {
@@ -22,4 +24,8 @@ post_remove() {
groupdel kdm
fi
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+
+ if [ -d usr/share/apps/kdm/faces ]; then
+ rm -r usr/share/apps/kdm/faces
+ fi
}
diff --git a/extra/kdebase-workspace/logind-support2.patch b/extra/kdebase-workspace/logind-support2.patch
new file mode 100644
index 000000000..e36757f6a
--- /dev/null
+++ b/extra/kdebase-workspace/logind-support2.patch
@@ -0,0 +1,124 @@
+commit 80e9e6e48ff5b84962f3a8543ee06bcd4f122623
+Author: Lukáš Tinkl <lukas@kde.org>
+Date: Tue Oct 30 11:32:52 2012 +0100
+
+ move systemd inhibition initialization to a slot
+
+ and call it on resume. It looks like the filedescriptor
+ goes away when you suspend so we need to recreate it.
+
+ BUG: 307412
+
+diff --git a/powerdevil/daemon/powerdevilcore.cpp b/powerdevil/daemon/powerdevilcore.cpp
+index df79667..7f24cbb 100644
+--- a/powerdevil/daemon/powerdevilcore.cpp
++++ b/powerdevil/daemon/powerdevilcore.cpp
+@@ -127,8 +127,6 @@ void Core::onBackendReady()
+ this, SLOT(onAcAdapterStateChanged(PowerDevil::BackendInterface::AcAdapterState)));
+ connect(m_backend, SIGNAL(batteryRemainingTimeChanged(qulonglong)),
+ this, SLOT(onBatteryRemainingTimeChanged(qulonglong)));
+- connect(m_backend, SIGNAL(resumeFromSuspend()),
+- this, SLOT(onResumeFromSuspend()));
+ connect(KIdleTime::instance(), SIGNAL(timeoutReached(int,int)),
+ this, SLOT(onKIdleTimeoutReached(int,int)));
+ connect(KIdleTime::instance(), SIGNAL(resumingFromIdle()),
+@@ -139,6 +137,9 @@ void Core::onBackendReady()
+ // Set up the policy agent
+ PowerDevil::PolicyAgent::instance()->init();
+
++ connect(m_backend, SIGNAL(resumeFromSuspend()),
++ this, SLOT(onResumeFromSuspend()));
++
+ // Initialize the action pool, which will also load the needed startup actions.
+ PowerDevil::ActionPool::instance()->init(this);
+
+@@ -601,6 +602,7 @@ void Core::onResumeFromSuspend()
+ "/ScreenSaver",
+ QDBusConnection::sessionBus());
+ iface.SimulateUserActivity();
++ PowerDevil::PolicyAgent::instance()->setupSystemdInhibition();
+
+ emit resumingFromSuspend();
+ }
+diff --git a/powerdevil/daemon/powerdevilpolicyagent.cpp b/powerdevil/daemon/powerdevilpolicyagent.cpp
+index 70588db..0777846 100644
+--- a/powerdevil/daemon/powerdevilpolicyagent.cpp
++++ b/powerdevil/daemon/powerdevilpolicyagent.cpp
+@@ -88,6 +88,7 @@ PolicyAgent *PolicyAgent::instance()
+ PolicyAgent::PolicyAgent(QObject* parent)
+ : QObject(parent)
+ , m_sdAvailable(false)
++ , m_systemdInhibitFd(-1)
+ , m_ckAvailable(false)
+ , m_sessionIsBeingInterrupted(false)
+ , m_lastCookie(0)
+@@ -223,23 +224,7 @@ void PolicyAgent::onSessionHandlerRegistered(const QString & serviceName)
+
+ onActiveSessionChanged(m_activeSessionPath);
+
+- // inhibit systemd handling of power/sleep/lid buttons
+- // http://www.freedesktop.org/wiki/Software/systemd/inhibit
+- kDebug() << "fd passing available:" << bool(managerIface.connection().connectionCapabilities() & QDBusConnection::UnixFileDescriptorPassing);
+-
+- QVariantList args;
+- args << "handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch"; // what
+- args << "PowerDevil"; // who
+- args << "KDE handles power events"; // why
+- args << "block"; // mode
+- QDBusPendingReply<QDBusUnixFileDescriptor> desc = managerIface.asyncCallWithArgumentList("Inhibit", args);
+- desc.waitForFinished();
+- if (desc.isValid()) {
+- m_systemdInhibitFd = desc.value();
+- kDebug() << "systemd powersave events handling inhibited, descriptor:" << m_systemdInhibitFd.fileDescriptor();
+- }
+- else
+- kWarning() << "failed to inhibit systemd powersave handling";
++ setupSystemdInhibition();
+
+ kDebug() << "systemd support initialized";
+ } else if (serviceName == CONSOLEKIT_SERVICE) {
+@@ -552,6 +537,31 @@ void PolicyAgent::releaseAllInhibitions()
+ }
+ }
+
++void PolicyAgent::setupSystemdInhibition()
++{
++ if (m_systemdInhibitFd.fileDescriptor() != -1)
++ return;
++
++ // inhibit systemd handling of power/sleep/lid buttons
++ // http://www.freedesktop.org/wiki/Software/systemd/inhibit
++ QDBusInterface managerIface(SYSTEMD_LOGIN1_SERVICE, SYSTEMD_LOGIN1_PATH, SYSTEMD_LOGIN1_MANAGER_IFACE, QDBusConnection::systemBus());
++ kDebug() << "fd passing available:" << bool(managerIface.connection().connectionCapabilities() & QDBusConnection::UnixFileDescriptorPassing);
++
++ QVariantList args;
++ args << "handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch"; // what
++ args << "PowerDevil"; // who
++ args << "KDE handles power events"; // why
++ args << "block"; // mode
++ QDBusPendingReply<QDBusUnixFileDescriptor> desc = managerIface.asyncCallWithArgumentList("Inhibit", args);
++ desc.waitForFinished();
++ if (desc.isValid()) {
++ m_systemdInhibitFd = desc.value();
++ kDebug() << "systemd powersave events handling inhibited, descriptor:" << m_systemdInhibitFd.fileDescriptor();
++ }
++ else
++ kWarning() << "failed to inhibit systemd powersave handling";
++}
++
+ }
+
+ #include "powerdevilpolicyagent.moc"
+diff --git a/powerdevil/daemon/powerdevilpolicyagent.h b/powerdevil/daemon/powerdevilpolicyagent.h
+index a046497..f1e8c03 100644
+--- a/powerdevil/daemon/powerdevilpolicyagent.h
++++ b/powerdevil/daemon/powerdevilpolicyagent.h
+@@ -74,6 +74,8 @@ public:
+
+ RequiredPolicies unavailablePolicies();
+
++ void setupSystemdInhibition();
++
+ public Q_SLOTS:
+ // Exported slots
+ uint AddInhibition(uint types, const QString &appName, const QString &reason);
diff --git a/extra/kdeplasma-addons/PKGBUILD b/extra/kdeplasma-addons/PKGBUILD
index e3fa6d221..da60347b4 100644
--- a/extra/kdeplasma-addons/PKGBUILD
+++ b/extra/kdeplasma-addons/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 167845 2012-10-03 14:46:47Z andrea $
+# $Id: PKGBUILD 170053 2012-10-31 10:13:04Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
@@ -76,17 +76,23 @@ pkgname=('kdeplasma-addons-applets-bball'
'kdeplasma-addons-wallpapers-virus'
'kdeplasma-addons-wallpapers-weather')
pkgver=4.9.2
-pkgrel=1
+pkgrel=3
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL')
groups=('kde' 'kdeplasma-addons')
makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen'
'scim' 'qwt' 'boost' 'libkexiv2' 'ibus' 'qoauth' 'qjson')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz")
-sha1sums=('9f6493d52beb2ed723038e60f5f9ab53beec4e44')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz"
+ 'fix-spell-crash.patch')
+sha1sums=('9f6493d52beb2ed723038e60f5f9ab53beec4e44'
+ '1ff0e61d73a4fce8ee7f585504a129ff50405ae6')
build() {
+ cd ${pkgbase}-${pkgver}
+ patch -p1 -i "${srcdir}"/fix-spell-crash.patch
+ cd ../
+
mkdir build
cd build
cmake ../${pkgbase}-${pkgver} \
diff --git a/extra/kdeplasma-addons/fix-spell-crash.patch b/extra/kdeplasma-addons/fix-spell-crash.patch
new file mode 100644
index 000000000..75c26c6ad
--- /dev/null
+++ b/extra/kdeplasma-addons/fix-spell-crash.patch
@@ -0,0 +1,267 @@
+commit 124e35885b8cd1b593b7b83a070bd0bdb5758661
+Author: Simeon Bird <bladud@gmail.com>
+Date: Fri Oct 19 21:16:34 2012 -0400
+
+ Fix the plasma spellchecker's 'foreign language' support.
+ Previously this caused segfaults (even if not used) because
+ it called setLanguage(), which is not thread-safe, in match().
+
+ Instead, this patch constructs a new speller safely for each new
+ language, without deleting the old one. Old spellers are instead
+ deleted on the teardown() signal.
+
+ While we're at it, amend the language detection so that the user
+ can type natural language names (eg, 'german') and have the
+ spell-checker find the right language.
+
+ REVIEW: 106244
+ BUG: 303831
+ BUG: 264779
+ FIXED-IN: 4.9.3
+
+diff --git a/runners/spellchecker/spellcheck.cpp b/runners/spellchecker/spellcheck.cpp
+index 672732d..cc6aeb2 100644
+--- a/runners/spellchecker/spellcheck.cpp
++++ b/runners/spellchecker/spellcheck.cpp
+@@ -24,6 +24,7 @@
+ // #include <KDebug>
+ #include <KGlobal>
+ #include <KIcon>
++#include <QSet>
+
+ SpellCheckRunner::SpellCheckRunner(QObject* parent, const QVariantList &args)
+ : Plasma::AbstractRunner(parent, args)
+@@ -43,13 +44,64 @@ void SpellCheckRunner::init()
+ {
+ Plasma::AbstractRunner::init();
+
+- //store all language names, makes it posible to type "spell german TERM" if english locale is set
++ //Connect prepare and teardown signals
++ connect(this, SIGNAL(prepare()), this, SLOT(loaddata()));
++ connect(this, SIGNAL(teardown()), this, SLOT(destroydata()));
++}
++
++//Load a default dictionary and some locale names
++void SpellCheckRunner::loaddata()
++{
++ //Load the default speller, with the default language
++ if (!m_spellers.contains("")) {
++ m_spellers[""] = QSharedPointer<Sonnet::Speller> (new Sonnet::Speller(""));
++ }
++ //store all language names, makes it possible to type "spell german TERM" if english locale is set
++ //Need to construct a map between natual language names and names the spell-check recognises.
+ KLocale *locale = KGlobal::locale();
+- QStringList codes = locale->allLanguagesList();
+- foreach (const QString &code, codes) {
+- const QString name = locale->languageCodeToName(code);
+- m_languages[name.toLower()] = code;
++ const QStringList avail = m_spellers[""]->availableLanguages();
++ //We need to filter the available languages so that we associate the natural language
++ //name (eg. 'german') with one sub-code.
++ QSet<QString> families;
++ //First get the families
++ foreach (const QString &code, avail) {
++ families +=code.left(2);
++ }
++ //Now for each family figure out which is the main code.
++ foreach (const QString &fcode,families) {
++ QStringList family = avail.filter(fcode);
++ QString code;
++ //If we only have one code, use it.
++ //If a string is the default language, use it
++ if (family.contains(m_spellers[""]->language())) {
++ code = m_spellers[""]->language();
++ } else if (fcode == QLatin1String("en")) {
++ //If the family is english, default to en_US.
++ if (family.contains("en_US")) {
++ code = QLatin1String("en_US");
++ }
++ } else if (family.contains(fcode+QLatin1String("_")+fcode.toUpper())) {
++ //If we have a speller of the form xx_XX, try that.
++ //This gets us most European languages with more than one spelling.
++ code = fcode+QLatin1String("_")+fcode.toUpper();
++ } else {
++ //Otherwise, pick the first value as it is highest priority.
++ code = family.first();
++ }
++ //Finally, add code to the map.
++ const QString name = locale->languageCodeToName(fcode);
++ if (!name.isEmpty()) {
++ m_languages[name.toLower()] = code;
++ }
++// kDebug() << "SPELL lang: " << fcode<< "::"<< name << " : " << code;
+ }
++
++}
++
++void SpellCheckRunner::destroydata()
++{
++ //Clear the data arrays to save memory
++ m_spellers.clear();
+ }
+
+ void SpellCheckRunner::reloadConfiguration()
+@@ -73,13 +125,52 @@ void SpellCheckRunner::reloadConfiguration()
+ setSyntaxes(syns);
+ }
+
++/* Take the input query, split into a list, and see if it contains a language to spell in.
++ * Return the empty string if we can't match a language. */
++QString SpellCheckRunner::findlang(const QStringList& terms)
++{
++ //If first term is a language code (like en_GB), set it as the spell-check language
++ if (terms.count() >= 1 && m_spellers[""]->availableLanguages().contains(terms[0])) {
++ return terms[0];
++ }
++ //If we have two terms and the first is a language name (eg 'french'),
++ //set it as the available language
++ else if (terms.count() >=2) {
++ QString code;
++ {
++ //Is this a descriptive language name?
++ QMap<QString, QString>::const_iterator it = m_languages.constFind(terms[0].toLower());
++ if (it != m_languages.constEnd()) {
++ code = *it;
++ }
++ //Maybe it is a subset of a language code?
++ else {
++ QStringList codes = QStringList(m_languages.values()).filter(terms[0]);
++ if (!codes.isEmpty()) {
++ code = codes.first();
++ }
++ }
++ }
++
++ if (!code.isEmpty()) {
++ //We found a valid language! Check still available
++ const QStringList avail = m_spellers[""]->availableLanguages();
++ //Does the spell-checker like it?
++ if (avail.contains(code)) {
++ return code;
++ }
++ }
++ //FIXME: Support things like 'british english' or 'canadian french'
++ }
++ return QLatin1String("");
++}
++
+ void SpellCheckRunner::match(Plasma::RunnerContext &context)
+ {
+ if (!context.isValid()) {
+ return;
+ }
+
+-
+ const QString term = context.query();
+ QString query = term;
+
+@@ -88,53 +179,46 @@ void SpellCheckRunner::match(Plasma::RunnerContext &context)
+ if (query.left(len) != m_triggerWord) {
+ return;
+ }
+-
+- QString language = m_speller.defaultLanguage();
+ query = query.mid(len).trimmed();
+- QStringList terms = query.split(' ');
+-
+- //two terms specified, check if first is a language
+- QString customLanguage;
+- if (terms.count() == 2) {
+- customLanguage = terms[0];
+- query = terms[1];
+- }
+- //three terms specified, check if first two are a language, e.g. "american english"
+- if (terms.count() == 3) {
+- customLanguage = terms[0] + ' ' + terms[1];
+- query = terms[2];
+- }
+-
+- if (!customLanguage.isEmpty()) {
+- language = customLanguage;
+- m_speller.setLanguage(language);
++ }
+
+- //not valid, maybe it is a language name, not a code
+- if (!m_speller.isValid()) {
+- QHash<QString, QString>::const_iterator it = m_languages.constFind(language.toLower());
+- //is a valid language name
+- if (it != m_languages.constEnd()) {
+- language = *it;
++ //Pointer to speller object with our chosen language
++ QSharedPointer<Sonnet::Speller> speller = m_spellers[""];
++
++ if (speller->isValid()) {
++ QStringList terms = query.split(' ', QString::SkipEmptyParts);
++ QString lang = findlang(terms);
++ //If we found a language, create a new speller object using it.
++ if (!lang.isEmpty()) {
++ //First term is the language
++ terms.removeFirst();
++ //New speller object if we don't already have one
++ if (!m_spellers.contains(lang)) {
++ QMutexLocker lock (&m_spellLock);
++ //Check nothing happened while we were acquiring the lock
++ if (!m_spellers.contains(lang)) {
++ m_spellers[lang] = QSharedPointer<Sonnet::Speller>(new Sonnet::Speller(lang));
+ }
+ }
++ speller = m_spellers[lang];
++ //Rejoin the strings
++ query = terms.join(QLatin1String(" "));
+ }
+-
+- m_speller.setLanguage(language);
+ }
+
+- if (query.size() < 3) {
++ if (query.size() < 2) {
+ return;
+ }
+
+ Plasma::QueryMatch match(this);
+ match.setType(Plasma::QueryMatch::InformationalMatch);
+
+- if (m_speller.isValid()) {
++ if (speller->isValid()) {
+ QStringList suggestions;
+- const bool correct = m_speller.checkAndSuggest(query,suggestions);
++ const bool correct = speller->checkAndSuggest(query,suggestions);
+ if (correct) {
+ match.setIcon(KIcon(QLatin1String( "checkbox" )));
+- match.setText(i18n("Correct"));
++ match.setText(i18n("Correct")+QLatin1String(": ")+query);
+ } else {
+ match.setIcon(KIcon(QLatin1String( "edit-delete" )));
+ const QString recommended = i18n("Suggested words: %1", suggestions.join(i18nc("seperator for a list of words", ", ")));
+diff --git a/runners/spellchecker/spellcheck.h b/runners/spellchecker/spellcheck.h
+index 492c370..ca65452 100644
+--- a/runners/spellchecker/spellcheck.h
++++ b/runners/spellchecker/spellcheck.h
+@@ -22,6 +22,7 @@
+ #include <sonnet/speller.h>
+
+ #include <plasma/abstractrunner.h>
++#include <QSharedPointer>
+
+ /**
+ * This checks the spelling of query
+@@ -41,12 +42,17 @@ public:
+
+ protected slots:
+ void init();
++ void loaddata();
++ void destroydata();
+
+ private:
++ QString findlang(const QStringList &terms);
++
+ QString m_triggerWord;
+- QHash<QString, QString> m_languages;//key=language name, value=language code
++ QMap<QString, QString> m_languages;//key=language name, value=language code
+ bool m_requireTriggerWord;
+- Sonnet::Speller m_speller;
++ QMap<QString, QSharedPointer<Sonnet::Speller> > m_spellers; //spellers
++ QMutex m_spellLock; //Lock held when constructing a new speller
+ };
+
+ K_EXPORT_PLASMA_RUNNER(spellcheckrunner, SpellCheckRunner)
diff --git a/extra/libcanberra/PKGBUILD b/extra/libcanberra/PKGBUILD
index f4f54557c..c9897a6ab 100644
--- a/extra/libcanberra/PKGBUILD
+++ b/extra/libcanberra/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 160365 2012-06-01 12:58:34Z dreisner $
+# $Id: PKGBUILD 170059 2012-10-31 10:33:15Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=libcanberra
pkgname=(libcanberra libcanberra-pulse libcanberra-gstreamer)
-pkgver=0.28
-pkgrel=5
+pkgver=0.30
+pkgrel=1
pkgdesc="A small and lightweight implementation of the XDG Sound Theme Specification"
arch=(i686 x86_64)
license=('LGPL')
depends=('libvorbis' 'libltdl' 'alsa-lib' 'tdb')
-makedepends=('gtk-doc' 'libpulse' 'gstreamer0.10' 'gtk2' 'gtk3')
+makedepends=('gtk-doc' 'libpulse' 'gstreamer' 'gtk2' 'gtk3')
options=(!emptydirs)
url=http://0pointer.de/lennart/projects/libcanberra
-source=(http://0pointer.de/lennart/projects/${pkgbase}/${pkgbase}-${pkgver}.tar.gz
+source=(http://0pointer.de/lennart/projects/${pkgbase}/${pkgbase}-${pkgver}.tar.xz
libcanberra.xinit)
-sha256sums=('eb1f8b2cabad7f07b6e44d606a91d73e1efca4b46daf92bd553e7222bc68868c'
+sha256sums=('c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72'
'68a68d66b7491f99d5aa09fe7c6ef4eb38352a2a8ff7997d184d1cbc5e80c0d3')
build() {
@@ -36,9 +36,6 @@ package_libcanberra() {
rm -f "${pkgdir}"/usr/lib/libcanberra-gtk*.la
rm -f "${pkgdir}"/usr/lib/gtk-{2,3}.0/modules/*.la
- install -d "${pkgdir}/usr/share/gconf"
- mv "${pkgdir}/etc/gconf/schemas" "${pkgdir}/usr/share/gconf/"
-
install -D "${srcdir}/libcanberra.xinit" \
"${pkgdir}/etc/X11/xinit/xinitrc.d/40-libcanberra-gtk-module"
@@ -61,7 +58,7 @@ package_libcanberra-pulse() {
package_libcanberra-gstreamer() {
pkgdesc="GStreamer plugin for libcanberra"
- depends=("$pkgbase=$pkgver-$pkgrel" 'gstreamer0.10')
+ depends=("$pkgbase=$pkgver-$pkgrel" 'gstreamer')
cd "${srcdir}/${pkgbase}-${pkgver}"
diff --git a/extra/libcanberra/libcanberra.install b/extra/libcanberra/libcanberra.install
index 7f5012199..6027540fd 100644
--- a/extra/libcanberra/libcanberra.install
+++ b/extra/libcanberra/libcanberra.install
@@ -1,23 +1,5 @@
-pkgname=libcanberra
-
-post_install() {
- if [ -x usr/sbin/gconfpkg ]; then
- usr/sbin/gconfpkg --install ${pkgname}
- fi
-}
-
pre_upgrade() {
- if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
- pre_remove
- fi
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- if [ -x usr/sbin/gconfpkg ]; then
- usr/sbin/gconfpkg --uninstall ${pkgname}
+ if [ -f usr/share/gconf/schemas/libcanberra.schemas ] && [ -x usr/sbin/gconfpkg ]; then
+ usr/sbin/gconfpkg --uninstall libcanberra
fi
}
diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD
index 2bb3bf12e..dc7396217 100644
--- a/extra/libreoffice/PKGBUILD
+++ b/extra/libreoffice/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 169387 2012-10-20 09:31:46Z andyrtr $
+# $Id: PKGBUILD 170071 2012-10-31 14:01:16Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
pkgbase="libreoffice"
@@ -24,9 +24,9 @@ pkgname=('libreoffice-common'
'libreoffice-extension-scripting-python'
'libreoffice-extension-wiki-publisher'
'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built)
-_LOver=3.6.2.2
-pkgver=3.6.2
-pkgrel=3
+_LOver=3.6.3.2
+pkgver=3.6.3
+pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL3')
url="http://www.libreoffice.org/"
@@ -75,10 +75,10 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz
${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${_additional_source_url}/0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2
+ ${_additional_source_url}/9f9e15966b5624834157fe3d748312bc-mdds_0.6.1.tar.bz2
${_additional_source_url}/6097739c841f671cb21332b9cc593ae7-libexttextcat-3.3.1.tar.bz2
${_additional_source_url}/0d2dcdfbf28d6208751b33057f5361f0-libcmis-0.2.3.tar.gz
- ${_additional_source_url}/ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2
+ ${_additional_source_url}/3c0037fb07dea2f0bbae8386fa7c6a9a-libcdr-0.0.9.tar.bz2
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
make-pyuno-work-with-system-wide-module-install.diff
buildfix.diff
@@ -87,7 +87,7 @@ noextract=(94e7f271e38c976462558b4278590178-libvisio-0.0.19.tar.bz2
18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
185d60944ea767075d27247c3162b3bc-unowinreg.dll
- 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2
+ 9f9e15966b5624834157fe3d748312bc-mdds_0.6.1.tar.bz2
ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
@@ -111,11 +111,11 @@ noextract=(94e7f271e38c976462558b4278590178-libvisio-0.0.19.tar.bz2
3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2
+ 3c0037fb07dea2f0bbae8386fa7c6a9a-libcdr-0.0.9.tar.bz2
ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip)
-md5sums=('ae171ba4633cc72dba4451b1bdd3385e'
- 'cdad0734d247d91a79cb282fd851d2a7'
- 'e9a7e3d35432b72a4603ce094deb6a67'
+md5sums=('17ccf623caa77dc135d5343a51fa1ddd'
+ '94a8d18009f8e0e4ae80dc34c43604d7'
+ 'f76c4439c211f229d49e5fb10ca2ba73'
'18f577b374d60b3c760a3a3350407632'
'f02578f5218f217a9f20e9c30e119c6a'
'94e7f271e38c976462558b4278590178'
@@ -141,10 +141,10 @@ md5sums=('ae171ba4633cc72dba4451b1bdd3385e'
'ace6ab49184e329db254e454a010f56d'
'db60e4fde8dd6d6807523deb71ee34dc'
'ba2930200c9f019c2d93a8c88c651a0f'
- '0ff7d225d087793c8c2c680d77aac3e7'
+ '9f9e15966b5624834157fe3d748312bc'
'6097739c841f671cb21332b9cc593ae7'
'0d2dcdfbf28d6208751b33057f5361f0'
- 'ce5a1def34578b75959ac31210f031f6'
+ '3c0037fb07dea2f0bbae8386fa7c6a9a'
'185d60944ea767075d27247c3162b3bc'
'97bf43dda273d79ff90c848ab53b0e3c'
'234e91ac65945ce1ab1e3839780e90f7'
diff --git a/extra/libtasn1/PKGBUILD b/extra/libtasn1/PKGBUILD
index ffcdb9bb9..699bae051 100644
--- a/extra/libtasn1/PKGBUILD
+++ b/extra/libtasn1/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 167197 2012-09-27 15:53:17Z andyrtr $
+# $Id: PKGBUILD 170031 2012-10-31 05:15:58Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=2.14
+pkgver=3.0
pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS"
arch=('i686' 'x86_64')
@@ -13,8 +13,8 @@ depends=('glibc' 'texinfo')
options=('!libtool')
install=libtasn1.install
source=(http://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig})
-sha1sums=('22f9e0b15f870c8e03ac9cc1ead969d4d84eb931'
- 'cd6fdde4f59f7c24eb738896904034f17ab490f2')
+sha1sums=('0ce12f8b0460ae6eabf2a608506dbd337bf78a71'
+ '48abf083dc9d36cc64f0d80cebd3da1dbc47d557')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/metacity/PKGBUILD b/extra/metacity/PKGBUILD
index cbc994bae..ecde6eebf 100644
--- a/extra/metacity/PKGBUILD
+++ b/extra/metacity/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 166589 2012-09-12 17:45:09Z jgc $
+# $Id: PKGBUILD 170056 2012-10-31 10:19:33Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=metacity
-pkgver=2.34.8
+pkgver=2.34.13
pkgrel=1
pkgdesc="A window manager for GNOME"
arch=(i686 x86_64)
@@ -15,7 +15,7 @@ options=('!libtool' '!emptydirs')
install=metacity.install
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
fix_compositing_startup.patch)
-sha256sums=('ab83038a9dc0b53a63b66c3f9323a10abb0b9a9ae2b5c5d3cc6bbabe2b607806'
+sha256sums=('8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075'
'5094a0ffe3eb8289ed752829877c2e1b743eddf938ad3fc92fb4574b42765ae2')
build() {
diff --git a/extra/openmpi/PKGBUILD b/extra/openmpi/PKGBUILD
index 6edab4b10..d83b7d34d 100644
--- a/extra/openmpi/PKGBUILD
+++ b/extra/openmpi/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 167415 2012-10-02 00:13:37Z stephane $
+# $Id: PKGBUILD 170075 2012-10-31 21:09:28Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=openmpi
-pkgver=1.6.2
+pkgver=1.6.3
pkgrel=1
pkgdesc="High performance message passing library (MPI)"
arch=('i686' 'x86_64')
@@ -11,7 +11,7 @@ depends=('gcc-fortran' 'openssh' 'valgrind' 'libltdl' 'hwloc')
makedepends=('inetutils')
options=(!libtool)
source=(http://www.open-mpi.org/software/ompi/v1.6/downloads/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('694fd3bac911cdb22f77175884d819b6fea871df')
+sha1sums=('a61aa2dee4c47d93d88e49ebed36de25df4f6492')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/screen/PKGBUILD b/extra/screen/PKGBUILD
index 341373433..efeddd0c7 100644
--- a/extra/screen/PKGBUILD
+++ b/extra/screen/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 147962 2012-01-29 04:41:21Z allan $
+# $Id: PKGBUILD 170087 2012-11-01 01:12:40Z thomas $
# Maintainer: Allan McRae <allan@archlinux.org>
# Committer: dorphell <dorphell@gmx.net>
pkgname=screen
pkgver=4.0.3
-pkgrel=13
+pkgrel=15
_ptygroup=5 #the UID of our PTY/TTY group
pkgdesc="Full-screen window manager that multiplexes a physical terminal"
arch=('i686' 'x86_64')
@@ -32,7 +32,8 @@ build() {
--with-sys-screenrc=/etc/screenrc --enable-colors256 \
--enable-rxvt_osc --enable-telnet \
--with-pty-group=$_ptygroup \
- --mandir=/usr/share/man --infodir=/usr/share/info
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-socket-dir=/run/screens
make
}
diff --git a/extra/screen/screen.install b/extra/screen/screen.install
index 9340e6067..3adc8f3f6 100644
--- a/extra/screen/screen.install
+++ b/extra/screen/screen.install
@@ -10,6 +10,11 @@ post_install() {
post_upgrade() {
post_install $1
+ if [ $(vercmp $2 4.0.3-15) -lt 0 ]; then
+ echo 'The location of the screen sockets has changed.'
+ echo 'If you need to access running screen sessions, run'
+ echo ' # SCREENDIR=/tmp/screens/S-$USER/ screen ...'
+ fi
}
pre_remove() {
diff --git a/extra/telepathy-kde-text-ui/PKGBUILD b/extra/telepathy-kde-text-ui/PKGBUILD
index c0f7b3189..682cb0f91 100644
--- a/extra/telepathy-kde-text-ui/PKGBUILD
+++ b/extra/telepathy-kde-text-ui/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 168059 2012-10-05 14:07:08Z andrea $
+# $Id: PKGBUILD 170066 2012-10-31 13:33:12Z ibiru $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Laurent Carlier <lordheavym@gmail.com>
pkgname=telepathy-kde-text-ui
_pkgname=ktp-text-ui
pkgver=0.5.1
-pkgrel=1
+pkgrel=2
pkgdesc="Telepathy handler for Text Chats"
arch=('i686' 'x86_64')
url="http://community.kde.org/Real-Time_Communication_and_Collaboration"
diff --git a/extra/telepathy-logger/PKGBUILD b/extra/telepathy-logger/PKGBUILD
index fdf5ebb17..adfc7a20f 100644
--- a/extra/telepathy-logger/PKGBUILD
+++ b/extra/telepathy-logger/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 156978 2012-04-23 09:10:28Z ibiru $
+# $Id: PKGBUILD 170064 2012-10-31 13:30:17Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=telepathy-logger
-pkgver=0.4.0
+pkgver=0.6.0
pkgrel=1
pkgdesc="Telepathy framework logging daemon"
arch=(i686 x86_64)
url="http://telepathy.freedesktop.org/wiki/Logger"
license=('LGPL2.1')
-depends=('telepathy-glib' 'sqlite3' 'libxml2' 'dconf')
+depends=('telepathy-glib' 'sqlite' 'libxml2' 'dconf')
makedepends=('intltool' 'gnome-doc-utils' 'gobject-introspection')
options=('!libtool')
install=telepathy-logger.install
source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('0b891b860c7f3a01926f5cc22fd26120')
+md5sums=('f453c49e53898c64bc423f0fdf117290')
build() {
cd "$pkgname-$pkgver"
diff --git a/extra/transmission/PKGBUILD b/extra/transmission/PKGBUILD
index 04dbfaa20..77d340328 100644
--- a/extra/transmission/PKGBUILD
+++ b/extra/transmission/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 169450 2012-10-21 11:25:20Z ibiru $
+# $Id: PKGBUILD 170069 2012-10-31 13:47:37Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
pkgbase=transmission
pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt')
pkgver=2.73
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.transmissionbt.com/"
license=('MIT')
@@ -14,7 +14,7 @@ source=(http://mirrors.m0k.org/transmission/files/$pkgbase-$pkgver.tar.xz
transmission.tmpfiles)
build() {
- cd "$pkgbase-2.72"
+ cd $pkgbase-$pkgver
./configure --prefix=/usr
make
@@ -28,7 +28,7 @@ package_transmission-cli() {
backup=('etc/conf.d/transmissiond')
install=transmission-cli.install
- cd "$pkgbase-2.72"
+ cd $pkgbase-$pkgver
for dir in daemon cli web utils
do
@@ -50,7 +50,7 @@ package_transmission-gtk() {
'transmission-cli: daemon and web support')
install=transmission-gtk.install
- cd "$pkgbase-2.72"
+ cd $pkgbase-$pkgver
make -C gtk DESTDIR="$pkgdir" install
make -C po DESTDIR="$pkgdir" install
@@ -63,7 +63,7 @@ package_transmission-qt() {
optdepends=('transmission-cli: daemon and web support')
install=transmission-qt.install
- cd "$pkgbase-2.72"
+ cd $pkgbase-$pkgver
make -C qt INSTALL_ROOT="$pkgdir"/usr install
@@ -71,7 +71,7 @@ package_transmission-qt() {
install -D -m644 qt/icons/transmission.png "$pkgdir/usr/share/pixmaps/transmission-qt.png"
install -D -m644 qt/transmission-qt.desktop "$pkgdir/usr/share/applications/transmission-qt.desktop"
}
-md5sums=('86479f9bb378b793ce7a8a71f5b15904'
+md5sums=('fae00b13a7b18f9dc16edef020edea85'
'7d6186ee2a852ae3d44980f05063e194'
'db72b02fee139e8ab416324e6c044d76'
'5c289c8901221a94be74665368ab5c2c'