[arch-commits] Commit in gdk-pixbuf2/trunk (4 files)
Jan Steffens
heftig at archlinux.org
Mon Aug 7 20:18:08 UTC 2017
Date: Monday, August 7, 2017 @ 20:18:07
Author: heftig
Revision: 301755
2.36.8-1
Added:
gdk-pixbuf2/trunk/0001-meson-Use-configure_file-to-copy-typesfile.patch
gdk-pixbuf2/trunk/0002-meson-Use-include_directories-references-throughout.patch
gdk-pixbuf2/trunk/0003-meson-Use-the-right-dependency-for-gtkdoc.patch
Modified:
gdk-pixbuf2/trunk/PKGBUILD
----------------------------------------------------------------+
0001-meson-Use-configure_file-to-copy-typesfile.patch | 41 +++
0002-meson-Use-include_directories-references-throughout.patch | 114 ++++++++++
0003-meson-Use-the-right-dependency-for-gtkdoc.patch | 32 ++
PKGBUILD | 48 ++--
4 files changed, 212 insertions(+), 23 deletions(-)
Added: 0001-meson-Use-configure_file-to-copy-typesfile.patch
===================================================================
--- 0001-meson-Use-configure_file-to-copy-typesfile.patch (rev 0)
+++ 0001-meson-Use-configure_file-to-copy-typesfile.patch 2017-08-07 20:18:07 UTC (rev 301755)
@@ -0,0 +1,41 @@
+From 266ddc3e38107862811927371cbf4b88fdfe4872 Mon Sep 17 00:00:00 2001
+Message-Id: <266ddc3e38107862811927371cbf4b88fdfe4872.1502135873.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 7 Aug 2017 20:55:35 +0200
+Subject: [PATCH 1/3] meson: Use configure_file() to copy typesfile
+
+The working directory is the builddir and gnome.gtkdoc is not smart
+enough to figure out whether the filename(s) passed are found in the
+builddir or srcdir. Using files() doesn't help, either, since it always
+generates paths to the builddir.
+
+Other projects (GStreamer, Grilo) seem to use configure_file to copy the
+typesfile to the builddir. Follow this.
+
+This fixes the following error:
+
+ Cannot open gdk-pixbuf.types: No such file or directory
+---
+ docs/reference/gdk-pixbuf/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/docs/reference/gdk-pixbuf/meson.build b/docs/reference/gdk-pixbuf/meson.build
+index 47f241094b4bf16c..6762d8da44f5c57c 100644
+--- a/docs/reference/gdk-pixbuf/meson.build
++++ b/docs/reference/gdk-pixbuf/meson.build
+@@ -21,6 +21,10 @@ private_headers = [
+ ]
+
+ if get_option('with_docs')
++ configure_file(input: 'gdk-pixbuf.types',
++ output: 'gdk-pixbuf.types',
++ configuration: configuration_data())
++
+ gnome.gtkdoc('gdk-pixbuf',
+ main_xml: 'gdk-pixbuf.xml',
+ src_dir: [
+
+base-commit: 31c0a1f43aaeddef706057065e38bbfc205dbbe0
+--
+2.13.2
+
Added: 0002-meson-Use-include_directories-references-throughout.patch
===================================================================
--- 0002-meson-Use-include_directories-references-throughout.patch (rev 0)
+++ 0002-meson-Use-include_directories-references-throughout.patch 2017-08-07 20:18:07 UTC (rev 301755)
@@ -0,0 +1,114 @@
+From d1611a8125525f621fc5113a88604146c1ad049c Mon Sep 17 00:00:00 2001
+Message-Id: <d1611a8125525f621fc5113a88604146c1ad049c.1502135873.git.jan.steffens at gmail.com>
+In-Reply-To: <266ddc3e38107862811927371cbf4b88fdfe4872.1502135873.git.jan.steffens at gmail.com>
+References: <266ddc3e38107862811927371cbf4b88fdfe4872.1502135873.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 7 Aug 2017 20:55:35 +0200
+Subject: [PATCH 2/3] meson: Use include_directories references throughout
+
+---
+ contrib/gdk-pixbuf-xlib/meson.build | 2 ++
+ docs/reference/gdk-pixbuf/meson.build | 5 ++---
+ gdk-pixbuf/meson.build | 8 +++++---
+ tests/meson.build | 2 +-
+ 4 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/contrib/gdk-pixbuf-xlib/meson.build b/contrib/gdk-pixbuf-xlib/meson.build
+index 71b50be3f8567c57..34f945b79ed599a6 100644
+--- a/contrib/gdk-pixbuf-xlib/meson.build
++++ b/contrib/gdk-pixbuf-xlib/meson.build
+@@ -10,6 +10,8 @@ gdkpixbuf_xlib_headers = [
+ 'gdk-pixbuf-xlibrgb.h',
+ ]
+
++gdkpixbuf_xlib_inc = include_directories('.')
++
+ gdkpixbuf_xlib_api_path = join_paths('gdk-pixbuf- at 0@'.format(gdk_pixbuf_api_version), 'gdk-pixbuf-xlib')
+
+ install_headers(gdkpixbuf_xlib_headers, subdir: gdkpixbuf_xlib_api_path)
+diff --git a/docs/reference/gdk-pixbuf/meson.build b/docs/reference/gdk-pixbuf/meson.build
+index 6762d8da44f5c57c..5d7c9b6c1cc26579 100644
+--- a/docs/reference/gdk-pixbuf/meson.build
++++ b/docs/reference/gdk-pixbuf/meson.build
+@@ -28,9 +28,8 @@ if get_option('with_docs')
+ gnome.gtkdoc('gdk-pixbuf',
+ main_xml: 'gdk-pixbuf.xml',
+ src_dir: [
+- join_paths(meson.source_root(), 'gdk-pixbuf'),
+- join_paths(meson.build_root(), 'gdk-pixbuf'),
+- join_paths(meson.source_root(), 'contrib', 'gdk-pixbuf-xlib'),
++ gdk_pixbuf_inc,
++ gdkpixbuf_xlib_inc,
+ ],
+ dependencies: gdk_pixbuf_deps,
+ gobject_typesfile: 'gdk-pixbuf.types',
+diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
+index c52728220b9fc68a..bc4ef4ff26b772e6 100644
+--- a/gdk-pixbuf/meson.build
++++ b/gdk-pixbuf/meson.build
+@@ -21,6 +21,8 @@ loaders = [
+ [ 'qtif', [ 'io-qtif.c' ] ]
+ ]
+
++gdk_pixbuf_inc = include_directories('.')
++
+ gdk_pixbuf_cflags = [
+ '-DG_LOG_STRUCTURED=1',
+ '-DG_LOG_DOMAIN="GdkPixbuf"',
+@@ -102,7 +104,7 @@ foreach l: loaders
+ mod = static_library('staticpixbufloader- at 0@'.format(name),
+ sources,
+ dependencies: loaders_deps + gdk_pixbuf_deps,
+- include_directories: [ root_inc, include_directories('.') ],
++ include_directories: [ root_inc, gdk_pixbuf_inc ],
+ c_args: common_cflags + gdk_pixbuf_cflags)
+
+ included_loaders_deps += declare_dependency(link_with: mod)
+@@ -138,29 +140,29 @@ foreach l: loaders
+ mod = shared_module('pixbufloader- at 0@'.format(name),
+ sources,
+ dependencies: loaders_deps + gdk_pixbuf_deps + [ gdkpixbuf_dep ],
+- include_directories: [ root_inc, include_directories('.') ],
++ include_directories: [ root_inc, gdk_pixbuf_inc ],
+ c_args: common_cflags + gdk_pixbuf_cflags,
+ install: true,
+ install_dir: gdk_pixbuf_loaderdir)
+
+ # We need the path to build loaders.cache for tests
+ dynamic_loaders += mod.full_path()
+ endif
+ endforeach
+
+ gdkpixbuf_bin = [
+ [ 'gdk-pixbuf-csource' ],
+ [ 'gdk-pixbuf-pixdata' ],
+ [ 'gdk-pixbuf-query-loaders', [ 'queryloaders.c' ] ],
+ ]
+
+ foreach bin: gdkpixbuf_bin
+ bin_name = bin[0]
+ bin_source = bin.get(1, bin_name + '.c')
+
+ bin = executable(bin_name, bin_source,
+ dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ],
+- include_directories: [ root_inc, include_directories('.') ],
++ include_directories: [ root_inc, gdk_pixbuf_inc ],
+ c_args: common_cflags + gdk_pixbuf_cflags,
+ install: true)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index a40ea94135316003..33694e5383bc6c43 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -112,7 +112,7 @@ foreach t: installed_tests
+ dependencies: test_deps,
+ include_directories: [
+ root_inc,
+- include_directories('../gdk-pixbuf')
++ gdk_pixbuf_inc,
+ ],
+ c_args: common_cflags)
+
+--
+2.13.2
+
Added: 0003-meson-Use-the-right-dependency-for-gtkdoc.patch
===================================================================
--- 0003-meson-Use-the-right-dependency-for-gtkdoc.patch (rev 0)
+++ 0003-meson-Use-the-right-dependency-for-gtkdoc.patch 2017-08-07 20:18:07 UTC (rev 301755)
@@ -0,0 +1,32 @@
+From 5d0f8b175f98dc1d622f000442316c7a4aa727e0 Mon Sep 17 00:00:00 2001
+Message-Id: <5d0f8b175f98dc1d622f000442316c7a4aa727e0.1502135873.git.jan.steffens at gmail.com>
+In-Reply-To: <266ddc3e38107862811927371cbf4b88fdfe4872.1502135873.git.jan.steffens at gmail.com>
+References: <266ddc3e38107862811927371cbf4b88fdfe4872.1502135873.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Mon, 7 Aug 2017 21:39:49 +0200
+Subject: [PATCH 3/3] meson: Use the right dependency for gtkdoc
+
+The gdkpixbuf_dep pulls in the right include dir. This fixes the
+following error:
+
+ gdk-pixbuf-scan.c:7:10: fatal error: gdk-pixbuf/gdk-pixbuf.h: No such file or directory
+---
+ docs/reference/gdk-pixbuf/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/reference/gdk-pixbuf/meson.build b/docs/reference/gdk-pixbuf/meson.build
+index 5d7c9b6c1cc26579..5d4bae492fb5d037 100644
+--- a/docs/reference/gdk-pixbuf/meson.build
++++ b/docs/reference/gdk-pixbuf/meson.build
+@@ -31,7 +31,7 @@ if get_option('with_docs')
+ gdk_pixbuf_inc,
+ gdkpixbuf_xlib_inc,
+ ],
+- dependencies: gdk_pixbuf_deps,
++ dependencies: gdkpixbuf_dep,
+ gobject_typesfile: 'gdk-pixbuf.types',
+ scan_args: [
+ '--deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"',
+--
+2.13.2
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-08-07 20:07:45 UTC (rev 301754)
+++ PKGBUILD 2017-08-07 20:18:07 UTC (rev 301755)
@@ -2,7 +2,7 @@
# Contributor: Ionut Biru <ibiru at archlinux.org>
pkgname=gdk-pixbuf2
-pkgver=2.36.7
+pkgver=2.36.8
pkgrel=1
pkgdesc="An image loading library"
arch=(i686 x86_64)
@@ -9,12 +9,18 @@
url="https://wiki.gnome.org/Projects/GdkPixbuf"
license=(LGPL2.1)
depends=(glib2 libpng libtiff libjpeg libx11 jasper shared-mime-info)
-makedepends=(gtk-doc gobject-introspection git docbook-utils)
+makedepends=(gtk-doc gobject-introspection git docbook-xsl meson)
install=gdk-pixbuf2.install
-_commit=9c188574e25cb8e1306be6b575c95e30fca4adb2 # tags/2.36.7^0
+_commit=31c0a1f43aaeddef706057065e38bbfc205dbbe0 # tags/2.36.8^0
source=("git+https://git.gnome.org/browse/gdk-pixbuf#commit=$_commit"
+ 0001-meson-Use-configure_file-to-copy-typesfile.patch
+ 0002-meson-Use-include_directories-references-throughout.patch
+ 0003-meson-Use-the-right-dependency-for-gtkdoc.patch
gdk-pixbuf-query-loaders.hook)
sha256sums=('SKIP'
+ 'b0a5ea767ecf78f346ed89be715a71c5bcc9c107eb697f7f018699ba4ddc3481'
+ '9ba1eb2df860157a93cda5968a3bb1d04650a82287fee6d97654956f7f1a613c'
+ 'c0b7b99efc08a3488f939b108dd33c6569d4cf73c3aa5a13a79a54c3d52459d3'
'963afcfacde9fd36031d93c8aa4c94a669ab1dbe9ba0d2cf17599b7d358e54c2')
pkgver() {
@@ -23,37 +29,33 @@
}
prepare() {
+ mkdir build
cd gdk-pixbuf
- # Jasper sometimes runs into this limit
- sed -i 's/ifdef HAVE_SETRLIMIT/if 0/' tests/pixbuf-randomly-modified.c
-
- NOCONFIGURE=1 ./autogen.sh
+ # Fix docs build
+ patch -Np1 -i ../0001-meson-Use-configure_file-to-copy-typesfile.patch
+ patch -Np1 -i ../0002-meson-Use-include_directories-references-throughout.patch
+ patch -Np1 -i ../0003-meson-Use-the-right-dependency-for-gtkdoc.patch
}
build() {
- cd gdk-pixbuf
- ./configure --prefix=/usr \
- --with-x11 \
- --with-libjasper \
- --with-included-loaders=png \
- --enable-gtk-doc \
- --enable-man
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- make
+ cd build
+ meson --prefix=/usr --buildtype=release ../gdk-pixbuf \
+ --libexecdir=/usr/lib -Denable_jasper=true -Dwith_docs=true
+ ninja
}
check() {
- cd gdk-pixbuf
- # cve-2015-4491 (scaling overflow) test image fails to load
- make check || :
+ cd build
+ # pixbuf-randomly-modified fails randomly
+ mesontest || :
}
package() {
- cd gdk-pixbuf
- make DESTDIR="$pkgdir" install
- install -Dm644 ../gdk-pixbuf-query-loaders.hook \
- "$pkgdir/usr/share/libalpm/hooks/gdk-pixbuf-query-loaders.hook"
+ cd build
+ DESTDIR="$pkgdir" ninja install
+ rm -rf "$pkgdir"/usr/{lib,share}/installed-tests
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../gdk-pixbuf-query-loaders.hook
}
# vim:set et sw=2:
More information about the arch-commits
mailing list