summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2018-06-09pull: Install the new Guix in a profile.Ludovic Courtès
* guix/scripts/pull.scm (%pull-version): New variable. (build-from-source): Pass #:pull-version to BUILD. (whole-package-for-legacy, derivation->manifest-entry): New procedure. (build-and-install): Rewrite in terms of 'build-and-use-profile'. * guix/scripts/system.scm (maybe-suggest-running-guix-pull)[latest]: Switch to "/current". * scripts/guix.in (augment-load-paths!): Remove use of ~/.config/guix/latest. * build-aux/compile-as-derivation.scm: Replace "/guix/latest/" with "/current/share/guile/site/X.Y" * guix/scripts.scm (warn-about-old-distro)[age]: Check "/current" instead of "/latest". * doc/guix.texi (Invoking guix pull): Document it. * doc/contributing.texi (Running Guix Before It Is Installed): Remove footnote about abusing ~/.config/guix/latest.
2018-06-09self: Produce a complete package with the 'guix' command.Ludovic Courtès
* guix/self.scm (guix-command): New procedure. (compiled-guix): Add #:pull-version parameter. [command, package]: New variables. Honor PULL-VERSION. (guix-derivation): Add #:pull-version and pass it to 'compiled-guix'. * build-aux/build-self.scm (build-program): Add #:pull-version parameter. Pass it to 'guix-derivation'. (build): Add #:pull-version and pass it to 'build-program'. * build-aux/compile-as-derivation.scm: Pass #:pull-version to BUILD.
2018-06-08import: elpa: Remove unused (gnu packages) module.Oleg Pykhalov
* guix/import/elpa.scm: Remove unused (gnu packages) module.
2018-06-08config: Remove 'canonicalize-path' call.Ludovic Courtès
The call was unnecessary and would cause test failures because 'test-tmp/db' does not exist initially. * guix/config.scm.in (%store-database-directory): Remove 'canonicalize-path' call.
2018-06-08import: elpa: Add recursive import.Oleg Pykhalov
* doc/guix.texi (Invoking guix import): Document elpa recursive import. * guix/import/elpa.scm (elpa-package->sexp): Return package and dependencies values. (elpa-guix-name, elpa-recursive-import): New procedures. * guix/scripts/import/elpa.scm (show-help, %options): Add recursive option. (guix-import-elpa): Use 'elpa-recursive-import'.
2018-06-08import: utils: Add recursive-import.Oleg Pykhalov
* guix/import/cran.scm (cran-guix-name, cran-recursive-import): New procedures. (recursive-import): Remove procedure. * guix/import/utils.scm (guix-name, recursive-import): New procedures. * guix/scripts/import/cran.scm (guix-import-cran): Use 'cran-recursive-import' procedure.
2018-06-05Merge branch 'master' into core-updatesRicardo Wurmus
2018-06-05build-system/r: Update to Bioconductor 3.7.Ricardo Wurmus
This is a follow-up to 41f17554d88795bf35fbfc3e05301a6d2f64cca0. * guix/build-system/r.scm (bioconductor-uri): Update to version 3.7.
2018-06-03Merge branch 'master' into core-updatesMark H Weaver
2018-06-02self: Do not build (guix man-db).Ludovic Courtès
* guix/self.scm (specification->package): Remove "guile-gdbm-ffi" and "guile2.0-gdbm-ffi". (compiled-guix)[guile-gdbm-ffi]: Remove. [dependencies]: Remove it. [*core-modules*]: Add "guix/man-db.scm" via #:extra-files. [*extra-modules*]: Exclude "guix/man-db.scm".
2018-06-02Merge branch 'master' into core-updatesRicardo Wurmus
2018-06-02import: cran: Update to Bioconductor 3.7.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version): Update to 3.7.
2018-06-02self: Include gnu/build/* in the result.Ludovic Courtès
Previously, modules like gnu/build/cross-toolchain.scm or gnu/build/svg.scm were missing from the result. * guix/self.scm (compiled-guix)[*system-modules*]: Add gnu/build/* to #:extra-files. (imported-files)[same-target?]: New procedure. [build]: Call 'delete-duplicates' on FILES.
2018-06-02self: 'compiled-files' builds the given list of files.Ludovic Courtès
* guix/self.scm (compiled-files): Add 'module-files' parameter. [build]: 'process-directory' now honors MODULE-FILES instead of building any '.scm' file it sees. (scheme-node): Adjust accordingly.
2018-06-02self: Improve backtraces for 'imported-files'.Ludovic Courtès
* guix/self.scm (imported-files): Pass #:env-vars.
2018-06-01Merge branch 'master' into core-updatesLudovic Courtès
2018-06-01self: Show backtraces on more columns.Ludovic Courtès
* guix/self.scm (compiled-modules): Add "COLUMNS" to #:env-vars.
2018-06-01self: Add dependency on guile-gdbm-ffi.Ludovic Courtès
Fixes a regression introduced in 331ac4cc239727992329207ba428b3f26cae91d9 whereby "guile-gdbm-ffi" would now be mandatory. * guix/self.scm (specification->package): Add "guile-gdbm-ffi" and "guile2.0-gdbm-ffi". (compiled-guix)[guile-gdbm-ffi]: New variables. [dependencies]: Add it.
2018-06-01Add (guix store deduplication).Caleb Ristvedt
* guix/store/database.scm (register-path): Add #:deduplicate? and call 'deduplicate' when it's true. (counting-wrapper-port, nar-sha256): Move to... * guix/store/deduplication.scm: ... here. New file. * tests/store-deduplication.scm: New file. * Makefile.am (STORE_MODULES): Add deduplication.scm. (SCM_TESTS) [HAVE_GUILE_SQLITE3]: Add store-deduplication.scm. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-06-01database: 'register-path' resets timestamps.Ludovic Courtès
* guix/store/database.scm (reset-timestamps): New procedure. (register-path): Use it.
2018-06-01Add (gnu store database).Caleb Ristvedt
* guix/config.scm.in (%store-database-directory): New variable. * guix/store/database.scm: New file. * tests/store-database.scm: New file. * Makefile.am (STORE_MODULES): New variable. (MODULES, MODULES_NOT_COMPILED): Adjust accordingly. (SCM_TESTS) [HAVE_GUILE_SQLITE3]: Add tests/store-database.scm. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-06-01build: Check for Guile-SQLite3.Ludovic Courtès
* m4/guix.m4 (GUIX_CHECK_GUILE_SQLITE3): New macro. * configure.ac: Use it and define 'HAVE_GUILE_SQLITE3'. * guix/self.scm (specification->package): Add "guile-sqlite3". (compiled-guix)[guile-sqlite3]: New variable. [dependencies]: Add it.
2018-06-01profiles: Use 'with-extensions'.Ludovic Courtès
* guix/profiles.scm (manual-database)[build]: Use 'with-extensions'. Remove 'add-to-load-path' call. * guix/man-db.scm: Use (gdbm) the normal way; remove 'module-autoload!' call.
2018-06-01pack: Use 'with-extensions' when referring to (guix docker).Ludovic Courtès
* guix/docker.scm: Use module (json) the normal way. * guix/scripts/pack.scm (docker-image)[build]: Wrap in 'with-extensions'.
2018-06-01gexp: Add 'with-extensions'.Ludovic Courtès
* guix/gexp.scm (<gexp>)[extensions]: New field. (gexp-attribute): New procedure. (gexp-modules): Write in terms of 'gexp-attribute'. (gexp-extensions): New procedure. (gexp->derivation): Add #:effective-version. [extension-flags]: New procedure. Honor extensions of EXP. (current-imported-extensions): New syntax parameter. (with-extensions): New macro. (gexp): Honor CURRENT-IMPORTED-EXTENSIONS. (compiled-modules): Add #:extensions and honor it. (load-path-expression): Likewise. (gexp->script, gexp->file): Honor extensions. * tests/gexp.scm (%extension-package): New variable. ("gexp-extensions & ungexp") ("gexp-extensions & ungexp-splicing") ("gexp-extensions and literal Scheme object") ("gexp->derivation & with-extensions") ("program-file & with-extensions"): New tests. * doc/guix.texi (G-Expressions): Document 'with-extensions'.
2018-06-01gexp: 'compiled-modules' no longer overrides (guix build utils).Ludovic Courtès
Until now 'compiled-modules' would override (guix build utils) with its own. Thus, when asked to build a different (guix build utils), via #:module-path, it would fail badly because a (guix build utils) module was already loaded and possibly incompatible with the new one. This happened when running 'guix pull --branch=core-updates' from current master: in 'core-updates', (guix build utils) exports 'ignore-error?' but in 'master' it does not. Thus, 'guix pull' would fail with: no binding `invoke-error?' in module (guix build utils) builder for `/gnu/store/…-module-import-compiled.drv' failed with exit code 1 cannot build derivation `/gnu/store/…-compute-guix-derivation.drv': 1 dependencies couldn't be built This patch fixes it. * guix/gexp.scm (compiled-modules)[build-utils-hack?]: New variable. [build]: Load MODULES/build/utils.scm when it exists.
2018-06-01scripts: system: Sort profile generations in reverse order.Mathieu Othacehe
* guix/scripts/system.scm (profile-boot-parameters): Reverse generation-numbers list. This allows old generations to be listed from most recent to oldest in bootloaders configuration files.
2018-05-31records: Make a couple of procedures available at expansion time.Ludovic Courtès
* guix/records.scm (current-abi-identifier, abi-check): Wrap in 'eval-when'.
2018-05-31self: Reduce the set of dependencies.Ludovic Courtès
By mistake we were adding more dependencies than needed to the Scheme derivations. * guix/self.scm (compiled-guix)[dependencies]: Use 'package-transitive-propagated-inputs', not 'package-transitive-inputs'.
2018-05-31build-system/r: Use invoke.Ricardo Wurmus
* guix/build/r-build-system.scm (invoke-r): Use invoke. (pipe-to-r): Raise invoke-error on non-zero return value. (check): Unconditionally return #t.
2018-05-29Merge branch 'master' into core-updatesRicardo Wurmus
2018-05-29download: Remove unused procedure.Ludovic Courtès
* guix/download.scm (gnutls-package): Remove.
2018-05-28Merge branch 'master' into core-updatesMark H Weaver
2018-05-28pack: Add support for squashfs images.Ricardo Wurmus
* guix/scripts/pack.scm (%formats): Add "squashfs" format. (guix-pack): Adjust "archiver" dependent on pack-format. (squashfs-image): New procedure. * doc/guix.texi (Invoking guix pack): Document it.
2018-05-28pack: Rename "tar" to "archiver".Ricardo Wurmus
* guix/scripts/pack.scm (self-contained-tarball, docker-image): Accept "archiver" argument; remove "tar" argument. (guix-pack): Invoke "build-image" with "archiver" argument.
2018-05-28file-systems: Remove 'title' field and add <file-system-label>.Ludovic Courtès
The 'title' field was easily overlooked and was an endless source of confusion. Now, the value of the 'device' field is self-contained. * gnu/system/file-systems.scm (<file-system>): Change constructor name to '%file-system'. [title]: Remove. (<file-system-label>): New record type with printer. (report-deprecation, device-expression) (process-file-system-declaration, file-system): New macros. (file-system-title): New procedure. (file-system->spec, spec->file-system): Adjust to handle <file-system-label>. * gnu/system.scm (bootable-kernel-arguments): Add case for 'file-system-label?'. (read-boot-parameters): Likewise. (mapped-device-user): Avoid 'file-system-title'. (fs->boot-device): Remove. (operating-system-boot-parameters): Use 'file-system-device' instead of 'fs->boot-device'. (device->sexp): Add case for 'file-system-label?'. * gnu/bootloader/grub.scm (grub-root-search): Add case for 'file-system-label?'. * gnu/system/examples/bare-bones.tmpl, gnu/system/examples/beaglebone-black.tmpl, gnu/system/examples/lightweight-desktop.tmpl, gnu/system/examples/vm-image.tmpl: Remove uses of 'title'. * gnu/system/vm.scm (virtualized-operating-system): Remove uses of 'file-system-title'. * guix/scripts/system.scm (check-file-system-availability): Likewise, and adjust fix-it hint. (check-initrd-modules)[file-system-/dev]: Likewise. * gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title' parameter. [canonical-title]: Remove. Match on SPEC's type rather than on CANONICAL-TITLE. (mount-file-system): Adjust caller. * gnu/build/linux-boot.scm (boot-system): Interpret ROOT here. * gnu/services/base.scm (file-system->fstab-entry): Remove use of 'file-system-title'. * doc/guix.texi (File Systems): Remove documentation of the 'title' field. Rewrite documentation of 'device' and document 'file-system-label'.
2018-05-27Merge branch 'master' into core-updatesMark H Weaver
2018-05-26http-client: Send redirection messages to stderr.Marius Bakke
* guix/http-client.scm (http-fetch): Use CURRENT-ERROR-PORT instead of default output.
2018-05-24Merge branch 'master' into core-updatesMark H Weaver
2018-05-23records: Insert record type ABI checks in constructors.Ludovic Courtès
* guix/records.scm (print-record-abi-mismatch-error): New procedure. <top level>: Add 'set-exception-printer!' call. (current-abi-identifier, abi-check): New procedures. (make-syntactic-constructor): Add #:abi-cookie parameter. Insert calls to 'abi-check'. (define-record-type*)[compute-abi-cookie]: New procedure. Use it and emit a definition of the 'current-abi-identifier' for TYPE. * tests/records.scm ("ABI checks"): New test.
2018-05-21Merge branch 'master' into core-updatesMark H Weaver
2018-05-21profiles: Add hook to generate "gschemas.compiled".Danny Milosavljevic
* guix/profiles.scm (glib-schemas): New procedure. (%default-profile-hooks): Add it.
2018-05-17union: Do not warn about harmless collisions.Ludovic Courtès
Until now we'd get pointless messages like: warning: collision encountered: /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache /gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache * guix/build/union.scm (%harmless-collisions): New variable. (warn-about-collision): Honor it.
2018-05-17Merge branch 'master' into core-updatesMark H Weaver
2018-05-15gexp: Disable deprecation warnings for 'imported-modules'.Ludovic Courtès
Fixes <https://bugs.gnu.org/31450>. Reported by Martin Castillo <castilma@uni-bremen.de>. * guix/gexp.scm (gexp->derivation): Pass #:deprecation-warnings to 'imported-modules'. (imported-files): Add #:deprecation-warnings and pass #:env-vars to 'gexp->derivation'. (imported-modules): Add #:deprecation-warnings and pass it to 'imported-files'.
2018-05-14pack: Link top-level entries of wrapped packages.Ludovic Courtès
Previously things like: guix pack -R guile guile-json would lead to a profile without Guile-JSON, and to an 'etc/profile' that does not define 'GUILE_LOAD_PATH'. * guix/scripts/pack.scm (wrapped-package)[build]: Link top-level entries of PACKAGE into OUTPUT.
2018-05-13utils: Add 'version-prefix?'.Ludovic Courtès
* guix/utils.scm (version-prefix?): New procedure. * tests/utils.scm ("version-prefix?"): New test.
2018-05-11pack: 'guix pack -S xxx' no longer adds entries twice to the tarball.Ludovic Courtès
* guix/scripts/pack.scm (self-contained-tarball)[build](symlink->directives): Do not add a 'directory' directive for "/". Previously, as soon as we were using '-S /bin=bin' or similar, we would add every entry a second time in the tarball; this would translate as hard links in the tarball, which tar < 1.30 sometimes fails to extract. Pass symlinks defined in DIRECTIVES to 'tar'.
2018-05-11guix: Fix typo.Julien Lepiller
* guix/scripts/lint.scm: Fix typo.
2018-05-10gnu: android-make-stub: Update to 0.6.0.Danny Milosavljevic
* gnu/packages/android.scm (android-make-stub): Update to 0.6.0. * guix/build-system/android-ndk.scm (android-ndk-build): Modify. (lower): Modify.