From patchwork Wed Oct 4 10:20:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Fabio Natali X-Patchwork-Id: 54478 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 E02EB27BBE9; Wed, 4 Oct 2023 11:30:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 BC80F27BBE2 for ; Wed, 4 Oct 2023 11:30:07 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnz8V-00010i-Rp; Wed, 04 Oct 2023 06:29:47 -0400 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 1qnz8T-00010X-S1 for guix-patches@gnu.org; Wed, 04 Oct 2023 06:29:45 -0400 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 1qnz8T-0002dD-JL for guix-patches@gnu.org; Wed, 04 Oct 2023 06:29:45 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qnz8k-0004Fm-UB for guix-patches@gnu.org; Wed, 04 Oct 2023 06:30:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66336] [PATCH] gnu: guile-proba: Fix environment vars in Guile Proba's script. Resent-From: Fabio Natali Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 04 Oct 2023 10:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66336 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66336@debbugs.gnu.org Cc: Luis Felipe , Fabio Natali X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169641536516272 (code B ref -1); Wed, 04 Oct 2023 10:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Oct 2023 10:29:25 +0000 Received: from localhost ([127.0.0.1]:41654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnz89-0004EO-5k for submit@debbugs.gnu.org; Wed, 04 Oct 2023 06:29:25 -0400 Received: from lists.gnu.org ([2001:470:142::17]:54164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnz86-0004EA-Ex for submit@debbugs.gnu.org; Wed, 04 Oct 2023 06:29:23 -0400 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 1qnz7i-0000uh-NL for guix-patches@gnu.org; Wed, 04 Oct 2023 06:28:59 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnz7g-0002aM-7p for guix-patches@gnu.org; Wed, 04 Oct 2023 06:28:58 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 793481BF206; Wed, 4 Oct 2023 10:28:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fabionatali.com; s=gm1; t=1696415333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hxxcgOkeJIXBItrMqzV+1sg4bFPIT0H8SWtccISvHqA=; b=NRK69SBdoKwW5JHRAeYZDwvPu0bHqdy15MahfV8oduEI2vyKfR9TbEGlnU0Fawc3cI48r4 THuf4zpcHCXJvlu5hNm33Zrkl0LyqYCp5EbW5MSiq9yuUFQmRZCpKKMrPHdFF3Oo19aS3/ XNE2ChHkvQBV0rdS5XeFVB2huPQCIr6nE33UeUWybc+LyW6zFDInCfsF106g4UT36ApvJx hl0Yg9Uq1I/5se3DCO4GMneq+v+ZTTDqjW48JhwGrM44TxmkkVAV33Lw6/yS7ZQ1iJpebE 3FRmM37TKaUvBdVSzMRiXBAGjTY7J+CZJYzx5YfVDBzJ+UyzVZRA6iHEL7EnhA== Date: Wed, 4 Oct 2023 11:20:30 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-GND-Sasl: me@fabionatali.com Received-SPF: pass client-ip=217.70.183.201; envelope-from=me@fabionatali.com; helo=relay8-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Fabio Natali X-ACL-Warn: , Fabio Natali via Guix-patches X-Patchwork-Original-From: Fabio Natali via Guix-patches via From: Fabio Natali 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 * gnu/packages/check.scm (guile-proba): Micro fix. Guile Proba's CLI script, as created via Guix's `wrap-program', should take into account (as opposed to discard) the original, user-defined values of `GUILE_LOAD_PATH' and `GUILE_LOAD_COMPILED_PATH'. Currently, Guile Proba's CLI script is unable to find any third-party library needed by the app being tested. This micro change should fix this. --- Hi, I think there might be a slight PATH-related issue in the way guile-proba is currently packaged. Specifically, I think it should be: #+begin_src scheme :noeval `("GUILE_LOAD_PATH" prefix (,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" prefix (,(getenv "GUILE_LOAD_COMPILED_PATH"))))))) #+end_src as opposed to the way it's now: #+begin_src scheme :noeval `("GUILE_LOAD_PATH" = (,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" = (,(getenv "GUILE_LOAD_COMPILED_PATH"))))))) #+end_src The current version results in the following CLI program: #+begin_export ascii user@host:~/staging/guix$ guix shell --container --link-profile coreutils guile-proba -- cat ~/.guix-profile/bin/proba #!/gnu/store/9vw5slrffp27rzy2i2plnw7xfqjyk7m4-bash-minimal-5.1.16/bin/bash export GUILE_LOAD_PATH="/gnu/store/2k854q6limcmiinqsysc7r5p3x61spcj-guile-proba-0.3.0/share/guile/site/3.0:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/share/guile/site/3.0:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/share/guile/site/3.0" export GUILE_LOAD_COMPILED_PATH="/gnu/store/2k854q6limcmiinqsysc7r5p3x61spcj-guile-proba-0.3.0/lib/guile/3.0/site-ccache/:/gnu/store/2k854q6limcmiinqsysc7r5p3x61spcj-guile-proba-0.3.0/lib/guile/3.0/site-ccache:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/lib/guile/3.0/site-ccache:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/share/guile/site/3.0:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/lib/guile/3.0/site-ccache:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/share/guile/site/3.0" exec -a "$0" "/gnu/store/2k854q6limcmiinqsysc7r5p3x61spcj-guile-proba-0.3.0/bin/.proba-real" "$@" #+end_export whereas I think the script should read (with this micro-patch): #+begin_export ascii user@host:~/staging/guix$ ./pre-inst-env guix shell --container --link-profile coreutils guile-proba -- cat ~/.guix-profile/bin/proba #!/gnu/store/9vw5slrffp27rzy2i2plnw7xfqjyk7m4-bash-minimal-5.1.16/bin/bash export GUILE_LOAD_PATH="/gnu/store/ibkh3kvhg5ky3xa9f49b48iv3wk0l1lk-guile-proba-0.3.0/share/guile/site/3.0:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/share/guile/site/3.0:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH" export GUILE_LOAD_COMPILED_PATH="/gnu/store/ibkh3kvhg5ky3xa9f49b48iv3wk0l1lk-guile-proba-0.3.0/lib/guile/3.0/site-ccache/:/gnu/store/ibkh3kvhg5ky3xa9f49b48iv3wk0l1lk-guile-proba-0.3.0/lib/guile/3.0/site-ccache:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/lib/guile/3.0/site-ccache:/gnu/store/wfhc8rbbmd0z25frrb5skhwcz242092i-guile-config-0.5.1/share/guile/site/3.0:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/lib/guile/3.0/site-ccache:/gnu/store/bc3zzjych6jyp4ph2af9k3w8qcs3nsn2-guile-lib-0.2.7/share/guile/site/3.0${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH" exec -a "$0" "/gnu/store/ibkh3kvhg5ky3xa9f49b48iv3wk0l1lk-guile-proba-0.3.0/bin/.proba-real" "$@" #+end_export As a result of this, currently, Guile Proba's CLI script is unable to find any third-party library needed by the app being tested. This micro change should fix this. This can be tested as follows. #+begin_export shell :noeval $ tree . ├── foo.scm └── tests └── test-main.scm #+end_export #+begin_src scheme :noeval ;; foo.scm (define-module (foo) #:use-module (ini) #:export (bar)) (define (bar) (call-with-input-string "[foo]\nbar=baz\n" ini->scm)) #+end_src #+begin_src scheme :noeval ;; test-main.scm (define-module (test-main) #:use-module (foo) #:use-module (srfi srfi-64)) (test-begin "main") (test-equal "main" (bar) '(("foo" ("bar" . "baz")))) (test-end "main") #+end_src With the above files in place: #+begin_src shell :noeval $ proba run tests [...] ice-9/boot-9.scm:3330:6: In procedure resolve-interface: no code for module (ini) #+end_src What do you think? I hope the change looks fine. Thanks, best, Fabio. gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 24fc0370d0d12f34cffd44801cc6382fc5cc5f23 diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 5af3b49280..e3c32c17c2 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -3599,8 +3599,8 @@ (define-public guile-proba (copy-file "proba.scm" script) (chmod script #o555) (wrap-program script - `("GUILE_LOAD_PATH" = (,(getenv "GUILE_LOAD_PATH"))) - `("GUILE_LOAD_COMPILED_PATH" = + `("GUILE_LOAD_PATH" prefix (,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" prefix (,(getenv "GUILE_LOAD_COMPILED_PATH"))))))) (add-after 'install 'install-manual (lambda* (#:key outputs #:allow-other-keys)