From 4714cec7e8367a7618b168d0db4bc085dbfaac8a Mon Sep 17 00:00:00 2001 From: root Date: Mon, 11 Jun 2012 00:02:18 +0000 Subject: Mon Jun 11 00:02:18 UTC 2012 --- extra/cairo/PKGBUILD | 10 +- ...2-reduce-broken-stopped-edge-continuation.patch | 275 +++++++++++++++++++++ extra/gnome-session/PKGBUILD | 6 +- extra/gnome-session/timeout.patch | 16 +- extra/hylafax/PKGBUILD | 8 +- extra/samba/PKGBUILD | 4 +- extra/samba/samba.install | 2 +- 7 files changed, 306 insertions(+), 15 deletions(-) create mode 100644 extra/cairo/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch (limited to 'extra') 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 # Contributor: Brice Carpentier @@ -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 +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 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852 +Signed-off-by: Chris Wilson +--- +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) 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 /* 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 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 # Contributor: judd 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: -- cgit v1.2.3-54-g00ecf