GNU bug report logs -
#54393
[PATCH 0/2] Add 'guix manifest' to "translate" commands to manifests
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 14 Mar 2022 21:51:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#54393: [PATCH 0/2] Add 'guix manifest' to "translate" commands to manifests
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 54393 <at> debbugs.gnu.org.
--
54393: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=54393
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi!
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
[...]
>> +(define (manifest->code* manifest extra-manifests)
>> + "Like 'manifest->code', but insert a 'concatenate-manifests' call that
>> +concatenates MANIFESTS, a list of expressions."
>> + (if (null? (manifest-entries manifest))
>> + (match extra-manifests
>> + ((one) one)
>> + (lst `(concatenate-manifests ,@extra-manifests)))
>> + (match (manifest->code manifest
>> + #:entry-package-version
>> + manifest-entry-version-prefix)
>> + (('begin exp ... last)
>> + `(begin
>> + ,@exp
>> + ,(match extra-manifests
>> + (() last)
>> + (_ `(concatenate-manifests
>> + (list ,last ,@extra-manifests)))))))))
>
> Should an "else" clause be added here with a more useful error message
> that the default 'no match for x' or similar? If that'd be totally
> unexpected and a bug, then it's fine as-is.
Yes, it would be a bug.
>> + (define (validated-spec spec)
>> + ;; Return SPEC if it's validate package spec.
>
> As this is an action (proc), perhaps it should be named "validate-spec".
> The comment doc should also be worded as "if SPEC is a valid package
> spec" or similar.
I fixed the comment but kept the name ‘validated-spec’, which is an
attempt at suggesting that it’s returns a meaningful value (whereas
‘validate-spec’ sounds like it’s called for effect and returns
*unspecified*).
> Thank you for addressing the suggestion to reuse an existing sub-command
> to try to keep things neatly organized instead of extending the already
> large set of them :-).
Heheh, thanks!
Pushed as b1e7e64f351fa03a66ce1f9776f9ba84cf2c6294 together with a news
entry.
Ludo’.
[Message part 3 (message/rfc822, inline)]
Hello Guix!
Writing manifests can be intimidating: in part because it’s not
well documented, and in part because it’s always hard to start from
a blank page.
We have ‘guix package --export-manifest’ to help with that, but I
realized that colleagues of mine often use ‘guix shell’ more than
‘guix package’, and ‘--export-manifest’ is awkward to use:
$ guix shell a b c d --transform=whatever=else
[env]$ guix package --export-manifest -p $GUIX_ENVIRONMENT
I figured that instead of documenting this, we might as well provide
a command that does it in one go:
guix manifest a b c d --transform=whatever=else > manifest.scm
Voilà!
Thoughts?
Next up: adding a “Writing Manifests” section.
Ludo’.
Ludovic Courtès (2):
packages: Add 'package-unique-version-prefix'.
Add 'guix manifest'.
Makefile.am | 2 +
doc/guix.texi | 146 +++++++++++++++++++++++++++++++-
gnu/packages.scm | 21 +++++
guix/scripts/manifest.scm | 174 ++++++++++++++++++++++++++++++++++++++
guix/scripts/package.scm | 20 +----
po/guix/POTFILES.in | 1 +
tests/guix-manifest.sh | 76 +++++++++++++++++
tests/packages.scm | 13 +++
8 files changed, 434 insertions(+), 19 deletions(-)
create mode 100644 guix/scripts/manifest.scm
create mode 100644 tests/guix-manifest.sh
base-commit: 857e5ab22292fe7c2ba5b9855c0829a2ef942d38
--
2.34.0
This bug report was last modified 3 years and 47 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.