summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/cairo/PKGBUILD10
-rw-r--r--extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch275
-rw-r--r--extra/gnome-session/PKGBUILD6
-rw-r--r--extra/gnome-session/timeout.patch16
-rw-r--r--extra/hylafax/PKGBUILD8
-rw-r--r--extra/samba/PKGBUILD4
-rw-r--r--extra/samba/samba.install2
7 files changed, 306 insertions, 15 deletions
diff --git a/extra/cairo/PKGBUILD b/extra/cairo/PKGBUILD
index d57a5c8b6..52ff6100b 100644
--- a/extra/cairo/PKGBUILD
+++ b/extra/cairo/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 158854 2012-05-12 13:09:25Z andyrtr $
+# $Id: PKGBUILD 161326 2012-06-09 14:55:04Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
@@ -6,7 +6,7 @@ pkgname=cairo
#_gitdate=20120426
#_gitver=957a9cc619965178a8927d114fe852034fc2385c
pkgver=1.12.2
-pkgrel=1
+pkgrel=2
pkgdesc="Cairo vector graphics library"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
@@ -20,15 +20,19 @@ 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
#git_fixes.patch
)
md5sums=('87649eb75789739d517c743e94879e51'
- '9b323790dab003e228c6955633cb888e')
+ '9b323790dab003e228c6955633cb888e'
+ '75ec73746cfaefcbed0e9b2a9f76bf00')
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
# status is 2012-04-26 last commit: image: Fix typo in _blit_spans()
#patch -Np1 -i ${srcdir}/git_fixes.patch
autoreconf -vfi
diff --git a/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch b/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch
new file mode 100644
index 000000000..e3bb30580
--- /dev/null
+++ b/extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch
@@ -0,0 +1,275 @@
+From f228769dfe5a8b5d73c49a41e95e31ed73a77fb3 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Fri, 08 Jun 2012 16:22:41 +0000
+Subject: polygon-reduce: Reduce broken stopped-edge continuation
+
+This is hopefully a lesser used path and the attempted optimisation to
+continue a stopped edge with a colinear stopped edge highly unlikely and
+lost in the noise of the general inefficiency of the routine. As it was
+broken, rather than attempt to rectify the "optimisation" remove it.
+
+Reported-by: Evangelos Foutras <evangelos@foutrelis.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+diff --git a/src/cairo-polygon-reduce.c b/src/cairo-polygon-reduce.c
+index 8758070..ea457fe 100644
+--- a/src/cairo-polygon-reduce.c
++++ b/src/cairo-polygon-reduce.c
+@@ -42,6 +42,8 @@
+ #include "cairo-freelist-private.h"
+ #include "cairo-combsort-inline.h"
+
++#define DEBUG_POLYGON 0
++
+ typedef cairo_point_t cairo_bo_point32_t;
+
+ typedef struct _cairo_bo_intersect_ordinate {
+@@ -114,7 +116,6 @@ typedef struct _cairo_bo_event_queue {
+
+ typedef struct _cairo_bo_sweep_line {
+ cairo_bo_edge_t *head;
+- cairo_bo_edge_t *stopped;
+ int32_t current_y;
+ cairo_bo_edge_t *current_edge;
+ } cairo_bo_sweep_line_t;
+@@ -476,8 +477,8 @@ edges_compare_x_for_y (const cairo_bo_edge_t *a,
+ static inline int
+ _line_equal (const cairo_line_t *a, const cairo_line_t *b)
+ {
+- return a->p1.x == b->p1.x && a->p1.y == b->p1.y &&
+- a->p2.x == b->p2.x && a->p2.y == b->p2.y;
++ return (a->p1.x == b->p1.x && a->p1.y == b->p1.y &&
++ a->p2.x == b->p2.x && a->p2.y == b->p2.y);
+ }
+
+ static int
+@@ -1024,7 +1025,6 @@ static void
+ _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line)
+ {
+ sweep_line->head = NULL;
+- sweep_line->stopped = NULL;
+ sweep_line->current_y = INT32_MIN;
+ sweep_line->current_edge = NULL;
+ }
+@@ -1139,6 +1139,8 @@ edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b)
+ */
+ if (a->edge.line.p1.y == b->edge.line.p1.y) {
+ return a->edge.line.p1.x == b->edge.line.p1.x;
++ } else if (a->edge.line.p2.y == b->edge.line.p2.y) {
++ return a->edge.line.p2.x == b->edge.line.p2.x;
+ } else if (a->edge.line.p1.y < b->edge.line.p1.y) {
+ return edge_compare_for_y_against_x (b,
+ a->edge.line.p1.y,
+@@ -1205,82 +1207,48 @@ _active_edges_to_polygon (cairo_bo_edge_t *left,
+ cairo_polygon_t *polygon)
+ {
+ cairo_bo_edge_t *right;
++ unsigned int mask;
+
+- if (fill_rule == CAIRO_FILL_RULE_WINDING) {
+- while (left != NULL) {
+- int in_out = left->edge.dir;
+-
+- right = left->next;
+- if (left->deferred.right == NULL) {
+- while (right != NULL && right->deferred.right == NULL)
+- right = right->next;
+-
+- if (right != NULL && edges_colinear (left, right)) {
+- /* continuation on left */
+- left->deferred = right->deferred;
+- right->deferred.right = NULL;
+- }
+- }
+-
+- right = left->next;
+- while (right != NULL) {
+- if (right->deferred.right != NULL)
+- _cairo_bo_edge_end (right, top, polygon);
+-
+- in_out += right->edge.dir;
+- if (in_out == 0) {
+- cairo_bo_edge_t *next;
+- cairo_bool_t skip = FALSE;
+-
+- /* skip co-linear edges */
+- next = right->next;
+- if (next != NULL)
+- skip = edges_colinear (right, next);
++ if (fill_rule == CAIRO_FILL_RULE_WINDING)
++ mask = ~0;
++ else
++ mask = 1;
+
+- if (! skip)
+- break;
+- }
++ while (left != NULL) {
++ int in_out = left->edge.dir;
+
++ right = left->next;
++ if (left->deferred.right == NULL) {
++ while (right != NULL && right->deferred.right == NULL)
+ right = right->next;
+- }
+-
+- _cairo_bo_edge_start_or_continue (left, right, top, polygon);
+
+- left = right;
+- if (left != NULL)
+- left = left->next;
++ if (right != NULL && edges_colinear (left, right)) {
++ /* continuation on left */
++ left->deferred = right->deferred;
++ right->deferred.right = NULL;
++ }
+ }
+- } else {
+- while (left != NULL) {
+- int in_out = 0;
+
+- right = left->next;
+- while (right != NULL) {
+- if (right->deferred.right != NULL)
+- _cairo_bo_edge_end (right, top, polygon);
++ right = left->next;
++ while (right != NULL) {
++ if (right->deferred.right != NULL)
++ _cairo_bo_edge_end (right, top, polygon);
+
+- if ((in_out++ & 1) == 0) {
+- cairo_bo_edge_t *next;
+- cairo_bool_t skip = FALSE;
+-
+- /* skip co-linear edges */
+- next = right->next;
+- if (next != NULL)
+- skip = edges_colinear (right, next);
+-
+- if (! skip)
+- break;
+- }
+-
+- right = right->next;
++ in_out += right->edge.dir;
++ if ((in_out & mask) == 0) {
++ /* skip co-linear edges */
++ if (right->next == NULL || !edges_colinear (right, right->next))
++ break;
+ }
+
+- _cairo_bo_edge_start_or_continue (left, right, top, polygon);
+-
+- left = right;
+- if (left != NULL)
+- left = left->next;
++ right = right->next;
+ }
++
++ _cairo_bo_edge_start_or_continue (left, right, top, polygon);
++
++ left = right;
++ if (left != NULL)
++ left = left->next;
+ }
+ }
+
+@@ -1303,12 +1271,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events,
+
+ while ((event = _cairo_bo_event_dequeue (&event_queue))) {
+ if (event->point.y != sweep_line.current_y) {
+- for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
+- if (e1->deferred.right != NULL)
+- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
+- }
+- sweep_line.stopped = NULL;
+-
+ _active_edges_to_polygon (sweep_line.head,
+ sweep_line.current_y,
+ fill_rule, polygon);
+@@ -1328,23 +1290,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events,
+ if (unlikely (status))
+ goto unwind;
+
+- /* check to see if this is a continuation of a stopped edge */
+- /* XXX change to an infinitesimal lengthening rule */
+- for (left = sweep_line.stopped; left; left = left->next) {
+- if (e1->edge.top <= left->edge.bottom &&
+- edges_colinear (e1, left))
+- {
+- e1->deferred = left->deferred;
+- if (left->prev != NULL)
+- left->prev = left->next;
+- else
+- sweep_line.stopped = left->next;
+- if (left->next != NULL)
+- left->next->prev = left->prev;
+- break;
+- }
+- }
+-
+ left = e1->prev;
+ right = e1->next;
+
+@@ -1371,14 +1316,8 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events,
+
+ _cairo_bo_sweep_line_delete (&sweep_line, e1);
+
+- /* first, check to see if we have a continuation via a fresh edge */
+- if (e1->deferred.right != NULL) {
+- e1->next = sweep_line.stopped;
+- if (sweep_line.stopped != NULL)
+- sweep_line.stopped->prev = e1;
+- sweep_line.stopped = e1;
+- e1->prev = NULL;
+- }
++ if (e1->deferred.right != NULL)
++ _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
+
+ if (left != NULL && right != NULL) {
+ status = _cairo_bo_event_queue_insert_if_intersect_below_current_y (&event_queue, left, right);
+@@ -1420,10 +1359,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events,
+ }
+ }
+
+- for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
+- if (e1->deferred.right != NULL)
+- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
+- }
+ unwind:
+ _cairo_bo_event_queue_fini (&event_queue);
+
+@@ -1447,6 +1382,12 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon,
+ if (unlikely (0 == num_events))
+ return CAIRO_STATUS_SUCCESS;
+
++ if (DEBUG_POLYGON) {
++ FILE *file = fopen ("reduce_in.txt", "w");
++ _cairo_debug_print_polygon (file, polygon);
++ fclose (file);
++ }
++
+ events = stack_events;
+ event_ptrs = stack_event_ptrs;
+ if (num_events > ARRAY_LENGTH (stack_events)) {
+@@ -1482,10 +1423,16 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon,
+ num_events,
+ fill_rule,
+ polygon);
+- polygon->num_limits = num_limits;
++ polygon->num_limits = num_limits;
+
+ if (events != stack_events)
+ free (events);
+
++ if (DEBUG_POLYGON) {
++ FILE *file = fopen ("reduce_out.txt", "w");
++ _cairo_debug_print_polygon (file, polygon);
++ fclose (file);
++ }
++
+ return status;
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/extra/gnome-session/PKGBUILD b/extra/gnome-session/PKGBUILD
index 071a2bf69..da5e34292 100644
--- a/extra/gnome-session/PKGBUILD
+++ b/extra/gnome-session/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 160794 2012-06-05 23:43:39Z heftig $
+# $Id: PKGBUILD 161341 2012-06-10 01:43:11Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=gnome-session
pkgver=3.4.2
-pkgrel=2
+pkgrel=3
pkgdesc="The GNOME Session Handler"
arch=(i686 x86_64)
license=('GPL' 'LGPL')
@@ -19,7 +19,7 @@ source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$p
gnome-session-3.3.1-llvmpipe.patch timeout.patch)
sha256sums=('6c2cbc86b63bb4869f4f95e7771ec6eee0c02965b732d634de5c8122607c4356'
'59ea58012febe48a67dabd944dc638400637ad4d296d63b63b585f10eea4f85e'
- '1942c8144711cf4bc0e776edd366579849e266a446b48cca0205d7ab82241782')
+ '9eaf31857b41db417475c3b14adc11b10c8226ed76978cdf96dd648fa6e505fc')
build() {
cd $pkgname-$pkgver
diff --git a/extra/gnome-session/timeout.patch b/extra/gnome-session/timeout.patch
index 20500206b..a26b0dcf5 100644
--- a/extra/gnome-session/timeout.patch
+++ b/extra/gnome-session/timeout.patch
@@ -1,12 +1,24 @@
+diff -u -r gnome-session-3.4.2/gnome-session/gsm-session-fill.c gnome-session-3.4.2-timeout/gnome-session/gsm-session-fill.c
+--- gnome-session-3.4.2/gnome-session/gsm-session-fill.c 2012-02-02 15:33:01.000000000 +0100
++++ gnome-session-3.4.2-timeout/gnome-session/gsm-session-fill.c 2012-06-10 02:39:46.184348462 +0200
+@@ -36,7 +36,7 @@
+ #define GSM_KEYFILE_DEFAULT_PROVIDER_PREFIX "DefaultProvider"
+
+ /* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */
+-#define GSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */
++#define GSM_RUNNABLE_HELPER_TIMEOUT 10000 /* ms */
+
+ typedef void (*GsmFillHandleProvider) (const char *provides,
+ const char *default_provider,
diff -u -r gnome-session-3.4.2/tools/gnome-session-check-accelerated.c gnome-session-3.4.2-timeout/tools/gnome-session-check-accelerated.c
--- gnome-session-3.4.2/tools/gnome-session-check-accelerated.c 2011-03-22 21:31:43.000000000 +0100
-+++ gnome-session-3.4.2-timeout/tools/gnome-session-check-accelerated.c 2012-06-04 11:06:35.911690067 +0200
++++ gnome-session-3.4.2-timeout/tools/gnome-session-check-accelerated.c 2012-06-10 02:42:08.013218006 +0200
@@ -30,7 +30,7 @@
#include <X11/Xatom.h>
/* Wait up to this long for a running check to finish */
-#define PROPERTY_CHANGE_TIMEOUT 5000
-+#define PROPERTY_CHANGE_TIMEOUT 10000
++#define PROPERTY_CHANGE_TIMEOUT 12000
/* Values used for the _GNOME_SESSION_ACCELERATED root window property */
#define NO_ACCEL 0
diff --git a/extra/hylafax/PKGBUILD b/extra/hylafax/PKGBUILD
index 3b46ce518..1eff95fe7 100644
--- a/extra/hylafax/PKGBUILD
+++ b/extra/hylafax/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 157340 2012-04-27 07:14:13Z tpowa $
+# $Id: PKGBUILD 161318 2012-06-09 06:49:32Z tpowa $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=hylafax
pkgver=6.0.5
-pkgrel=5
+pkgrel=6
pkgdesc="Fax Server"
arch=('i686' 'x86_64')
install='hylafax.install'
@@ -50,8 +50,8 @@ package () {
# add missing awk file for notify-4.1 script
install -D -m 755 "$srcdir"/${pkgname}-${pkgver}/util/notify.awk \
"$pkgdir"/var/spool/hylafax/bin/notify.awk
- # fix permission on /var/lock
- chmod 1777 "$pkgdir"/var/lock
+ # remove /var/lock
+ rm -r "$pkgdir"/var/lock
# add systemd files
install -D -m644 $srcdir/hfaxd.service $pkgdir/usr/lib/systemd/system/hfaxd.service
install -D -m644 $srcdir/faxq.service $pkgdir/usr/lib/systemd/system/faxq.service
diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD
index e3f7f1997..1eee0763a 100644
--- a/extra/samba/PKGBUILD
+++ b/extra/samba/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 161297 2012-06-09 01:08:52Z tomegun $
+# $Id: PKGBUILD 161314 2012-06-09 06:35:50Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgbase=samba
@@ -8,7 +8,7 @@ pkgver=3.6.5
# to append 'a','b',etc to their subsequent releases, which pamcan
# misconstrues as alpha, beta, etc. Bad samba!
_realver=3.6.5
-pkgrel=2
+pkgrel=3
arch=(i686 x86_64)
url="http://www.samba.org"
license=('GPL3')
diff --git a/extra/samba/samba.install b/extra/samba/samba.install
index 09439743a..d9baeac90 100644
--- a/extra/samba/samba.install
+++ b/extra/samba/samba.install
@@ -1,7 +1,7 @@
#!/bin/sh
post_install() {
- systemd-tmpfiles --create /usr/lib/tmpfiles.d/smbd.conf
+ systemd-tmpfiles --create /usr/lib/tmpfiles.d/samba.conf
}
# vim:set ts=2 sw=2 et: