Age | Commit message (Expand) | Author |
2020-05-04 | openpgp: Add missing type predicate for '&openpgp-invalid-signature-error'....Reported by brendyyn on #guix. The mistake led to a macro expansion
error on Guile 2.2 but not on 3.0.2.
* guix/openpgp.scm (&openpgp-invalid-signature-error): Add missing type
predicate.
| Ludovic Courtès |
2020-05-04 | openpgp: Raise error conditions instead of calling 'error'....* guix/openpgp.scm (&openpgp-error, &openpgp-unrecognized-packet-error)
(&openpgp-invalid-signature-error): New error conditions.
(openpgp-hash-algorithm): Add 'signature-port' parameter. Raise an
error condition instead of calling 'error'.
(parse-subpackets): Likewise.
(get-data): Raise instead of calling 'error'.
(get-openpgp-detached-signature/ascii): Likewise.
(get-signature): Likewise.
| Ludovic Courtès |
2020-05-04 | openpgp: Add 'string->openpgp-packet'....* guix/openpgp.scm (string->openpgp-packet): New procedure.
* tests/openpgp.scm ("verify-openpgp-signature, missing key")
("verify-openpgp-signature, good signatures")
("verify-openpgp-signature, bad signature"): Use it.
| Ludovic Courtès |
2020-05-04 | openpgp: 'lookup-key-by-{id,fingerprint}' return the key first....Previously, 'lookup-key-by-{id,fingerprint}' would always return the
list of packets where the primary key is first. Thus, the caller would
need to use 'find' to actually find the requested key.
* guix/openpgp.scm (keyring-insert): Always add KEY to PACKETS.
(lookup-key-by-id, lookup-key-by-fingerprint): Change to return the key
as the first value.
(verify-openpgp-signature): Remove now unneeded call to 'find'.
* tests/openpgp.scm ("get-openpgp-keyring"): Adjust accordingly.
| Ludovic Courtès |
2020-05-04 | openpgp: 'verify-openpgp-signature' looks up by fingerprint when possible....* guix/openpgp.scm (verify-openpgp-signature): Use
'lookup-key-by-fingerprint' when SIG contains a fingerprint.
Honor FINGERPRINT in the 'find' predicate. Upon missing-key, return
FINGERPRINT if available.
* tests/openpgp.scm ("verify-openpgp-signature, missing key"): Adjust
expected value accordingly.
| Ludovic Courtès |
2020-05-04 | openpgp: Add 'lookup-key-by-fingerprint'....* guix/openpgp.scm (<openpgp-keyring>)[table]: Rename to...
[ids]: ... this.
[fingerprints]: New field.
(keyring-insert, lookup-key-by-fingerprint): New procedures.
(%empty-keyring): Adjust.
(get-openpgp-keyring): Manipulate KEYRING instead of its vhash, use
'keyring-insert'.
* tests/openpgp.scm ("get-openpgp-keyring"): Test
'lookup-key-by-fingerprint'.
| Ludovic Courtès |
2020-05-04 | openpgp: Store the issuer key id and fingerprint in <openpgp-signature>....* guix/openpgp.scm (<openpgp-signature>)[issuer, issuer-fingerprint]:
New fields.
(openpgp-signature-issuer, openpgp-signature-issuer-fingerprint): Remove.
(verify-openpgp-signature): Use 'openpgp-signature-issuer-key-id'.
(get-signature): Initialize 'issuer' and 'issuer-fingerprint'.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Adjust
accordingly.
| Ludovic Courtès |
2020-05-04 | openpgp: Decode the issuer-fingerprint signature subpacket....* guix/openpgp.scm (SUBPACKET-ISSUER-FINGERPRINT): New variable.
(openpgp-signature-issuer-fingerprint): New procedure.
(key-id-matches-fingerprint?): New procedure.
(get-signature): Look for the 'issuer and 'issuer-fingerprint
subpackets. Ensure the issuer key ID matches the fingerprint when both
are available.
(parse-subpackets): Handle SUBPACKET-ISSUER-FINGERPRINT.
* tests/openpgp.scm (%rsa-key-fingerprint)
(%dsa-key-fingerprint, %ed25519-key-fingerprint): New variables.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Check the
result of 'openpgp-signature-issuer-fingerprint'.
| Ludovic Courtès |
2020-05-04 | Add (guix openpgp)....* guix/openpgp.scm, tests/openpgp.scm, tests/civodul.key,
tests/dsa.key, tests/ed25519.key, tests/rsa.key,
tests/ed25519.sec: New files.
* Makefile.am (MODULES): Add guix/openpgp.scm.
(SCM_TESTS): Add tests/openpgp.scm.
(EXTRA_DIST): Add tests/*.key and tests/ed25519.sec.
| Ludovic Courtès |
2020-05-01 | profiles: Mark manual database as non-substitutable....Fixes <https://bugs.gnu.org/40381>.
Reported by pkill9 <pkill9@runbox.com>.
* guix/profiles.scm (manual-database): Pass #:substitutable? #f.
| Ludovic Courtès |
2020-04-27 | guix: edit: Make nano the default editor....* guix/scripts/edit.scm: Make nano the default editor.
Nano is sensible default, as it is installed by base system.
For development, user can set custom value for $EDITOR.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Raghav Gururajan |
2020-04-27 | import: crate: Gracefully handle non-existent crates....Fixes <https://bugs.gnu.org/40891>.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.
* guix/import/crate.scm (crate->guix-package): Wrap value of
'version-number' and 'version*' in (and crate ...).
| Ludovic Courtès |
2020-04-26 | channels: Use a declarative profile....* guix/channels.scm (package-cache-file): Use 'profile' instead of
'profile-derivation'.
| Ludovic Courtès |
2020-04-26 | pack: Use a declarative profile....* guix/scripts/pack.scm (guix-pack): Use a declarative profile instead
of 'profile-derivation'.
| Ludovic Courtès |
2020-04-26 | profiles: Add lowerable <profile> record type....* guix/profiles.scm (<profile>): New record type.
* tests/profiles.scm ("<profile>"): New test.
| Ludovic Courtès |
2020-04-26 | substitute: Close port at the end of http-multiple-get....* guix/scripts/substitute.scm (http-multiple-get): Add close-port call.
| Christopher Baines |
2020-04-26 | substitute: Make http-multiple-get batch size configurable....* guix/scripts/substitute.scm (http-multiple-get): Add batch-size parameter.
| Christopher Baines |
2020-04-26 | substitute: Use the same port for multiple request batches....In http-multiple-get.
* guix/scripts/substitute.scm (http-multiple-get): Switch port to p in one
occurrence.
| Christopher Baines |
2020-04-24 | guix package: Export 'search-path-environment-variables'.......because Emacs-Guix uses it.
* guix/scripts/package.scm (search-path-environment-variables): Export.
| Marius Bakke |
2020-04-24 | Revert "licenses: Export license record."...This reverts commit f0779922ff260df2404c90504986aa59553154fb. We do not want
to export the license record, see:
https://lists.gnu.org/archive/html/guix-commits/2020-04/msg01923.html.
| Mathieu Othacehe |
2020-04-23 | compile: Pre-load the compiler outside 'with-target'....* guix/build/compile.scm (compile-files): Move call to 'compile' before
'with-target'. Failing to do that, if the target has a different word
size than the host, the first call to 'compile-file' fails with:
ice-9/eval.scm:293:34: In procedure load-thunk-from-memory: ELF file does not have native word size
while attempting loading 'language/spec.go'.
| Ludovic Courtès |
2020-04-23 | licenses: Export license record....* guix/licenses.scm (<license>): Export it.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
| zimoun |
2020-04-23 | git-version: Raise a condition instead of an error....* guix/git-download.scm (git-version): Replace ERROR with RAISE
and CONDITION.
This is a follow-up to commit bbf6bc1acc9bbdebf7ee7b68c0fa091733a5f6e1.
| Jakub Kądziołka |
2020-04-23 | git-version: Handle invalid arguments gracefully...* guix/git-download.scm (git-version): Add a check for commit ID length.
| Jakub Kądziołka |
2020-04-22 | profiles: Add #:name parameter to 'profile-derivation'....* guix/profiles.scm (profile-derivation): Add #:name and pass it to
'gexp->derivation'.
| Ludovic Courtès |
2020-04-22 | gexp: Add 'load-path?' field to <scheme-file>....* guix/gexp.scm (<scheme-file>)[load-path?]: New field.
(scheme-file): Add #:set-load-path? and honor it.
(scheme-file-compiler): Pass #:set-load-path? to 'gexp->file'.
* doc/guix.texi (G-Expressions): Document it.
| Ludovic Courtès |
2020-04-21 | self: Build and install 'guix-cookbook.info' and its translations....* guix/self.scm (translate-texi-manuals)[build]: Translate and install
guix-cookbook.texi.
(info-manual)[build]: Handle "guix-cookbook*.texi".
| Ludovic Courtès |
2020-04-21 | self: translate-texi-manuals: Add 'available-translations'....* guix/self.scm (translate-texi-manuals)[build](available-translations):
New procedure.
Use it rather than directly calling 'find-files' & co.
| Ludovic Courtès |
2020-04-21 | self: translate-texi-manuals: Don't hardcode "guix.texi"....* guix/self.scm (translate-texi-manuals)[build](translate-texi): Add
'prefix' and #:extras parameters and honor them. Adjust callers.
| Ludovic Courtès |
2020-04-21 | packages: Recommend against the use of 'package-file'....* guix/packages.scm (package-file): Recommend against its use in the
docstring.
* doc/guix.texi (The Store Monad): Likewise.
| Ludovic Courtès |
2020-04-20 | syscalls: Fix Linux detection in 'readdir*'....* guix/build/syscalls.scm (readdir*): Fix Linux detection for
`arm-unknown-linux-gnueabihf'.
| Julien Lepiller |
2020-04-19 | tests: Invoke 'git' with a custom '.gitconfig' and ignore the system config....Fixes <https://bugs.gnu.org/37679>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
* guix/tests/git.scm (call-with-environment-variables): New procedure.
(with-environment-variables): New macro.
(populate-git-repository)[git]: Wrap (git-command) invocation in
'call-with-temporary-directory' and 'with-environment-variables'.
| Ludovic Courtès |
2020-04-19 | status: Remove extra space before ellipsis....Extra space was introduced in 8fa4ac5be4d5f8a1e62635842b16486832ff49f1.
* guix/status.scm (print-build-event): Remove extra space before
ellipsis.
| Ludovic Courtès |
2020-04-17 | gnupg: Accept revoked keys....I (nckx) have revoked all RSA subkeys, in favour of my older and
freshly-refreshed ECDSA ones. This was merely a precaution: to my
knowledge all my RSA private keys have been carefully destroyed and
were never compromised. This commit keeps ‘make authenticate’ happy.
* guix/gnupg.scm (revkeysig-rx): New variable for revoked keys.
(gnupg-verify): Parse it.
(gnupg-status-good-signature?): Accept it as ‘good’ for our purposes.
* build-aux/git-authenticate.scm (%committers): Clarify nckx's subkeys.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tobias Geerinckx-Rice |
2020-04-17 | ui: Fix typos, 80-col & grammar in comments & docstrings....* guix/ui.scm (load*): Fix comment line length.
(leave-on-EPIPE): Fix typo in docstring.
(substitutable-info): Fix typo in comment.
(indented-string): Fix typo in docstring.
(%package-metrics): Fix typo in comment.
(run-guix): Fix grammar in docstring.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Vincent Legoll |
2020-04-17 | status: Allow double-click select of URLs....Various places while downloading or compiling guix prints
the source URL. This change makes the URL easier to use by
placing a space between the URL and the trailing dots.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
| TomZ |
2020-04-16 | import/print: Don't factorize URI if there's no version match....* guix/import/print.scm (package->code): If FACTORIZE-URI returns just the
unmodified string use that as the URI.
| Ricardo Wurmus |
2020-04-16 | import/utils: alist->package: Include arguments....* guix/import/utils.scm (alist->package): Process arguments field in input
data and include it in the generated package.
| Ricardo Wurmus |
2020-04-16 | import/json: json->code: Handle files with more than one definition....* guix/import/json.scm (json->code): Convert JSON arrays to lists of package
definitions.
(json->scheme-file): Write all expressions to the target file.
| Ricardo Wurmus |
2020-04-16 | import/utils: alist->package: Ignore known inputs....* guix/import/utils.scm (alist->package): Accept optional list of known
inputs, which are excluded from the specification lookup.
* guix/import/print.scm (package->code)[package-lists->code]: Handle inputs
which are just symbols.
| Ricardo Wurmus |
2020-04-16 | import/print: package->code: Wrap S-expression in definition....* guix/import/print.scm (package->code): Return a definition, not just a
package expression.
| Ricardo Wurmus |
2020-04-16 | import/json: Use json->code....* guix/import/json.scm (json->code): Export procedure.
* guix/scripts/import/json.scm (guix-import-json): Use json->code.
| Ricardo Wurmus |
2020-04-16 | scripts/package: Handle JSON files....* guix/scripts/package.scm (%options): Support loading from JSON files when
"install-from-file" is used.
| Ricardo Wurmus |
2020-04-16 | scripts/build: options->things-to-build: Handle .json files....* guix/scripts/build.scm (options->things-to-build): Handle files that end on
.json.
| Ricardo Wurmus |
2020-04-16 | import/json: Add json->scheme-file....* guix/import/json.scm (json->code, json->scheme-file): New procedures.
| Ricardo Wurmus |
2020-04-16 | import/print: package->code: Wrap build system value in module reference....* guix/import/print.scm (package->code): Return build system value with
corresponding module.
| Ricardo Wurmus |
2020-04-16 | import/print: Return license with prefix....* guix/import/print.scm (license->code): Prepend license: prefix.
| Ricardo Wurmus |
2020-04-16 | syscalls: 'readdir*' chooses between the Linux and Hurd code at run time....Partly fixes <https://bugs.gnu.org/40574>.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.
Previously, we'd choose at expansion time whether to use the Hurd or the
Linux variant, taking the cross-compilation target into account. This
would lead to the wrong decision when (guix build syscalls) is evaluated
while we're cross-compiling to GNU/Hurd.
This is a followup to 1ab9e483391f8b62b873833ea71cb0074efa03e7.
* guix/build/syscalls.scm (define-generic-identifier)
(read-dirent-header, %struct-dirent-header, sizeof-dirent-header):
Remove.
(readdir*): Rename to...
(readdir-procedure): ... this, and add parameters.
(readdir*): Define as a call to 'readdir-procedure' as a function of
%HOST-TYPE.
| Ludovic Courtès |
2020-04-15 | Merge branch 'version-1.1.0' | Ludovic Courtès |
2020-04-14 | weather: Delete duplicate entries coming from '--manifest'....* guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'.
| Ludovic Courtès |