From unknown Sat Jun 21 10:37:08 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#44892] [PATCH] build: qt-build-system: Preserve existing variables when wrapping programs. Resent-From: Timotej Lazar Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 26 Nov 2020 20:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 44892 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 44892@debbugs.gnu.org Cc: Timotej Lazar X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160642087717725 (code B ref -1); Thu, 26 Nov 2020 20:02:01 +0000 Received: (at submit) by debbugs.gnu.org; 26 Nov 2020 20:01:17 +0000 Received: from localhost ([127.0.0.1]:42971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNS9-0004bp-40 for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:01:17 -0500 Received: from lists.gnu.org ([209.51.188.17]:48092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNS7-0004bh-0d for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:01:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiNS6-0004gv-P7 for guix-patches@gnu.org; Thu, 26 Nov 2020 15:01:14 -0500 Received: from araneo.si ([2001:15c0:2110:3400::2]:33486) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiNS4-0000QP-Pq for guix-patches@gnu.org; Thu, 26 Nov 2020 15:01:14 -0500 Received: from araneo.si (localhost.lan [127.0.0.1]) by araneo.si (OpenSMTPD) with ESMTP id 80d62e8a for ; Thu, 26 Nov 2020 20:01:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=araneo.si; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=20180623; bh=nZN7/Q7exsv8syHrux0C6 OReG8s=; b=ODLs1z2GLEB2T5WtYOVmQPUomCyJEn1I5BLGHKW6qomGQjHXWlEAz e7ut6JH+ei9vW5t/ruqPOBnHonDUfQrFfwP04ghSTxkKZGzL9GFkPNEybS4s+T2N b14Zc/sElugHDLRRubzcuQ/pdkU2Lb0YlIvWasmOvvhL1M7vTLKfo6prseMrVKtq EZhpFzSRjdnOVfsv1Uq3kDQ2zWW7GrUkWZ8gxH14pANEtXORekcN8Qg3+RsnRsN9 a1ipRmogVHyAunBU1i7UBkkYLp39I2inbjjcKvWXL6gduLFT9nhsjNS9uYVRCeAY 3zLiKTzPsYnfViMnZHaFsWeS/H/UFQTgg== Received: by araneo.si (OpenSMTPD) with ESMTPSA id 138f9273 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 26 Nov 2020 20:01:07 +0000 (UTC) From: Timotej Lazar Date: Thu, 26 Nov 2020 20:59:42 +0100 Message-Id: <20201126195942.21200-1-timotej.lazar@araneo.si> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2001:15c0:2110:3400::2; envelope-from=timotej.lazar@araneo.si; helo=araneo.si X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This ensures that any additional plugin and icon directories installed in the profile are found by the wrapped program. * guix/build/qt-build-system.scm (variables-for-wrapping): Use prefix instead of = for wrap-program. --- Hi, The qt-wrap phase sets environment variables (including XDG_DATA_DIRS and QT_PLUGIN_PATH) to ensure that required plugin and data directories are found at runtime. The current code uses = for wrap-program, which overrides any existing settings for those variables and prevents Qt from finding additional plugins and icons installed in the user’s profile. For instance, this prevented qpdfview from picking up the icon theme set by LXQt. This patch prepends paths to environment variables instead of overriding them, so that any paths that are already set are also searched. I used prefix instead of suffix so that the paths required by the program itself are considered first. I think but am not sure that this is the right approach. There are ~170 packages using qt-build-system, including some KDE libs that many other packages depend on, so this should probably be applied to staging. I checked that the patch works for a small sample of packages (kmines, lyx, quaternion, quassel, qpdfview, scantailor and zeal). Unfortunately I can’t easily rebuild KDE to test everything. Thanks! Timotej guix/build/qt-build-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm index 005157b0a4..93f512b5d6 100644 --- a/guix/build/qt-build-system.scm +++ b/guix/build/qt-build-system.scm @@ -60,7 +60,7 @@ (lambda (var-to-wrap) (not (null? (last var-to-wrap)))) (map (lambda (var-spec) - `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec)))) + `(,(first var-spec) prefix ,(collect-sub-dirs base-directories (last var-spec)))) (list ;; these shall match the search-path-specification for Qt and KDE ;; libraries -- 2.29.2 From unknown Sat Jun 21 10:37:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Timotej Lazar Subject: bug#44892: closed (Re: [PATCH] guix: qt-build-system: Wrapped executables honor user's envvars.) Message-ID: References: <2b5aab49-efb9-5911-bcf6-c7fddf0ccc03@crazy-compilers.com> <20201126195942.21200-1-timotej.lazar@araneo.si> X-Gnu-PR-Message: they-closed 44892 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 44892@debbugs.gnu.org Date: Mon, 11 Jan 2021 16:07:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1610381222-17103-1" This is a multi-part message in MIME format... ------------=_1610381222-17103-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #44892: [PATCH] build: qt-build-system: Preserve existing variables when wr= apping programs. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 44892@debbugs.gnu.org. --=20 44892: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D44892 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1610381222-17103-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 44892-close) by debbugs.gnu.org; 11 Jan 2021 16:06:29 +0000 Received: from localhost ([127.0.0.1]:58042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kyzi9-0004QT-6i for submit@debbugs.gnu.org; Mon, 11 Jan 2021 11:06:29 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:47552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kyzi7-0004QM-Sp for 44892-close@debbugs.gnu.org; Mon, 11 Jan 2021 11:06:28 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4DDz8z3D0Yz1qskR for <44892-close@debbugs.gnu.org>; Mon, 11 Jan 2021 17:06:27 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4DDz8z34Thz1qqlC for <44892-close@debbugs.gnu.org>; Mon, 11 Jan 2021 17:06:27 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id gTcj6Fl7mRD5 for <44892-close@debbugs.gnu.org>; Mon, 11 Jan 2021 17:06:26 +0100 (CET) Received: from hermia.goebel-consult.de (ppp-188-174-55-154.dynamic.mnet-online.de [188.174.55.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS for <44892-close@debbugs.gnu.org>; Mon, 11 Jan 2021 17:06:26 +0100 (CET) Received: from lenashee.goebel-consult.de (lenashee.goebel-consult.de [192.168.110.2]) by hermia.goebel-consult.de (Postfix) with ESMTP id D17C760355 for <44892-close@debbugs.gnu.org>; Mon, 11 Jan 2021 17:06:23 +0100 (CET) From: Hartmut Goebel Subject: Re: [PATCH] guix: qt-build-system: Wrapped executables honor user's envvars. References: <86r1nnzr63.fsf@163.com> To: 44892-close@debbugs.gnu.org Organization: crazy-compilers.com Message-ID: <2b5aab49-efb9-5911-bcf6-c7fddf0ccc03@crazy-compilers.com> Date: Mon, 11 Jan 2021 17:06:23 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <86r1nnzr63.fsf@163.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: de-DE X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 44892-close X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) This patch has been superseded by http://issues.guix.gnu.org/45784 and following, esp. http://issues.guix.gnu.org/45785 ------------=_1610381222-17103-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 26 Nov 2020 20:01:17 +0000 Received: from localhost ([127.0.0.1]:42971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNS9-0004bp-40 for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:01:17 -0500 Received: from lists.gnu.org ([209.51.188.17]:48092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kiNS7-0004bh-0d for submit@debbugs.gnu.org; Thu, 26 Nov 2020 15:01:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiNS6-0004gv-P7 for guix-patches@gnu.org; Thu, 26 Nov 2020 15:01:14 -0500 Received: from araneo.si ([2001:15c0:2110:3400::2]:33486) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiNS4-0000QP-Pq for guix-patches@gnu.org; Thu, 26 Nov 2020 15:01:14 -0500 Received: from araneo.si (localhost.lan [127.0.0.1]) by araneo.si (OpenSMTPD) with ESMTP id 80d62e8a for ; Thu, 26 Nov 2020 20:01:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=araneo.si; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=20180623; bh=nZN7/Q7exsv8syHrux0C6 OReG8s=; b=ODLs1z2GLEB2T5WtYOVmQPUomCyJEn1I5BLGHKW6qomGQjHXWlEAz e7ut6JH+ei9vW5t/ruqPOBnHonDUfQrFfwP04ghSTxkKZGzL9GFkPNEybS4s+T2N b14Zc/sElugHDLRRubzcuQ/pdkU2Lb0YlIvWasmOvvhL1M7vTLKfo6prseMrVKtq EZhpFzSRjdnOVfsv1Uq3kDQ2zWW7GrUkWZ8gxH14pANEtXORekcN8Qg3+RsnRsN9 a1ipRmogVHyAunBU1i7UBkkYLp39I2inbjjcKvWXL6gduLFT9nhsjNS9uYVRCeAY 3zLiKTzPsYnfViMnZHaFsWeS/H/UFQTgg== Received: by araneo.si (OpenSMTPD) with ESMTPSA id 138f9273 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 26 Nov 2020 20:01:07 +0000 (UTC) From: Timotej Lazar To: guix-patches@gnu.org Subject: [PATCH] build: qt-build-system: Preserve existing variables when wrapping programs. Date: Thu, 26 Nov 2020 20:59:42 +0100 Message-Id: <20201126195942.21200-1-timotej.lazar@araneo.si> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2001:15c0:2110:3400::2; envelope-from=timotej.lazar@araneo.si; helo=araneo.si X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Timotej Lazar X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This ensures that any additional plugin and icon directories installed in the profile are found by the wrapped program. * guix/build/qt-build-system.scm (variables-for-wrapping): Use prefix instead of = for wrap-program. --- Hi, The qt-wrap phase sets environment variables (including XDG_DATA_DIRS and QT_PLUGIN_PATH) to ensure that required plugin and data directories are found at runtime. The current code uses = for wrap-program, which overrides any existing settings for those variables and prevents Qt from finding additional plugins and icons installed in the user’s profile. For instance, this prevented qpdfview from picking up the icon theme set by LXQt. This patch prepends paths to environment variables instead of overriding them, so that any paths that are already set are also searched. I used prefix instead of suffix so that the paths required by the program itself are considered first. I think but am not sure that this is the right approach. There are ~170 packages using qt-build-system, including some KDE libs that many other packages depend on, so this should probably be applied to staging. I checked that the patch works for a small sample of packages (kmines, lyx, quaternion, quassel, qpdfview, scantailor and zeal). Unfortunately I can’t easily rebuild KDE to test everything. Thanks! Timotej guix/build/qt-build-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm index 005157b0a4..93f512b5d6 100644 --- a/guix/build/qt-build-system.scm +++ b/guix/build/qt-build-system.scm @@ -60,7 +60,7 @@ (lambda (var-to-wrap) (not (null? (last var-to-wrap)))) (map (lambda (var-spec) - `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec)))) + `(,(first var-spec) prefix ,(collect-sub-dirs base-directories (last var-spec)))) (list ;; these shall match the search-path-specification for Qt and KDE ;; libraries -- 2.29.2 ------------=_1610381222-17103-1--