summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2021-03-01 00:59:04 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2021-03-01 01:46:10 -0500
commit509788218aa3d3da23ea274ab8dfeb42d153be1e (patch)
treea90778c75179f99074d46e53237580cceb2cc83f
parentc712fe023868345ce58dd18a5e14ccbef663a176 (diff)
[glib2-static]: upgrade to v2.66.6
-rw-r--r--libre/glib2-static/0001-giochannel-Fix-length_size-bounds-check.patch28
-rw-r--r--libre/glib2-static/PKGBUILD71
-rw-r--r--libre/glib2-static/fix-static-build-589.diff211
-rw-r--r--libre/glib2-static/noisy-glib-compile-schemas.diff24
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);
-