aboutsummaryrefslogtreecommitdiffstats
path: root/main/cairo
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2017-06-06 05:00:43 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2017-06-06 05:00:43 +0000
commit8e128ae1dc6b0368e9eff30dc9088411942c68ef (patch)
treedad705269443cdb08a59b70713048eea3431e6aa /main/cairo
parent54895584e63afb61550cbd3212aa221e98ac8fc1 (diff)
downloadaports-8e128ae1dc6b0368e9eff30dc9088411942c68ef.tar.bz2
aports-8e128ae1dc6b0368e9eff30dc9088411942c68ef.tar.xz
main/cairo: move some large buffers off the stack. patch from void linux.
Diffstat (limited to 'main/cairo')
-rw-r--r--main/cairo/APKBUILD12
-rw-r--r--main/cairo/musl-stacksize.patch23
2 files changed, 28 insertions, 7 deletions
diff --git a/main/cairo/APKBUILD b/main/cairo/APKBUILD
index f7fe3f50e1..05d0ceaa0b 100644
--- a/main/cairo/APKBUILD
+++ b/main/cairo/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cairo
pkgver=1.14.8
-pkgrel=0
+pkgrel=1
pkgdesc="A vector graphics library"
url="http://cairographics.org/"
arch="all"
@@ -10,11 +10,12 @@ depends=
depends_dev="fontconfig-dev freetype-dev libxrender-dev pixman-dev
xcb-util-dev libxext-dev $pkgname-tools"
makedepends="$depends_dev zlib-dev expat-dev glib-dev libpng-dev autoconf automake libtool"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-gobject $pkgname-tools"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-gobject $pkgname-tools $pkgname-dbg"
# fontconfig-ultimate https://github.com/bohoomil/fontconfig-ultimate
_ultver="2016-04-23"
source="http://cairographics.org/releases/$pkgname-$pkgver.tar.xz
fontconfig-ultimate-$_ultver.tar.gz::https://github.com/bohoomil/fontconfig-ultimate/archive/$_ultver.tar.gz
+ musl-stacksize.patch
"
builddir="$srcdir/$pkgname-$pkgver"
@@ -71,9 +72,6 @@ tools() {
"$subpkgdir"/usr/lib/cairo/
}
-md5sums="4ef0db2eacb271c74f8a3fd87822aa98 cairo-1.14.8.tar.xz
-66e377b2191f4852a1dc9ea53e8c340b fontconfig-ultimate-2016-04-23.tar.gz"
-sha256sums="d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20 cairo-1.14.8.tar.xz
-9ea0e2455980be7c2ff649c1deb07838e9be64f4fad939716e0050fd5897b057 fontconfig-ultimate-2016-04-23.tar.gz"
sha512sums="dfe77a01ca72e21e11610243a5f6e92e6b0821c4ace11686fb0bac8f0bf9217a79974ff46bdf3d19fd85173f5f24f2c3f6d4e00cf729a55a6492e6798d6c4ec2 cairo-1.14.8.tar.xz
-d8185f4ec74f44c4746acf7e79bba7ff7ffd9d35bdabeb25e10b4e12825942d910931aa857f1645e5c8185bcb40a1f1ffe1e7e647428e9ea66618b2aec52fac3 fontconfig-ultimate-2016-04-23.tar.gz"
+d8185f4ec74f44c4746acf7e79bba7ff7ffd9d35bdabeb25e10b4e12825942d910931aa857f1645e5c8185bcb40a1f1ffe1e7e647428e9ea66618b2aec52fac3 fontconfig-ultimate-2016-04-23.tar.gz
+86f26fe41deb5e14f553c999090d1ec1d92a534fa7984112c9a7f1d6c6a8f1b7bb735947e8ec3f26e817f56410efe8cc46c5e682f6a278d49b40a683513740e0 musl-stacksize.patch"
diff --git a/main/cairo/musl-stacksize.patch b/main/cairo/musl-stacksize.patch
new file mode 100644
index 0000000000..d10469e170
--- /dev/null
+++ b/main/cairo/musl-stacksize.patch
@@ -0,0 +1,23 @@
+Reduce the footprint of stack frame usage by turning
+some large(r) structures as `static __thread` instead.
+
+--- a/src/cairo-rectangular-scan-converter.c 2015-10-27 22:04:21.000000000 +0100
++++ b/src/cairo-rectangular-scan-converter.c 2016-05-07 04:25:26.640851782 +0200
+@@ -489,7 +489,7 @@
+ cairo_span_renderer_t *renderer,
+ rectangle_t **rectangles)
+ {
+- sweep_line_t sweep_line;
++ static __thread sweep_line_t sweep_line;
+ rectangle_t *start, *stop;
+ cairo_status_t status;
+
+@@ -656,7 +656,7 @@
+ cairo_span_renderer_t *renderer)
+ {
+ cairo_rectangular_scan_converter_t *self = converter;
+- rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
++ static __thread rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
+ rectangle_t **rectangles;
+ struct _cairo_rectangular_scan_converter_chunk *chunk;
+ cairo_status_t status;