aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* self: Provide UTF-8 locales when building the manual.Ludovic Courtès2018-12-02
| | | | | | | | Fixes <https://bugs.gnu.org/33580>. Reported by <znavko@tutanota.com>. * guix/self.scm (info-manual)[glibc-utf8-locales]: New variable. [build]: Add call to 'setenv' for "GUIX_LOCPATH".
* git: Nicely report '--with-commit' errors.Ludovic Courtès2018-11-30
| | | | | | | * guix/git.scm (latest-repository-commit*): Rewrite to catch 'git-error'. * po/guix/POTFILES.in: Add guix/git.scm. * tests/guix-build-branch.sh: Test --with-commit errors.
* guix build: Add '--with-commit'.Ludovic Courtès2018-11-30
| | | | | | | | | | | | | | * guix/git.scm (<git-checkout>)[commit]: New field. (git-checkout-compiler): Honor it. * guix/scripts/build.scm (evaluate-git-replacement-specs): Add 'proc' parameter and honor it. (transform-package-source-branch)[replace]: New procedure. Adjust 'evaluate-git-replacement-specs' accordingly. (transform-package-source-commit): New procedure. (%transformations, %transformation-options) (show-transformation-options-help): Add 'with-commit'. * tests/guix-build-branch.sh: Add test. * doc/guix.texi (Package Transformation Options): Document it.
* guix build: Add '--with-branch' transformation option.Ludovic Courtès2018-11-30
| | | | | | | | | | * guix/scripts/build.scm (evaluate-git-replacement-specs) (transform-package-source-branch): New procedures. (%transformations, %transformation-options): Add 'with-branch'. (show-transformation-options-help): Likewise. * tests/guix-build-branch.sh: New file. * Makefile.am (SH_TESTS): Add it. * doc/guix.texi (Package Transformation Options): Document it.
* git: Add <git-checkout> record type.Ludovic Courtès2018-11-30
| | | | | | * guix/git.scm (<git-checkout>): New record type. (latest-repository-commit*): New procedure. (git-checkout-compiler): New gexp compiler.
* git: 'latest-repository-commit' logs its progress.Ludovic Courtès2018-11-30
| | | | * guix/git.scm (latest-repository-commit): Add #:log-port and honor it.
* docker: Hide scary-looking but harmless tar failure messages.Ludovic Courtès2018-11-29
| | | | | * guix/docker.scm (build-docker-image): Wrap "tar --delete" invocation in 'with-error-to-port'.
* download: Add berlin.guixsd.org as a content-addressed mirror.Ludovic Courtès2018-11-28
| | | | | | * guix/download.scm (%content-addressed-mirrors)[guix-publish]: New procedure. Use it for "mirror.hydra.gnu.org" and add "berlin.guixsd.org" too.
* download: Make (guix base16) a soft dependency.Ludovic Courtès2018-11-28
| | | | | | | Fixes <https://bugs.gnu.org/33542>. Reported by Mark H Weaver <mhw@netris.org>. * guix/download.scm (%content-addressed-mirrors): Autoload (guix base16).
* guix hash: Fix version and help messagesTim Gesthuizen2018-11-28
| | | | | | | | | | | ca719424455465fca4b872c371daf2a46de88b33 changes the name of the executable to be displayed by the --version and --help commands of `guix hash` to "gcrypt hash". This is reverted by this commit. * guix/scripts/hash.scm (show-help): Change string literals Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* channels: Add 'checkout->channel-instance'.Ludovic Courtès2018-11-28
| | | | * guix/channels.scm (checkout->channel-instance): New procedure.
* inferior: Add 'inferior-eval-with-store'.Ludovic Courtès2018-11-28
| | | | | | | | * guix/inferior.scm (inferior-eval-with-store): New procedure, with code formerly in 'inferior-package-derivation'. (inferior-package-derivation): Rewrite in terms of 'inferior-eval-with-store'. * tests/inferior.scm ("inferior-eval-with-store"): New test.
* ui: 'show-what-to-build' reports grafts separately.Ludovic Courtès2018-11-28
| | | | | | * guix/ui.scm (graft-derivation?): New procedure. (show-what-to-build): Distinguish among BUILD derivations that match 'graft-derivation?'. Report them separately.
* status: Report grafting derivations specially.Ludovic Courtès2018-11-28
| | | | | * guix/status.scm (print-build-event): In 'build-started' event handler, check the properties of DRV and handle 'graft' derivations specially.
* grafts: Record metadata as derivation properties.Ludovic Courtès2018-11-28
| | | | | | | * guix/grafts.scm (graft-derivation/shallow): Pass #:properties to 'build-expression->derivation'. * tests/grafts.scm ("graft-derivation, grafted item is a direct dependency"): Check the value returned by 'derivation-properties'.
* derivations: Add properties.Ludovic Courtès2018-11-28
| | | | | | | | | | | | * guix/derivations.scm (derivation): Add #:properties parameter. [user+system-env-vars]: Honor it. (derivation-properties): New procedure. (build-expression->derivation): Add #:properties and pass it to 'derivation'. * guix/gexp.scm (gexp->derivation): Likewise. * tests/derivations.scm ("derivation-properties"): New test. * tests/gexp.scm ("gexp->derivation properties"): New test. * doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.
* pack: List the available formats.Efraim Flashner2018-11-27
| | | | | * guix/scripts/pack.scm (show-formats): New variable. (%options, show-help): Add 'list-formats' option.
* describe: Delete 'directory' argument from 'display-checkout-info'.Oleg Pykhalov2018-11-27
| | | | | | | This commit follows 1255400faabfcf0ca1666d17f2f34ea0d49f6b1f. * guix/scripts/describe.scm (display-checkout-info): Delete 'directory' argument.
* swh: Export 'save-origin' and related bindings.Ludovic Courtès2018-11-27
| | | | * guix/swh.scm: Export bindings related to 'save-origin'.
* repl: Do not exit repl on SIGINT.Oleg Pykhalov2018-11-26
| | | | * guix/scripts/repl.scm (guix-repl): Do not exit repl on SIGINT.
* git-download: Download from Software Heritage as a last resort.Ludovic Courtès2018-11-26
| | | | | | | | * guix/git-download.scm (git-fetch)[inputs]: Add gzip and tar when 'git-reference-recursive?' is false. [guile-json, gnutls]: New variables. [modules]: Add (guix swh). [build]: Wrap in 'with-extensions'. Add call to 'swh-download'.
* Add (guix swh).Ludovic Courtès2018-11-26
| | | | | * guix/swh.scm: New file. * Makefile.am (MODULES): Add it.
* git-download: Use 'git-minimal' instead of 'git'.Ludovic Courtès2018-11-26
| | | | * guix/git-download.scm (git-package): Refer to 'git-minimal'.
* ssh: Make 'send-files' more robust.Ludovic Courtès2018-11-24
| | | | | | | Possibly fixes <https://bugs.gnu.org/33239>. * guix/ssh.scm (send-files): Call 'channel-get-exit-status' only when RESULT is true.
* build-system: clojure-build-system: Fix %default-clojure location.Jelle Licht2018-11-24
| | | | * guix/build-system/clojure.scm (%default-clojure): Use new package path.
* pack: Add '--profile-name'.Ludovic Courtès2018-11-23
| | | | | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball): Add #:profile-name and honor it. (squashfs-image, docker-image): Add #:profile-name. (%default-options): Add 'profile-name'. (%options, show-help): Add "--profile-name". (guix-pack): Honor it. * tests/guix-pack-localstatedir.sh: New file. * Makefile.am (SH_TESTS): Add it. * doc/guix.texi (Invoking guix pack): Document "--profile-name".
* status: Display 'build-remote' events.Ludovic Courtès2018-11-23
| | | | * guix/status.scm (print-build-event): Add clause for 'build-remote'.
* Update Guile-SQLite3 URL everywhere.Ludovic Courtès2018-11-23
| | | | | | | * README: Update Guile-SQLite3 URL. * doc/guix.texi (Requirements): Likewise. * guix/store/database.scm (sqlite-exec): Likewise. * m4/guix.m4 (GUIX_CHECK_GUILE_SQLITE3): Likewise.
* describe: Add recutils format.Oleg Pykhalov2018-11-22
| | | | | | | * guix/scripts/describe.scm (channel->recutils): New procedure. (display-checkout-info, display-profile-info): Use this. (%options): Add 'recutils' option. * doc/guix.texi (Invoking guix describe): Document this.
* describe: Add json format.Oleg Pykhalov2018-11-22
| | | | | | | * guix/scripts/describe.scm (channel->json): New procedure. (display-checkout-info, display-profile-info): Use this. (%options): Add 'json' option. * doc/guix.texi (Invoking guix describe): Document this.
* describe: Use a procedure to format output.Oleg Pykhalov2018-11-22
| | | | | * guix/scripts/describe.scm (channel->sexp): New procedure. (display-checkout-info, display-profile-info): Use this.
* guix system: Fix 'init' again.Ludovic Courtès2018-11-21
| | | | | | | | | Fixes a regression introduced in 52ee4479ef26826a53b9929cd00ca7738be687b1, whereby 'install' would now be passed a procedure instead of a lowerable object. * guix/scripts/system.scm (perform-action): Pass BOOTLOADER-SCRIPT as the #:bootloader-installer argument of 'install'.
* describe: Add profile option.Oleg Pykhalov2018-11-21
| | | | | | | * guix/scripts/describe.scm (%options): Add profile option. (show-help): Document this. (display-checkout-info): Check for profile argument. * doc/guix.texi (Invoking guix describe): Document this.
* describe: Fix 'format' option.Oleg Pykhalov2018-11-21
| | | | | | Fix ‘guix describe’ ignores ‘--format=FORMAT’ option. * guix/scripts/describe.scm (%options): Fix 'format' option.
* lint: 'check-derivation' fully disables grafts.Ludovic Courtès2018-11-20
| | | | | | | | Previously grafting could take place indirectly, for instance when lowering origins. * guix/scripts/lint.scm (check-derivation)[try]: Parameterize '%graft?'.
* lint: 'check-derivation' tries all the package's supported systems.Ludovic Courtès2018-11-20
| | | | | | | | This allows us to catch architecture-specific evaluation failures. * guix/scripts/lint.scm (check-derivation): Move body into... [try]: ... this. New procedure. Call 'try' for each supported system of PACKAGE.
* build-system: Add 'clojure-build-system'.Alex Vong2018-11-19
| | | | | | | | | | | | | | | * guix/build-system/clojure.scm, guix/build/clojure-build-system.scm: New files. * guix/build/clojure-utils.scm (@*, @@*): New macros. (%source-dirs, %test-dirs, %compile-dir, %main-class, %omit-source?, %aot-include, %aot-exclude, %tests?, %test-include, %test-exclude, %clojure-regex): New variables. (package-name->jar-names, canonicalize-relative-path, find-files*, file-sans-extension, relative-path->clojure-lib-string, find-clojure-libs, compiled-from?, include-list\exclude-list, eval-with-clojure, create-jar): New procedures. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'clojure-build-system'.
* guix: Add clojure-utils.Alex Vong2018-11-19
| | | | | | * guix/build/clojure-utils.scm: New file. * gnu/packages/lisp.scm (clojure)[arguments]: Use it. * Makefile.am (MODULES): Add it.
* guix system: Fix 'init'.Ludovic Courtès2018-11-19
| | | | | | | | Fixes a regression introduced in 52ee4479ef26826a53b9929cd00ca7738be687b1, whereby 'install' would now be passed a <computed-file> object instead of a derivation. * guix/scripts/system.scm (install): Call 'lower-object' on BOOTCFG.
* guix system: Clarify 'perform-action'.Ludovic Courtès2018-11-18
| | | | | * guix/scripts/system.scm (perform-action): Move non-monadic local variables outside the 'mlet' form.
* guix system: De-monadify bootloader installation script.Ludovic Courtès2018-11-18
| | | | | | | | | * guix/scripts/system.scm (bootloader-installer-derivation): Rename to... (bootloader-installer-script): ... this. Use 'scheme-file' instead of 'gexp->file'. (perform-action): Adjust accordingly. Move 'lower-object' call to the point where DRVS is computed.
* guix system: Simplify bootloader package handling.Ludovic Courtès2018-11-18
| | | | | | | * guix/scripts/system.scm (perform-action): Remove 'bootloader-package' variable. Pass (bootloader-package bootloader) as the 2nd argument to 'bootloader-installer-derivation'. Remove BOOTLOADER-PACKAGE from DRVS since it's redundant.
* system: De-monadify 'operating-system-bootcfg'.Ludovic Courtès2018-11-18
| | | | | | | | | * gnu/system.scm (operating-system-bootcfg): Remove 'mlet*' and 'lower-object' call. * gnu/system/vm.scm (system-disk-image) (system-qemu-image/shared-store): Adjust accordingly. * guix/scripts/system.scm (perform-action): Add 'lower-object' call for BOOTCFG.
* gnu: ocaml: Update to 4.7.0.Julien Lepiller2018-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update ocaml to the latest version and fixes dependent packages by updating them or by adding new inputs, such as ocaml-num and ocamlbuild, that were removed from the core ocaml package. Rename packages that cannot be built with the new compiler with an ocaml4.02 prefix. Add ocaml4.02 dependencies. * gnu/packages/ocaml.scm (ocaml): Update to 4.7.0. (ocaml-4.02, ocamlbuild, camlp4-4.02, ocaml-num, ocaml4.02-menhir) (ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit, ocaml4.02-camlzip) (ocaml4.02-ocamlmod, ocaml4.02-zarith, ocaml4.02-qcheck, ocaml4.02-qtest) (ocaml4.02-stringext, ocaml4.02-bisect, dune, ocaml-migrate-parsetree) (ocaml-ppx-tools-versioned, ocaml-ppx-tools-versioned) (ocaml4.02-bitstring, ocaml4.02-result, ocaml4.02-topkg, ocaml4.02-rresult) (ocaml4.02-sqlite3, ocaml4.02-csv, ocaml4.02-mtime, ocaml4.02-cmdliner) (ocaml4.02-fmt, ocaml4.02-astring, ocaml4.02-alcotest, ocaml4.02-ppx-tools) (ocaml4.02-react, ocaml4.02-ssl, ocaml4.02-lwt, ocaml-lwt-log) (ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath, ocaml4.02-bos) (ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar, ocaml4.02-uutf) (ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64, ocaml4.02-omake) (ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis) (ocaml4.02-js-build-tools, ocaml4.02-cppo, ocaml-seq, ocaml4.02-seq) (ocaml4.02-re, ocaml4.02-ocplib-endian, ocaml4.02-easy-format) (ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi) (ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): New packages. (opam): Update to 2.0.0. (camlp4): Update to 4.07+1. (camlp5): Update to 7.06. (hevea): Update to 2.32. (coq)[inputs]: Add ocaml-num. (emacs-tuareg): Update to 2.2.0. (ocaml-menhir)[native-inputs]: Add ocamlbuild. (ocaml-lablgtk): Update to 2.18.6. (unison)[inputs]: Use ocaml-4.02. (ocaml-findlib): Update to 1.8.0. (ocaml-ounit)[native-inputs]: Add ocamlbuild. (ocamlmod): Update to 0.0.9. (ocaml-frontc)[arguments]: Use ocaml-4.02. (ocaml-qcheck)[native-inputs]: Add ocamlbuild. (ocaml-qtest)[native-inputs]: Remove ocaml-findlib and add ocamlbuild. (ocaml-stringext)[native-inputs]: Add ocamlbuild. (ocaml-bisect): Update to 1.3.1. (ocaml4.01-bisect): Downgrade to 1.3. (ocaml-bitstring): Update to 3.1.0. (ocaml-topkg)[native-inputs]: Add ocamlbuild. (ocaml-rresult)[native-inputs]: Add ocamlbuild. (ocaml-sqlite3)[native-inputs]: Add ocamlbuild. (ocaml-csv)[native-inputs]: Add ocamlbuild. (ocaml-mtime)[native-inputs]: Add ocamlbuild. (ocaml-cmdliner)[native-inputs]: Add ocamlbuild. (ocaml-fmt)[native-inputs]: Add ocamlbuild. (ocaml-astring)[native-inputs]: Add ocamlbuild. (ocaml-alcotest)[native-inputs]: Add ocamlbuild. (ocaml-ppx-tools)[native-inputs]: Add ocamlbuild. (ocaml-react)[native-inputs]: Add ocamlbuild. (ocaml-ssl)[arguments]: Return #t in phases. (ocaml-lwt): Update to 4.1.0. (ocaml-logs)[native-inputs]: Add ocamlbuild. (ocaml-fpath)[native-inputs]: Add ocamlbuild. (ocaml-bos)[native-inputs]: Add ocamlbuild. (ocaml-xmlm): Update to 1.3.0. (ocaml-ulex): Update to 1.2.0. (ocaml-uchar)[native-inputs]: Add ocamlbuild. (ocaml-uutf): Update to 1.0.1. (ocaml-jsonm): Update to 1.0.1. (ocaml-ocurl): Update to 0.8.2. (ocaml-base64)[native-inputs]: Add ocamlbuild. (ocamlify)[native-inputs]: Use ocaml-4.02. (omake): Update to 0.10.3. (ocaml-batteries): Update to 2.9.0. (ocaml-pcre)[native-inputs]: Add ocamlbuild. (ocaml-expect): Update 0.0.6. (ocaml4.02-fileutils): Update to 0.5.3. (ocaml-oasis): Update 0.4.11. (ocaml-js-build-tools)[native-inputs]: Add ocamlbuild. (ocaml-bin-prot): Rename to ocaml4.02-bin-prot. (ocaml-fieldslib): Rename to ocaml4.02-fieldslib. (ocaml-ppx-core): Rename to ocaml4.02-ppx-core. (ocaml-ppx-optcomp): Rename to ocaml4.02-ppx-optcomp. (ocaml-ppx-driver): Rename to ocaml4.02-ppx-driver. (ocaml-cppo): Update to 1.6.5. (ocaml-ppx-deriving): Rename to ocaml4.02-ppx-deriving. (ocaml-ppx-type-conv): Rename to ocaml4.02-ppx-type-conv. (ocaml-ppx-inline-test): Rename to ocaml4.02-ppx-inline-test. (ocaml-ppx-bench): Rename to ocaml4.02-ppx-bench. (ocaml-ppx-compare): Rename to ocaml4.02-ppx-compare. (ocaml-sexplib): Rename to ocaml4.02-sexplib. (ocaml-typerep): Rename to ocaml4.02-typerep. (ocaml-variantslib): Rename to ocaml4.02-variantslib. (ocaml-ppx-sexp-conv): Rename to ocaml4.02-ppx-sexp-conv. (ocaml-ppx-variants-conv): Rename to ocaml4.02-ppx-variants-conv. (ocaml-ppx-here): Rename to ocaml4.02-ppx-here. (ocaml-ppx-assert): Rename to ocaml4.02-ppx-assert. (ocaml-ppx-enumerate): Rename to ocaml4.02-ppx-enumerate. (ocaml-ppx-let): Rename to ocaml4.02-ppx-let. (ocaml-ppx-typerep-conv): Rename to ocaml4.02-ppx-typerep-conv. (ocaml-ppx-sexp-value): Rename to ocaml4.02-ppx-sexp-value. (ocaml-ppx-pipebang): Rename to ocaml4.02-ppx-pipebang. (ocaml-ppx-bin-prot): Rename to ocaml4.02-ppx-bin-prot. (ocaml-ppx-fail): Rename to ocaml4.02-ppx-fail. (ocaml-ppx-custom-printf): Rename to ocaml4.02-ppx-custom-printf. (ocaml-ppx-sexp-message): Rename to ocaml4.02-ppx-sexp-message. (ocaml-ppx-fields-conv): Rename to ocaml4.02-ppx-fields-conv. (ocaml-re): Update to 1.8.0. (ocaml-ppx-expect): Rename to ocaml4.02-ppx-expect. (ocaml-ppx-jane): Rename to ocaml4.02-ppx-jane. (ocaml-core-kernel): Rename to ocaml4.02-core-kernel. (ocaml-async-kernel): Rename to ocaml4.02-async-kernel. (ocaml-async-rpc-kernel): Rename to ocaml4.02-async-rpc-kernel. (ocaml-core): Rename to ocaml4.02-core. (ocaml-async-unix): Rename to ocaml4.02-async-unix. (ocaml-async-extra): Rename to ocaml4.02-async-extra. (ocaml-async): Rename to ocaml4.02-async. (ocaml-ocplib-endian)[native-inputs]: Update to 1.0. (ocaml-cstruct): Rename to ocaml4.02-cstruct. (ocaml-hex): Rename to ocaml4.02-hex. (ocaml-ezjsonm): Rename to ocaml4.02-ezjsonm. (ocaml-uri): Rename to ocaml4.02-uri. (optcomp): Use ocaml-4.02. (ocaml-piqilib): Update to 0.6.14. (ocaml-uuidm)[native-inputs]: Add ocamlbuild. (ocaml-graph): Update to 1.8.8. (ocaml-piqi): Update to 0.7.6. (bap): Update to 1.3.0. (ocaml-camomile): Update to 1.0.1. (ocaml-jbuilder): Use ocaml-4.02. (ocaml-lambda-term): Update to 1.13. (ocaml-utop): Update to 2.2.0. (ocaml-integers)[native-inputs]: Add ocamlbuild. (ocaml-ctypes): Update to 0.14.0. (ocaml-ocb-stubblr)[native-inputs]: Add ocamlbuild. (ocaml-tsdl)[native-inputs]: Add ocamlbuild. * gnu/packages/machine-learning.scm (ocaml-mcl): Use ocaml-4.02. * gnu/packages/maths.scm (cubicle): Update to 1.1.2. * gnu/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch: Update patch. * guix/build-system/ocaml.scm: (default-ocaml4.02, default-ocaml4.02-findlib) (package-with-ocaml4.02, strip-ocaml4.02-variant): New variables.
* build-system/ocaml: Use invoke and return #t.Julien Lepiller2018-11-18
| | | | | * guix/build/ocaml-build-system.scm (configure, build, check, install) (prepare-install): Use invoke and return #t.
* progress: Do not display the last 0B transfer when size is unknown.Clément Lassieur2018-11-16
| | | | | * guix/progress.scm (display-download-progress): Don't display anything when both SIZE and TRANSFERRED are null.
* progress: Fix crash because of division by zero.Clément Lassieur2018-11-16
| | | | | * guix/progress.scm (display-download-progress): Handle the case where SIZE is null.
* download: Access content-addressed mirrors over HTTPS.Ludovic Courtès2018-11-14
| | | | | | | | Bug <http://bugs.gnu.org/22774> is no longer relevant now that we use "builtin:download" exclusively. * guix/download.scm (%content-addressed-mirrors): Use "https", not "http".
* download: Add Software Heritage as a content-addressed mirror.Ludovic Courtès2018-11-14
| | | | | * guix/download.scm (%content-addressed-mirrors): Add Software Heritage.
* 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.