Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] glib: update to 2.74.0. (again)
@ 2022-09-25 15:23 paper42
  2022-09-26 16:38 ` [PR PATCH] [Merged]: " paper42
  0 siblings, 1 reply; 2+ messages in thread
From: paper42 @ 2022-09-25 15:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1419 bytes --]

There is a new pull request by paper42 against master on the void-packages repository

https://github.com/paper42/void-packages glib-2.74v2
https://github.com/void-linux/void-packages/pull/39466

glib: update to 2.74.0. (again)
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

previously done in #39341
reverted in #39394 due to #39393 which is now fixed by importing https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921

Closes #39393
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39466.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-glib-2.74v2-39466.patch --]
[-- Type: text/x-diff, Size: 8377 bytes --]

From 00f304a4d213bc6017562f67bed0f55b58430c5c Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sun, 25 Sep 2022 17:09:05 +0200
Subject: [PATCH] glib: update to 2.74.0.

---
 .../glib/patches/disable-broken-tests.patch   | 31 ++++--------
 .../fix-segfault-g_param_value_is_valid.patch | 35 +++++++++++++
 srcpkgs/glib/patches/test-error-musl.patch    | 50 +++++++++++++++++++
 srcpkgs/glib/template                         | 27 ++++++----
 4 files changed, 112 insertions(+), 31 deletions(-)
 create mode 100644 srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
 create mode 100644 srcpkgs/glib/patches/test-error-musl.patch

diff --git a/srcpkgs/glib/patches/disable-broken-tests.patch b/srcpkgs/glib/patches/disable-broken-tests.patch
index 2a52630075034..91345d2b1d265 100644
--- a/srcpkgs/glib/patches/disable-broken-tests.patch
+++ b/srcpkgs/glib/patches/disable-broken-tests.patch
@@ -6,25 +6,17 @@
    },
 -  'converter-stream' : {},
    'credentials' : {},
-   'cxx' : {
-     'source' : ['cxx.cpp'],
-@@ -91,7 +90,6 @@ gio_tests = {
-   'network-monitor' : {},
-   'network-monitor-race' : {},
-   'permission' : {},
--  'pollable' : {'dependencies' : [libdl_dep]},
-   'power-profile-monitor' : {},
-   'proxy-test' : {},
-   'readwrite' : {},
-@@ -174,7 +172,6 @@ endif
+   'data-input-stream' : {},
+   'data-output-stream' : {},
+@@ -198,7 +197,6 @@ endif
  #  Test programs buildable on UNIX only
  if host_machine.system() != 'windows'
    gio_tests += {
 -    'file' : {},
-     'gdbus-peer' : {
-       'dependencies' : [libgdbus_example_objectmanager_dep],
-       'install_rpath' : installed_tests_execdir,
-@@ -798,14 +795,6 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+     'gdbus-peer-object-manager' : {},
+     'gdbus-sasl' : {},
+     'live-g-file' : {},
+@@ -814,14 +812,6 @@ if meson.can_run_host_binaries()
        test_resources_binary2,
      ]
    endif
@@ -39,9 +31,11 @@
  endif
  
  foreach test_name, extra_args : gio_tests
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index d74617823..1de81a825 100644
 --- a/glib/tests/meson.build
 +++ b/glib/tests/meson.build
-@@ -11,25 +11,17 @@ glib_tests = {
+@@ -11,22 +11,14 @@ glib_tests = {
    'cache' : {},
    'charset' : {},
    'checksum' : {},
@@ -49,9 +43,6 @@
    'completion' : {},
    'cond' : {},
 -  'convert' : {},
-   'cxx' : {
-     'source' : ['cxx.cpp'],
-   },
    'dataset' : {},
 -  'date' : {
 -    # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/1392
@@ -68,9 +59,9 @@
      'suite' : ['slow'],
    },
 @@ -65,7 +57,6 @@ glib_tests = {
-   'mutex' : {},
    'node' : {},
    'once' : {},
+   'onceinit' : {},
 -  'option-context' : {},
    'option-argv0' : {},
    'overflow' : {},
diff --git a/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch b/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
new file mode 100644
index 0000000000000..cacaecb695d09
--- /dev/null
+++ b/srcpkgs/glib/patches/fix-segfault-g_param_value_is_valid.patch
@@ -0,0 +1,35 @@
+This fixes segfault when editing color of text in gimp.
+
+From ea3f17d598d550345e94e4571130e429443e91cb Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Sun, 25 Sep 2022 14:20:24 +0100
+Subject: [PATCH] Empty values are not valid GParamSpec
+
+The validate() vfunc for GParamSpecParam returns FALSE for empty GValue,
+which means the is_valid() vfunc should do the same.
+
+This avoids a segfault when calling g_param_value_is_valid() on a
+GParamSpecParam.
+
+Fixes: #2770
+---
+ gobject/gparamspecs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c
+index f17b3488b9..17b8606572 100644
+--- a/gobject/gparamspecs.c
++++ b/gobject/gparamspecs.c
+@@ -894,6 +894,9 @@ param_param_is_valid (GParamSpec   *pspec,
+ {
+   GParamSpec *param = value->data[0].v_pointer;
+ 
++  if (param == NULL)
++    return FALSE;
++
+   return g_value_type_compatible (G_PARAM_SPEC_TYPE (param), G_PARAM_SPEC_VALUE_TYPE (pspec));
+ }
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/glib/patches/test-error-musl.patch b/srcpkgs/glib/patches/test-error-musl.patch
new file mode 100644
index 0000000000000..427df3de13c70
--- /dev/null
+++ b/srcpkgs/glib/patches/test-error-musl.patch
@@ -0,0 +1,50 @@
+From 902ba0bc0db50ede3473af576bddd2b6a2f9e326 Mon Sep 17 00:00:00 2001
+From: Michal Vasilek <michal@vasilek.cz>
+Date: Sun, 18 Sep 2022 17:30:41 +0200
+Subject: [PATCH] tests: Only run g_error_new_valist() programmer error test on
+ glibc
+
+The musl implementation of vasprintf segfaults with NULL
+---
+ glib/tests/error.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/glib/tests/error.c b/glib/tests/error.c
+index 7ea04ea3ce..fa3a25969d 100644
+--- a/glib/tests/error.c
++++ b/glib/tests/error.c
+@@ -123,12 +123,12 @@ static void
+ test_new_valist_invalid_va (gpointer dummy,
+                          ...)
+ {
+-#ifdef __linux__
+-  /* Only worth testing this on Linux; if other platforms regress on this legacy
+-   * behaviour, we don’t care. In particular, calling g_error_new_valist() with
+-   * a %NULL format will crash on FreeBSD as its implementation of vasprintf()
+-   * is less forgiving than Linux’s. That’s fine: it’s a programmer error in
+-   * either case. */
++#if defined(__linux__) && defined(__GLIBC__)
++  /* Only worth testing this on Linux with glibc; if other platforms regress on
++   * this legacy behaviour, we don’t care. In particular, calling
++   * g_error_new_valist() with a %NULL format will crash on FreeBSD as its
++   * implementation of vasprintf() is less forgiving than Linux’s. That’s
++   * fine: it’s a programmer error in either case. */
+   const struct
+     {
+       GQuark domain;
+@@ -182,9 +182,9 @@ test_new_valist_invalid_va (gpointer dummy,
+ 
+       va_end (ap);
+     }
+-#else  /* if !__linux__ */
+-  g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux");
+-#endif  /* !__linux__ */
++#else  /* if !__linux__ || !__GLIBC__ */
++  g_test_skip ("g_error_new_valist() programmer error handling is only relevant on Linux with glibc");
++#endif /* !__linux__ || ! __GLIBC__ */
+ }
+ 
+ static void
+-- 
+GitLab
+
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index cc57bfa490c15..3ec9a8adbeb69 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -1,24 +1,24 @@
 # Template file for 'glib'
 pkgname=glib
-reverts="2.74.0_1"
-version=2.72.2
-revision=3
+version=2.74.0
+revision=2
 build_style=meson
 # static version is necessary for qemu-user-static;
 # also disable LTO, otherwise there are multiple failures when linking qemu
-configure_args="-Dfam=false -Dman=true -Dselinux=disabled
+configure_args="-Dman=true -Dselinux=disabled
  $(vopt_bool gtk_doc gtk_doc) --default-library=both -Db_lto=false"
 hostmakedepends="gettext pkg-config libxslt docbook-xsl $(vopt_if gtk_doc gtk-doc)"
-makedepends="zlib-devel pcre-devel libffi-devel dbus-devel elfutils-devel libmount-devel"
+makedepends="zlib-devel pcre2-devel libffi-devel dbus-devel elfutils-devel libmount-devel"
 checkdepends="desktop-file-utils shared-mime-info dbus python3-pytest"
 short_desc="GNU library of C routines"
-maintainer="Enno Boland <gottox@voidlinux.org>"
+maintainer="Michal Vasilek <michal@vasilek.cz>"
 license="LGPL-2.1-or-later"
 homepage="https://wiki.gnome.org/Projects/GLib"
-#changelog="https://gitlab.gnome.org/GNOME/glib/raw/main/NEWS"
-changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-72/NEWS"
+#changelog="https://gitlab.gnome.org/GNOME/glib/raw/glib-2-74/NEWS"
+changelog="https://gitlab.gnome.org/GNOME/glib/raw/main/NEWS"
 distfiles="${GNOME_SITE}/glib/${version%.*}/glib-${version}.tar.xz"
-checksum=78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de
+checksum=3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30
+make_check_pre="dbus-run-session"
 
 build_options="gtk_doc"
 desc_option_gtk_doc="Build GTK API docs"
@@ -27,8 +27,13 @@ if [ -z "$CROSS_BUILD" ]; then
 	build_options_default+=" gtk_doc"
 fi
 
-do_check() {
-	dbus-run-session ninja -C build test
+pre_check() {
+	# machine-id is a random, non-zero value
+	echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id
+}
+
+post_check() {
+	rm /etc/machine-id
 }
 
 libglib-devel_package() {

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PR PATCH] [Merged]: glib: update to 2.74.0. (again)
  2022-09-25 15:23 [PR PATCH] glib: update to 2.74.0. (again) paper42
@ 2022-09-26 16:38 ` paper42
  0 siblings, 0 replies; 2+ messages in thread
From: paper42 @ 2022-09-26 16:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1264 bytes --]

There's a merged pull request on the void-packages repository

glib: update to 2.74.0. (again)
https://github.com/void-linux/void-packages/pull/39466

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

previously done in #39341
reverted in #39394 due to #39393 which is now fixed by importing https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921

Closes #39393
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-26 16:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-25 15:23 [PR PATCH] glib: update to 2.74.0. (again) paper42
2022-09-26 16:38 ` [PR PATCH] [Merged]: " paper42

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).