summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2015-10-27upstream: Add 'description' field to 'upstream-updater'.Alex Kost
Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'. [description]: New field. (lookup-updater): Adjust accordingly. * guix/gnu-maintenance.scm (%gnu-updater): Likewise. * guix/import/cran.scm (%cran-updater): Likewise. * guix/import/elpa.scm (%elpa-updater): Likewise. * po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and guix/gnu-maintenance.scm.
2015-10-27profiles: Add generation manipulation procedures.Ludovic Courtès
* guix/scripts/package.scm (delete-generations): Use 'delete-generation*' instead of 'delete-generation'. (guix-package)[process-actions]: Use 'roll-back*' instead of 'roll-back' and 'switch-to-generation*' instead of 'switch-to-generation'. (link-to-empty-profile, switch-to-generation, switch-to-previous-generation, roll-back, delete-generation): Move to... * guix/profiles.scm: ... here. Adjust to not print messages and to return values that can be used by user interfaces. * guix/ui.scm (display-generation-change, roll-back*, switch-to-generation*, delete-generation*): New procedures.
2015-10-27utils: Add 'switch-symlinks', moved from (guix ui).Ludovic Courtès
* guix/ui.scm (switch-symlinks): Move to... * guix/utils.scm: ... here. New procedure. * guix/scripts/pull.scm: Use it.
2015-10-27guix system: Add the 'list-generations' command.Ludovic Courtès
* guix/scripts/system.scm (display-system-generation, list-generations): New procedures. (process-action): Clarify docstring. (process-command): New procedure. (guix-system)[parse-sub-command]: Add 'list-generations' Call 'process-command' instead of 'process-action'. * doc/guix.texi (Using the Configuration System): Mention generations, rollback, and 'list-generations'. (Invoking guix system): Document 'list-generations'.
2015-10-27guix system: Factorize boot parameter parsing.Ludovic Courtès
* guix/scripts/system.scm (<boot-parameters>): New record type. (read-boot-parameters): New procedure. (previous-grub-entries)[system->grub-entry]: Use it.
2015-10-27ui: Add procedures to display a profile generation.Ludovic Courtès
* guix/scripts/package.scm (guix-package)[process-query](list-generations): Move part of the body to 'delete-generation' and 'display-profile-content'. * guix/ui.scm (display-generation, display-profile-content): New procedures.
2015-10-27utils: Add 'readlink*'.Ludovic Courtès
* guix/scripts/package.scm (readlink*): Move to... * guix/utils.scm (readlink*): ... here. New procedure.
2015-10-27guix system: Extract action processing.Ludovic Courtès
* guix/scripts/system.scm (process-action): New procedure. Extracted from... (guix-system): ... here. Use it.
2015-10-27ui: Add 'matching-generations'.Ludovic Courtès
* guix/scripts/package.scm (matching-generations): Move to... * guix/ui.scm (matching-generations): ... here.
2015-10-26build-system/haskell: CONFIG_SHELL env variable.Paul van der Walt
For Cabal packages with "build-type: Configure", a configure shell script is run to set up build parameters. These scripts need the CONFIG_SHELL environment variable to be set to function properly. * guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if necessary.
2015-10-25scripts: environment: Add --container option.David Thompson
* guix/scripts/system.scm (specification->file-system-mapping): Move from here... * guix/ui.scm (specification->file-system-mapping): ... to here. * guix/scripts/enviroment.scm (show-help): Show help for new options. (%options): Add --container --network, --expose, and --share options. (%network-configuration-files): New variable. (launch-environment, launch-environment/container, requisites*, inputs->requisites): New procedures. (guix-environment): Spawn new process in a container when requested. * doc/guix.texi (Invoking guix environment): Document it. * tests/guix-environment-container.sh: New file. * Makefile.am (SH_TESTS): Add it.
2015-10-23import: hackage: Fix grammar.Paul van der Walt
Minor clarification regarding the test-dependencies command line option. * guix/scripts/import/hackage.scm (show-help): Minor grammatical fix.
2015-10-23import: hackage: Update GHC libraries for 7.10.2.Paul van der Walt
Update ghc-standard-libraries to match the output of `ghc-pkg list` when using GHC 7.10.2. * guix/import/hackage.scm (ghc-standard-libraries): Sort and update list of core GHC libraries.
2015-10-21import: cran: Add copyright notice.Ludovic Courtès
Add notice for commit d882c23.
2015-10-21import: cran: Avoid HTTP redirect.Ludovic Courtès
* guix/import/cran.scm (cran-fetch): Add trailing slash in URL to avoid HTTP redirect.
2015-10-21import: cran: Add updater.Ludovic Courtès
* guix/import/cran.scm (downloads->url, nodes->text): New procedures. (cran-sxml->sexp): Use them. Remove equivalent local code. (latest-release, cran-package?): New procedures. (%cran-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %CRAN-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention CRAN.
2015-10-21refresh: Remove exception catch-all.Ludovic Courtès
* guix/scripts/refresh.scm (update-package): Remove 'catch #t'.
2015-10-21refresh: Add '--type' option.Ludovic Courtès
* guix/scripts/refresh.scm (%options, show-help): Add --type. (lookup-updater): New procedure. (update-package): Add 'updaters' parameter and honor it. (guix-refresh)[options->updaters]: New procedure. Use it, and honor --type.
2015-10-21import: elpa: Add updater.Ludovic Courtès
* guix/import/elpa.scm (latest-release, package-from-gnu.org?): New procedures. (%elpa-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %ELPA-UPDATER.
2015-10-21import: elpa: Use 'http-fetch/cached' to retrieve the archive.Ludovic Courtès
* guix/import/elpa.scm (elpa-fetch-archive): Set %HTTP-CACHE-TTL to 6 hours. (call-with-downloaded-file): Use 'http-fetch/cached' instead of 'url-fetch'.
2015-10-21gnu-maintenance: Generalize, leading to (guix upstream).Ludovic Courtès
* guix/gnu-maintenance.scm (<gnu-release>): Remove. (coalesce-releases): Move to upstream.scm. Rename to 'coalesce-sources'; adjust callers. (releases, latest-release): Return <upstream-source> objects instead of <gnu-release> objects. (latest-release*, non-emacs-gnu-package?): New procedures. (gnu-release-archive-types): Remove. (%gnu-updater): New variable. (package-update-path, download-tarball, package-update, update-package-source): Move to... * guix/upstream.scm: ... here. New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Replace gnu-maintenance.scm with upstream.scm. * guix/scripts/refresh.scm (%updaters): New variable. (update-package): Adjust to new 'package-update' interface. (guix-refresh): Adjust to new 'package-update-path'. Remove 'false-if-exception' around it.
2015-10-21http-client: '%http-cache-ttl' is really a parameter.Ludovic Courtès
Fixes a typo in commit 739ab68 that made it a procedure returning a parameter. * guix/http-client.scm (%http-cache-ttl): Turn into a parameter.
2015-10-20Add 'guix challenge'.Ludovic Courtès
* guix/scripts/challenge.scm, tests/challenge.scm: New files. * Makefile.am (MODULES): Add the former. (SCM_TESTS): Add the latter. * doc.am (SUBCOMMANDS): Add 'challenge'. * doc/guix.texi (Substitutes): Add xref to 'guix challenge'. (Invoking guix challenge): New node. * doc/contributing.texi (Submitting Patches): Add note about using 'guix challenge'. * po/guix/POTFILES.in: Add guix/scripts/challenge.scm.
2015-10-19substitute: Expose narinfo access.Ludovic Courtès
* guix/scripts/substitute.scm: Export <narinfo> accessors. (narinfo-hash->sha256): New procedure. (cache-narinfo!): Ignore EACCES exceptions.
2015-10-19guix archive: Add '--extract'.Ludovic Courtès
* guix/scripts/archive.scm (show-help, %options): Add --extract. (guix-archive): Honor it. * tests/guix-archive.sh: Test it. * doc/guix.texi (Invoking guix archive): Document it.
2015-10-17gnu-maintenance: Fix file descriptor leak.Ludovic Courtès
* guix/gnu-maintenance.scm (official-gnu-packages): Close the port returned by FETCH.
2015-10-17gnu-maintenance: Use 'http-fetch/cached' by default.Ludovic Courtès
This speeds up operations like 'guix lint -c gnu-description'. * guix/gnu-maintenance.scm (official-gnu-packages): Add 'fetch' parameter and honor it. Default to 'http-fetch/cached'.
2015-10-17http-client: Add 'http-fetch/cached'.Ludovic Courtès
* guix/utils.scm (cache-directory): New procedure. * guix/http-client.scm (%http-cache-ttl): New variable. (http-fetch/cached): New procedure.
2015-10-17syscalls: Fix ABI mismatch for 'clone'.Ludovic Courtès
Fixes <http://bugs.gnu.org/21694>. * guix/build/syscalls.scm (clone): Change 'syscall' parameter types to LONG, UNSIGNED-LONG, or '*; make sure it has 6 parameters. Adjust caller accordingly.
2015-10-14guix system: Add 'dmd-graph' command.Ludovic Courtès
* guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type, export-dmd-graph): New procedures. (show-help): Add 'dmd-graph'. (guix-system)[parse-sub-command]: Likewise. Honor it. * doc/guix.texi (Invoking guix system): Document it. (dmd Services): Add an illustration and explanation. * doc/images/dmd-graph.dot: New file. * doc.am (DOT_FILES): Add it.
2015-10-14guix system: Add 'extension-graph' command.Ludovic Courtès
* guix/scripts/system.scm (service-node-label, service-node-type, export-extension-graph): New procedures. (guix-system)[parse-sub-command]: Add 'extension-graph'. Honor it. (show-help): Add 'extension-graph'. * doc/guix.texi (Invoking guix system): Document it. (Service Composition): Add cross-reference.
2015-10-14graph: 'export-graph' takes a #:reverse-edges? parameter.Ludovic Courtès
* guix/scripts/graph.scm (export-graph): Add #:reverse-edges? parameter and honor it.
2015-10-14build-system/gnu: dist-package: Use 'autoconf-wrapper'.Ludovic Courtès
* guix/build-system/gnu.scm (dist-package): Use AUTOCONF-WRAPPER instead of AUTOCONF.
2015-10-13build-system/python: Memoize the results of 'package-with-python2'.Ludovic Courtès
Fixes <http://bugs.gnu.org/21675>. Reported by Cyril Roelandt <tipecaml@gmail.com>. Before this change, the command: guix build python2-oslo.utils -n --no-substitutes would take 17.5s. After, it is down to 2.9s. Likewise, the command: guix graph python2-bandit | grep python2-setuptools.*Helve| wc -l would return 412 nodes before, all functionally equivalent, and returns a single one now. * guix/build-system/python.scm (package-with-explicit-python): Remove 'p' parameter. Change to return a one-argument memoizing procedure. (package-with-python2): Adjust accordingly.
2015-10-12Merge branch 'core-updates'Ludovic Courtès
2015-10-12emacs: Add 'guix-devel-build-package-source'.Alex Kost
Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/scripts.scm (build-package-source): New procedure. * emacs/guix-devel.el (guix-devel-build-package-source): New command. (guix-devel-keys-map): Add key binding for it. * doc/emacs.texi (Emacs Development): Document it.
2015-10-10guix system: Add '--derivation'.Ludovic Courtès
* guix/scripts/system.scm (perform-action): Add #:derivations-only? parameter and honor it. (show-help, %options): Add '--derivation'. (guix-system): Pass #:derivations-only? to 'perform-action'. * tests/guix-system.sh: Test it. * doc/guix.texi (Invoking guix system): Document it.
2015-10-10gexp: Add 'scheme-file'.Ludovic Courtès
* guix/gexp.scm (<scheme-file>): New record type. (scheme-file, scheme-file-compiler): New procedures. * tests/gexp.scm ("scheme-file"): New test. * doc/guix.texi (G-Expressions): Document 'scheme-file'.
2015-10-10gexp: Add 'mixed-text-file'.Ludovic Courtès
* guix/gexp.scm (mixed-text-file): New procedure. * tests/gexp.scm ("mixed-text-file"): New test. * doc/guix.texi (G-Expressions): Document it.
2015-10-10gexp: Add 'program-file'.Ludovic Courtès
* guix/gexp.scm (<program-file>): New record type. (program-file, program-file-compiler): New procedures. * tests/gexp.scm ("program-file"): New test. * doc/guix.texi (G-Expressions): Document it.
2015-10-10gexp: Add 'computed-file'.Ludovic Courtès
* guix/gexp.scm (<computed-file>): New record type. (computed-file, computed-file-compiler): New procedures. * tests/gexp.scm ("lower-object, computed-file"): New test. * doc/guix.texi (G-Expressions): Document 'computed-file'.
2015-10-09scripts: environment: Use system* instead of system.David Thompson
This allows for direct program invokation without needing a shell to act as a command interpreter. * guix/scripts/environment.scm (%default-shell): New variable. (show-help): Adjust description. Remove '--exec' reference. (%default-options): Use '%default-shell'. (%options): Adjust '--exec' to run command via the default shell. (parse-args): New procedure. (guix-environment): Use 'parse-args'. Use 'system*' instead of 'system'. * tests/guix-environment.sh: Add test for '--' command invokation. * doc/guix.texi ("Invoking guix environment"): Use new syntax. Remove '--exec' documentation.
2015-10-09utils: Add split procedure.David Thompson
* guix/utils.scm (split): New procedure. * tests/utils.scm: Add tests.
2015-10-09lint: Export 'run-checkers'.Alex Kost
* guix/scripts/lint.scm (run-checkers): Export. Make 'checkers' argument optional.
2015-10-07Merge branch 'master' into core-updatesMark H Weaver
2015-10-06publish: Fix file descriptor leak.Ludovic Courtès
A client closing the connection while reading from a /nar URL would leave an open file descriptor in the server. This patch fixes it. * guix/scripts/publish.scm (swallow-EPIPE): New macro. (http-write): Use it around 'write-file' call.
2015-10-06import: snix: Adjust names of license attributes.Ludovic Courtès
* guix/import/snix.scm (license-variable): Adjust names to current Nixpkgs.
2015-10-06utils: Remove Nixpkgs helpers.Ludovic Courtès
* guix/config.scm.in (%nixpkgs): Remove. * guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation, nixpkgs-derivation*): Remove. * test-env.in: Export 'NIXPKGS'. * tests/derivations.scm (%coreutils): Remove use of 'nixpkgs-derivation'. * tests/snix.scm (%nixpkgs-directory): New variable. Adjust users accordingly.
2015-10-05import: pypi: Remove unused procedure.Ludovic Courtès
* guix/import/pypi.scm (join): Remove.
2015-10-04packages: Use locales from the /X.Y sub-directory of the locale package.Ludovic Courtès
This is a followup to commit f2d7bbb. * guix/packages.scm (patch-and-repack)[build]: Append "/X.Y" to LOCPATH.