[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