Package: guix-patches;
Reported by: iyzsong <at> envs.net
Date: Fri, 20 Dec 2024 03:53:02 UTC
Severity: normal
Tags: patch
Done: 宋文武 <iyzsong <at> envs.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: iyzsong <at> envs.net To: 74989 <at> debbugs.gnu.org Cc: 宋文武 <iyzsong <at> member.fsf.org>, Zhu Zihao <all_but_last <at> 163.com>, 宋文武 <iyzsong <at> envs.net> Subject: [bug#74989] [PATCH 10/23] gnu: xfce4-panel: Update to 4.20.0. Date: Fri, 20 Dec 2024 11:56:41 +0800
From: 宋文武 <iyzsong <at> member.fsf.org> * gnu/packages/xfce.scm (xfce4-panel): Update to 4.20.0. [source]: Remove 'xfce4-panel-plugins.patch'. [arguments]: Add 'patch-configure phase for 'gdbus-codegen'. [inputs]: Remove gtk+-2. Add gtk-layer-shell and libxfce4windowing. [native-search-paths]: Replace 'X_XFCE4_LIB_DIRS' with 'XDG_DATA_DIRS'. * gnu/packages/patches/xfce4-panel-plugins.patch: Remove patch. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: I8104a9a9e0fcd69b12ebc1346681f6f4bb29e17d --- gnu/local.mk | 1 - .../patches/xfce4-panel-plugins.patch | 115 ------------------ gnu/packages/xfce.scm | 20 +-- 3 files changed, 13 insertions(+), 123 deletions(-) delete mode 100644 gnu/packages/patches/xfce4-panel-plugins.patch diff --git a/gnu/local.mk b/gnu/local.mk index fbe9dfbb0e..4f052da781 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2366,7 +2366,6 @@ dist_patch_DATA = \ %D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \ %D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \ %D%/packages/patches/xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch \ - %D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \ %D%/packages/patches/xgboost-use-system-dmlc-core.patch \ %D%/packages/patches/xmonad-dynamic-linking.patch \ diff --git a/gnu/packages/patches/xfce4-panel-plugins.patch b/gnu/packages/patches/xfce4-panel-plugins.patch deleted file mode 100644 index df5a0a914d..0000000000 --- a/gnu/packages/patches/xfce4-panel-plugins.patch +++ /dev/null @@ -1,115 +0,0 @@ -Search for xfce4 panel plugins in the directories specified -in XDG_DATA_DIRS and X_XFCE4_LIB_DIRS. For discussion of the -relevant issues, see: - - https://bugzilla.xfce.org/show_bug.cgi?id=5455 - -Patch by Mark H Weaver <mhw <at> netris.org> - ---- xfce4-panel-4.10.0/panel/panel-module.c.orig 2012-04-28 16:31:35.000000000 -0400 -+++ xfce4-panel-4.10.0/panel/panel-module.c 2014-12-14 01:31:55.728107386 -0500 -@@ -35,8 +35,14 @@ - #include <panel/panel-plugin-external-wrapper.h> - #include <panel/panel-plugin-external-46.h> - --#define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") --#define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins") -+#define PANEL_PLUGINS_LIB_DIR_TAIL (G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") -+#define PANEL_PLUGINS_LIB_DIR_TAIL_OLD (G_DIR_SEPARATOR_S "panel-plugins") -+ -+static const gchar *plugins_lib_dir_tails[] = -+{ -+ PANEL_PLUGINS_LIB_DIR_TAIL, -+ PANEL_PLUGINS_LIB_DIR_TAIL_OLD -+}; - - - typedef enum _PanelModuleRunMode PanelModuleRunMode; -@@ -335,21 +341,39 @@ - /* show a messsage if the old module path key still exists */ - g_message ("Plugin %s: The \"X-XFCE-Module-Path\" key is " - "ignored in \"%s\", the panel will look for the " -- "module in %s. See bug #5455 why this decision was made", -- name, filename, PANEL_PLUGINS_LIB_DIR); -+ "module in DIR%s for each DIR in $X_XFCE4_LIB_DIRS " -+ "(%s by default). See bug #5455 for discussion.", -+ name, filename, PANEL_PLUGINS_LIB_DIR_TAIL, LIBDIR); - } - #endif - -- path = g_module_build_path (PANEL_PLUGINS_LIB_DIR, module_name); -- found = g_file_test (path, G_FILE_TEST_EXISTS); -+ /* search for module */ -+ { -+ gchar *dirs_string; -+ gchar **dirs; -+ int i, j; -+ -+ dirs_string = (gchar *) g_getenv ("X_XFCE4_LIB_DIRS"); -+ if (!dirs_string) -+ dirs_string = LIBDIR; -+ dirs = g_strsplit (dirs_string, G_SEARCHPATH_SEPARATOR_S, 0); -+ -+ found = FALSE; -+ path = NULL; -+ -+ for (i = 0; !found && dirs[i] != NULL; i++) -+ for (j = 0; !found && j < G_N_ELEMENTS (plugins_lib_dir_tails); j++) -+ { -+ gchar *dir = g_strconcat (dirs[i], plugins_lib_dir_tails[j], NULL); -+ -+ g_free (path); -+ path = g_module_build_path (dir, module_name); -+ found = g_file_test (path, G_FILE_TEST_EXISTS); -+ g_free (dir); -+ } - -- if (!found) -- { -- /* deprecated location for module plugin directories */ -- g_free (path); -- path = g_module_build_path (PANEL_PLUGINS_LIB_DIR_OLD, module_name); -- found = g_file_test (path, G_FILE_TEST_EXISTS); -- } -+ g_strfreev (dirs); -+ } - - if (G_LIKELY (found)) - { ---- xfce4-panel-4.10.0/panel/panel-module-factory.c.orig 2012-04-28 16:31:35.000000000 -0400 -+++ xfce4-panel-4.10.0/panel/panel-module-factory.c 2014-12-13 23:55:27.439404812 -0500 -@@ -42,6 +42,11 @@ - #define PANEL_PLUGINS_DATA_DIR (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") - #define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins") - -+static const gchar *plugins_data_dir_tails[] = -+{ -+ (G_DIR_SEPARATOR_S "xfce4" G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins"), -+ (G_DIR_SEPARATOR_S "xfce4" G_DIR_SEPARATOR_S "panel-plugins") -+}; - - - static void panel_module_factory_finalize (GObject *object); -@@ -223,8 +228,22 @@ - panel_module_factory_load_modules (PanelModuleFactory *factory, - gboolean warn_if_known) - { -+ const gchar * const * system_data_dirs; -+ int i, j; -+ - panel_return_if_fail (PANEL_IS_MODULE_FACTORY (factory)); - -+ system_data_dirs = g_get_system_data_dirs (); -+ for (i = 0; system_data_dirs[i] != NULL; i++) -+ for (j = 0; j < G_N_ELEMENTS (plugins_data_dir_tails); j++) -+ { -+ gchar *dir; -+ -+ dir = g_strconcat (system_data_dirs[i], plugins_data_dir_tails[j], NULL); -+ panel_module_factory_load_modules_dir (factory, dir, warn_if_known); -+ g_free (dir); -+ } -+ - /* load from the new and old location */ - panel_module_factory_load_modules_dir (factory, PANEL_PLUGINS_DATA_DIR, warn_if_known); - panel_module_factory_load_modules_dir (factory, PANEL_PLUGINS_DATA_DIR_OLD, warn_if_known); diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index e6499987e4..0315179ecb 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -441,7 +441,7 @@ (define-public libxfce4windowing (define-public xfce4-panel (package (name "xfce4-panel") - (version "4.18.6") + (version "4.20.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -449,12 +449,17 @@ (define-public xfce4-panel name "-" version ".tar.bz2")) (sha256 (base32 - "0qkw1msrvq7hc4mjg9iai0kymgkrpj1nijv04zjbdfcbymhp2cr1")) - (patches (search-patches "xfce4-panel-plugins.patch")))) + "1f235lwmqavvsay9899gm7p2z3fdha6qgx05wczikhhnbmgwsczz")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'configure 'patch-configure + (lambda _ + (substitute* "configure" + ;; XDG_CHECK_PACKAGE_BINARY requires an absolute path. + (("\\$PKG_CONFIG --variable=gdbus_codegen gio-2.0") + "type -p gdbus-codegen")))) (add-after 'unpack 'fix-tzdata-path (lambda* (#:key inputs #:allow-other-keys) (substitute* (string-append "plugins/clock/clock.c") @@ -470,15 +475,16 @@ (define-public xfce4-panel (inputs (list tzdata ;; For fix-tzdata-path phase only. exo - gtk+-2 xfconf garcon + gtk-layer-shell libwnck - libxfce4ui)) + libxfce4ui + libxfce4windowing)) (native-search-paths (list (search-path-specification - (variable "X_XFCE4_LIB_DIRS") - (files '("lib/xfce4"))))) + (variable "XDG_DATA_DIRS") + (files '("share"))))) (home-page "https://www.xfce.org/") (synopsis "Xfce desktop panel") (description -- 2.46.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.