Age | Commit message (Expand) | Author |
2016-10-17 | grafts: Remove unnecessary 'umask' call....This is a followup to d72267863382041b84a9712eea354882be72ef55.
* guix/build/graft.scm (rewrite-directory): Remove 'umask' call.
| Ludovic Courtès |
2016-10-17 | grafts: Apply the right grafts in the presence of multiple outputs....Fixes <http://bugs.gnu.org/24712>.
* guix/grafts.scm (cumulative-grafts): Add grafts for all the outputs of
DRV.
* tests/grafts.scm ("graft-derivation, replaced derivation has multiple
outputs"): New test.
| Ludovic Courtès |
2016-10-17 | guix build: Add '--with-graft'....* guix/scripts/build.scm (transform-package-inputs/graft): New procedure.
(%transformations): Add 'with-graft'.
(%transformation-options): Likewise.
(show-transformation-options-help): Document it.
* tests/scripts-build.scm ("options->transformation, with-graft"): New
test.
* doc/guix.texi (Package Transformation Options): Document it.
| Ludovic Courtès |
2016-10-17 | guix build: Factorize transformation option parsing....* guix/scripts/build.scm (%transformation-options): Introduce 'parser'
procedure and use it.
| Ludovic Courtès |
2016-10-17 | guix build: Extract '--with-input' replacement spec parsing....* guix/scripts/build.scm (evaluate-replacement-specs): New procedure.
(transform-package-inputs)[not-equal]: Remove.
[replacements]: Define in terms of 'evaluate-replacement-specs'.
| Ludovic Courtès |
2016-10-16 | import: utils: Remove dependency on (json) module....This fixes a regression introduced by commit
fbe9c1012820ab72f022a6ec958c35b431ae7a74.
* guix/import/utils.scm: Remove unused (json) module.
| Alex Kost |
2016-10-15 | graph: Add '%referrer-node-type'....* guix/scripts/graph.scm (ensure-store-items): New procedure.
(%reference-node-type)[convert]: Use it.
(non-derivation-referrers): New procedure.
(%referrer-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("referrer DAG"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
| Ludovic Courtès |
2016-10-15 | grafts: Remove unused variables and confusing monad use....* guix/grafts.scm (cumulative-grafts)[return/cache]: Use %STATE-MONAD,
not %STORE-MONAD.
Remove unused 'origins' variable and unnecessary inner 'cache'
variable.
| Ludovic Courtès |
2016-10-14 | grafts: 'graft-derivation' does now introduce grafts that shadow other grafts....Partly fixes <http://bugs.gnu.org/24418>.
* guix/grafts.scm (cumulative-grafts)[graft-origin?]: New procedure.
[dependency-grafts]: Use it in new 'if' around recursive call.
* tests/grafts.scm ("graft-derivation, grafts are not shadowed"): New test.
| Ludovic Courtès |
2016-10-14 | packages: 'package-grafts' applies grafts on replacement....Partly fixes <http://bugs.gnu.org/24418>.
* guix/packages.scm (input-graft): Compute 'new' with #:graft? #t.
(input-cross-graft): Likewise.
* tests/packages.scm ("package-grafts, indirect grafts, cross"): Comment
out.
("replacement also grafted"): New test.
| Ludovic Courtès |
2016-10-13 | Revert "guix: python-build-system: Fix an outdated comment."...This reverts commit 635a7af45d6e2105ad65d1a9531126cc232a2a50.
| Mark H Weaver |
2016-10-13 | guix: python-build-system: Fix an outdated comment....The python-build-system uses phases the build and install, but not
configure. So the old comment was plain wrong since Sept. 2013, when the build
phase has been added.
| Hartmut Goebel |
2016-10-10 | grafts: Always make directories #o755....Fixes <http://bugs.gnu.org/22954>.
Reported by Albin <albin@fripost.org>
and Jeffrey Serio <serio.jeffrey@gmail.com>.
* guix/build/graft.scm (mkdir-p*): New procedure.
(rewrite-directory): Use it instead of 'mkdir-p'.
| Ludovic Courtès |
2016-10-10 | bournish: Add 'reboot' command....Suggested by Ricardo Wurmus.
* guix/build/bournish.scm (reboot-command): New procedure.
(%commands): Add it.
| Ludovic Courtès |
2016-10-10 | substitute: Make download messages more concise....'guix substitute' now displays 2 lines per download instead of 4.
Suggested by Ricardo Wurmus.
* guix/scripts/substitute.scm (assert-valid-narinfo): Have #:verbose?
default to #f. Remove leading newline in message.
(process-substitution): Display the URI rather than the store file name.
Display two newlines after the substitution.
| Ludovic Courtès |
2016-10-10 | import: github: Add .love extension....* guix/import/github.scm (find-extension): Add '.love' extension to the
list of extensions checked.
| Efraim Flashner |
2016-10-09 | license: Add freebsd-doc....* guix/licenses.scm (freebsd-doc): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| ng0 |
2016-10-08 | build-system: Add asdf-build-system....* guix/build-system/asdf.scm: New file.
* guix/build/asdf-build-system.scm: New file.
* guix/build/lisp-utils.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'asdf-build-system'.
Signed-off-by: 宋文武 <iyzsong@gmail.com>
| Andy Patterson |
2016-10-07 | utils: Support defaults in substitute-keyword-arguments....* guix/utils.scm (collect-default-args, expand-default-args): New
syntax.
(substitute-keyword-arguments): Allow default value declarations.
* tests/utils.scm (substitute-keyword-arguments): New test.
| Eric Bavier |
2016-10-07 | utils: Fix default-keyword-arguments....* guix/utils.scm (default-keyword-arguments): Properly test for present
keywords.
* tests/utils.scm (default-keyword-arguments): New test.
| Eric Bavier |
2016-10-06 | guix system: Return two values when failing to talk to shepherd....Before that, when 'guix system reconfigure' failed to talk to shepherd
and a 'system-error' was raised, we would get a "too few values returned
to continuation" error, which would prevent GRUB from being installed.
Reported by fps on #guix.
* guix/scripts/system.scm (warn-on-system-error): Remove.
(with-shepherd-error-handling): Inline former 'warn-on-system-error'.
Return two values when 'system-error' is raised.
| Ludovic Courtès |
2016-10-03 | lint: 'cve' checker reports the replacement's vulnerabilities....Before, 'guix lint -c cve' would report the vulnerabilities of the
original package while pretending they are the vulnerabilities of the
replacement.
* guix/scripts/lint.scm (check-vulnerabilities): Consider the package
replacement before calling 'package-vulnerabilities'.
* tests/lint.scm ("cve: vulnerability fixed in replacement version"):
New test.
| Ludovic Courtès |
2016-10-03 | grafts: Allow the replacement to have a different name....* guix/build/graft.scm (replace-store-references): REPLACEMENT is now
the full string, not just the hash.
(rewrite-directory)[hash-mapping](valid-suffix?): Remove.
(hash+suffix): Rename to...
(hash+rest): ... this. Change to return the whole string as the second
element of the list. Adjust 'match-lambda' expression accordingly;
check whether the string length of the origin and replacement match.
* tests/grafts.scm ("graft-derivation, grafted item uses a different
name"): New test.
* doc/guix.texi (Security Updates): Update sentence on the name/version
restriction.
| Ludovic Courtès |
2016-09-29 | build: Improve Guile 2.2 compatibility....* build-aux/compile-all.scm (compile-file*): Ensure loading of
compilation related modules before going parallel.
* guix/build/pull.scm (build-guix): Ditto.
| Taylan Ulrich Bayırlı/Kammer |
2016-09-28 | import: utils: Refactor license->symbol....* guix/import/utils.scm (license->symbol): Work for all licenses.
* tests/import-utils.scm (license->symbol): Add test.
| David Craven |
2016-09-28 | import: utils: Add spdx-string->license....* guix/import/utils.scm (spdx-string->license): New variable.
* guix/licenses.scm (agpl1, fdl1.2+): New variables.
| David Craven |
2016-09-28 | import: Move string->license to importers....* guix/import/gem.scm (string->license): Move from (guix import utils).
* guix/import/pypi.scm (string->license): Move from (guix import utils).
| David Craven |
2016-09-28 | import: Reorder imports in (guix import utils)....* guix/import/utils.scm (define-module): Reorder imports alphabetically.
| David Craven |
2016-09-27 | guix build: Gracefully handle packages without source for '-S'....Fixes <http://bugs.gnu.org/22836>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/scripts/build.scm (options->derivations): Gracefully
handle (package-source p) = #f.
| Ludovic Courtès |
2016-09-27 | Add missing exports....Reported by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
at <https://lists.gnu.org/archive/html/guix-devel/2016-09/msg01686.html>.
* gnu/system/file-systems.scm (%tty-gid): Export.
* guix/build-system/python.scm (default-python, default-python2):
Export.
| Ludovic Courtès |
2016-09-26 | profiles: Build GTK+ input module cache....* guix/profiles.scm (gtk-im-modules): New procedure.
(%default-profile-hooks): Add it.
| Ricardo Wurmus |
2016-09-26 | profiles: manifest-lookup-package: Optionally match version prefix....* guix/profiles.scm (manifest-lookup-package): Optionally filter store
item matches by version prefix.
| Ricardo Wurmus |
2016-09-24 | system: grub.cfg uses correct file names when store is not in root partition....Fixes <http://bugs.gnu.org/24346>.
Reported by csanchezdll@gmail.com (Carlos Sánchez de La Lama).
* guix/scripts/system.scm (previous-grub-entries): Get the initrd file
name from PARAMS.
* gnu/system.scm (operating-system-grub.cfg): Use
'operating-system-initrd-file' to retrieve the initrd file name.
* gnu/system/grub.scm (strip-mount-point): New procedure.
(grub-configuration-file)[entry->gexp]: Call 'strip-mount-point' for
LINUX and INITRD.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Carlos Sánchez de La Lama |
2016-09-20 | ui: Do not shadow '_' where it's used as a literal syntax match....Fixes compilation with Guile 2.1.
Reported by Mu Lei.
* guix/ui.scm (report-load-error)
(warn-about-load-error, read/eval-package-expression): Use 'rest'
instead of '_' as the pattern variable name.
* gnu/packages.scm (%find-package): Likewise.
* guix/scripts/build.scm (transform-package-inputs): Likewise.
* guix/scripts/hash.scm (guix-hash): Likewise.
* guix/scripts/import/gnu.scm (%options, guix-import-gnu): Likewise.
* guix/scripts/import/nix.scm (guix-import-nix): Likewise.
* guix/scripts/offload.scm (build-machines): Likewise.
* guix/scripts/refresh.scm (%options): Likewise.
* guix/scripts/substitute.scm (narinfo-signature->canonical-sexp):
Likewise.
| Ludovic Courtès |
2016-09-10 | gexp: Store compilers in a hash table for O(1) lookup....* guix/gexp.scm (<gexp-compiler>)[predicate]: Remove.
[type]: New field.
(%gexp-compilers): Turn into a hash table.
(register-compiler!, lookup-compiler, lookup-expander): Adjust
accordingly.
(define-gexp-compiler): Replace 'predicate' by 'record-type'.
(derivation-compiler, local-file-compiler, plain-file-compiler)
(computed-file-compiler, program-file-compiler, scheme-file-compiler)
(file-append-compiler): Adjust accordingly.
* guix/packages.scm (package-compiler, origin-compiler): Likewise.
| Ludovic Courtès |
2016-09-09 | gexp: Add 'file-append'....* guix/gexp.scm (<file-append>): New record type.
(file-append): New procedure.
(file-append-compiler): New gexp compiler.
* tests/gexp.scm ("file-append", "file-append, output")
("file-append, nested", "gexp->file + file-append"): New tests.
* doc/guix.texi (G-Expressions): Use it in 'nscd' and 'list-files'
examples. Document 'file-append'.
| Ludovic Courtès |
2016-09-09 | gexp: Compilers can now provide an "expander"....* guix/gexp.scm (<gexp-compiler>)[expand]: New field.
(default-expander, lookup-expander): New procedures.
(define-gexp-compiler): Add second pattern to allow for the definition
of both a compiler and an expander.
(gexp->sexp)[reference->sexp]: Call 'lookup-expander' and use its
result.
| Ludovic Courtès |
2016-09-09 | gexp: Remove outdated comment....* guix/gexp.scm (lower-references): Remove outdated "XXX" comment.
| Ludovic Courtès |
2016-09-07 | guix hash: Add --exclude-vcs option....* guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option.
(%options): Add --exclude-vcs option.
(guix-hash): Handle exclude-vcs option.
* doc/guix.texi ("Invoking guix hash"): Update doc.
* tests/guix-hash.sh: Add test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Jan Nieuwenhuizen |
2016-09-06 | packages: Add 'package-superseded' and associated support....This provides a way to mark a package as superseded by another one.
Upgrades replace superseded packages with their replacement.
* guix/packages.scm (package-superseded, deprecated-package): New
procedures.
* gnu/packages.scm (%find-package): Check for 'package-superseded'.
* guix/scripts/package.scm (transaction-upgrade-entry)[supersede]: New
procedure. Call it when 'package-superseded' is true.
* tests/guix-build.sh: Add test for a superseded package.
* tests/packages.scm ("package-superseded")
("transaction-upgrade-entry, superseded package"): New tests.
| Ludovic Courtès |
2016-09-06 | profiles: Export <manifest-pattern> accessors....* guix/profiles.scm (manifest-pattern-name, manifest-pattern-version)
(manifest-pattern-output): Export.
| Ludovic Courtès |
2016-09-06 | guix package: Build up the transaction incrementally....* guix/scripts/package.scm (upgraded-manifest-entry): Rename to...
(transaction-upgrade-entry): ... this. Add 'transaction' parameter and
return a transaction.
(options->installable): Likewise.
[to-upgrade]: Rename to...
[upgraded]: ... this, and change to be a transaction. Return a
transaction.
(options->removable): Likewise.
(process-actions): Adjust accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades")
("transaction-upgrade-entry, one upgrade"): New tests.
| Ludovic Courtès |
2016-09-06 | profiles: Add manifest-transaction helper procedures....* guix/profiles.scm (manifest-transaction-install-entry)
(manifest-transaction-remove-pattern)
(manifest-transaction-null?): New procedures.
* tests/profiles.scm ("manifest-transaction-null?"): New test.
| Ludovic Courtès |
2016-09-06 | guix package: Clarify upgrade code....* guix/scripts/package.scm (upgradeable?): Rename to...
(upgraded-manifest-entry): ... this. Change to take a <manifest-entry>
and to return a <manifest-entry>.
(options->installable)[to-upgrade]: Adjust accordingly.
| Ludovic Courtès |
2016-09-06 | gnupg: Honor $GUIX_GPG_COMMAND and default to 'gpg'....* guix/gnupg.scm (%gpg-command): Change to "gpg" or $GUIX_GPG_COMMAND.
| Ludovic Courtès |
2016-09-06 | syscalls: Use #:return-errno? when it is available....* guix/build/syscalls.scm (errno): Do not export.
(syscall->procedure): Change to return a procedure that returns both the
value and errno. Use #:return-errno? where available.
(mount, umount, swapon, swapoff, mkdtemp!, fdatasync, statfs)
(clone, setns, pivot-root, fcntl-flock, network-interface-names)
(network-interface-flags, set-network-interface-flags)
(set-network-interface-address, network-interface-address):
(network-interfaces, tcgetattr, tcsetattr, terminal-window-size): Adjust
accordingly using 'let-values'.
| Ludovic Courtès |
2016-09-05 | Add (guix modules)....* guix/modules.scm, tests/modules.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* doc/guix.texi (G-Expressions): Add an example of
'source-module-closure'.
| Ludovic Courtès |
2016-09-05 | file-systems: Always use (guix build syscalls)....* gnu/build/file-systems.scm: Use (guix build syscalls)
unconditionally. Override the 'mount' and 'umount' bindings
when (guile) provides them.
(MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_REMOUNT)
(MS_BIND, MS_MOVE): Remove.
* guix/build/syscalls.scm (%libc-errno-pointer): Add
'false-if-exception' around 'dynamic-func'.
| Ludovic Courtès |
2016-09-05 | ui: Initialize %FILE-PORT-NAME-CANONICALIZATION to #f....This avoids loads of needless 'stat' calls due to the default 'relative
setting and the 'canonicalize-path' calls it leads to. This was
especially visible when 'guix substitute' access files in
/var/guix/substitute/cache.
* guix/ui.scm (run-guix-command): Set %FILE-PORT-NAME-CANONICALIZATION
to #f.
| Ludovic Courtès |
2016-09-03 | guix: ant-build-system: Fix pattern for collecting jar files....The former pattern included the "jar" binary.
* guix/build/ant-build-system.scm (generate-classpath): Change pattern.
Suggested by: Ricardo Wurmus <rekado@elephly.net>
| Hartmut Goebel |