diff --git a/gnu/local.mk b/gnu/local.mk index 6e5dc94998..11b002b66e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1107,6 +1107,8 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/giara-fix-login.patch \ + %D%/packages/patches/glade-gls-set-script-name.patch \ + %D%/packages/patches/glade-test-widget-null-icon.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-networking-gnutls-binding.patch \ %D%/packages/patches/glib-skip-failing-test.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 49587dd427..d5ef8a331b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3169,7 +3169,7 @@ (define-public gtkglext (define-public glade3 (package (name "glade") - (version "3.36.0") + (version "3.38.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3177,14 +3177,28 @@ (define-public glade3 name "-" version ".tar.xz")) (sha256 (base32 - "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) - (build-system glib-or-gtk-build-system) + "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q")) + (patches (search-patches + "glade-gls-set-script-name.patch" + "glade-test-widget-null-icon.patch")))) + (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) + ;; XXX: Remove it once this issue is fixed: + ;; https://issues.guix.gnu.org/50105. + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/meson.build" + (("\\['modules") "#['modules")))) (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) - (substitute* "man/Makefile.in" + (substitute* "man/meson.build" (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") (string-append (assoc-ref inputs "docbook-xsl") "/xml/xsl/docbook-xsl-" @@ -3208,7 +3222,10 @@ (define-public glade3 ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) - ("python" ,python-2) + ("glib:bin" ,glib "bin") + ("python-pygobject" ,python-pygobject) + ("gobject-introspection" ,gobject-introspection) + ("gjs" ,gjs) ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") diff --git a/gnu/packages/patches/glade-gls-set-script-name.patch b/gnu/packages/patches/glade-gls-set-script-name.patch new file mode 100644 index 0000000000..61fbdf3914 --- /dev/null +++ b/gnu/packages/patches/glade-gls-set-script-name.patch @@ -0,0 +1,32 @@ +Taken from upstream: +https://gitlab.gnome.org/GNOME/glade/-/commit/eb0429d318c017b57b9e59de1d5b3f142a0f455e. + +From 6cf1d3e11d4f8035f33c3003d33f6465896025a5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= +Date: Tue, 18 May 2021 19:54:50 +0200 +Subject: [PATCH] plugins: Define an invalid but non-null file path as script + path + +This is following the gjs applications behaviors, setting a valid string +as the script path that will be shown in JS stack traces, even though +won't load a real file through g_file_new_for_commandline_arg() +--- + plugins/gjs/glade-gjs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/gjs/glade-gjs.c b/plugins/gjs/glade-gjs.c +index e1779665..aeae9906 100644 +--- a/plugins/gjs/glade-gjs.c ++++ b/plugins/gjs/glade-gjs.c +@@ -93,7 +93,7 @@ glade_gjs_init (const gchar *name) + + /* Importing the module will create all the GTypes so that glade can use them at runtime */ + retval = gjs_context_eval (gjs_context_get_current (), +- import_sentence, -1, NULL, ++ import_sentence, -1, "", + &exit_status, + &error); + if (!retval && error) +-- +GitLab + diff --git a/gnu/packages/patches/glade-test-widget-null-icon.patch b/gnu/packages/patches/glade-test-widget-null-icon.patch new file mode 100644 index 0000000000..75668a2f68 --- /dev/null +++ b/gnu/packages/patches/glade-test-widget-null-icon.patch @@ -0,0 +1,30 @@ +Taken from upstream: +https://gitlab.gnome.org/GNOME/glade/-/commit/6cf1d3e11d4f8035f33c3003d33f6465896025a5. + +From eb0429d318c017b57b9e59de1d5b3f142a0f455e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= +Date: Wed, 19 May 2021 00:10:29 +0200 +Subject: [PATCH] tests: Do not create a file icon when no filename is provided + +This would fail otherwise as GFileIcon requires a GFile parameter on +construction. +--- + tests/create-widgets.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tests/create-widgets.c b/tests/create-widgets.c +index 2094059d..db8311f8 100644 +--- a/tests/create-widgets.c ++++ b/tests/create-widgets.c +@@ -106,6 +106,8 @@ main (int argc, + if (G_TYPE_IS_INSTANTIATABLE (adaptor_type) && !G_TYPE_IS_ABSTRACT (adaptor_type) && + /* FIXME: can not create a themed icon without a name */ + !g_type_is_a (adaptor_type, G_TYPE_THEMED_ICON) && ++ /* FIXME: can not create a file icon without a file name */ ++ !g_type_is_a (adaptor_type, G_TYPE_FILE_ICON) && + /* FIXME: GtkPopoverMenu gives a few warnings */ + !g_type_is_a (adaptor_type, GTK_TYPE_POPOVER_MENU) && + /* FIXME: GtkFileChooserNative is hard to test here */ +-- +GitLab +