Message ID | 20210504133958.11011-2-ludo@gnu.org |
---|---|
State | Accepted |
Headers | show |
Series | Avoid Bash wrapper in 'guix' package | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
> The second patch is stylistic: it avoids missing phases, which I > find more readable. I don't see any missing phases. (I read this as ‘The second patch is stylistic: it avoids making the existence of a phase dependent on %current-target-system.’) > - (guile ,@(if (%current-target-system) > - '((assoc-ref native-inputs "guile")) > - '((assoc-ref inputs "guile")))) > + (guile (if target > + (assoc-ref native-inputs "guile") > + (assoc-ref inputs "guile"))) Something I tend to do is (assoc-ref (or native-inputs inputs) "guile") Do you have any particular preference? > (deps (list gcrypt json sqlite gnutls git > bs ssh zlib lzlib zstd guile-lib)) > - (deps* ,@(if (%current-target-system) > - '(deps) > - '((cons avahi deps)))) > + (deps* (if target deps (cons avahi deps))) Why not simply ;; avahi is #f (not in 'inputs') when cross-compiling. ;; Remove it. (deps* (delete #f avahi)) ? Then, when guile-avahi becomes cross-compilable at some point, we only need to adjust 'propagated-inputs' and not anything else. Also, was this code (deps* ,@(if (%current-target-system) '(deps) ...)) needed in the first place? guile2.2-guix inherits its phases from guix, and guile2.2-guix does not have a guile-zlib or guile-lzlib input. Greetings, Maxime.
Hi, Pushed to ‘master’ with followup commits to address the ‘guile2.2-guix’ issues you mentioned: dd3e4fe6e7 gnu: guile2.2-guix: Add missing dependencies. 2238bd8ddc gnu: guile-lzlib: Add Guile 2.2 variant. 2a9af22540 gnu: guile-zlib: Add Guile 2.2 variant. c3f20a6678 gnu: guix: Phases refer to #:system, #:target, and #:native-inputs. e42bfd236e gnu: guix: Avoid Bash wrapper. 55f7cd701c gnu: guix: Add run-time dependency on Guile-Lib. I’ll cherry-pick to ‘version-1.3.0’. ‘guile2.2-guix’ fails tests/swh.scm though, because (guix swh) relies on #:verify-certificate?, which Guile 2.2 didn’t have. I wonder how Vagrant addressed that for Debian? Thanks, Ludo’.
On 2021-05-05, Ludovic Courtès wrote: > Pushed to ‘master’ with followup commits to address the ‘guile2.2-guix’ > issues you mentioned: > > dd3e4fe6e7 gnu: guile2.2-guix: Add missing dependencies. > 2238bd8ddc gnu: guile-lzlib: Add Guile 2.2 variant. > 2a9af22540 gnu: guile-zlib: Add Guile 2.2 variant. > c3f20a6678 gnu: guix: Phases refer to #:system, #:target, and #:native-inputs. > e42bfd236e gnu: guix: Avoid Bash wrapper. > 55f7cd701c gnu: guix: Add run-time dependency on Guile-Lib. > > I’ll cherry-pick to ‘version-1.3.0’. > > ‘guile2.2-guix’ fails tests/swh.scm though, because (guix swh) relies on > #:verify-certificate?, which Guile 2.2 didn’t have. I wonder how > Vagrant addressed that for Debian? Heavy handedly sprinkling (test-skip 1): https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0029-tests-swh.scm-Disable-tests-the-fail-with-guile-2.2.patch https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0032-Disable-origin-visit-no-snapshots-test.patch It would be nice to be able to automatically skip tests using known guile 3 features when building with guile 2.2; maybe that will require flagging each test individually or maybe there is a clever way to do that dynamically? live well, vagrant
Hi, Vagrant Cascadian <vagrant@reproducible-builds.org> skribis: >> ‘guile2.2-guix’ fails tests/swh.scm though, because (guix swh) relies on >> #:verify-certificate?, which Guile 2.2 didn’t have. I wonder how >> Vagrant addressed that for Debian? > > Heavy handedly sprinkling (test-skip 1): > > https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0029-tests-swh.scm-Disable-tests-the-fail-with-guile-2.2.patch > https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0032-Disable-origin-visit-no-snapshots-test.patch This patch addresses the problem: https://git.savannah.gnu.org/cgit/guix.git/commit/?h=version-1.3.0&id=626e61959089b9c7d1faa5dd6b15f8ed94f551fb (It’s in 1.3.0rc2.) HTH! Ludo’.
On 2021-05-09, Ludovic Courtès wrote: > Vagrant Cascadian <vagrant@reproducible-builds.org> skribis: >>> ‘guile2.2-guix’ fails tests/swh.scm though, because (guix swh) relies on >>> #:verify-certificate?, which Guile 2.2 didn’t have. I wonder how >>> Vagrant addressed that for Debian? >> >> Heavy handedly sprinkling (test-skip 1): >> >> https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0029-tests-swh.scm-Disable-tests-the-fail-with-guile-2.2.patch >> https://salsa.debian.org/debian/guix/-/blob/debian/devel/debian/patches/0032-Disable-origin-visit-no-snapshots-test.patch > > This patch addresses the problem: > > https://git.savannah.gnu.org/cgit/guix.git/commit/?h=version-1.3.0&id=626e61959089b9c7d1faa5dd6b15f8ed94f551fb > > (It’s in 1.3.0rc2.) Just tested 1.3.0 with the tests enabled again, and they passed! Thanks! live well, vagrant
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 1a637f9ec8..5c6937adb8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -261,11 +261,9 @@ $(prefix)/etc/openrc\n"))) (intern (assoc-ref inputs "boot-guile") #f) ;; On x86_64 some tests need the i686 Guile. - ,@(if (and (not (%current-target-system)) - (string=? (%current-system) - "x86_64-linux")) - '((intern (assoc-ref inputs "boot-guile/i686") #f)) - '()) + (when (and (not target) + (string=? system "x86_64-linux")) + (intern (assoc-ref inputs "boot-guile/i686") #f)) ;; Copy the bootstrap executables. (for-each (lambda (input) @@ -299,9 +297,9 @@ $(prefix)/etc/openrc\n"))) ;; Make sure the 'guix' command finds GnuTLS, ;; Guile-JSON, and Guile-Git automatically. (let* ((out (assoc-ref outputs "out")) - (guile ,@(if (%current-target-system) - '((assoc-ref native-inputs "guile")) - '((assoc-ref inputs "guile")))) + (guile (if target + (assoc-ref native-inputs "guile") + (assoc-ref inputs "guile"))) (avahi (assoc-ref inputs "guile-avahi")) (gcrypt (assoc-ref inputs "guile-gcrypt")) (guile-lib (assoc-ref inputs "guile-lib")) @@ -318,9 +316,7 @@ $(prefix)/etc/openrc\n"))) (locales (assoc-ref inputs "glibc-utf8-locales")) (deps (list gcrypt json sqlite gnutls git bs ssh zlib lzlib zstd guile-lib)) - (deps* ,@(if (%current-target-system) - '(deps) - '((cons avahi deps)))) + (deps* (if target deps (cons avahi deps))) (effective (read-line (open-pipe* OPEN_READ