Age | Commit message (Expand) | Author |
2016-10-19 | tests: Make sure child process of 'pivot-root' test exits....* tests/syscalls.scm ("pivot-root"): Use 'test-equal'. Wrap child body
in 'dynamic-wind'.
| Ludovic Courtès |
2016-10-19 | tests: Fix typo in 'with-graft' transformation test....This is a followup to 645b9df858683dc05ffa04c9eb2fdc45ccef4a65.
* tests/scripts-build.scm ("options->transformation, with-graft"): Use
'with-graft', not 'with-input'.
| Ludovic Courtès |
2016-10-19 | lint: Suggest @code instead of quotes....* guix/scripts/lint.scm (%quoted-identifier-rx): New variable.
(check-description-style)[check-quotes]: New procedure.
Use it.
* tests/lint.scm ("description: suggest ornament instead of quotes"):
New test.
| Ludovic Courtès |
2016-10-19 | container: Allow 'container-excursion' to the same namespaces....Before that, 'container-excursion' would call 'setns' even when the
target namespace is the one the caller is already in, which would fail.
* gnu/build/linux-container.scm (container-excursion): Introduce
'source' and 'target'. Compare the result of 'readlink' on these
instead of comparing file descriptors to decide whether to call
'setns'.
* tests/containers.scm ("container-excursion, same namespace"): New test.
| 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-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-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-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-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-10-03 | tests: Adjust 'guix build -S' test for source-less packages....This is a followup to 8a54c0ec694ad6e22b155d167552b8fd0914e82d.
* tests/guix-build.sh: Allow 'guix build -S' to succeed with source-less
packages. Check that the result is the empty string.
| Ludovic Courtès |
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-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-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 | 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-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-01 | packages: Add 'package-input-rewriting'....* guix/packages.scm (package-input-rewriting): New procedure.
* tests/packages.scm ("package-input-rewriting"): New test.
* doc/guix.texi (Defining Packages): Document it.
(Package Transformation Options): Add cross-reference.
| Ludovic Courtès |
2016-09-01 | tests: hackage: Fix mock urls....Followup to 18f747350437136b203ef6400176d1fb07b131ea.
* tests/hackage.scm (hackage->guix-package): Use 'https' in mock urls.
| Efraim Flashner |
2016-08-31 | tests: cpan: Fix mock urls....Followup to 7a62263ee5.
* tests/cpan.scm (cpan->guix-package): Use "https" in mock urls.
| Eric Bavier |
2016-08-31 | services: shepherd: Add 'shepherd-service-upgrade', from 'guix system'....* guix/scripts/system.scm (service-upgrade): Move to...
* gnu/services/shepherd.scm (shepherd-service-upgrade): ... here.
* tests/system.scm ("service-upgrade: nothing to do", "service-upgrade:
one unchanged, one upgraded, one new", "service-upgrade: service
depended on is not unloaded", "service-upgrade: obsolete services that
depend on each other"): Move to...
* tests/services.scm: ... here. Adjust to 'service-upgrade' rename.
| Ludovic Courtès |
2016-08-31 | guix system: Do not unload services depended on....Reported by Mark H Weaver <mhw@netris.org>
at <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01470.html>.
* guix/scripts/system.scm (service-upgrade)[live-service-required?]: New
procedure.
[obsolete?]: Use it.
* tests/system.scm ("service-upgrade: service depended on is not
unloaded", "service-upgrade: obsolete services that depend on each
other"): New tests.
| Ludovic Courtès |
2016-08-31 | guix system: Use 'shepherd-service-lookup-procedure' in 'service-upgrade'....* guix/scripts/system.scm (service-upgrade)[essential?]: SERVICE is now
a <live-service>.
[lookup-target, lookup-live, running?, stopped, obsolete?]: New
procedures.
[to-load, to-unload]: Use them. TO-UNLOAD is now a list of
<live-service>.
(call-with-service-upgrade-info): Extract symbols from TO-UNLOAD.
* tests/system.scm ("service-upgrade: one unchanged, one upgraded, one
new"): Adjust accordingly.
| Ludovic Courtès |
2016-08-31 | services: shepherd: Add 'shepherd-service-lookup-procedure'....* gnu/services/shepherd.scm (shepherd-service-lookup-procedure): New
procedure.
(shepherd-service-back-edges)[provision->service]: Use it.
* tests/services.scm ("shepherd-service-lookup-procedure"): New test.
| Ludovic Courtès |
2016-08-31 | guix system: Extract and test the service upgrade procedure....* guix/scripts/system.scm (service-upgrade): New procedure, with code
from...
(call-with-service-upgrade-info): ... here. Use it.
* tests/system.scm (live-service, service-upgrade): New variables.
("service-upgrade: nothing to do", "service-upgrade: one unchanged, one
upgraded, one new"): New tests.
| Ludovic Courtès |
2016-08-28 | guix: lint: Check descriptions for trademark signs....* guix/scripts/lint.scm (check-description-style): Emit a warning if
trademark signs found in description.
* tests/lint.scm (description: may not contain trademark signs): Add
test.
| Eric Bavier |
2016-08-29 | tests: Fix 'guix environment --container' test in the presence of tmpfs....Reported by Ting-Wei Lan <lantw44@gmail.com>.
This is a followup to 1250034d5aff14fe236aad9900233a2b6f8563bb.
* tests/guix-environment-container.sh (mount_test_code): Reverse order
of 'string-prefix?' arguments.
| Ludovic Courtès |
2016-08-28 | import: Importers return prefixed licenses....* guix/import/utils.scm
(define-module): Import licenses with license: prefix.
(string->licenses): Use prefixed licenses.
(license->symbol): Return symbols with the prefix license:.
* guix/tests/pypi.scm (pypi->guix-package): Update test cases.
* guix/tests/gem.scm (gem->guix-package): Update test case.
| David Craven |
2016-08-04 | Merge branch 'core-updates' | Mark H Weaver |
2016-08-04 | Revert "Merge branch 'core-updates'"...This reverts commit 455859a50f88f625d13fc2f304111f02369b366b.
| Mark H Weaver |
2016-08-02 | tests: Make sure threads use separate output ports....* tests/publish.scm (with-separate-output-ports): New macro.
<top level>: Use it when spawning new thread.
("/*.narinfo with compression"): Likewise.
| Ludovic Courtès |
2016-08-02 | tests: Work around Guile bug with unbuffered custom binary input ports....Reported by Chris Marusich <cmmarusich@gmail.com>
at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24060#19>
* tests/publish.scm (http-get-port): Remove 'setvbuf' call for the
response port.
| Ludovic Courtès |
2016-08-01 | Merge branch 'core-updates' | Ludovic Courtès |
2016-08-01 | publish: Do not compress already-compressed files....* guix/scripts/publish.scm (narinfo-string): Force %NO-COMPRESSION when
STORE-PATH matches 'compressed-file?'.
* guix/utils.scm (compressed-file?): New procedure.
* tests/publish.scm ("/*.narinfo for a compressed file"): New test.
| Ludovic Courtès |
2016-07-31 | tests: 'guix-environment-container.sh' works when run from a tmpfs....Fixes <http://bugs.gnu.org/22004>.
Reported by Ting-Wei Lan <lantw44@gmail.com>.
* tests/guix-environment-container.sh (mount_test_code): Add 'match'
clause to ignore "/"; augment clause that ignores specific file system
types such that it does not ignore parent mount points.
| Ludovic Courtès |
2016-07-29 | tests: Improve synchronization in 'tests/guix-register.sh'....* tests/guix-register.sh: When launching guix-daemon, add retry loop
around 'open-connection'. This fixes test failures that could occur
under heavy load where the daemon's socket file wouldn't be ready yet
when the client connects.
| Ludovic Courtès |
2016-07-28 | gnu: commencement: 'guile-final' is now "hidden"....This way, we no longer have this annoying warning:
$ guix build guile -n
guix build: warning: ambiguous package specification `guile'
guix build: warning: choosing guile-2.0.11 from gnu/packages/guile.scm:128:2
* gnu/packages/commencement.scm (guile-final): Use 'hidden-package'.
* tests/packages.scm ("fold-packages, hidden package"): New test.
| Ludovic Courtès |
2016-07-28 | packages: Add 'hidden-package'....* guix/packages.scm (hidden-package, hidden-package?): New procedures.
* gnu/packages.scm (fold-packages): Filter out 'hidden-package?'.
* tests/packages.scm ("hidden-package"): New test.
| Ludovic Courtès |
2016-07-27 | tests: Use unbuffered input ports when decompressing from 'guix publish'....Fixes <http://bugs.gnu.org/24060>.
Reported by Chris Marusich <cmmarusich@gmail.com>.
* tests/publish.scm (http-get-port): Explicitly call
'open-socket-for-uri' and add calls to 'setvbuf'.
| Ludovic Courtès |
2016-07-26 | profiles: Output in 'package->manifest-entry' defaults to "out"....Fixes <http://bugs.gnu.org/24029>.
Reported by Dylan Jeffers <sapientech@openmailbox.org>.
* guix/profiles.scm (package->manifest-entry): Change #:output to
default to "out".
(packages->manifest): Add 'package?' in second 'match' clause.
* tests/profiles.scm ("package->manifest-entry defaults to \"out\""):
New test.
| Ludovic Courtès |
2016-07-26 | environment: Set 'GUIX_ENVIRONMENT' to the profile....* guix/scripts/environment.scm (create-environment): Set
'GUIX_ENVIRONMENT' to PROFILE.
* tests/guix-environment.sh: Test it.
* doc/guix.texi (Invoking guix environment): Document it.
| Ludovic Courtès |
2016-07-26 | import: pypi: Correctly handle new-style URLs....Fixes <http://bugs.gnu.org/23997>.
* guix/import/pypi.scm (guix-package->pypi-name): Rewrite using
'basename' and 'hyphen-package-name->name+version'.
* tests/pypi.scm ("guix-package->pypi-name, old URL style")
("guix-package->pypi-name, new URL style"): New tests.
| Ludovic Courtès |
2016-07-24 | lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin....* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when intltool,
itstool or glib:bin isn't a native-input.
* tests/lint.scm (inputs: glib:bin is probably a native input): Add test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| David Craven |
2016-07-20 | publish: Handle '/file' URLs, for content-addressed files....* guix/scripts/publish.scm (render-content-addressed-file): New procedure.
(http-write): Add 'application/octet-stream' case.
(make-request-handler): Add /file/NAME/sha256/HASH URLs.
* tests/publish.scm ("/file/NAME/sha256/HASH")
("/file/NAME/sha256/INVALID-NIX-BASE32-STRING")
("/file/NAME/sha256/INVALID-HASH"): New tests.
* doc/guix.texi (Invoking guix publish): Mention the /file URLs.
| Ludovic Courtès |
2016-07-20 | tests: Adjust to Shepherd error message change....This is a followup to commit 2c2ec261a8d3c37e5147038f47ad24c57cde4134.
* tests/guix-system.sh: Adjust expected error message for Shepherd
services that are not provided.
| Ludovic Courtès |
2016-07-19 | publish: Add '--compression'....* guix/scripts/publish.scm (show-help, %options): Add '--compression'.
(<compression>): New record type.
(%no-compression, %default-gzip-compression): New variables.
(%default-options): Add 'compression' key.
(narinfo-string): Add #:compression parameter and honor it.
(render-narinfo): Likewise.
(render-nar): Likewise.
<top level>: Add call to 'declare-header!'.
(swallow-zlib-error): New macro.
(nar-response-port): New procedure.
(http-write): Add call to 'force-output'. Use 'nar-response-port'
instead of 'response-port'. Use 'swallow-zlib-error'.
(make-request-handler): Add #:compression parameter and honor it. Add
"nar/gzip" URL handler.
(run-publish-server): Add #:compression parameter and honor it.
(guix-publish): Honor --compression.
* tests/publish.scm (http-get-port, wait-until-ready): New procedures.
<top level>: Run main server with "-C0". Call 'wait-until-ready'.
("/nar/gzip/*", "/*.narinfo with compression"): New tests.
* doc/guix.texi (Invoking guix publish): Document it.
| Ludovic Courtès |