pixman: update to 0.40.0, adopt.
- Update links, use linker flag for stack size instead of patch. - Move to meson build style.
This commit is contained in:
parent
13a8669033
commit
c84a3608ee
|
@ -1,35 +0,0 @@
|
|||
Reduce the stack footprint of pixman's function
|
||||
general_composite_rect() which allocates a large buffer
|
||||
`stack_scanline_buffer`. Make it `static __thread` instead.
|
||||
|
||||
--- pixman/pixman-general.c 2015-12-27 21:37:37.000000000 +0100
|
||||
+++ pixman/pixman-general.c 2016-05-05 12:24:47.346661080 +0200
|
||||
@@ -128,8 +128,8 @@
|
||||
pixman_composite_info_t *info)
|
||||
{
|
||||
PIXMAN_COMPOSITE_ARGS (info);
|
||||
- uint8_t stack_scanline_buffer[3 * SCANLINE_BUFFER_LENGTH];
|
||||
- uint8_t *scanline_buffer = (uint8_t *) stack_scanline_buffer;
|
||||
+ static __thread uint8_t static_scanline_buffer[3 * SCANLINE_BUFFER_LENGTH];
|
||||
+ uint8_t *scanline_buffer = (uint8_t *) static_scanline_buffer;
|
||||
uint8_t *src_buffer, *mask_buffer, *dest_buffer;
|
||||
pixman_iter_t src_iter, mask_iter, dest_iter;
|
||||
pixman_combine_32_func_t compose;
|
||||
@@ -158,7 +158,7 @@
|
||||
if (width <= 0 || _pixman_multiply_overflows_int (width, Bpp * 3))
|
||||
return;
|
||||
|
||||
- if (width * Bpp * 3 > sizeof (stack_scanline_buffer) - 15 * 3)
|
||||
+ if (width * Bpp * 3 > sizeof (static_scanline_buffer) - 15 * 3)
|
||||
{
|
||||
scanline_buffer = pixman_malloc_ab_plus_c (width, Bpp * 3, 15 * 3);
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
if (dest_iter.fini)
|
||||
dest_iter.fini (&dest_iter);
|
||||
|
||||
- if (scanline_buffer != (uint8_t *) stack_scanline_buffer)
|
||||
+ if (scanline_buffer != (uint8_t *) static_scanline_buffer)
|
||||
free (scanline_buffer);
|
||||
}
|
||||
|
|
@ -1,25 +1,30 @@
|
|||
# Template file for 'pixman'
|
||||
pkgname=pixman
|
||||
version=0.38.4
|
||||
version=0.40.0
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--disable-gtk" # do not require gtk+!
|
||||
build_style=meson
|
||||
# gtk is only necessary for demos, disabled to avoid dependency loop
|
||||
configure_args="-Dgtk=disabled -Dgnu-inline-asm=enabled -Diwmmxt=disabled"
|
||||
hostmakedepends="pkg-config perl"
|
||||
checkdepends="libpng-devel libgomp-devel"
|
||||
short_desc="Library of low-level pixel manipulation routines"
|
||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||
maintainer="Érico Nogueira <ericonr@disroot.org>"
|
||||
license="MIT"
|
||||
homepage="https://wiki.freedesktop.org/xorg/"
|
||||
distfiles="${XORG_SITE}/lib/${pkgname}-${version}.tar.bz2"
|
||||
checksum=84abb7fa2541af24d9c3b34bf75d6ac60cc94ac4410061bbb295b66a29221550
|
||||
homepage="http://pixman.org/"
|
||||
distfiles="https://www.cairographics.org/releases/${pkgname}-${version}.tar.gz"
|
||||
checksum=6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc
|
||||
|
||||
pre_configure() {
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
arm*) configure_args+=" --disable-arm-iwmmxt --disable-arm-iwmmxt2";;
|
||||
esac
|
||||
}
|
||||
# set stacksize for musl: https://gitlab.gnome.org/GNOME/librsvg/-/issues/595
|
||||
LDFLAGS="-Wl,-z,stack-size=2097152"
|
||||
|
||||
if [ "$XBPS_CHECK_PKGS" ]; then
|
||||
# libpng and openmp are used only for testing; the make-blue-noise.c file isn't built
|
||||
# https://gitlab.freedesktop.org/pixman/pixman/-/blob/9b49f4e08751885289333fed652bf5e0f45976b4/pixman/dither/make-blue-noise.c
|
||||
configure_args+=" -Dlibpng=enabled -Dopenmp=enabled"
|
||||
fi
|
||||
|
||||
post_install() {
|
||||
vlicense COPYING
|
||||
vlicense COPYING LICENSE
|
||||
}
|
||||
|
||||
pixman-devel_package() {
|
||||
|
@ -28,7 +33,6 @@ pixman-devel_package() {
|
|||
pkg_install() {
|
||||
vmove usr/include
|
||||
vmove usr/lib/pkgconfig
|
||||
vmove "usr/lib/*.a"
|
||||
vmove "usr/lib/*.so"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue