diff options
Diffstat (limited to 'libre/glib2-static')
-rw-r--r-- | libre/glib2-static/PKGBUILD | 74 | ||||
-rw-r--r-- | libre/glib2-static/fix-static-build-589.diff | 211 | ||||
-rw-r--r-- | libre/glib2-static/noisy-glib-compile-schemas.diff | 24 |
3 files changed, 30 insertions, 279 deletions
diff --git a/libre/glib2-static/PKGBUILD b/libre/glib2-static/PKGBUILD index 9283512aa..598f7d46c 100644 --- a/libre/glib2-static/PKGBUILD +++ b/libre/glib2-static/PKGBUILD @@ -1,68 +1,54 @@ -# Maintainer (Arch:glib2) Jan de Groot <jgc@archlinux.org> +# Maintainer (aur): nightuser <nightuser.android@gmail.com> # Maintainer: Luke Shumaker <lukeshu@parabola.nu> # Contributor: Márcio Silva <coadde@hyperbola.info> +# Contributor: bill-auger <bill-auger@programmer.net> pkgname=glib2-static -pkgver=2.58.3 +pkgver=2.72.1 pkgrel=1 -pkgrel+=.static2 -pkgdesc="Low level core library" -pkgdesc+=" (static libraries)" +pkgrel+=.static1 +pkgdesc="Low level core library: Static library" url="https://wiki.gnome.org/Projects/GLib" license=(LGPL2.1) -arch=(x86_64) -arch+=(i686 armv7h) -depends=(pcre libffi) -makedepends=(libffi zlib shared-mime-info python libelf git util-linux meson dbus libxslt docbook-xsl) -checkdepends=(desktop-file-utils dbus) -optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' - 'libelf: gresource inspection tool') +arch+=(armv7h i686 x86_64) +depends=() +makedepends=(gettext zlib libffi shared-mime-info python libelf git util-linux meson dbus) +checkdepends=(desktop-file-utils) options=('!docs' '!libtool' '!emptydirs' '!strip' 'staticlibs') -_commit=f2d1128ffae0de87680e411fb62ccfccafed6b1c # tags/2.58.3^0 -source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit" - noisy-glib-compile-schemas.diff - fix-static-build-589.diff) -sha256sums=('SKIP' - '81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531' - 'f4790fc845f2b4811ce5df5ef3a7dfcc23a1593ec4e19ae9173bb799a045d00f') - -pkgver() { - cd glib - git describe --tags | sed 's/-/+/g' -} - -prepare() { - cd glib - - # Suppress noise from glib-compile-schemas.hook - patch -Np1 -i ../noisy-glib-compile-schemas.diff - patch -Np1 -i ../fix-static-build-589.diff -} +source=("https://download.gnome.org/sources/glib/${pkgver%.*}/glib-$pkgver.tar.xz") +sha256sums=('c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2') build() { + LTO="" + if check_option "lto" "n"; then + LTO="-Db_lto=false" + fi + if [[ $CARCH = i686 ]]; then # GTimer has trouble with x87 math, force SSE2 (which is implied # on x86_64). CFLAGS+=' -msse2 -mfpmath=sse' fi - - arch-meson glib build \ + CFLAGS+=' -Wno-unused-result -Wno-stringop-overflow' + arch-meson "glib-$pkgver" _build \ --default-library static \ - -D selinux=false \ - -D man=true \ - -D gtk_doc=false \ - -D internal_pcre=false \ - -D fam=false - ninja -C build + --buildtype release \ + -Dselinux=disabled \ + -Dman=false \ + -Dgtk_doc=false \ + $LTO + ninja -C _build } check() { - meson test -C build + # test # 269 fails in librechroots + # 269/269 glib:gio+slow / gdbus-threading TIMEOUT 360.02s killed by signal 15 SIGTERM + meson test -C _build --no-suite flaky --timeout-multiplier 2 --print-errorlogs || : } package() { - DESTDIR="$pkgdir" meson install -C build + DESTDIR="$pkgdir" meson install -C _build - # remove conflicting files - rm -rf "$pkgdir/usr/"{bin,include,share,lib/glib-2.0,lib/pkgconfig} $pkgdir/usr/lib/*.so* + # Only install static library + rm -rf "$pkgdir"/usr/{bin,include,share,lib/glib-2.0,lib/pkgconfig} } diff --git a/libre/glib2-static/fix-static-build-589.diff b/libre/glib2-static/fix-static-build-589.diff deleted file mode 100644 index cde19b391..000000000 --- a/libre/glib2-static/fix-static-build-589.diff +++ /dev/null @@ -1,211 +0,0 @@ -diff --git a/gio/tests/giomodule.c b/gio/tests/giomodule.c -index e832e95d37b6c19c9a7fce2adbc6eb47aced4256..893357110e0d74e94fd7f40b5f3172964b545daa 100644 ---- a/gio/tests/giomodule.c -+++ b/gio/tests/giomodule.c -@@ -76,51 +76,57 @@ test_extension_point (void) - static void - test_module_scan_all (void) - { -- if (g_test_subprocess ()) -+ if (g_module_supported ()) - { -- GIOExtensionPoint *ep; -- GIOExtension *ext; -- GList *list; -- ep = g_io_extension_point_register ("test-extension-point"); -- g_io_modules_scan_all_in_directory (g_test_get_filename (G_TEST_BUILT, "modules", NULL)); -- g_io_modules_scan_all_in_directory (g_test_get_filename (G_TEST_BUILT, "modules/.libs", NULL)); -- list = g_io_extension_point_get_extensions (ep); -- g_assert_cmpint (g_list_length (list), ==, 2); -- ext = list->data; -- g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-b"); -- ext = list->next->data; -- g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-a"); -- return; -+ if (g_test_subprocess ()) -+ { -+ GIOExtensionPoint *ep; -+ GIOExtension *ext; -+ GList *list; -+ ep = g_io_extension_point_register ("test-extension-point"); -+ g_io_modules_scan_all_in_directory (g_test_get_filename (G_TEST_BUILT, "modules", NULL)); -+ g_io_modules_scan_all_in_directory (g_test_get_filename (G_TEST_BUILT, "modules/.libs", NULL)); -+ list = g_io_extension_point_get_extensions (ep); -+ g_assert_cmpint (g_list_length (list), ==, 2); -+ ext = list->data; -+ g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-b"); -+ ext = list->next->data; -+ g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-a"); -+ return; -+ } -+ g_test_trap_subprocess (NULL, 0, 7); -+ g_test_trap_assert_passed (); - } -- g_test_trap_subprocess (NULL, 0, 7); -- g_test_trap_assert_passed (); - } - - static void - test_module_scan_all_with_scope (void) - { -- if (g_test_subprocess ()) -+ if (g_module_supported ()) - { -- GIOExtensionPoint *ep; -- GIOModuleScope *scope; -- GIOExtension *ext; -- GList *list; -+ if (g_test_subprocess ()) -+ { -+ GIOExtensionPoint *ep; -+ GIOModuleScope *scope; -+ GIOExtension *ext; -+ GList *list; - -- ep = g_io_extension_point_register ("test-extension-point"); -- scope = g_io_module_scope_new (G_IO_MODULE_SCOPE_BLOCK_DUPLICATES); -- g_io_module_scope_block (scope, "libtestmoduleb." G_MODULE_SUFFIX); -- g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules", NULL), scope); -- list = g_io_extension_point_get_extensions (ep); -- g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules/.libs", NULL), scope); -- list = g_io_extension_point_get_extensions (ep); -- g_assert_cmpint (g_list_length (list), ==, 1); -- ext = list->data; -- g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-a"); -- g_io_module_scope_free (scope); -- return; -+ ep = g_io_extension_point_register ("test-extension-point"); -+ scope = g_io_module_scope_new (G_IO_MODULE_SCOPE_BLOCK_DUPLICATES); -+ g_io_module_scope_block (scope, "libtestmoduleb." G_MODULE_SUFFIX); -+ g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules", NULL), scope); -+ list = g_io_extension_point_get_extensions (ep); -+ g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules/.libs", NULL), scope); -+ list = g_io_extension_point_get_extensions (ep); -+ g_assert_cmpint (g_list_length (list), ==, 1); -+ ext = list->data; -+ g_assert_cmpstr (g_io_extension_get_name (ext), ==, "test-a"); -+ g_io_module_scope_free (scope); -+ return; -+ } -+ g_test_trap_subprocess (NULL, 0, 7); -+ g_test_trap_assert_passed (); - } -- g_test_trap_subprocess (NULL, 0, 7); -- g_test_trap_assert_passed (); - } - - int -diff --git a/gmodule/meson.build b/gmodule/meson.build -index e4a6a1c811c97ea32e27c79a766dd31205e7789b..77ffdc476a631eed8403a88b08006e6fb4b16494 100644 ---- a/gmodule/meson.build -+++ b/gmodule/meson.build -@@ -8,7 +8,8 @@ libdl_dep = [ ] - g_module_lib_args = [ ] - g_module_impl = '' - --dlopen_dlsym_test_code = ''' -+if get_option('default_library') != 'static' -+ dlopen_dlsym_test_code = ''' - #include <dlfcn.h> - int glib_underscore_test (void) { return 42; } - int main (int argc, char ** argv) { -@@ -21,48 +22,49 @@ int main (int argc, char ** argv) { - return (!f2 || f1); - }''' - --# On Windows force native WIN32 shared lib loader --if host_system == 'windows' -- g_module_impl = 'G_MODULE_IMPL_WIN32' --# Force native AIX library loader --# dlopen() filepath must be of the form /path/libname.a(libname.so) --elif host_system == 'aix' -- g_module_impl = 'G_MODULE_IMPL_AR' --elif cc.links(dlopen_dlsym_test_code, name : 'dlopen() and dlsym() in system libraries') -- g_module_impl = 'G_MODULE_IMPL_DL' --# NSLinkModule (dyld) in system libraries (Darwin) --elif cc.has_function('NSLinkModule') -- g_module_impl = 'G_MODULE_IMPL_DYLD' -- g_module_need_uscore = 1 --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' --endif -+ # On Windows force native WIN32 shared lib loader -+ if host_system == 'windows' -+ g_module_impl = 'G_MODULE_IMPL_WIN32' -+ # Force native AIX library loader -+ # dlopen() filepath must be of the form /path/libname.a(libname.so) -+ elif host_system == 'aix' -+ g_module_impl = 'G_MODULE_IMPL_AR' -+ elif cc.links(dlopen_dlsym_test_code, name : 'dlopen() and dlsym() in system libraries') -+ g_module_impl = 'G_MODULE_IMPL_DL' -+ # NSLinkModule (dyld) in system libraries (Darwin) -+ elif cc.has_function('NSLinkModule') -+ g_module_impl = 'G_MODULE_IMPL_DYLD' -+ g_module_need_uscore = 1 -+ 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' -+ endif - --# additional checks for G_MODULE_IMPL_DL --if g_module_impl == 'G_MODULE_IMPL_DL' -- # FIXME: check for OSF1/5.0 RTLD_GLOBAL brokenness (is this still relevant?) -+ # additional checks for G_MODULE_IMPL_DL -+ if g_module_impl == 'G_MODULE_IMPL_DL' -+ # FIXME: check for OSF1/5.0 RTLD_GLOBAL brokenness (is this still relevant?) - -- # Check whether we need preceding underscores -- if cc.get_id() == 'msvc' -- message('Building for MSVC: assuming that symbols are prefixed with underscore') -- g_module_need_uscore = 1 -- elif meson.has_exe_wrapper() -- # FIXME: communicate result via stdout instead of return value, so non-0 return is not printed in bold red -- rres = cc.run(dlopen_dlsym_test_code, -- args : g_module_lib_args, -- name : 'dlsym() preceding underscores') -- if host_system == 'windows' or rres.returncode() == 0 -+ # Check whether we need preceding underscores -+ if cc.get_id() == 'msvc' -+ message('Building for MSVC: assuming that symbols are prefixed with underscore') - g_module_need_uscore = 1 -+ elif meson.has_exe_wrapper() -+ # FIXME: communicate result via stdout instead of return value, so non-0 return is not printed in bold red -+ rres = cc.run(dlopen_dlsym_test_code, -+ args : g_module_lib_args, -+ name : 'dlsym() preceding underscores') -+ if host_system == 'windows' or rres.returncode() == 0 -+ g_module_need_uscore = 1 -+ endif -+ else -+ message('Cross-compiling: assuming that symbols aren\'t prefixed with underscore') -+ g_module_need_uscore = 0 - endif -- else -- message('Cross-compiling: assuming that symbols aren\'t prefixed with underscore') -- g_module_need_uscore = 0 -- endif - -- if cc.has_function('dlerror', args : g_module_lib_args) -- g_module_have_dlerror = 1 -+ if cc.has_function('dlerror', args : g_module_lib_args) -+ g_module_have_dlerror = 1 -+ endif - endif - endif - -diff --git a/tests/module-test.c b/tests/module-test.c -index fbf23169f730f3ecf2f24c1071f6ee1869fdc2fe..04a12128923258fe0ab0b37e618fe89b11cb0327 100644 ---- a/tests/module-test.c -+++ b/tests/module-test.c -@@ -82,7 +82,7 @@ main (int argc, - g_test_init (&argc, &argv, NULL); - - if (!g_module_supported ()) -- g_error ("dynamic modules not supported"); -+ return 0; - - plugin_a = g_test_build_filename (G_TEST_BUILT, "libmoduletestplugin_a", NULL); - plugin_b = g_test_build_filename (G_TEST_BUILT, "libmoduletestplugin_b", NULL); diff --git a/libre/glib2-static/noisy-glib-compile-schemas.diff b/libre/glib2-static/noisy-glib-compile-schemas.diff deleted file mode 100644 index f5f2d9482..000000000 --- a/libre/glib2-static/noisy-glib-compile-schemas.diff +++ /dev/null @@ -1,24 +0,0 @@ -diff --git i/gio/glib-compile-schemas.c w/gio/glib-compile-schemas.c -index b8de0907248f6860..130f89b1728f7932 100644 ---- i/gio/glib-compile-schemas.c -+++ w/gio/glib-compile-schemas.c -@@ -1219,19 +1219,6 @@ parse_state_start_schema (ParseState *state, - return; - } - -- if (path && (g_str_has_prefix (path, "/apps/") || -- g_str_has_prefix (path, "/desktop/") || -- g_str_has_prefix (path, "/system/"))) -- { -- gchar *message = NULL; -- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " -- "Paths starting with " -- "“/apps/”, “/desktop/” or “/system/” are deprecated."), -- id, path); -- g_printerr ("%s\n", message); -- g_free (message); -- } -- - state->schema_state = schema_state_new (path, gettext_domain, - extends, extends_name, list_of); - |