* bug#48082: “guix environment -l” does not work with inferior packages @ 2021-04-28 16:19 Ricardo Wurmus 2021-08-01 14:13 ` Brice Waegeneire 0 siblings, 1 reply; 5+ messages in thread From: Ricardo Wurmus @ 2021-04-28 16:19 UTC (permalink / raw) To: 48082 I wanted to use an environment file that contains a package definition, and use it with inferiors. Here is the full guix.scm: --8<---------------cut here---------------start------------->8--- (use-modules (guix channels) (guix inferior) (guix build-system gnu) (guix packages) (guix licenses) (gnu packages) (ice-9 match)) (define channels (list (channel (name 'guix-bimsb) (url "https://github.com/BIMSBbioinfo/guix-bimsb.git") (commit "be42b099867a29a68a9ffbf304dc7f9137b75fe3")) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "01e33a031e493477d930b9383d397fea012a3b1a") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))) (define (lookup name) (specification->package name)) (define (lookup-inferior name) (define inferior (inferior-for-channels channels)) (match (lookup-inferior-packages inferior name) ((first . rest) first) (_ (error (format #false "Could not find package `~a'.~%" name))))) (define (p name) (let* ((how (if (getenv "USE_GUIX_INFERIOR") lookup-inferior lookup)) (pkg (how name))) `(,name ,pkg))) (define %version (symbol->string (with-input-from-file "VERSION" read))) (define-public my-package (package (name "my-package") (version %version) (source (string-append (getcwd) "/my-package-" version ".tar.gz")) (build-system gnu-build-system) (inputs (map p (list "bwa" "r-minimal" "r-rmarkdown" "python-wrapper" "python-pyyaml"))) (native-inputs (map p (list "autoconf" "automake"))) (home-page "TODO") (synopsis "TODO") (description "TODO") (license gpl3+))) my-package --8<---------------cut here---------------end--------------->8--- The idea was that you would use the provided channels with USE_GUIX_INFERIOR=t guix environment -l guix.scm Unfortunately, this does not work, but there also is no error. I end up in an environment where none of the declared inputs are available. That’s because (guix scripts environments) has no facilities to deal with packages that are of type <inferior-package>. -- Ricardo ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48082: “guix environment -l” does not work with inferior packages 2021-04-28 16:19 bug#48082: “guix environment -l” does not work with inferior packages Ricardo Wurmus @ 2021-08-01 14:13 ` Brice Waegeneire 2021-08-01 16:07 ` Ricardo Wurmus 0 siblings, 1 reply; 5+ messages in thread From: Brice Waegeneire @ 2021-08-01 14:13 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 48082 Hello Ricardo, Ricardo Wurmus <rekado@elephly.net> writes: > I wanted to use an environment file that contains a package > definition, and use it with inferiors. Here is the full guix.scm: > > [...] > > The idea was that you would use the provided channels with > > USE_GUIX_INFERIOR=t guix environment -l guix.scm > > Unfortunately, this does not work, but there also is no error. I > end up in an environment where none of the declared inputs are > available. That’s because (guix scripts environments) has no > facilities to deal with packages that are of type > <inferior-package>. Unfortunatly the environment file isn't self contained (VERSION and the package source are missing), so I couldn't reproduce your issue. I wanted to reproduce it since I think it may be a duplicate of #40272¹, that is you can't build packages with inputs containing inferior-packages. ¹ https://issues.guix.gnu.org/40272 Cheers, - Brice ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48082: “guix environment -l” does not work with inferior packages 2021-08-01 14:13 ` Brice Waegeneire @ 2021-08-01 16:07 ` Ricardo Wurmus 2021-08-01 21:12 ` bug#48082: [PATCH] environment: Add support for <inferior-package> Brice Waegeneire 0 siblings, 1 reply; 5+ messages in thread From: Ricardo Wurmus @ 2021-08-01 16:07 UTC (permalink / raw) To: Brice Waegeneire; +Cc: 48082 Brice Waegeneire <brice@waegenei.re> writes: > Hello Ricardo, > > Ricardo Wurmus <rekado@elephly.net> writes: > >> I wanted to use an environment file that contains a package >> definition, and use it with inferiors. Here is the full >> guix.scm: >> >> [...] >> >> The idea was that you would use the provided channels with >> >> USE_GUIX_INFERIOR=t guix environment -l guix.scm >> >> Unfortunately, this does not work, but there also is no error. >> I >> end up in an environment where none of the declared inputs are >> available. That’s because (guix scripts environments) has no >> facilities to deal with packages that are of type >> <inferior-package>. > > Unfortunatly the environment file isn't self contained (VERSION > and the > package source are missing), so I couldn't reproduce your issue. This example was taken from the source code here: https://github.com/BIMSBbioinfo/pigx_sarscov2_ww/blob/main/manifest.scm https://github.com/BIMSBbioinfo/pigx_sarscov2_ww/blob/main/guix.scm -- Ricardo ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#48082: [PATCH] environment: Add support for <inferior-package>. 2021-08-01 16:07 ` Ricardo Wurmus @ 2021-08-01 21:12 ` Brice Waegeneire 2021-08-17 10:01 ` zimoun 0 siblings, 1 reply; 5+ messages in thread From: Brice Waegeneire @ 2021-08-01 21:12 UTC (permalink / raw) To: rekado; +Cc: 48082 Fix <https://issues.guix.gnu.org/48082>. * guix/scripts/environment.scm (input->manifest-entry): Add support for <inferior-package>. --- guix/scripts/environment.scm | 6 ++++++ 1 file changed, 6 insertions(+) Ricardo, thank you for the links, I managed to reproduce the issue. And fixed it with the help of Ludovic on IRC. diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 6958bd6238..c464e7cfb3 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix search-paths) + #:use-module (guix inferior) #:use-module (guix build utils) #:use-module (guix monads) #:use-module ((guix gexp) #:select (lower-object)) @@ -74,6 +76,10 @@ package." (package->manifest-entry package)) ((_ (? package? package) output) (package->manifest-entry package output)) + ((_ (? inferior-package? package)) + (inferior-package->manifest-entry package)) + ((_ (? inferior-package? package) output) + (inferior-package->manifest-entry package output)) (_ #f))) -- 2.32.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#48082: [PATCH] environment: Add support for <inferior-package>. 2021-08-01 21:12 ` bug#48082: [PATCH] environment: Add support for <inferior-package> Brice Waegeneire @ 2021-08-17 10:01 ` zimoun 0 siblings, 0 replies; 5+ messages in thread From: zimoun @ 2021-08-17 10:01 UTC (permalink / raw) To: Brice Waegeneire, rekado; +Cc: 48082 Hi Brice, Thanks for the fix. :-) On Sun, 01 Aug 2021 at 23:12, Brice Waegeneire <brice@waegenei.re> wrote: > Fix <https://issues.guix.gnu.org/48082>. Usually, the commit message is: Fixes <https://bugs.gnu.org/48082>. > * guix/scripts/environment.scm (input->manifest-entry): Add support for > <inferior-package>. > --- > guix/scripts/environment.scm | 6 ++++++ > 1 file changed, 6 insertions(+) > > Ricardo, thank you for the links, I managed to reproduce the issue. And fixed > it with the help of Ludovic on IRC. > > diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm > index 6958bd6238..c464e7cfb3 100644 > --- a/guix/scripts/environment.scm > +++ b/guix/scripts/environment.scm > @@ -2,6 +2,7 @@ > ;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org> > ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> > ;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org> > +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -28,6 +29,7 @@ > #:use-module (guix packages) > #:use-module (guix profiles) > #:use-module (guix search-paths) > + #:use-module (guix inferior) > #:use-module (guix build utils) > #:use-module (guix monads) > #:use-module ((guix gexp) #:select (lower-object)) > @@ -74,6 +76,10 @@ package." > (package->manifest-entry package)) > ((_ (? package? package) output) > (package->manifest-entry package output)) > + ((_ (? inferior-package? package)) > + (inferior-package->manifest-entry package)) > + ((_ (? inferior-package? package) output) > + (inferior-package->manifest-entry package output)) > (_ > #f))) LGTM. All the best, simon ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-08-17 15:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-04-28 16:19 bug#48082: “guix environment -l” does not work with inferior packages Ricardo Wurmus 2021-08-01 14:13 ` Brice Waegeneire 2021-08-01 16:07 ` Ricardo Wurmus 2021-08-01 21:12 ` bug#48082: [PATCH] environment: Add support for <inferior-package> Brice Waegeneire 2021-08-17 10:01 ` zimoun
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).