Ludovic Courtès
194451347d
Merge branch 'core-updates'
2018-12-03 08:52:17 +01:00
Oleg Pykhalov
37c6f11f8d
repl: Load user's initialization file.
...
* guix/scripts/repl.scm (guix-repl): Load user's initialization file.
2018-12-03 08:04:51 +03:00
Ludovic Courtès
2d33776050
self: Provide UTF-8 locales when building the manual.
...
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".
2018-12-02 22:53:22 +01:00
Ludovic Courtès
a3d77c51bc
git: Nicely report '--with-commit' errors.
...
* 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.
2018-11-30 17:03:04 +01:00
Ludovic Courtès
b18f7234aa
guix build: Add '--with-commit'.
...
* 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.
2018-11-30 17:03:04 +01:00
Ludovic Courtès
96915a448c
guix build: Add '--with-branch' transformation option.
...
* 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.
2018-11-30 17:03:04 +01:00
Ludovic Courtès
49ae3f6d89
git: Add <git-checkout> record type.
...
* guix/git.scm (<git-checkout>): New record type.
(latest-repository-commit*): New procedure.
(git-checkout-compiler): New gexp compiler.
2018-11-30 17:03:04 +01:00
Ludovic Courtès
35cb37ea9c
git: 'latest-repository-commit' logs its progress.
...
* guix/git.scm (latest-repository-commit): Add #:log-port and honor it.
2018-11-30 17:03:03 +01:00
Marius Bakke
25ca46985c
Merge branch 'master' into core-updates
2018-11-29 15:56:49 +01:00
Ludovic Courtès
d09ce3f91b
docker: Hide scary-looking but harmless tar failure messages.
...
* guix/docker.scm (build-docker-image): Wrap "tar --delete" invocation
in 'with-error-to-port'.
2018-11-29 09:30:00 +01:00
Ludovic Courtès
13bcc6b45f
download: Add berlin.guixsd.org as a content-addressed mirror.
...
* guix/download.scm (%content-addressed-mirrors)[guix-publish]: New
procedure.
Use it for "mirror.hydra.gnu.org" and add "berlin.guixsd.org" too.
2018-11-28 22:25:34 +01:00
Ludovic Courtès
a52ae1b662
download: Make (guix base16) a soft dependency.
...
Fixes <https://bugs.gnu.org/33542 >.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/download.scm (%content-addressed-mirrors): Autoload (guix base16).
2018-11-28 22:25:34 +01:00
Tim Gesthuizen
e91152e9f2
guix hash: Fix version and help messages
...
ca71942445
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>
2018-11-28 10:39:58 +01:00
Ludovic Courtès
fe5db4eb03
channels: Add 'checkout->channel-instance'.
...
* guix/channels.scm (checkout->channel-instance): New procedure.
2018-11-28 10:39:58 +01:00
Ludovic Courtès
94c0e61fe7
inferior: Add 'inferior-eval-with-store'.
...
* 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.
2018-11-28 10:39:58 +01:00
Ludovic Courtès
d4aa147eec
ui: 'show-what-to-build' reports grafts separately.
...
* guix/ui.scm (graft-derivation?): New procedure.
(show-what-to-build): Distinguish among BUILD derivations that match
'graft-derivation?'. Report them separately.
2018-11-28 10:39:58 +01:00
Ludovic Courtès
af1f1c38fb
status: Report grafting derivations specially.
...
* guix/status.scm (print-build-event): In 'build-started' event handler,
check the properties of DRV and handle 'graft' derivations specially.
2018-11-28 10:39:58 +01:00
Ludovic Courtès
64fd1c01bc
grafts: Record metadata as derivation properties.
...
* 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'.
2018-11-28 10:39:58 +01:00
Ludovic Courtès
8856f409d1
derivations: Add properties.
...
* 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.
2018-11-28 10:39:58 +01:00
Efraim Flashner
db08ea4087
pack: List the available formats.
...
* guix/scripts/pack.scm (show-formats): New variable.
(%options, show-help): Add 'list-formats' option.
2018-11-27 19:23:39 +02:00
Oleg Pykhalov
01262f1ece
describe: Delete 'directory' argument from 'display-checkout-info'.
...
This commit follows 1255400faa
.
* guix/scripts/describe.scm (display-checkout-info): Delete 'directory'
argument.
2018-11-27 20:09:03 +03:00
Ludovic Courtès
ee6b3bb60d
swh: Export 'save-origin' and related bindings.
...
* guix/swh.scm: Export bindings related to 'save-origin'.
2018-11-27 12:12:33 +01:00
Oleg Pykhalov
3133d678a8
repl: Do not exit repl on SIGINT.
...
* guix/scripts/repl.scm (guix-repl): Do not exit repl on SIGINT.
2018-11-26 15:08:05 +03:00
Ludovic Courtès
608d3dca89
git-download: Download from Software Heritage as a last resort.
...
* 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'.
2018-11-26 11:10:20 +01:00
Ludovic Courtès
de2bfe9029
Add (guix swh).
...
* guix/swh.scm: New file.
* Makefile.am (MODULES): Add it.
2018-11-26 11:10:20 +01:00
Ludovic Courtès
3b5829bbcb
git-download: Use 'git-minimal' instead of 'git'.
...
* guix/git-download.scm (git-package): Refer to 'git-minimal'.
2018-11-26 11:10:20 +01:00
Ludovic Courtès
63fd9f084a
ssh: Make 'send-files' more robust.
...
Possibly fixes <https://bugs.gnu.org/33239 >.
* guix/ssh.scm (send-files): Call 'channel-get-exit-status' only when
RESULT is true.
2018-11-24 19:52:16 +01:00
Marius Bakke
4820b75de0
Merge branch 'master' into core-updates
2018-11-24 19:44:05 +01:00
Jelle Licht
3fe6fcc45f
build-system: clojure-build-system: Fix %default-clojure location.
...
* guix/build-system/clojure.scm (%default-clojure): Use new package path.
2018-11-24 16:25:55 +01:00
Marius Bakke
4d8f4a3f00
Merge branch 'master' into core-updates
2018-11-24 01:58:18 +01:00
Ludovic Courtès
08f410834b
pack: Add '--profile-name'.
...
* 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".
2018-11-23 15:42:01 +01:00
Ludovic Courtès
694e638e78
status: Display 'build-remote' events.
...
* guix/status.scm (print-build-event): Add clause for 'build-remote'.
2018-11-23 15:42:00 +01:00
Ludovic Courtès
60e1c1099f
Update Guile-SQLite3 URL everywhere.
...
* 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.
2018-11-23 15:42:00 +01:00
Oleg Pykhalov
85e9c4b919
describe: Add recutils format.
...
* 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.
2018-11-22 21:17:55 +03:00
Oleg Pykhalov
81a40ee0cb
describe: Add json format.
...
* 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.
2018-11-22 21:17:54 +03:00
Oleg Pykhalov
8548f99549
describe: Use a procedure to format output.
...
* guix/scripts/describe.scm (channel->sexp): New procedure.
(display-checkout-info, display-profile-info): Use this.
2018-11-22 21:17:38 +03:00
Marius Bakke
ec8130eb23
Merge branch 'master' into core-updates
2018-11-22 00:10:44 +01:00
Ludovic Courtès
a29ce1f97d
guix system: Fix 'init' again.
...
Fixes a regression introduced in
52ee4479ef
, 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'.
2018-11-21 23:26:58 +01:00
Efraim Flashner
9cf4ff199c
Merge remote-tracking branch 'origin/master' into core-updates
2018-11-21 19:41:43 +02:00
Oleg Pykhalov
1255400faa
describe: Add profile option.
...
* 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.
2018-11-21 14:41:13 +03:00
Oleg Pykhalov
3dd28aa37c
describe: Fix 'format' option.
...
Fix ‘guix describe’ ignores ‘--format=FORMAT’ option.
* guix/scripts/describe.scm (%options): Fix 'format' option.
2018-11-21 14:41:13 +03:00
Ludovic Courtès
40bbcaa65d
lint: 'check-derivation' fully disables grafts.
...
Previously grafting could take place indirectly, for instance when
lowering origins.
* guix/scripts/lint.scm (check-derivation)[try]: Parameterize
'%graft?'.
2018-11-20 18:36:05 +01:00
Ludovic Courtès
3b32891b12
lint: 'check-derivation' tries all the package's supported systems.
...
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.
2018-11-20 18:36:05 +01:00
Marius Bakke
4f70db97a0
Merge branch 'master' into core-updates
2018-11-20 01:14:12 +01:00
Alex Vong
df730f6757
build-system: Add 'clojure-build-system'.
...
* 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'.
2018-11-19 12:07:44 +01:00
Alex Vong
53f316ab90
guix: Add clojure-utils.
...
* guix/build/clojure-utils.scm: New file.
* gnu/packages/lisp.scm (clojure)[arguments]: Use it.
* Makefile.am (MODULES): Add it.
2018-11-19 12:05:19 +01:00
Ludovic Courtès
1d6669afef
guix system: Fix 'init'.
...
Fixes a regression introduced in
52ee4479ef
, whereby 'install' would now be
passed a <computed-file> object instead of a derivation.
* guix/scripts/system.scm (install): Call 'lower-object' on BOOTCFG.
2018-11-19 09:59:07 +01:00
Ludovic Courtès
ab6caf4f1d
guix system: Clarify 'perform-action'.
...
* guix/scripts/system.scm (perform-action): Move non-monadic local
variables outside the 'mlet' form.
2018-11-18 23:37:45 +01:00
Ludovic Courtès
52ee4479ef
guix system: De-monadify bootloader installation script.
...
* 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.
2018-11-18 23:37:45 +01:00
Ludovic Courtès
6e47628d4c
guix system: Simplify bootloader package handling.
...
* 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.
2018-11-18 23:37:45 +01:00