diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2021-03-01 00:59:04 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2021-03-01 01:46:10 -0500 |
commit | 509788218aa3d3da23ea274ab8dfeb42d153be1e (patch) | |
tree | a90778c75179f99074d46e53237580cceb2cc83f | |
parent | c712fe023868345ce58dd18a5e14ccbef663a176 (diff) |
[glib2-static]: upgrade to v2.66.6
-rw-r--r-- | libre/glib2-static/0001-giochannel-Fix-length_size-bounds-check.patch | 28 | ||||
-rw-r--r-- | libre/glib2-static/PKGBUILD | 71 | ||||
-rw-r--r-- | libre/glib2-static/fix-static-build-589.diff | 211 | ||||
-rw-r--r-- | libre/glib2-static/noisy-glib-compile-schemas.diff | 24 |
4 files changed, 61 insertions, 273 deletions
diff --git a/libre/glib2-static/0001-giochannel-Fix-length_size-bounds-check.patch b/libre/glib2-static/0001-giochannel-Fix-length_size-bounds-check.patch new file mode 100644 index 000000000..a01980563 --- /dev/null +++ b/libre/glib2-static/0001-giochannel-Fix-length_size-bounds-check.patch @@ -0,0 +1,28 @@ +From a149bf2f9030168051942124536e303af8ba6176 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Sun, 7 Feb 2021 23:32:40 +0100 +Subject: [PATCH] giochannel: Fix length_size bounds check + +The inverted condition is an obvious error introduced by ecdf91400e9a. + +Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2323 +--- + glib/giochannel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/giochannel.c b/glib/giochannel.c +index 4c5e081ed..8516c0b5e 100644 +--- a/glib/giochannel.c ++++ b/glib/giochannel.c +@@ -899,7 +899,7 @@ g_io_channel_set_line_term (GIOChannel *channel, + { + /* FIXME: We’re constrained by line_term_len being a guint here */ + gsize length_size = strlen (line_term); +- g_return_if_fail (length_size > G_MAXUINT); ++ g_return_if_fail (length_size <= G_MAXUINT); + length_unsigned = (guint) length_size; + } + +-- +2.30.0 + diff --git a/libre/glib2-static/PKGBUILD b/libre/glib2-static/PKGBUILD index 9283512aa..93511f1af 100644 --- a/libre/glib2-static/PKGBUILD +++ b/libre/glib2-static/PKGBUILD @@ -1,68 +1,63 @@ -# Maintainer (Arch:glib2) Jan de Groot <jgc@archlinux.org> +# Maintainer: nightuser <nightuser.android@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> # Maintainer: Luke Shumaker <lukeshu@parabola.nu> # Contributor: Márcio Silva <coadde@hyperbola.info> + +# parabola changes and rationale: +# - re-configured to compile statically +# - this is not a libre replacement +# - it is in [libre] in order to support ARM librechroots + + pkgname=glib2-static -pkgver=2.58.3 +pkgver=2.66.6 pkgrel=1 -pkgrel+=.static2 -pkgdesc="Low level core library" -pkgdesc+=" (static libraries)" +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') +depends=() +makedepends=(gettext zlib libffi shared-mime-info python libelf git util-linux meson dbus) +makedepends=(${makedepends[*]/git/}) # this recipe does not use git +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' -} +source=("http://ftp.gnome.org/pub/gnome/sources/glib/${pkgver%.*}/glib-$pkgver.tar.xz" + '0001-giochannel-Fix-length_size-bounds-check.patch') +sha256sums=('80fff9c63d2725834328071c42003c311f77f91caf2285195c587c62f5638329' + 'd2dbc00679545cedb33d0179d69a9be5c12b3f00d426e227ca07687384f3407c') prepare() { - cd glib + cd "glib-$pkgver" - # Suppress noise from glib-compile-schemas.hook - patch -Np1 -i ../noisy-glib-compile-schemas.diff - patch -Np1 -i ../fix-static-build-589.diff + patch -Np1 -i "../0001-giochannel-Fix-length_size-bounds-check.patch" } build() { if [[ $CARCH = i686 ]]; then - # GTimer has trouble with x87 math, force SSE2 (which is implied - # on x86_64). + # GTimer has trouble with x87 math, force SSE2 (implicit on x86_64). CFLAGS+=' -msse2 -mfpmath=sse' fi - arch-meson glib build \ + CFLAGS+=' -Wno-unused-result' + arch-meson "glib-$pkgver" _build \ --default-library static \ - -D selinux=false \ - -D man=true \ + --buildtype release \ + -Dselinux=disabled \ + -Dman=false \ -D gtk_doc=false \ - -D internal_pcre=false \ - -D fam=false - ninja -C build + -Dinternal_pcre=false + ninja -C _build } check() { - meson test -C build + 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); - |