diff options
author | Nicola Murino | 2019-12-23 19:30:01 +0100 |
---|---|---|
committer | Nicola Murino | 2019-12-23 19:30:01 +0100 |
commit | 5a7fe6f9b9abc8edf1309fcc471370d23101af67 (patch) | |
tree | a1441a9682e22c540a8b0ee61ac3f7878a00f5d3 | |
parent | dd031886c8806b0207d3d914fa0cc334d0215d7d (diff) | |
download | aur-5a7fe6f9b9abc8edf1309fcc471370d23101af67.tar.gz |
add needed patchs to the PKGBUILD
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | 4851d4e20f66f540cd61fb69851df17671fc90d2.patch | 30 | ||||
-rw-r--r-- | PKGBUILD | 24 | ||||
-rw-r--r-- | afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch | 44 | ||||
-rw-r--r-- | be0d3e699401f8230fa88c28c52d73c57f13f327.patch | 34 | ||||
-rw-r--r-- | fd5c0da57985a430912907d4a898ed1ddb854ead.patch | 37 |
6 files changed, 168 insertions, 19 deletions
@@ -1,7 +1,7 @@ pkgbase = mingw-w64-pixman pkgdesc = The pixel-manipulation library for X and cairo (mingw-w64) pkgver = 0.38.4 - pkgrel = 7 + pkgrel = 8 url = http://xorg.freedesktop.org arch = any license = custom @@ -12,15 +12,15 @@ pkgbase = mingw-w64-pixman options = !strip options = !buildflags source = http://xorg.freedesktop.org/releases/individual/lib/pixman-0.38.4.tar.bz2 - source = https://gitlab.freedesktop.org/pixman/pixman/commit/4851d4e20f66f540cd61fb69851df17671fc90d2.patch - source = https://gitlab.freedesktop.org/pixman/pixman/commit/be0d3e699401f8230fa88c28c52d73c57f13f327.patch - source = https://gitlab.freedesktop.org/pixman/pixman/commit/fd5c0da57985a430912907d4a898ed1ddb854ead.patch - source = https://gitlab.freedesktop.org/pixman/pixman/merge_requests/13.diff + source = 4851d4e20f66f540cd61fb69851df17671fc90d2.patch + source = be0d3e699401f8230fa88c28c52d73c57f13f327.patch + source = fd5c0da57985a430912907d4a898ed1ddb854ead.patch + source = afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch sha256sums = 84abb7fa2541af24d9c3b34bf75d6ac60cc94ac4410061bbb295b66a29221550 - sha256sums = 48374ee1ec7a95b4262e6a26d3f5596c17f01a28225ce4927ee9ad90e0205e88 - sha256sums = 55977e70dc9013dabb2256def5c622ac3c8607a96d829f8c025a8a73b241b4e2 - sha256sums = 8d7cf32ff224dae5f52fad337c38be3591fad4383679bbfe946685bf8bcec3ad - sha256sums = 0d7c3b9da2e8f6973aaeae9aedae91e51f383cfd58ca5b6b0d3bcc6162fd3cbd + sha256sums = 8b4cdf460a1a3298aeb156c75b304c19d52421ad064f64866f002355bed94a06 + sha256sums = 3103cb4c482d150acdc08f901a1383bd5a6e044653dc3afc5b73919f73f529d1 + sha256sums = 2efc53fe4f0831441921884b4fb2896fbd14b865892c9cd5df4dfcd260c9bb41 + sha256sums = 8a708e65b528e73898c6b9690a1920d25fc3106928c28959694af3a5edad999b pkgname = mingw-w64-pixman diff --git a/4851d4e20f66f540cd61fb69851df17671fc90d2.patch b/4851d4e20f66f540cd61fb69851df17671fc90d2.patch new file mode 100644 index 000000000000..75660036f42a --- /dev/null +++ b/4851d4e20f66f540cd61fb69851df17671fc90d2.patch @@ -0,0 +1,30 @@ +From 4851d4e20f66f540cd61fb69851df17671fc90d2 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sat, 11 May 2019 11:18:35 +0200 +Subject: [PATCH] meson: allow building a static library + +So that passing "-Ddefault_library=both" also creates a static lib. + +Note that Libs.private in the .pc file will still be wrong because of +https://github.com/mesonbuild/meson/issues/3934 (it contains things like +-lpixman-mmx) +--- + pixman/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pixman/meson.build b/pixman/meson.build +index 6ce87e7..7b66827 100644 +--- a/pixman/meson.build ++++ b/pixman/meson.build +@@ -97,7 +97,7 @@ pixman_files = files( + 'pixman-utils.c', + ) + +-libpixman = shared_library( ++libpixman = library( + 'pixman-1', + [pixman_files, config_h, version_h], + link_with : [pixman_simd_libs], +-- +2.24.1 + @@ -1,7 +1,7 @@ # Maintainer: drakkan <nicola.murino at gmail dot com> pkgname=mingw-w64-pixman pkgver=0.38.4 -pkgrel=7 +pkgrel=8 pkgdesc="The pixel-manipulation library for X and cairo (mingw-w64)" arch=(any) url="http://xorg.freedesktop.org" @@ -10,24 +10,28 @@ makedepends=(mingw-w64-meson mingw-w64-libpng) depends=(mingw-w64-gcc) options=(staticlibs !strip !buildflags) source=("http://xorg.freedesktop.org/releases/individual/lib/pixman-${pkgver}.tar.bz2" - "https://gitlab.freedesktop.org/pixman/pixman/commit/4851d4e20f66f540cd61fb69851df17671fc90d2.patch" - "https://gitlab.freedesktop.org/pixman/pixman/commit/be0d3e699401f8230fa88c28c52d73c57f13f327.patch" - "https://gitlab.freedesktop.org/pixman/pixman/commit/fd5c0da57985a430912907d4a898ed1ddb854ead.patch" - "https://gitlab.freedesktop.org/pixman/pixman/merge_requests/13.diff") + "4851d4e20f66f540cd61fb69851df17671fc90d2.patch" + "be0d3e699401f8230fa88c28c52d73c57f13f327.patch" + "fd5c0da57985a430912907d4a898ed1ddb854ead.patch" + "afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch") sha256sums=('84abb7fa2541af24d9c3b34bf75d6ac60cc94ac4410061bbb295b66a29221550' - '48374ee1ec7a95b4262e6a26d3f5596c17f01a28225ce4927ee9ad90e0205e88' - '55977e70dc9013dabb2256def5c622ac3c8607a96d829f8c025a8a73b241b4e2' - '8d7cf32ff224dae5f52fad337c38be3591fad4383679bbfe946685bf8bcec3ad' - '0d7c3b9da2e8f6973aaeae9aedae91e51f383cfd58ca5b6b0d3bcc6162fd3cbd') + '8b4cdf460a1a3298aeb156c75b304c19d52421ad064f64866f002355bed94a06' + '3103cb4c482d150acdc08f901a1383bd5a6e044653dc3afc5b73919f73f529d1' + '2efc53fe4f0831441921884b4fb2896fbd14b865892c9cd5df4dfcd260c9bb41' + '8a708e65b528e73898c6b9690a1920d25fc3106928c28959694af3a5edad999b') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" prepare() { cd ${srcdir}/pixman-${pkgver} + # https://gitlab.freedesktop.org/pixman/pixman/commit/4851d4e20f66f540cd61fb69851df17671fc90d2.patch patch -Np1 -i ../4851d4e20f66f540cd61fb69851df17671fc90d2.patch + # https://gitlab.freedesktop.org/pixman/pixman/commit/be0d3e699401f8230fa88c28c52d73c57f13f327.patch patch -Np1 -i ../be0d3e699401f8230fa88c28c52d73c57f13f327.patch + # https://gitlab.freedesktop.org/pixman/pixman/commit/fd5c0da57985a430912907d4a898ed1ddb854ead.patch patch -Np1 -i ../fd5c0da57985a430912907d4a898ed1ddb854ead.patch - patch -Np1 -i ../13.diff + # https://gitlab.freedesktop.org/pixman/pixman/commit/afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch + patch -Np1 -i ../afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch } build() { diff --git a/afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch b/afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch new file mode 100644 index 000000000000..311db2252eb4 --- /dev/null +++ b/afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch @@ -0,0 +1,44 @@ +From afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4 Mon Sep 17 00:00:00 2001 +From: Dylan Baker <dylan@pnwbakers.com> +Date: Mon, 9 Sep 2019 16:00:56 -0700 +Subject: [PATCH] meson: don't use link_with for library() + +Meson doesn't do the expected thing when library() creates a static +library. Instead of combining the libraries together into a single +archive it effectively discards them, resulting in missing symbols. + +To work around this we manually unpack the archives and shove the .o +files into the final library. This doesn't affect the shared library at +all, but makes the static library have the necessary symbols + +Fixes #33 +--- + pixman/meson.build | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/pixman/meson.build b/pixman/meson.build +index 7b66827..31be9d2 100644 +--- a/pixman/meson.build ++++ b/pixman/meson.build +@@ -97,10 +97,17 @@ pixman_files = files( + 'pixman-utils.c', + ) + ++# We cannot use 'link_with' or 'link_whole' because meson wont do the right ++# thing for static archives. ++_obs = [] ++foreach l : pixman_simd_libs ++ _obs += l.extract_all_objects() ++endforeach ++ + libpixman = library( + 'pixman-1', + [pixman_files, config_h, version_h], +- link_with : [pixman_simd_libs], ++ objects: _obs, + dependencies : [dep_m, dep_threads], + version : meson.project_version(), + install : true, +-- +2.24.1 + diff --git a/be0d3e699401f8230fa88c28c52d73c57f13f327.patch b/be0d3e699401f8230fa88c28c52d73c57f13f327.patch new file mode 100644 index 000000000000..375a06dbdc68 --- /dev/null +++ b/be0d3e699401f8230fa88c28c52d73c57f13f327.patch @@ -0,0 +1,34 @@ +From be0d3e699401f8230fa88c28c52d73c57f13f327 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sat, 11 May 2019 10:17:36 +0200 +Subject: [PATCH] meson: define SIZEOF_LONG and use -Wundef + +meson builds defaulted to SIZEOF_LONG=0 in various places +--- + meson.build | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/meson.build b/meson.build +index 1a11587..3a1a4c2 100644 +--- a/meson.build ++++ b/meson.build +@@ -36,6 +36,7 @@ add_project_arguments( + '-Wdeclaration-after-statement', + '-fno-strict-aliasing', + '-fvisibility=hidden', ++ '-Wundef', + ]), + language : ['c'] + ) +@@ -445,6 +446,8 @@ if host_machine.endian() == 'big' + config.set('WORDS_BIGENDIAN', 1) + endif + ++config.set('SIZEOF_LONG', cc.sizeof('long')) ++ + # Required to make pixman-private.h + config.set('PACKAGE', 'foo') + +-- +2.24.1 + diff --git a/fd5c0da57985a430912907d4a898ed1ddb854ead.patch b/fd5c0da57985a430912907d4a898ed1ddb854ead.patch new file mode 100644 index 000000000000..d624712eec0f --- /dev/null +++ b/fd5c0da57985a430912907d4a898ed1ddb854ead.patch @@ -0,0 +1,37 @@ +From fd5c0da57985a430912907d4a898ed1ddb854ead Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sat, 11 May 2019 10:23:08 +0200 +Subject: [PATCH] meson: fix TLS support under mingw + +GCC on Windows complains that "__declspec(thread)" doesn't work, but still +compiles it, so the meson check doesn't work. The warning printed by gcc: +"warning: 'thread' attribute directive ignored [-Wattributes]" + +Pass -Werror=attributes to make the check fail instead. + +This fixes the test suite (minus gtk tests) on Windows with mingw. +--- + meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 3a1a4c2..2118abf 100644 +--- a/meson.build ++++ b/meson.build +@@ -408,8 +408,12 @@ foreach h : ['sys/mman.h', 'fenv.h', 'unistd.h'] + endif + endforeach + ++# gcc on Windows only warns that __declspec(thread) isn't supported, ++# passing -Werror=attributes makes it fail. + if (host_machine.system() == 'windows' and +- cc.compiles('int __declspec(thread) foo;', name : 'TLS via __declspec(thread)')) ++ cc.compiles('int __declspec(thread) foo;', ++ args : cc.get_supported_arguments(['-Werror=attributes']), ++ name : 'TLS via __declspec(thread)')) + config.set('TLS', '__declspec(thread)') + elif cc.compiles('int __thread foo;', name : 'TLS via __thread') + config.set('TLS', '__thread') +-- +2.24.1 + |