Date: Tuesday, October 31, 2017 @ 03:27:23 Author: heftig Revision: 264834
2.54.2-2 Added: lib32-glib2/trunk/0001-meson-Fix-libmount-support.patch lib32-glib2/trunk/libs.diff Modified: lib32-glib2/trunk/PKGBUILD ---------------------------------------+ 0001-meson-Fix-libmount-support.patch | 41 +++++++++++ PKGBUILD | 54 +++++++++------ libs.diff | 110 ++++++++++++++++++++++++++++++++ 3 files changed, 183 insertions(+), 22 deletions(-) Added: 0001-meson-Fix-libmount-support.patch =================================================================== --- 0001-meson-Fix-libmount-support.patch (rev 0) +++ 0001-meson-Fix-libmount-support.patch 2017-10-31 03:27:23 UTC (rev 264834) @@ -0,0 +1,41 @@ +From c93756c8f066a1e35fa2f46b231771d78e292600 Mon Sep 17 00:00:00 2001 +Message-Id: <c93756c8f066a1e35fa2f46b231771d78e292600.1509419562.git.jan.steff...@gmail.com> +From: "Jan Alexander Steffens (heftig)" <[email protected]> +Date: Tue, 31 Oct 2017 04:11:42 +0100 +Subject: [PATCH] meson: Fix libmount support + +The define was still missing. +--- + config.h.meson | 3 +++ + meson.build | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/config.h.meson b/config.h.meson +index c67e1792f4af1ada..3f310b3c960fcb29 100644 +--- a/config.h.meson ++++ b/config.h.meson +@@ -247,6 +247,9 @@ + /* Define if libelf is available */ + #mesondefine HAVE_LIBELF + ++/* Define if libmount is available */ ++#mesondefine HAVE_LIBMOUNT ++ + /* Define to 1 if you have the <linux/magic.h> header file. */ + #mesondefine HAVE_LINUX_MAGIC_H + +diff --git a/meson.build b/meson.build +index 208c23087627de1e..cd9cbf2ce10595c2 100644 +--- a/meson.build ++++ b/meson.build +@@ -1535,6 +1535,7 @@ if use_system_pcre + endif + if libmount_dep.length() == 1 and libmount_dep[0].found() + glib_conf.set('LIBMOUNT_LIBS', '-lmount') ++ glib_conf.set('HAVE_LIBMOUNT', 1) + endif + glib_conf.set('GIO_MODULE_DIR', '${libdir}/gio/modules') + # FIXME: Missing: +-- +2.15.0 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-10-31 02:45:51 UTC (rev 264833) +++ PKGBUILD 2017-10-31 03:27:23 UTC (rev 264834) @@ -5,18 +5,24 @@ _pkgbasename=glib2 pkgname=lib32-$_pkgbasename -pkgver=2.52.2+9+g3245eba16 -pkgrel=1 +pkgver=2.54.2 +pkgrel=2 pkgdesc="Low level core library (32-bit)" -url="http://www.gtk.org/" +url="https://wiki.gnome.org/Projects/GLib" +license=(LGPL2.1) arch=(x86_64) -license=(LGPL) -depends=(lib32-dbus lib32-libffi lib32-pcre lib32-util-linux lib32-libelf "$_pkgbasename") -makedepends=(gcc-multilib python git) -_commit=3245eba169c439180cc13ed3c76f47298d723031 # glib-2-52 +depends=(lib32-pcre lib32-libffi lib32-util-linux lib32-zlib "$_pkgbasename") +makedepends=(gettext gcc-multilib shared-mime-info python lib32-libelf git util-linux meson lib32-dbus) +checkdepends=(desktop-file-utils) +options=(!emptydirs) +_commit=52b3e434d849e2b0233d6d3d663b5dda82ab263e # tags/2.54.2^0 source=("git+https://git.gnome.org/browse/glib#commit=$_commit" + 0001-meson-Fix-libmount-support.patch + libs.diff gio-querymodules-32.hook) sha256sums=('SKIP' + '14c0dcfb4efb690f7cb44673faf31f5eb40ac68c01974eddb53d5aa7ae366629' + '2fb828f51727bd9c8b48cfd9d6833c8b4ff82803331f6e2340b0ec8edfe57c52' '73b6791b58180e2a02fe908938e6c547ee1b263f8c387262f9a8c4105ffa999a') pkgver() { @@ -25,8 +31,14 @@ } prepare() { + mkdir -p build cd glib - NOCONFIGURE=1 ./autogen.sh + + # https://bugzilla.gnome.org/show_bug.cgi?id=789681 + patch -Np1 -i ../0001-meson-Fix-libmount-support.patch + + # https://bugzilla.gnome.org/show_bug.cgi?id=788773 + patch -Np1 -i ../libs.diff } build() { @@ -34,20 +46,20 @@ export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - cd glib - ./configure --prefix=/usr --libdir=/usr/lib32 \ - --sysconfdir=/etc \ - --with-pcre=system \ - --disable-fam \ - --disable-gtk-doc \ - $(check_option debug y && echo --enable-debug=yes) - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - make + cd build + arch-meson ../glib --libdir=/usr/lib32 \ + -Dwith-docs=no -Dwith-man=no + ninja } +check() { + cd build + meson test -t 2 +} + package() { - cd glib - make DESTDIR="$pkgdir" install + cd build + DESTDIR="$pkgdir" ninja install rm -r "$pkgdir"/usr/{share,include} find "$pkgdir/usr/bin" -type f -not -name gio-querymodules -delete @@ -55,7 +67,5 @@ mv "$pkgdir"/usr/bin/gio-querymodules{,-32} # install hooks - install -d "$pkgdir/usr/share/libalpm/hooks/" - install -m644 "$srcdir"/gio-querymodules-32.hook \ - "$pkgdir/usr/share/libalpm/hooks/" + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 ../*.hook } Added: libs.diff =================================================================== --- libs.diff (rev 0) +++ libs.diff 2017-10-31 03:27:23 UTC (rev 264834) @@ -0,0 +1,110 @@ +diff --git i/gio/meson.build w/gio/meson.build +index 4a10d49d7eb3229c..77537a77a26dcb5b 100644 +--- i/gio/meson.build ++++ w/gio/meson.build +@@ -741,7 +741,7 @@ libgio = shared_library('gio-2.0', + libgobject_dep, libgmodule_dep] + platform_deps + network_libs, + c_args : gio_c_args, + # intl.lib is not compatible with SAFESEH +- link_args : noseh_link_args, ++ link_args : noseh_link_args + library_link_args, + ) + + libgio_dep = declare_dependency(link_with : libgio, +diff --git i/glib/meson.build w/glib/meson.build +index f12a8b45bbbfec8f..2a505b3dd79ef163 100644 +--- i/glib/meson.build ++++ w/glib/meson.build +@@ -227,7 +227,7 @@ libglib = shared_library('glib-2.0', + soversion : soversion, + install : true, + # intl.lib is not compatible with SAFESEH +- link_args : noseh_link_args, ++ link_args : noseh_link_args + library_link_args, + include_directories : configinc, + link_with : [charset_lib, gnulib_lib], + dependencies : [pcre, thread_dep, libintl, librt] + libiconv + platform_deps, +diff --git i/gmodule/meson.build w/gmodule/meson.build +index 191bca2446f9977e..fd0219d9225f2f3f 100644 +--- i/gmodule/meson.build ++++ w/gmodule/meson.build +@@ -37,7 +37,7 @@ elif cc.has_function('NSLinkModule') + elif cc.links(dlopen_dlsym_test_code, args : '-ldl', name : 'dlopen() and dlsym() in libdl') + g_module_impl = 'G_MODULE_IMPL_DL' + libdl_dep = cc.find_library('dl') +- g_module_lib_args = '-ldl' ++ g_module_lib_args = ['-ldl'] + endif + + # additional checks for G_MODULE_IMPL_DL +@@ -72,25 +72,29 @@ if g_module_impl == '' + message('WARNING: No suitable GModule implementation found!') + endif + ++# For pc files ++glib_conf.set('G_MODULE_SUPPORTED', g_module_impl == '0' ? 'false' : 'true') ++glib_conf.set('G_MODULE_LIBS', ' '.join(g_module_lib_args)) ++ + gmoduleconf_conf.set('G_MODULE_IMPL', g_module_impl) +-gmoduleconf_conf.set('G_MODULE_SUPPORTED', g_module_impl != '0') + gmoduleconf_conf.set('G_MODULE_HAVE_DLERROR', g_module_have_dlerror) + gmoduleconf_conf.set('G_MODULE_NEED_USCORE', g_module_need_uscore) + gmoduleconf_conf.set('G_MODULE_BROKEN_RTLD_GLOBAL', g_module_broken_rtld_global) + + gmoduleconf_h = configure_file(input : 'gmoduleconf.h.in', + output : 'gmoduleconf.h', + configuration : gmoduleconf_conf) + + install_headers(['gmodule.h'], subdir : 'glib-2.0') + + libgmodule = shared_library('gmodule-2.0', + sources : ['gmodule.c'], + version : library_version, + soversion : soversion, + install : true, + include_directories : [configinc, gmoduleinc], + dependencies : [libdl_dep, libglib_dep], ++ link_args : library_link_args, + c_args : ['-DG_LOG_DOMAIN="GModule"', '-DG_DISABLE_DEPRECATED'] + glib_hidden_visibility_args) + + libgmodule_dep = declare_dependency(link_with : libgmodule, +diff --git i/gobject/meson.build w/gobject/meson.build +index 65ffef0697b3bad4..32f6f91db12f29b6 100644 +--- i/gobject/meson.build ++++ w/gobject/meson.build +@@ -61,6 +61,7 @@ libgobject = shared_library('gobject-2.0', + install : true, + include_directories : [configinc], + dependencies : [libintl, libffi_dep, libglib_dep], ++ link_args : library_link_args, + c_args : ['-DG_LOG_DOMAIN="GLib-GObject"', '-DGOBJECT_COMPILATION'] + glib_hidden_visibility_args) + + libgobject_dep = declare_dependency(link_with : libgobject, +diff --git i/gthread/meson.build w/gthread/meson.build +index 8ccac3369894bda4..2d5913a91525460f 100644 +--- i/gthread/meson.build ++++ w/gthread/meson.build +@@ -6,4 +6,5 @@ libgthread = shared_library('gthread-2.0', + soversion : soversion, + install : true, + dependencies : [libglib_dep], ++ link_args : library_link_args, + c_args : ['-DG_LOG_DOMAIN="GThread"' ] + glib_hidden_visibility_args) +diff --git i/meson.build w/meson.build +index 208c23087627de1e..dd860592b26c9973 100644 +--- i/meson.build ++++ w/meson.build +@@ -1541,6 +1541,13 @@ glib_conf.set('GIO_MODULE_DIR', '${libdir}/gio/modules') + # @G_MODULE_LIBS@ @SELINUX_LIBS@ @COCOA_LIBS@ @CARBON_LIBS@ @G_LIBS_EXTRA@ + # @PCRE_REQUIRES@ @GLIB_EXTRA_CFLAGS@ @G_THREAD_CFLAGS@ + ++# HACK ++glib_conf.set('G_THREAD_LIBS', '-pthread') ++glib_conf.set('G_THREAD_CFLAGS', '-pthread') ++glib_conf.set('G_MODULE_LDFLAGS', '-Wl,--export-dynamic') ++glib_conf.set('PCRE_REQUIRES', 'libpcre') ++library_link_args = [ '-Wl,-z,nodelete' ] ++ + # Tracing: dtrace + want_dtrace = get_option('enable-dtrace') + enable_dtrace = false
