summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Murino2019-12-23 19:30:01 +0100
committerNicola Murino2019-12-23 19:30:01 +0100
commit5a7fe6f9b9abc8edf1309fcc471370d23101af67 (patch)
treea1441a9682e22c540a8b0ee61ac3f7878a00f5d3
parentdd031886c8806b0207d3d914fa0cc334d0215d7d (diff)
downloadaur-5a7fe6f9b9abc8edf1309fcc471370d23101af67.tar.gz
add needed patchs to the PKGBUILD
-rw-r--r--.SRCINFO18
-rw-r--r--4851d4e20f66f540cd61fb69851df17671fc90d2.patch30
-rw-r--r--PKGBUILD24
-rw-r--r--afc6c935f1b52ca74d96f1ea2cbfb3e47ffb7fd4.patch44
-rw-r--r--be0d3e699401f8230fa88c28c52d73c57f13f327.patch34
-rw-r--r--fd5c0da57985a430912907d4a898ed1ddb854ead.patch37
6 files changed, 168 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9bb3823d1948..6ca2345dbfff 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index a8dee7c6e561..23d5c009da4b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+