wok-next rev 19250
Split "cairo-tools" from "cairo"; split "cairo-gl-tools" from "cairo-gl"; check dependencies.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Wed Jun 29 15:02:04 2016 +0300 (2016-06-29) |
parents | faaf4f7a0acc |
children | 9d1b90ff4cae |
files | cairo-dev/receipt cairo-gl-dev/receipt cairo-gl-tools/receipt cairo-gl/receipt cairo-gl/stuff/cairo-1.10.0-buggy_gradients.patch cairo-gl/stuff/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch cairo-gl/stuff/cairo-respect-fontconfig.patch cairo-tools/receipt cairo/receipt cairo/stuff/cairo-1.10.0-buggy_gradients.patch cairo/stuff/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch cairo/stuff/cairo-respect-fontconfig.patch |
line diff
1.1 --- a/cairo-dev/receipt Wed Jun 29 13:38:09 2016 +0200 1.2 +++ b/cairo-dev/receipt Wed Jun 29 15:02:04 2016 +0300 1.3 @@ -3,15 +3,17 @@ 1.4 PACKAGE="cairo-dev" 1.5 VERSION="1.14.4" 1.6 CATEGORY="development" 1.7 -SHORT_DESC="2D graphics library devel files." 1.8 +SHORT_DESC="2D graphics library, development files" 1.9 MAINTAINER="pankso@slitaz.org" 1.10 LICENSE="MPL LGPL2.1" 1.11 -WEB_SITE="http://www.cairographics.org/" 1.12 -WANTED="cairo" 1.13 +WEB_SITE="https://www.cairographics.org/" 1.14 HOST_ARCH="i486 arm" 1.15 1.16 -DEPENDS="pixman-dev xorg-libXrender-dev xorg-libXext-dev glib-dev libxcb-dev \ 1.17 -xcb-util-dev cairo fontconfig-dev freetype-dev libpng-dev expat-dev pkg-config" 1.18 +WANTED="cairo" 1.19 +DEPENDS="cairo cairo-tools bzip2 fontconfig-dev freetype-dev glib-dev \ 1.20 +harfbuzz-dev libffi-dev libpng-dev libxcb-dev libxml2-dev pcre-dev pixman-dev \ 1.21 +xorg-libX11-dev xorg-libXau-dev xorg-libXdmcp-dev xorg-libXext-dev \ 1.22 +xorg-libXrender-dev" 1.23 1.24 # Rules to gen a SliTaz package suitable for Tazpkg. 1.25 genpkg_rules()
2.1 --- a/cairo-gl-dev/receipt Wed Jun 29 13:38:09 2016 +0200 2.2 +++ b/cairo-gl-dev/receipt Wed Jun 29 15:02:04 2016 +0300 2.3 @@ -3,16 +3,18 @@ 2.4 PACKAGE="cairo-gl-dev" 2.5 VERSION="1.14.4" 2.6 CATEGORY="development" 2.7 -SHORT_DESC="2D graphics library devel files with GL support." 2.8 +SHORT_DESC="2D graphics library with GL support, development files" 2.9 MAINTAINER="pankso@slitaz.org" 2.10 LICENSE="MPL LGPL2.1" 2.11 -WEB_SITE="http://www.cairographics.org/" 2.12 -WANTED="cairo-gl" 2.13 +WEB_SITE="https://www.cairographics.org/" 2.14 HOST_ARCH="i486" 2.15 2.16 -DEPENDS="pixman-dev xorg-libXrender-dev glib-dev libxcb-dev xcb-util-dev \ 2.17 -cairo fontconfig-dev freetype-dev libpng-dev expat-dev pkg-config \ 2.18 -mesa-wayland-dev" 2.19 +WANTED="cairo-gl" 2.20 +DEPENDS="cairo-gl cairo-gl-tools fontconfig-dev freetype-dev glib-dev \ 2.21 +harfbuzz-dev libdrm-dev libffi-dev libpng-dev libxcb-dev libxml2-dev \ 2.22 +mesa-wayland-dev pcre-dev pixman-dev udev-dev wayland-dev xorg-libX11-dev \ 2.23 +xorg-libXau-dev xorg-libXdamage-dev xorg-libXdmcp-dev xorg-libXext-dev \ 2.24 +xorg-libXfixes-dev xorg-libXrender-dev xorg-libXxf86vm-dev" 2.25 2.26 # Rules to gen a SliTaz package suitable for Tazpkg. 2.27 genpkg_rules()
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/cairo-gl-tools/receipt Wed Jun 29 15:02:04 2016 +0300 3.3 @@ -0,0 +1,21 @@ 3.4 +# SliTaz package receipt. 3.5 + 3.6 +PACKAGE="cairo-gl-tools" 3.7 +VERSION="1.14.4" 3.8 +CATEGORY="development" 3.9 +SHORT_DESC="2D graphics library, development tools" 3.10 +MAINTAINER="al.bobylev@gmail.com" 3.11 +LICENSE="MPL LGPL2.1" 3.12 +WEB_SITE="https://www.cairographics.org/" 3.13 +HOST_ARCH="i486 arm" 3.14 + 3.15 +WANTED="cairo-gl" 3.16 +DEPENDS="cairo-gl libbfd wayland" 3.17 + 3.18 +# Rules to gen a SliTaz package suitable for Tazpkg. 3.19 +genpkg_rules() 3.20 +{ 3.21 + mkdir -p $fs/usr/lib/cairo 3.22 + cp -a $install/usr/bin $fs/usr 3.23 + cp -a $install/usr/lib/cairo/*.so* $fs/usr/lib/cairo 3.24 +}
4.1 --- a/cairo-gl/receipt Wed Jun 29 13:38:09 2016 +0200 4.2 +++ b/cairo-gl/receipt Wed Jun 29 15:02:04 2016 +0300 4.3 @@ -3,21 +3,25 @@ 4.4 PACKAGE="cairo-gl" 4.5 VERSION="1.14.4" 4.6 CATEGORY="x-window" 4.7 -SHORT_DESC="2D graphics library with GL support." 4.8 +SHORT_DESC="2D graphics library with GL support" 4.9 MAINTAINER="pankso@slitaz.org" 4.10 LICENSE="MPL LGPL2.1" 4.11 SOURCE="cairo" 4.12 TARBALL="$SOURCE-$VERSION.tar.xz" 4.13 -WEB_SITE="http://www.cairographics.org/" 4.14 -WGET_URL="http://cairographics.org/releases/$TARBALL" 4.15 +WEB_SITE="https://www.cairographics.org/" 4.16 +WGET_URL="${WEB_SITE}releases/$TARBALL" 4.17 #HOST_ARCH="arm i486" 4.18 4.19 -DEPENDS="glib pixman libpng zlib expat fontconfig freetype xorg-libX11 \ 4.20 -xorg-libXau xorg-libXdmcp xorg-libXrender xcb-util libxcb mesa-wayland" 4.21 +DEPENDS="bzlib fontconfig freetype glib glibc-base harfbuzz libdrm libffi \ 4.22 +libpng libxcb libxml2 mesa mesa-wayland pcre pixman udev xorg-libX11 \ 4.23 +xorg-libXau xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \ 4.24 +xorg-libXrender xorg-libXxf86vm zlib" 4.25 BUILD_DEPENDS="pkg-config glib-dev libpng-dev zlib-dev fontconfig-dev \ 4.26 freetype-dev xorg-libX11-dev pixman-dev xorg-libXau-dev xorg-libXdmcp-dev \ 4.27 xorg-libXrender-dev xcb-util-dev libxcb-dev expat-dev libxml2-dev \ 4.28 mesa-wayland-dev wayland-dev udev-dev xorg-libXxf86vm-dev libdrm-dev" 4.29 +SPLIT="cairo-gl-tools" 4.30 +SIBLINGS="cairo" 4.31 4.32 # Handle cross compilation 4.33 case "$ARCH" in 4.34 @@ -27,17 +31,14 @@ 4.35 # Rules to configure and make the package. 4.36 compile_rules() 4.37 { 4.38 - patch -Np1 -i $stuff/cairo-1.10.0-buggy_gradients.patch 4.39 - # https://bugs.freedesktop.org/show_bug.cgi?id=50852 4.40 - patch -Np1 -i $stuff/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch 4.41 ./configure \ 4.42 --prefix=/usr \ 4.43 - --with-html-dir=/usr/share/doc \ 4.44 --enable-xcb \ 4.45 + --enable-xlib-xcb \ 4.46 --enable-tee \ 4.47 --enable-gl \ 4.48 --disable-static \ 4.49 - $CONFIGURE_ARGS && 4.50 + $CONFIGURE_ARGS && 4.51 make $MAKEFLAGS && 4.52 make DESTDIR=$DESTDIR install 4.53 } 4.54 @@ -48,4 +49,3 @@ 4.55 mkdir -p $fs/usr/lib 4.56 cp -a $install/usr/lib/*.so* $fs/usr/lib 4.57 } 4.58 -
5.1 --- a/cairo-gl/stuff/cairo-1.10.0-buggy_gradients.patch Wed Jun 29 13:38:09 2016 +0200 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,13 +0,0 @@ 5.4 ---- a/src/cairo-xlib-display.c.ubuntu 2010-08-04 11:57:49.000000000 +0200 5.5 -+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200 5.6 -@@ -353,11 +353,7 @@ 5.7 - /* Prior to Render 0.10, there is no protocol support for gradients and 5.8 - * we call function stubs instead, which would silently consume the drawing. 5.9 - */ 5.10 --#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 5.11 - display->buggy_gradients = TRUE; 5.12 --#else 5.13 -- display->buggy_gradients = FALSE; 5.14 --#endif 5.15 - display->buggy_pad_reflect = FALSE; 5.16 - display->buggy_repeat = FALSE;
6.1 --- a/cairo-gl/stuff/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch Wed Jun 29 13:38:09 2016 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,275 +0,0 @@ 6.4 -From f228769dfe5a8b5d73c49a41e95e31ed73a77fb3 Mon Sep 17 00:00:00 2001 6.5 -From: Chris Wilson <chris@chris-wilson.co.uk> 6.6 -Date: Fri, 08 Jun 2012 16:22:41 +0000 6.7 -Subject: polygon-reduce: Reduce broken stopped-edge continuation 6.8 - 6.9 -This is hopefully a lesser used path and the attempted optimisation to 6.10 -continue a stopped edge with a colinear stopped edge highly unlikely and 6.11 -lost in the noise of the general inefficiency of the routine. As it was 6.12 -broken, rather than attempt to rectify the "optimisation" remove it. 6.13 - 6.14 -Reported-by: Evangelos Foutras <evangelos@foutrelis.com> 6.15 -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852 6.16 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> 6.17 ---- 6.18 -diff --git a/src/cairo-polygon-reduce.c b/src/cairo-polygon-reduce.c 6.19 -index 8758070..ea457fe 100644 6.20 ---- a/src/cairo-polygon-reduce.c 6.21 -+++ b/src/cairo-polygon-reduce.c 6.22 -@@ -42,6 +42,8 @@ 6.23 - #include "cairo-freelist-private.h" 6.24 - #include "cairo-combsort-inline.h" 6.25 - 6.26 -+#define DEBUG_POLYGON 0 6.27 -+ 6.28 - typedef cairo_point_t cairo_bo_point32_t; 6.29 - 6.30 - typedef struct _cairo_bo_intersect_ordinate { 6.31 -@@ -114,7 +116,6 @@ typedef struct _cairo_bo_event_queue { 6.32 - 6.33 - typedef struct _cairo_bo_sweep_line { 6.34 - cairo_bo_edge_t *head; 6.35 -- cairo_bo_edge_t *stopped; 6.36 - int32_t current_y; 6.37 - cairo_bo_edge_t *current_edge; 6.38 - } cairo_bo_sweep_line_t; 6.39 -@@ -476,8 +477,8 @@ edges_compare_x_for_y (const cairo_bo_edge_t *a, 6.40 - static inline int 6.41 - _line_equal (const cairo_line_t *a, const cairo_line_t *b) 6.42 - { 6.43 -- return a->p1.x == b->p1.x && a->p1.y == b->p1.y && 6.44 -- a->p2.x == b->p2.x && a->p2.y == b->p2.y; 6.45 -+ return (a->p1.x == b->p1.x && a->p1.y == b->p1.y && 6.46 -+ a->p2.x == b->p2.x && a->p2.y == b->p2.y); 6.47 - } 6.48 - 6.49 - static int 6.50 -@@ -1024,7 +1025,6 @@ static void 6.51 - _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) 6.52 - { 6.53 - sweep_line->head = NULL; 6.54 -- sweep_line->stopped = NULL; 6.55 - sweep_line->current_y = INT32_MIN; 6.56 - sweep_line->current_edge = NULL; 6.57 - } 6.58 -@@ -1139,6 +1139,8 @@ edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b) 6.59 - */ 6.60 - if (a->edge.line.p1.y == b->edge.line.p1.y) { 6.61 - return a->edge.line.p1.x == b->edge.line.p1.x; 6.62 -+ } else if (a->edge.line.p2.y == b->edge.line.p2.y) { 6.63 -+ return a->edge.line.p2.x == b->edge.line.p2.x; 6.64 - } else if (a->edge.line.p1.y < b->edge.line.p1.y) { 6.65 - return edge_compare_for_y_against_x (b, 6.66 - a->edge.line.p1.y, 6.67 -@@ -1205,82 +1207,48 @@ _active_edges_to_polygon (cairo_bo_edge_t *left, 6.68 - cairo_polygon_t *polygon) 6.69 - { 6.70 - cairo_bo_edge_t *right; 6.71 -+ unsigned int mask; 6.72 - 6.73 -- if (fill_rule == CAIRO_FILL_RULE_WINDING) { 6.74 -- while (left != NULL) { 6.75 -- int in_out = left->edge.dir; 6.76 -- 6.77 -- right = left->next; 6.78 -- if (left->deferred.right == NULL) { 6.79 -- while (right != NULL && right->deferred.right == NULL) 6.80 -- right = right->next; 6.81 -- 6.82 -- if (right != NULL && edges_colinear (left, right)) { 6.83 -- /* continuation on left */ 6.84 -- left->deferred = right->deferred; 6.85 -- right->deferred.right = NULL; 6.86 -- } 6.87 -- } 6.88 -- 6.89 -- right = left->next; 6.90 -- while (right != NULL) { 6.91 -- if (right->deferred.right != NULL) 6.92 -- _cairo_bo_edge_end (right, top, polygon); 6.93 -- 6.94 -- in_out += right->edge.dir; 6.95 -- if (in_out == 0) { 6.96 -- cairo_bo_edge_t *next; 6.97 -- cairo_bool_t skip = FALSE; 6.98 -- 6.99 -- /* skip co-linear edges */ 6.100 -- next = right->next; 6.101 -- if (next != NULL) 6.102 -- skip = edges_colinear (right, next); 6.103 -+ if (fill_rule == CAIRO_FILL_RULE_WINDING) 6.104 -+ mask = ~0; 6.105 -+ else 6.106 -+ mask = 1; 6.107 - 6.108 -- if (! skip) 6.109 -- break; 6.110 -- } 6.111 -+ while (left != NULL) { 6.112 -+ int in_out = left->edge.dir; 6.113 - 6.114 -+ right = left->next; 6.115 -+ if (left->deferred.right == NULL) { 6.116 -+ while (right != NULL && right->deferred.right == NULL) 6.117 - right = right->next; 6.118 -- } 6.119 -- 6.120 -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); 6.121 - 6.122 -- left = right; 6.123 -- if (left != NULL) 6.124 -- left = left->next; 6.125 -+ if (right != NULL && edges_colinear (left, right)) { 6.126 -+ /* continuation on left */ 6.127 -+ left->deferred = right->deferred; 6.128 -+ right->deferred.right = NULL; 6.129 -+ } 6.130 - } 6.131 -- } else { 6.132 -- while (left != NULL) { 6.133 -- int in_out = 0; 6.134 - 6.135 -- right = left->next; 6.136 -- while (right != NULL) { 6.137 -- if (right->deferred.right != NULL) 6.138 -- _cairo_bo_edge_end (right, top, polygon); 6.139 -+ right = left->next; 6.140 -+ while (right != NULL) { 6.141 -+ if (right->deferred.right != NULL) 6.142 -+ _cairo_bo_edge_end (right, top, polygon); 6.143 - 6.144 -- if ((in_out++ & 1) == 0) { 6.145 -- cairo_bo_edge_t *next; 6.146 -- cairo_bool_t skip = FALSE; 6.147 -- 6.148 -- /* skip co-linear edges */ 6.149 -- next = right->next; 6.150 -- if (next != NULL) 6.151 -- skip = edges_colinear (right, next); 6.152 -- 6.153 -- if (! skip) 6.154 -- break; 6.155 -- } 6.156 -- 6.157 -- right = right->next; 6.158 -+ in_out += right->edge.dir; 6.159 -+ if ((in_out & mask) == 0) { 6.160 -+ /* skip co-linear edges */ 6.161 -+ if (right->next == NULL || !edges_colinear (right, right->next)) 6.162 -+ break; 6.163 - } 6.164 - 6.165 -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); 6.166 -- 6.167 -- left = right; 6.168 -- if (left != NULL) 6.169 -- left = left->next; 6.170 -+ right = right->next; 6.171 - } 6.172 -+ 6.173 -+ _cairo_bo_edge_start_or_continue (left, right, top, polygon); 6.174 -+ 6.175 -+ left = right; 6.176 -+ if (left != NULL) 6.177 -+ left = left->next; 6.178 - } 6.179 - } 6.180 - 6.181 -@@ -1303,12 +1271,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 6.182 - 6.183 - while ((event = _cairo_bo_event_dequeue (&event_queue))) { 6.184 - if (event->point.y != sweep_line.current_y) { 6.185 -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { 6.186 -- if (e1->deferred.right != NULL) 6.187 -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 6.188 -- } 6.189 -- sweep_line.stopped = NULL; 6.190 -- 6.191 - _active_edges_to_polygon (sweep_line.head, 6.192 - sweep_line.current_y, 6.193 - fill_rule, polygon); 6.194 -@@ -1328,23 +1290,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 6.195 - if (unlikely (status)) 6.196 - goto unwind; 6.197 - 6.198 -- /* check to see if this is a continuation of a stopped edge */ 6.199 -- /* XXX change to an infinitesimal lengthening rule */ 6.200 -- for (left = sweep_line.stopped; left; left = left->next) { 6.201 -- if (e1->edge.top <= left->edge.bottom && 6.202 -- edges_colinear (e1, left)) 6.203 -- { 6.204 -- e1->deferred = left->deferred; 6.205 -- if (left->prev != NULL) 6.206 -- left->prev = left->next; 6.207 -- else 6.208 -- sweep_line.stopped = left->next; 6.209 -- if (left->next != NULL) 6.210 -- left->next->prev = left->prev; 6.211 -- break; 6.212 -- } 6.213 -- } 6.214 -- 6.215 - left = e1->prev; 6.216 - right = e1->next; 6.217 - 6.218 -@@ -1371,14 +1316,8 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 6.219 - 6.220 - _cairo_bo_sweep_line_delete (&sweep_line, e1); 6.221 - 6.222 -- /* first, check to see if we have a continuation via a fresh edge */ 6.223 -- if (e1->deferred.right != NULL) { 6.224 -- e1->next = sweep_line.stopped; 6.225 -- if (sweep_line.stopped != NULL) 6.226 -- sweep_line.stopped->prev = e1; 6.227 -- sweep_line.stopped = e1; 6.228 -- e1->prev = NULL; 6.229 -- } 6.230 -+ if (e1->deferred.right != NULL) 6.231 -+ _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 6.232 - 6.233 - if (left != NULL && right != NULL) { 6.234 - status = _cairo_bo_event_queue_insert_if_intersect_below_current_y (&event_queue, left, right); 6.235 -@@ -1420,10 +1359,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 6.236 - } 6.237 - } 6.238 - 6.239 -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { 6.240 -- if (e1->deferred.right != NULL) 6.241 -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 6.242 -- } 6.243 - unwind: 6.244 - _cairo_bo_event_queue_fini (&event_queue); 6.245 - 6.246 -@@ -1447,6 +1382,12 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, 6.247 - if (unlikely (0 == num_events)) 6.248 - return CAIRO_STATUS_SUCCESS; 6.249 - 6.250 -+ if (DEBUG_POLYGON) { 6.251 -+ FILE *file = fopen ("reduce_in.txt", "w"); 6.252 -+ _cairo_debug_print_polygon (file, polygon); 6.253 -+ fclose (file); 6.254 -+ } 6.255 -+ 6.256 - events = stack_events; 6.257 - event_ptrs = stack_event_ptrs; 6.258 - if (num_events > ARRAY_LENGTH (stack_events)) { 6.259 -@@ -1482,10 +1423,16 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, 6.260 - num_events, 6.261 - fill_rule, 6.262 - polygon); 6.263 -- polygon->num_limits = num_limits; 6.264 -+ polygon->num_limits = num_limits; 6.265 - 6.266 - if (events != stack_events) 6.267 - free (events); 6.268 - 6.269 -+ if (DEBUG_POLYGON) { 6.270 -+ FILE *file = fopen ("reduce_out.txt", "w"); 6.271 -+ _cairo_debug_print_polygon (file, polygon); 6.272 -+ fclose (file); 6.273 -+ } 6.274 -+ 6.275 - return status; 6.276 - } 6.277 --- 6.278 -cgit v0.9.0.2-2-gbebe
7.1 --- a/cairo-gl/stuff/cairo-respect-fontconfig.patch Wed Jun 29 13:38:09 2016 +0200 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,21 +0,0 @@ 7.4 -diff -Nur cairo-1.8.6.orig/src/cairo-ft-font.c cairo-1.8.6/src/cairo-ft-font.c 7.5 ---- cairo-1.8.6.orig/src/cairo-ft-font.c 2008-12-12 20:48:04.000000000 +0800 7.6 -+++ cairo-1.8.6/src/cairo-ft-font.c 2009-02-20 14:56:57.000000000 +0800 7.7 -@@ -1448,8 +1448,15 @@ 7.8 - if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT) 7.9 - options->base.hint_style = other->base.hint_style; 7.10 - 7.11 -- if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) 7.12 -- options->base.hint_style = CAIRO_HINT_STYLE_NONE; 7.13 -+ //if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) 7.14 -+ //options->base.hint_style = CAIRO_HINT_STYLE_NONE; 7.15 -+ 7.16 -+ if (other->base.hint_style == CAIRO_HINT_STYLE_NONE || 7.17 -+ other->base.hint_style == CAIRO_HINT_STYLE_SLIGHT || 7.18 -+ other->base.hint_style == CAIRO_HINT_STYLE_MEDIUM || 7.19 -+ other->base.hint_style == CAIRO_HINT_STYLE_FULL) { 7.20 -+ options->base.hint_style = other->base.hint_style; 7.21 -+ } 7.22 - 7.23 - if (options->base.antialias == CAIRO_ANTIALIAS_NONE) { 7.24 - if (options->base.hint_style == CAIRO_HINT_STYLE_NONE)
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/cairo-tools/receipt Wed Jun 29 15:02:04 2016 +0300 8.3 @@ -0,0 +1,21 @@ 8.4 +# SliTaz package receipt. 8.5 + 8.6 +PACKAGE="cairo-tools" 8.7 +VERSION="1.14.4" 8.8 +CATEGORY="development" 8.9 +SHORT_DESC="2D graphics library, development tools" 8.10 +MAINTAINER="al.bobylev@gmail.com" 8.11 +LICENSE="MPL LGPL2.1" 8.12 +WEB_SITE="https://www.cairographics.org/" 8.13 +HOST_ARCH="i486 arm" 8.14 + 8.15 +WANTED="cairo" 8.16 +DEPENDS="cairo libbfd" 8.17 + 8.18 +# Rules to gen a SliTaz package suitable for Tazpkg. 8.19 +genpkg_rules() 8.20 +{ 8.21 + mkdir -p $fs/usr/lib/cairo 8.22 + cp -a $install/usr/bin $fs/usr 8.23 + cp -a $install/usr/lib/cairo/*.so* $fs/usr/lib/cairo 8.24 +}
9.1 --- a/cairo/receipt Wed Jun 29 13:38:09 2016 +0200 9.2 +++ b/cairo/receipt Wed Jun 29 15:02:04 2016 +0300 9.3 @@ -3,19 +3,22 @@ 9.4 PACKAGE="cairo" 9.5 VERSION="1.14.4" 9.6 CATEGORY="x-window" 9.7 -SHORT_DESC="2D graphics library." 9.8 +SHORT_DESC="2D graphics library" 9.9 MAINTAINER="pankso@slitaz.org" 9.10 LICENSE="MPL LGPL2.1" 9.11 TARBALL="$PACKAGE-$VERSION.tar.xz" 9.12 -WEB_SITE="http://www.cairographics.org/" 9.13 -WGET_URL="http://cairographics.org/releases/$TARBALL" 9.14 +WEB_SITE="https://www.cairographics.org/" 9.15 +WGET_URL="${WEB_SITE}releases/$TARBALL" 9.16 HOST_ARCH="i486 arm" 9.17 9.18 -DEPENDS="glib pixman libpng zlib expat fontconfig freetype xorg-libX11 \ 9.19 -xorg-libXau xorg-libXdmcp xorg-libXrender xcb-util libxcb" 9.20 +DEPENDS="bzlib fontconfig freetype glib glibc-base harfbuzz libffi libpng \ 9.21 +libxcb libxml2 pcre pixman xorg-libX11 xorg-libXau xorg-libXdmcp xorg-libXext \ 9.22 +xorg-libXrender zlib" 9.23 BUILD_DEPENDS="pkg-config glib-dev libpng-dev zlib-dev fontconfig-dev \ 9.24 freetype-dev xorg-libX11-dev pixman-dev xorg-libXau-dev xorg-libXdmcp-dev \ 9.25 xorg-libXrender-dev xcb-util-dev libxcb-dev expat-dev libxml2-dev" 9.26 +SPLIT="cairo-tools" 9.27 +SIBLINGS="cairo-gl" 9.28 9.29 # Handle cross compilation 9.30 case "$ARCH" in 9.31 @@ -25,15 +28,13 @@ 9.32 # Rules to configure and make the package. 9.33 compile_rules() 9.34 { 9.35 - cd $src 9.36 ./configure \ 9.37 --prefix=/usr \ 9.38 - --mandir=/usr/share/man \ 9.39 - --with-html-dir=/usr/share/doc \ 9.40 --enable-xcb \ 9.41 + --enable-xlib-xcb \ 9.42 --enable-tee \ 9.43 --disable-static \ 9.44 - $CONFIGURE_ARGS && 9.45 + $CONFIGURE_ARGS && 9.46 make $MAKEFLAGS && 9.47 make DESTDIR=$DESTDIR install 9.48 } 9.49 @@ -41,8 +42,6 @@ 9.50 # Rules to gen a SliTaz package suitable for Tazpkg. 9.51 genpkg_rules() 9.52 { 9.53 - mkdir -p $fs/usr/lib/cairo 9.54 - cp -a $install/usr/bin $fs/usr 9.55 + mkdir -p $fs/usr/lib 9.56 cp -a $install/usr/lib/*.so* $fs/usr/lib 9.57 - cp -a $install/usr/lib/cairo/*.so* $fs/usr/lib/cairo 9.58 }
10.1 --- a/cairo/stuff/cairo-1.10.0-buggy_gradients.patch Wed Jun 29 13:38:09 2016 +0200 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,13 +0,0 @@ 10.4 ---- a/src/cairo-xlib-display.c.ubuntu 2010-08-04 11:57:49.000000000 +0200 10.5 -+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200 10.6 -@@ -353,11 +353,7 @@ 10.7 - /* Prior to Render 0.10, there is no protocol support for gradients and 10.8 - * we call function stubs instead, which would silently consume the drawing. 10.9 - */ 10.10 --#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 10.11 - display->buggy_gradients = TRUE; 10.12 --#else 10.13 -- display->buggy_gradients = FALSE; 10.14 --#endif 10.15 - display->buggy_pad_reflect = FALSE; 10.16 - display->buggy_repeat = FALSE;
11.1 --- a/cairo/stuff/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch Wed Jun 29 13:38:09 2016 +0200 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,275 +0,0 @@ 11.4 -From f228769dfe5a8b5d73c49a41e95e31ed73a77fb3 Mon Sep 17 00:00:00 2001 11.5 -From: Chris Wilson <chris@chris-wilson.co.uk> 11.6 -Date: Fri, 08 Jun 2012 16:22:41 +0000 11.7 -Subject: polygon-reduce: Reduce broken stopped-edge continuation 11.8 - 11.9 -This is hopefully a lesser used path and the attempted optimisation to 11.10 -continue a stopped edge with a colinear stopped edge highly unlikely and 11.11 -lost in the noise of the general inefficiency of the routine. As it was 11.12 -broken, rather than attempt to rectify the "optimisation" remove it. 11.13 - 11.14 -Reported-by: Evangelos Foutras <evangelos@foutrelis.com> 11.15 -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50852 11.16 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> 11.17 ---- 11.18 -diff --git a/src/cairo-polygon-reduce.c b/src/cairo-polygon-reduce.c 11.19 -index 8758070..ea457fe 100644 11.20 ---- a/src/cairo-polygon-reduce.c 11.21 -+++ b/src/cairo-polygon-reduce.c 11.22 -@@ -42,6 +42,8 @@ 11.23 - #include "cairo-freelist-private.h" 11.24 - #include "cairo-combsort-inline.h" 11.25 - 11.26 -+#define DEBUG_POLYGON 0 11.27 -+ 11.28 - typedef cairo_point_t cairo_bo_point32_t; 11.29 - 11.30 - typedef struct _cairo_bo_intersect_ordinate { 11.31 -@@ -114,7 +116,6 @@ typedef struct _cairo_bo_event_queue { 11.32 - 11.33 - typedef struct _cairo_bo_sweep_line { 11.34 - cairo_bo_edge_t *head; 11.35 -- cairo_bo_edge_t *stopped; 11.36 - int32_t current_y; 11.37 - cairo_bo_edge_t *current_edge; 11.38 - } cairo_bo_sweep_line_t; 11.39 -@@ -476,8 +477,8 @@ edges_compare_x_for_y (const cairo_bo_edge_t *a, 11.40 - static inline int 11.41 - _line_equal (const cairo_line_t *a, const cairo_line_t *b) 11.42 - { 11.43 -- return a->p1.x == b->p1.x && a->p1.y == b->p1.y && 11.44 -- a->p2.x == b->p2.x && a->p2.y == b->p2.y; 11.45 -+ return (a->p1.x == b->p1.x && a->p1.y == b->p1.y && 11.46 -+ a->p2.x == b->p2.x && a->p2.y == b->p2.y); 11.47 - } 11.48 - 11.49 - static int 11.50 -@@ -1024,7 +1025,6 @@ static void 11.51 - _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line) 11.52 - { 11.53 - sweep_line->head = NULL; 11.54 -- sweep_line->stopped = NULL; 11.55 - sweep_line->current_y = INT32_MIN; 11.56 - sweep_line->current_edge = NULL; 11.57 - } 11.58 -@@ -1139,6 +1139,8 @@ edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b) 11.59 - */ 11.60 - if (a->edge.line.p1.y == b->edge.line.p1.y) { 11.61 - return a->edge.line.p1.x == b->edge.line.p1.x; 11.62 -+ } else if (a->edge.line.p2.y == b->edge.line.p2.y) { 11.63 -+ return a->edge.line.p2.x == b->edge.line.p2.x; 11.64 - } else if (a->edge.line.p1.y < b->edge.line.p1.y) { 11.65 - return edge_compare_for_y_against_x (b, 11.66 - a->edge.line.p1.y, 11.67 -@@ -1205,82 +1207,48 @@ _active_edges_to_polygon (cairo_bo_edge_t *left, 11.68 - cairo_polygon_t *polygon) 11.69 - { 11.70 - cairo_bo_edge_t *right; 11.71 -+ unsigned int mask; 11.72 - 11.73 -- if (fill_rule == CAIRO_FILL_RULE_WINDING) { 11.74 -- while (left != NULL) { 11.75 -- int in_out = left->edge.dir; 11.76 -- 11.77 -- right = left->next; 11.78 -- if (left->deferred.right == NULL) { 11.79 -- while (right != NULL && right->deferred.right == NULL) 11.80 -- right = right->next; 11.81 -- 11.82 -- if (right != NULL && edges_colinear (left, right)) { 11.83 -- /* continuation on left */ 11.84 -- left->deferred = right->deferred; 11.85 -- right->deferred.right = NULL; 11.86 -- } 11.87 -- } 11.88 -- 11.89 -- right = left->next; 11.90 -- while (right != NULL) { 11.91 -- if (right->deferred.right != NULL) 11.92 -- _cairo_bo_edge_end (right, top, polygon); 11.93 -- 11.94 -- in_out += right->edge.dir; 11.95 -- if (in_out == 0) { 11.96 -- cairo_bo_edge_t *next; 11.97 -- cairo_bool_t skip = FALSE; 11.98 -- 11.99 -- /* skip co-linear edges */ 11.100 -- next = right->next; 11.101 -- if (next != NULL) 11.102 -- skip = edges_colinear (right, next); 11.103 -+ if (fill_rule == CAIRO_FILL_RULE_WINDING) 11.104 -+ mask = ~0; 11.105 -+ else 11.106 -+ mask = 1; 11.107 - 11.108 -- if (! skip) 11.109 -- break; 11.110 -- } 11.111 -+ while (left != NULL) { 11.112 -+ int in_out = left->edge.dir; 11.113 - 11.114 -+ right = left->next; 11.115 -+ if (left->deferred.right == NULL) { 11.116 -+ while (right != NULL && right->deferred.right == NULL) 11.117 - right = right->next; 11.118 -- } 11.119 -- 11.120 -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); 11.121 - 11.122 -- left = right; 11.123 -- if (left != NULL) 11.124 -- left = left->next; 11.125 -+ if (right != NULL && edges_colinear (left, right)) { 11.126 -+ /* continuation on left */ 11.127 -+ left->deferred = right->deferred; 11.128 -+ right->deferred.right = NULL; 11.129 -+ } 11.130 - } 11.131 -- } else { 11.132 -- while (left != NULL) { 11.133 -- int in_out = 0; 11.134 - 11.135 -- right = left->next; 11.136 -- while (right != NULL) { 11.137 -- if (right->deferred.right != NULL) 11.138 -- _cairo_bo_edge_end (right, top, polygon); 11.139 -+ right = left->next; 11.140 -+ while (right != NULL) { 11.141 -+ if (right->deferred.right != NULL) 11.142 -+ _cairo_bo_edge_end (right, top, polygon); 11.143 - 11.144 -- if ((in_out++ & 1) == 0) { 11.145 -- cairo_bo_edge_t *next; 11.146 -- cairo_bool_t skip = FALSE; 11.147 -- 11.148 -- /* skip co-linear edges */ 11.149 -- next = right->next; 11.150 -- if (next != NULL) 11.151 -- skip = edges_colinear (right, next); 11.152 -- 11.153 -- if (! skip) 11.154 -- break; 11.155 -- } 11.156 -- 11.157 -- right = right->next; 11.158 -+ in_out += right->edge.dir; 11.159 -+ if ((in_out & mask) == 0) { 11.160 -+ /* skip co-linear edges */ 11.161 -+ if (right->next == NULL || !edges_colinear (right, right->next)) 11.162 -+ break; 11.163 - } 11.164 - 11.165 -- _cairo_bo_edge_start_or_continue (left, right, top, polygon); 11.166 -- 11.167 -- left = right; 11.168 -- if (left != NULL) 11.169 -- left = left->next; 11.170 -+ right = right->next; 11.171 - } 11.172 -+ 11.173 -+ _cairo_bo_edge_start_or_continue (left, right, top, polygon); 11.174 -+ 11.175 -+ left = right; 11.176 -+ if (left != NULL) 11.177 -+ left = left->next; 11.178 - } 11.179 - } 11.180 - 11.181 -@@ -1303,12 +1271,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 11.182 - 11.183 - while ((event = _cairo_bo_event_dequeue (&event_queue))) { 11.184 - if (event->point.y != sweep_line.current_y) { 11.185 -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { 11.186 -- if (e1->deferred.right != NULL) 11.187 -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 11.188 -- } 11.189 -- sweep_line.stopped = NULL; 11.190 -- 11.191 - _active_edges_to_polygon (sweep_line.head, 11.192 - sweep_line.current_y, 11.193 - fill_rule, polygon); 11.194 -@@ -1328,23 +1290,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 11.195 - if (unlikely (status)) 11.196 - goto unwind; 11.197 - 11.198 -- /* check to see if this is a continuation of a stopped edge */ 11.199 -- /* XXX change to an infinitesimal lengthening rule */ 11.200 -- for (left = sweep_line.stopped; left; left = left->next) { 11.201 -- if (e1->edge.top <= left->edge.bottom && 11.202 -- edges_colinear (e1, left)) 11.203 -- { 11.204 -- e1->deferred = left->deferred; 11.205 -- if (left->prev != NULL) 11.206 -- left->prev = left->next; 11.207 -- else 11.208 -- sweep_line.stopped = left->next; 11.209 -- if (left->next != NULL) 11.210 -- left->next->prev = left->prev; 11.211 -- break; 11.212 -- } 11.213 -- } 11.214 -- 11.215 - left = e1->prev; 11.216 - right = e1->next; 11.217 - 11.218 -@@ -1371,14 +1316,8 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 11.219 - 11.220 - _cairo_bo_sweep_line_delete (&sweep_line, e1); 11.221 - 11.222 -- /* first, check to see if we have a continuation via a fresh edge */ 11.223 -- if (e1->deferred.right != NULL) { 11.224 -- e1->next = sweep_line.stopped; 11.225 -- if (sweep_line.stopped != NULL) 11.226 -- sweep_line.stopped->prev = e1; 11.227 -- sweep_line.stopped = e1; 11.228 -- e1->prev = NULL; 11.229 -- } 11.230 -+ if (e1->deferred.right != NULL) 11.231 -+ _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 11.232 - 11.233 - if (left != NULL && right != NULL) { 11.234 - status = _cairo_bo_event_queue_insert_if_intersect_below_current_y (&event_queue, left, right); 11.235 -@@ -1420,10 +1359,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t **start_events, 11.236 - } 11.237 - } 11.238 - 11.239 -- for (e1 = sweep_line.stopped; e1; e1 = e1->next) { 11.240 -- if (e1->deferred.right != NULL) 11.241 -- _cairo_bo_edge_end (e1, e1->edge.bottom, polygon); 11.242 -- } 11.243 - unwind: 11.244 - _cairo_bo_event_queue_fini (&event_queue); 11.245 - 11.246 -@@ -1447,6 +1382,12 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, 11.247 - if (unlikely (0 == num_events)) 11.248 - return CAIRO_STATUS_SUCCESS; 11.249 - 11.250 -+ if (DEBUG_POLYGON) { 11.251 -+ FILE *file = fopen ("reduce_in.txt", "w"); 11.252 -+ _cairo_debug_print_polygon (file, polygon); 11.253 -+ fclose (file); 11.254 -+ } 11.255 -+ 11.256 - events = stack_events; 11.257 - event_ptrs = stack_event_ptrs; 11.258 - if (num_events > ARRAY_LENGTH (stack_events)) { 11.259 -@@ -1482,10 +1423,16 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon, 11.260 - num_events, 11.261 - fill_rule, 11.262 - polygon); 11.263 -- polygon->num_limits = num_limits; 11.264 -+ polygon->num_limits = num_limits; 11.265 - 11.266 - if (events != stack_events) 11.267 - free (events); 11.268 - 11.269 -+ if (DEBUG_POLYGON) { 11.270 -+ FILE *file = fopen ("reduce_out.txt", "w"); 11.271 -+ _cairo_debug_print_polygon (file, polygon); 11.272 -+ fclose (file); 11.273 -+ } 11.274 -+ 11.275 - return status; 11.276 - } 11.277 --- 11.278 -cgit v0.9.0.2-2-gbebe
12.1 --- a/cairo/stuff/cairo-respect-fontconfig.patch Wed Jun 29 13:38:09 2016 +0200 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,21 +0,0 @@ 12.4 -diff -Nur cairo-1.8.6.orig/src/cairo-ft-font.c cairo-1.8.6/src/cairo-ft-font.c 12.5 ---- cairo-1.8.6.orig/src/cairo-ft-font.c 2008-12-12 20:48:04.000000000 +0800 12.6 -+++ cairo-1.8.6/src/cairo-ft-font.c 2009-02-20 14:56:57.000000000 +0800 12.7 -@@ -1448,8 +1448,15 @@ 12.8 - if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT) 12.9 - options->base.hint_style = other->base.hint_style; 12.10 - 12.11 -- if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) 12.12 -- options->base.hint_style = CAIRO_HINT_STYLE_NONE; 12.13 -+ //if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) 12.14 -+ //options->base.hint_style = CAIRO_HINT_STYLE_NONE; 12.15 -+ 12.16 -+ if (other->base.hint_style == CAIRO_HINT_STYLE_NONE || 12.17 -+ other->base.hint_style == CAIRO_HINT_STYLE_SLIGHT || 12.18 -+ other->base.hint_style == CAIRO_HINT_STYLE_MEDIUM || 12.19 -+ other->base.hint_style == CAIRO_HINT_STYLE_FULL) { 12.20 -+ options->base.hint_style = other->base.hint_style; 12.21 -+ } 12.22 - 12.23 - if (options->base.antialias == CAIRO_ANTIALIAS_NONE) { 12.24 - if (options->base.hint_style == CAIRO_HINT_STYLE_NONE)