From patchwork Mon Jan 27 13:21:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: tusharhero--- via Guix-patches via X-Patchwork-Id: 37779 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4EDF327BBEA; Mon, 27 Jan 2025 13:19:48 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 823B027BBE2 for ; Mon, 27 Jan 2025 13:19:47 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tcP1f-0000uV-2q; Mon, 27 Jan 2025 08:19:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tcP16-0000ek-D5 for guix-patches@gnu.org; Mon, 27 Jan 2025 08:19:05 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tcP16-0002rA-3t for guix-patches@gnu.org; Mon, 27 Jan 2025 08:19:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=zWu41/CBIoo2ICxmGaAKoDqJ5EwUYXH6Z0OSbiCeVzY=; b=vBAXZFZl2ZB2yrZ+aXXfo4/3cCQN18reZhNUnsGfxeXvVbx+iiVgfk5Une+pHg5DqJHexQOAGZYvSjmMSI3bSBnmTn1jaQpQJwvvNmnn5ET+83d1VjeylbkgpoJAtw0A3KEnqMUe/NVIyrvdYT/3cFJRYkj8LJz8rf33LKc/O7Pl/Y8I19sFBgrAUs8BEqAb4gQE6d8gj2HCSJE3JA6vBsSb4MoudOpLc0TPhhhHGepydvO6u9xhZBih5IrGSVEvSnmmFLWpGvN3NBOTw488Rn76GP1zy+t/Ou/Nuud7dGG2Ca6Wbokh68RP+PnhervUTSBHjD4ogSYoztY6tUkLjw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tcP14-0002Ol-Ul for guix-patches@gnu.org; Mon, 27 Jan 2025 08:19:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#75688] [PATCH v3 3/4] gnu: gtk: Add search-paths.d support for GUIX_GTK{2, 3, 4}_PATH. Resent-From: iyzsong@envs.net Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 27 Jan 2025 13:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75688 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75688@debbugs.gnu.org Cc: =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 75688-submit@debbugs.gnu.org id=B75688.17379838969128 (code B ref 75688); Mon, 27 Jan 2025 13:19:02 +0000 Received: (at 75688) by debbugs.gnu.org; 27 Jan 2025 13:18:16 +0000 Received: from localhost ([127.0.0.1]:59925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tcP0J-0002N4-7V for submit@debbugs.gnu.org; Mon, 27 Jan 2025 08:18:15 -0500 Received: from mail.envs.net ([5.199.136.28]:52480) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tcP0E-0002Mc-Qg for 75688@debbugs.gnu.org; Mon, 27 Jan 2025 08:18:11 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id E877338A3DBF; Mon, 27 Jan 2025 13:18:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1737983889; bh=zWu41/CBIoo2ICxmGaAKoDqJ5EwUYXH6Z0OSbiCeVzY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mTr/tvoPCuk6YnoASk6pwbHEvqatDScjDtAa4ISjH1eUuMmEPd46TQVCWWqHNx7JY E8nUjz7/yJK9NVYNjPY42iOZpoxqJHPn0Mjx44XF3BVjsDwh72/2YCrKQlnFg4f6Wq FcmJuSSga1OUc602zL5+N6FJaeOmuZOBOs434UwfaQmgxbl/LganlMOBBmJdDW9FiT i9KGbSsel+T7E7oUty1ORsCIi8kpLahktRtWDk2YRsceutSTlRnWK3XYzxv72H7T0Z FF0zcEsGKkwJgkitUxxQ9m8af60GIxKUXVzfXTOO7zU/FFJsPy23/IdZsQxkDeoEG3 bQ3BJLF4EcCP+GN3YMrD7BDWaTZFLtgWouaCY2vKBmWmXUFwERIrvA26qpnMwzP8MP gf8uPuGYOuraMfPZl6xhL7TAVgBuL6g72LgV1z1XZyQVVxcavOWFoPCYYSxCxl6QDJ q06BDi3sS6jLXv8Lfp/IOjKqf4krq08/zrrfmTLGF34KClAb2YEQdSP5yIk45Ak4qY lj6GxT+PlydzYcVt3HwKfmBluyor7d9PLxgml6LGRK/qGxQhUY1KwiNt9WOEFFt54W loYfgTeew9akRpNtOwqDTR++E/85nJc7PhM1RxipX8xaaNjGGRdgwhC8EGqNQiRH81 r0PrQ0NG64wGAyYiHsPTKc2g= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id B5V5E7U3uvOA; Mon, 27 Jan 2025 13:18:06 +0000 (UTC) Received: from localhost (unknown [112.44.100.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Mon, 27 Jan 2025 13:18:06 +0000 (UTC) Received: from localhost.localdomain (localhost.lan [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id b482d01f; Mon, 27 Jan 2025 13:21:34 +0000 (UTC) Date: Mon, 27 Jan 2025 21:21:22 +0800 Message-ID: <08a25b1c35ccc1fa3869bc1cdf3b6e8f883de4d6.1737983975.git.iyzsong@member.fsf.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <1df5c051d9d5e61894a49761415f69f7503451d0.1737983975.git.iyzsong@member.fsf.org> References: <1df5c051d9d5e61894a49761415f69f7503451d0.1737983975.git.iyzsong@member.fsf.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: iyzsong@envs.net X-ACL-Warn: , iyzsong--- via Guix-patches X-Patchwork-Original-From: iyzsong--- via Guix-patches via From: tusharhero--- via Guix-patches via Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: 宋文武 * gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch, gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch, gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch: Rewrite in terms of 'g_build_guix_search_path_dirs'. Change-Id: Ib0748c39e56fd598f30f40b9ac3bb0f012f14c31 Reviewed-by: Maxim Cournoyer --- .../patches/gtk2-respect-GUIX_GTK2_PATH.patch | 64 ++++++------------- .../patches/gtk3-respect-GUIX_GTK3_PATH.patch | 55 ++++++---------- .../patches/gtk4-respect-GUIX_GTK4_PATH.patch | 62 +++++------------- 3 files changed, 54 insertions(+), 127 deletions(-) diff --git a/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch index 93a8ddc242..fb6c7809f9 100644 --- a/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch +++ b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch @@ -1,46 +1,20 @@ -This patch makes GTK+ look for additional modules in a list of directories -specified by the environment variable "GUIX_GTK2_PATH". This can be used -instead of "GTK_PATH" to make GTK+ find modules that are incompatible with -other major versions of GTK+. +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c +index 50729b61a5..2d4c2c2a85 100644 +--- a/gtk/gtkmodules.c ++++ b/gtk/gtkmodules.c +@@ -96,5 +96,15 @@ get_module_path (void) + result = pango_split_file_list (module_path); + g_free (module_path); ---- a/gtk/gtkmodules.c 2014-09-29 22:02:17.000000000 +0200 -+++ b/gtk/gtkmodules.c 2015-12-02 18:41:53.306396938 +0100 -@@ -55,6 +55,7 @@ - get_module_path (void) - { - const gchar *module_path_env; -+ const gchar *module_guix_gtk2_path_env; - const gchar *exe_prefix; - const gchar *home_dir; - gchar *home_gtk_dir = NULL; -@@ -70,6 +71,7 @@ - home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); - - module_path_env = g_getenv ("GTK_PATH"); -+ module_guix_gtk2_path_env = g_getenv ("GUIX_GTK2_PATH"); - exe_prefix = g_getenv ("GTK_EXE_PREFIX"); - - if (exe_prefix) -@@ -77,9 +79,21 @@ - else - default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL); - -- if (module_path_env && home_gtk_dir) -+ if (module_guix_gtk2_path_env && module_path_env && home_gtk_dir) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk2_path_env, module_path_env, home_gtk_dir, default_dir, NULL); -+ else if (module_guix_gtk2_path_env && home_gtk_dir) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk2_path_env, home_gtk_dir, default_dir, NULL); -+ else if (module_guix_gtk2_path_env && module_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk2_path_env, module_path_env, default_dir, NULL); -+ else if (module_path_env && home_gtk_dir) - module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, home_gtk_dir, default_dir, NULL); -+ else if (module_guix_gtk2_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk2_path_env, default_dir, NULL); - else if (module_path_env) - module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, default_dir, NULL); ++ /* GUIX: Load additional modules from GUIX_GTK2_PATH. */ ++ GStrvBuilder *builder = g_strv_builder_new (); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_build_guix_search_path_dirs ("GUIX_GTK2_PATH"); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_strv_builder_end (builder); ++ g_strv_builder_unref (builder); ++ + return result; + } diff --git a/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch index 66fd2fd1c4..28e232a812 100644 --- a/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch +++ b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch @@ -1,38 +1,21 @@ -This patch makes GTK+ look for additional modules in a list of directories -specified by the environment variable "GUIX_GTK3_PATH". This can be used -instead of "GTK_PATH" to make GTK+ find modules that are incompatible with -other major versions of GTK+. - ---- a/gtk/gtkmodules.c 2015-09-20 20:09:05.060590217 +0200 -+++ b/gtk/gtkmodules.c 2015-09-20 20:10:33.423124833 +0200 -@@ -52,6 +52,7 @@ - get_module_path (void) - { - const gchar *module_path_env; -+ const gchar *module_guix_gtk3_path_env; - const gchar *exe_prefix; - gchar *module_path; - gchar *default_dir; -@@ -61,6 +62,7 @@ - return result; +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c +index f93101c272..b57e1da802 100644 +--- a/gtk/gtkmodules.c ++++ b/gtk/gtkmodules.c +@@ -81,6 +81,16 @@ get_module_path (void) + result = gtk_split_file_list (module_path); + g_free (module_path); - module_path_env = g_getenv ("GTK_PATH"); -+ module_guix_gtk3_path_env = g_getenv ("GUIX_GTK3_PATH"); - exe_prefix = g_getenv ("GTK_EXE_PREFIX"); ++ /* GUIX: Load additional modules from GUIX_GTK3_PATH. */ ++ GStrvBuilder *builder = g_strv_builder_new (); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_build_guix_search_path_dirs ("GUIX_GTK3_PATH"); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_strv_builder_end (builder); ++ g_strv_builder_unref (builder); ++ + return result; + } - if (exe_prefix) -@@ -68,7 +70,13 @@ - else - default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL); - -- if (module_path_env) -+ if (module_guix_gtk3_path_env && module_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk3_path_env, module_path_env, default_dir, NULL); -+ else if (module_guix_gtk3_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk3_path_env, default_dir, NULL); -+ else if (module_path_env) - module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, default_dir, NULL); - else diff --git a/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch b/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch index 4a60023bf7..56c202ecf4 100644 --- a/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch +++ b/gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch @@ -1,51 +1,21 @@ -From 889294a93fc6464c2c2919bc47f6fd85ec823363 Mon Sep 17 00:00:00 2001 -From: Raghav Gururajan -Date: Tue, 18 May 2021 19:57:00 -0400 -Subject: [PATCH] [PATCH]: Honor GUIX_GTK4_PATH. - -This patch makes GTK look for additional modules in a list of directories -specified by the environment variable "GUIX_GTK4_PATH". This can be used -instead of "GTK_PATH" to make GTK find modules that are incompatible with -other major versions of GTK. ---- - gtk/gtkmodules.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c -index aace5dcbc9..193b6a02e9 100644 +index 51b0916624..0cd6ee7e30 100644 --- a/gtk/gtkmodules.c +++ b/gtk/gtkmodules.c -@@ -105,6 +105,7 @@ static char ** - get_module_path (void) - { - const char *module_path_env; -+ const gchar *module_guix_gtk4_path_env; - const char *exe_prefix; - char *module_path; - char *default_dir; -@@ -114,6 +115,7 @@ get_module_path (void) - return result; +@@ -132,6 +132,16 @@ get_module_path (void) + result = split_file_list (module_path); + g_free (module_path); - module_path_env = g_getenv ("GTK_PATH"); -+ module_guix_gtk4_path_env = g_getenv ("GUIX_GTK4_PATH"); - exe_prefix = g_getenv ("GTK_EXE_PREFIX"); ++ /* GUIX: Load additional modules from GUIX_GTK4_PATH. */ ++ GStrvBuilder *builder = g_strv_builder_new (); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_build_guix_search_path_dirs ("GUIX_GTK4_PATH"); ++ g_strv_builder_addv (builder, (const gchar **) result); ++ g_strfreev (result); ++ result = g_strv_builder_end (builder); ++ g_strv_builder_unref (builder); ++ + return result; + } - if (exe_prefix) -@@ -121,7 +123,13 @@ get_module_path (void) - else - default_dir = g_build_filename (_gtk_get_libdir (), "gtk-4.0", NULL); - -- if (module_path_env) -+ if (module_guix_gtk4_path_env && module_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk4_path_env, module_path_env, default_dir, NULL); -+ else if (module_guix_gtk4_path_env) -+ module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, -+ module_guix_gtk4_path_env, default_dir, NULL); -+ else if (module_path_env) - module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, default_dir, NULL); - else --- -2.31.1 -