aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updatesMarius Bakke2018-11-14
|\
| * deduplication: Restore directory mtime and permissions after deduplication.Ludovic Courtès2018-11-13
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/33361>. * guix/store/deduplication.scm (replace-with-link): Call 'set-file-time' and 'chmod' after 'rename-file'. * tests/nar.scm ("restore-file-set with directories (signed, valid)"): New test.
| * tests: Check file canonicalization for 'restore-file-set'.Ludovic Courtès2018-11-13
| | | | | | | | | | | | * guix/tests.scm (canonical-file?): New procedure. * tests/nar.scm ("restore-file-set (signed, valid)"): Check that every item of FILES matches 'canonical-file?'.
| * nar: Access the database instead of connecting to the daemon.Ludovic Courtès2018-11-13
| | | | | | | | | | | | | | * guix/store/database.scm (%default-database-file): New variable. (path-id): Export. * guix/nar.scm (finalize-store-file): Use 'with-database' instead of 'with-store', and use 'path-id' instead of 'valid-path?'.
| * store: Add a functional object cache and use it in 'lower-object'.Ludovic Courtès2018-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | This leads to ~25% improvements on things like: guix system build desktop.tmpl --no-grafts -d * guix/store.scm (<nix-server>)[object-cache]: New field. * guix/store.scm (open-connection): Initialize it. (cache-object-mapping, lookup-cached-object, %mcached): New procedures. (mcached): New macro. * guix/gexp.scm (lower-object): Use it. * guix/grafts.scm (grafting?): New procedure.
| * tests: Add 'test-assertm' to (guix tests).Ludovic Courtès2018-11-12
| | | | | | | | | | | | | | | | | | * guix/tests.scm (test-assertm): New macro. * tests/gexp.scm (test-assertm): Remove. * tests/profiles.scm (test-assertm): Remove. * tests/challenge.scm (%store, test-assertm): Remove. * tests/debug-link.scm (%store, test-assertm): Remove. * tests/size.scm (%store, test-assertm): Remove.
| * build-system/go: Plan removal of the pkg folder for go-1.11 onward.Pierre Neidhardt2018-11-12
| | | | | | | | * guix/build/go-build-system.scm (install): New comment.
| * guix system: Invoking 'guix system init' twice keeps timestamps zeroed.Ludovic Courtès2018-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby running 'guix system init config.scm /mnt' twice would, on the second run, change timestamps in /mnt/gnu/store from the Epoch to now. This is because the 'register-path' call would bypass the 'reset-timestamps' phase altogether in that case, as a consequence of commit bb3b6ccb05550fbfbeb459c68819a752327d6e1e. Reported by Christopher Baines. * guix/scripts/system.scm (install): When TARGET/var/guix exists, delete it. As a side-effect, this ensures that later on, the 'register-path' call invokes 'reset-timestamps' on all the copied store items.
| * guix package: '--show' errors when asked for a non-existent package.Ludovic Courtès2018-11-11
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/33323>. Reported by swedebugia <swedebugia@riseup.net>. * guix/scripts/package.scm (process-query): Call 'leave' when 'find-packages-by-name' returns the empty list. * tests/guix-package.sh: Test it.
| * ci: Add procedures to access evaluations.Ludovic Courtès2018-11-10
| | | | | | | | | | | | | | | | * guix/ci.scm (<checkout>, <evaluation>): New record types. (latest-builds): Add #:evaluation and #:system and honor it. Define 'option'. (json->checkout, json->evaluation, latest-evaluations) (evaluations-for-commit): New procedures.
| * gnu-maintenance: Base kernel.org updater on HTML directory listings.Ludovic Courtès2018-11-10
| | | | | | | | | | | | | | | | | | | | | | | | Partially fixes <https://bugs.gnu.org/28159>. The FTP server at ftp.free.fr had become unable to produce directory listings, effectively making the updater dysfunctional. Furthermore FTP is considered obsolescent so HTTP + HTML looks more future-proof. * guix/gnu-maintenance.scm (html->sxml, html-links) (latest-html-release): New procedures. (latest-kernel.org-release): Rewrite in terms of 'latest-html-release'.
| * gnu-maintenance: ".sign" and ".asc" files no longer match 'release-file?'.Ludovic Courtès2018-11-10
| | | | | | | | | | * guix/gnu-maintenance.scm (release-file?): Exclude ".sign" and ".asc" file in addition to ".sig".
* | build-system/dub: Let all phases return #T unconditionally.Ricardo Wurmus2018-11-13
| | | | | | | | | | * guix/build/dub-build-system.scm (configure, build, check): Return #T unconditionally; use INVOKE.
* | build-system/haskell: Fix register phase.Ricardo Wurmus2018-11-12
| | | | | | | | | | | | | | | | | | This is a follow-up to commit a7e231a2a3edbd6a70949432c1ff434d87f625ff. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/build/haskell-build-system.scm (register): Use "when" instead of "unless".
* | Merge branch 'master' into core-updatesMarius Bakke2018-11-09
|\|
| * pull: Add missing monadic 'return'.Ludovic Courtès2018-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced in 5f7dd092ca577a534067f577b8849ed06cabf970 where, upon completion, 'guix pull' would fail (instead of printing the new/upgraded packages) with ugly errors like: successfully built /gnu/store/…-profile.drv 1 package in profile Backtrace: […] In guix/store.scm: 1605:24 1 (run-with-store _ _ #:guile-for-build _ #:system _ # _) In unknown file: 0 (_ #<build-daemon 256.97 2476b40>) ERROR: Wrong type to apply: #t Reported by thorwil on #guix. * guix/scripts/pull.scm (build-and-install): Add missing 'return' when DRY-RUN? is wrong.
* | Merge branch 'master' into core-updatesMarius Bakke2018-11-07
|\|
| * store-copy: Canonicalize the mtime and permissions of the store copy.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby directories in the output of 'guix pack -f tarball' would not be read-only. * guix/build/store-copy.scm (reset-permissions): New procedure. (populate-store): Pass #:keep-mtime? #t to 'copy-recursively'. Call 'reset-permissions'. * tests/pack.scm ("self-contained-tarball"): In CHECK, define 'canonical?' and use it to check that every file has an mtime of 1 and is read-only. * tests/guix-pack.sh: Invoke "chmod -Rf +w" before "rm -rf" in trap.
| * pack: Squashfs backend now honors '--localstatedir'.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | * guix/scripts/pack.scm (squashfs-image)[database]: New variable. [build]: Add (gnu build install) to the closure. Call 'install-database-and-gc-roots' when DATABASE is true, and invoke mksquashfs once more. * tests/pack.scm ("squashfs-image + localstatedir"): New test.
| * pack: Docker backend now honors '--localstatedir'.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | | | * guix/docker.scm (build-docker-image): Add #:database parameter. Create /var/guix/db, /var/guix/profiles, etc. when DATABASE is true. * guix/scripts/pack.scm (docker-image): Export. Remove #:deduplicate? parameter. Define 'database' and pass it to 'docker-image'. * tests/pack.scm (test-assertm): Recompile the derivation of %BOOTSTRAP-GUILE. ("docker-image + localstatedir"): New test.
| * pack: Import (guix store database) only when '--localstatedir' is passed.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | This is another way to address <https://bugs.gnu.org/32184>, which was previously addressed in commit 19c924af4f3726688ca155a905ebf1cb9acdfca2. * gnu/build/install.scm (register-closure): Move to... * gnu/build/vm.scm (register-closure): ... here. New procedure. * guix/scripts/pack.scm (self-contained-tarball)[build]: Remove now unneeded 'with-extensions' form and custom (guix config) module. * tests/guix-pack.sh: Revert the strategy from commit 19c924af4f3726688ca155a905ebf1cb9acdfca2. * tests/pack.scm ("self-contained-tarball"): Likewise.
| * pack: Move store database creation to a separate derivation.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pack.scm (store-database): New procedure. (self-contained-tarball): Use it when LOCALSTATEDIR? is true. Remove 'schema' and add 'database'. [build]: Pass DATABASE to 'populate-single-profile-directory'. (squashfs-image): Remove #:deduplicate? parameter. [build]: Remove (gnu build install) and (guix config) from the imported modules. Remove 'with-extensions'. * gnu/build/install.scm (populate-single-profile-directory): Remove #:deduplicate?, #:register?, and #:schema; add #:database. Remove call to 'register-closure' and simply copy DATABASE instead.
| * guix: Update to Bioconductor 3.8.Ricardo Wurmus2018-11-06
| | | | | | | | | | * guix/import/cran.scm (%bioconductor-version): Update to 3.8. * guix/build-system/r.scm (bioconductor-uri): Update archive URL.
| * self: Install shell completion files.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | * guix/self.scm (miscellaneous-files): New procedure. (whole-package): Remove #:substitute-keys, add #:miscellany. [build]: Remove code for SUBSTITUTE-KEYS and add code to copy MISCELLANY to OUTPUT. (compiled-guix): Adjust call to 'whole-package'.
| * self: Rename 'sub-directory' to 'file-append*'.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | * guix/self.scm (sub-directory): Rename to... (file-append*): ... this. Add #:recursive? parameter and pass it to 'local-file'. (locale-data, info-manual, compiled-guix): Adjust accordingly.
| * ssh: Honor the SOCKET-NAME argument of connect-to-remote-daemon.Maxim Cournoyer2018-11-05
| | | | | | | | | | * guix/ssh.scm (connect-to-remote-daemon): Pass the `socket-name' variable to the `open-connection' call so that it is honored.
| * self: Install substitute keys.Ludovic Courtès2018-11-06
| | | | | | | | | | | | * guix/self.scm (whole-package): Add #:substitute-keys and honor it. (compiled-guix): Pass #:substitute-keys to 'whole-package' when PULL-VERSION is one.
| * self: Remove extra paren in manual version string.Ludovic Courtès2018-11-06
| | | | | | | | | | * guix/self.scm (info-manual)[build]: Remove extra closing paren in VERSION.
| * pull: Make '--dry-run' behave as expected.Ludovic Courtès2018-11-06
| | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (show-help): Document '--dry-run'. (build-and-install): Add #:dry-run? parameter and honor it. (guix-pull): Remove (assoc-ref opts 'dry-run?) condition. Instead, pass it as #:dry-run? to 'build-and-install'. * doc/guix.texi (Invoking guix pull): Document '--dry-run'. Move '--verbose' to the bottom.
* | Merge branch 'master' into core-updatesMarius Bakke2018-11-05
|\|
| * git-download: Print a message when falling back to a full fetch.Maxim Cournoyer2018-10-28
| | | | | | | | | | | | | | | | | | Otherwise the user might believe that git-fetch stalled, observing the lack of output following a 'fatal' git error message (see: https://debbugs.gnu.org/33100). * guix/build/git.scm (git-fetch): Print message when falling back to a full fetch.
| * Add 'guix processes'.Ludovic Courtès2018-10-29
| | | | | | | | | | | | | | | | | | * guix/scripts/processes.scm, tests/processes.scm: New files. * Makefile.am (MODULES): Add the former. (SCM_TESTS): Add the latter. * po/guix/POTFILES.in: Add guix/scripts/processes.scm. * doc/guix.texi (Invoking guix processes): New node. (Invoking guix-daemon): Reference it.
| * import: hackage: Do not repeat inputs in native-inputs.Arun Isaac2018-10-28
| | | | | | | | | | | | * guix/import/hackage.scm (hackage-module->sexp): Do not repeat inputs again in native-inputs. native-inputs should only contain packages that are not already listed in inputs.
| * gexp: 'gexp-modules' now consistently deletes duplicates.Ludovic Courtès2018-10-27
| | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/32966>. Reported by Clément Lassieur <clement@lassieur.org>. * guix/gexp.scm (gexp-attribute): Add 'equal?' optional parameter; pass it to 'delete-duplicates'. (gexp-modules)[module=?]: New procedure. Pass it to 'gexp-attribute'. * tests/gexp.scm ("gexp-modules deletes duplicates"): New test.
| * pack: Hide 'zip' colliding binding.Ludovic Courtès2018-10-27
| | | | | | | | * guix/scripts/pack.scm: Hide 'zip' from (gnu packages compression).
| * pack: Remove unused variable.Ludovic Courtès2018-10-27
| | | | | | | | * guix/scripts/pack.scm (self-contained-tarball)[libgcrypt]: Remove.
| * profiles: Fix typo in exports.Ludovic Courtès2018-10-26
| | | | | | | | * guix/profiles.scm (&profile-collistion-error): Fix typo in export list.
| * scripts: Suggest running 'guix gc' when we're short on disk space.Ludovic Courtès2018-10-23
| | | | | | | | | | | | | | * guix/scripts.scm (%disk-space-warning): New variable. (warn-about-disk-space): New procedure. * guix/scripts/package.scm (build-and-use-profile): Use it. * guix/scripts/system.scm (process-action): Likewise.
* | Merge branch 'master' into core-updatesMarius Bakke2018-10-21
|\|
| * tests: Run 'guix pack' tests using the external store.Ludovic Courtès2018-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/32184>. * guix/tests.scm (call-with-external-store): New procedure. (with-external-store): New macro. * tests/pack.scm (%store): Remove. (test-assertm): Add 'store' parameter. ("self-contained-tarball"): Wrap in 'with-external-store'. * tests/guix-pack.sh: Connect to the external store, if possible, by setting NIX_STORE_DIR and GUIX_DAEMON_SOCKET. Remove most uses of '--bootstrap'.
| * pack: Fix "-C none -f tarball".Ludovic Courtès2018-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced in 48b444304e206c35cf2c8e0d87a4711f1aac4fd4 whereby "guix pack -C none hello" would fail with: ERROR: In procedure string-join: In procedure string-join: Wrong type argument in position 1: #f builder for `/gnu/store/…-tarball-pack.tar.drv' failed with exit code 1 * guix/scripts/pack.scm (self-contained-tarball): Adjust for when 'compressor-command' returns #f.
| * gnu: Use pypi.org.Leo Famulari2018-10-18
| | | | | | | | | | | | | | | | <pypi.io> redirects to <pypi.org>. * guix/build-system/python.scm (pypi-uri): Replace pypi.io with pypi.org. * guix/import/pypi.scm (pypi-url?): Likewise. * tests/pypi.scm: Likewise.
| * services: dhcp-client: Deprecate 'dhcp-client-service' procedure.Ludovic Courtès2018-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/networking.scm (dhcp-client-service-type): Add default value. * gnu/system/examples/bare-bones.tmpl: Use (service dhcp-client-service-type) instead of (dhcp-client-service). * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/tests/base.scm (%avahi-os): Likewise. * gnu/tests/databases.scm (%memcached-os): Likewise. (%mongodb-os): Likewise. * gnu/tests/dict.scm (%dicod-os): Likewise. * gnu/tests/mail.scm (%opensmtpd-os): Likewise. (%exim-os): Likewise. (%dovecot-os): Likewise. * gnu/tests/messaging.scm (run-xmpp-test): Likewise. (run-bitlbee-test): Likewise. * gnu/tests/monitoring.scm (%prometheus-node-exporter-os): Likewise. * gnu/tests/networking.scm (%inetd-os): Likewise. (run-iptables-test): Likewise. * gnu/tests/nfs.scm (%base-os): Likewise. * gnu/tests/rsync.scm (%rsync-os): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/version-control.scm (%cgit-os): Likewise. (%git-http-os): Likewise. (%gitolite-os): Likewise. * gnu/tests/virtualization.scm (%libvirt-os): Likewise. * gnu/tests/web.scm (%httpd-os): Likewise. (%nginx-os): Likewise. (%varnish-os): Likewise. (%php-fpm-os): Likewise. (%hpcguix-web-os): Likewise. (%tailon-os): Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Networking Services): Document 'dhcp-client-service-type' and remove 'dhcp-client-service'.
* | java-utils: Use 'strip-store-file-name'.Alex Vong2018-10-19
| | | | | | | | | | | | | | | | | | | | | | See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00250.html>. * guix/build/java-utils.scm (package-name-version): Remove it. (install-javadoc): Use 'strip-store-file-name' instead of 'package-name-version'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | build-system/haskell: Use 'strip-store-file-name'.Alex Vong2018-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00250.html>. * guix/build/haskell-build-system.scm (package-name-version): Remove it. (configure): Use 'strip-store-file-name' instead of 'package-name-version'. (setup-compiler): Likewise. (make-ghc-package-database): Likewise. (register): Likewise. * gnu/packages/haskell.scm (ghc-cairo)[arguments]: Likewise. * gnu/packages/agda.scm (agda)[arguments]: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'master' into core-updatesMarius Bakke2018-10-17
|\|
| * import cran: Document "recursive" option.Pierre Neidhardt2018-10-17
| | | | | | | | * guix/scripts/import/cran.scm: (show-help): Document "recursive" option.
| * ui: Fix port-buffering with guile@2.0.Eric Bavier2018-10-16
| | | | | | | | | | | | | | * guix/status.scm (build-event-output-port)[guile@2.0]: Do not call 'setvbuf' on custom binary port. * tests/status.scm (current-build-output-port, UTF-8 + garbage)[guile@2.0]: Use "?" in place of REPLACEMENT CHARACTER.
| * import: json: Handle the error case.Danny Milosavljevic2018-10-16
| | | | | | | | * guix/import/json.scm (json-fetch-alist): Handle the error case.
| * status: Build upon multiplexed build output.Ludovic Courtès2018-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows for more accurate status tracking and parsing of extended build traces. * guix/status.scm (multiplexed-output-supported?): New procedure. (print-build-event): Don't print \r when PRINT-LOG? is true. Adjust 'build-log' handling for when 'multiplexed-output-supported?' returns true. (bytevector-index, split-lines): New procedures. (build-event-output-port)[%build-output-pid, %build-output] [%build-output-left]: New variables. [process-line]: Handle "@ build-output" traces. [process-build-output]: New procedure. [write!]: Add case for when %BUILD-OUTPUT-PID is true. Use 'bytevector-index' rather than 'string-index'. (compute-status): Add #:derivation-path->output-path. Use it. * tests/status.scm ("compute-status, multiplexed build output"): New test. ("build-output-port, UTF-8") ("current-build-output-port, UTF-8 + garbage"): Adjust to new 'build-log' output. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:multiplexed-build-output?. (%default-options): Add 'multiplexed-build-output?'. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. * guix/scripts/system.scm (%default-options): Likewise.