summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
| * gnu: Add node-lts.Jelle Licht2021-04-02
| | | | | | | | | | * gnu/packages/node.scm (node-lts): New variable. * guix/build-system/node.scm (default-node): Use it.
| * build-system: Rewrite node build system.Jelle Licht2021-04-02
| | | | | | | | | | | | | | | | * guix/build/node-build-system.scm: Rewrite it. * guix/build-system/node.scm: Adjust accordingly. * gnu/packages/node-xyz.scm (node-semver): Likewise. Co-authored-by: Timothy Sample <samplet@ngyro.com>
| * scripts: show: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/show.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: search: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/search.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: repl: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/repl.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: publish: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/publish.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: edit: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/edit.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: download: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/download.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: discover: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/discover.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * scripts: describe: Replace 'args-fold*' by 'parse-command-line'.zimoun2021-04-01
| | | | | | | | | | | | | | * guix/scripts/describe.scm (define-command): Replace 'args-fold*' by 'parse-command-line'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * lint: Warn about single-character package names.Tobias Geerinckx-Rice via Bug reports for GNU Guix2021-04-01
| | | | | | | | | | | | | | A common-sense exception is made for R. * guix/lint.scm (check-name): New procedure. (%local-checkers): Add it.
| * scripts: Scripts that defaulted to -v2 now default to -v3.Ludovic Courtès2021-03-31
| | | | | | | | | | | | | | | | This is a followup to e45ef9a648c155c35b51e6b15049a1bd5416f0a1. * guix/scripts/archive.scm (%default-options): Change 'verbosity' to 3. * guix/scripts/build.scm (%default-options): Likewise. * guix/scripts/copy.scm (%default-options): Likewise.
| * status: Don't display download URLs for '--verbosity=1'.Ludovic Courtès2021-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | With this change, each substitute occupies a single line of output (instead of two) when using '-v1', the default for 'guix package' & co. * guix/status.scm (print-build-event): Add #:print-urls? and honor it. (print-build-event/quiet): Pass #:print-urls? #f. (print-build-event/quiet-with-urls): New procedure. (logger-for-level): Add case for LEVEL 2. * doc/guix.texi (Common Build Options): Adjust '--verbosity' documentation.
| * substitute: Emit a single newline upon completion.Ludovic Courtès2021-03-31
| | | | | | | | | | | | | | | | | | The immediate effect is that, with '--verbosity=1', only two lines are displayed for each substitute, instead of two lines followed by an empty line. * guix/scripts/substitute.scm (process-substitution): Emit a single newline upon completion when PRINT-BUILD-TRACE? is true.
| * gnu-maintenance: Recognize "-source" tarball suffix.Ludovic Courtès2021-03-29
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47398>. Reported by Léo Le Bouter <lle-bout@zaclys.net>. * guix/gnu-maintenance.scm (%tarball-rx): Add "-[Ss]ource" suffix. * tests/gnu-maintenance.scm ("release-file?"): Add exiv2 example.
| * scripts: import: cran: Add missing help for 'style' option.zimoun2021-03-29
| | | | | | | | | | | | | | * guix/scripts/import/cran.scm (show-help): Add help message for 'style' option. Signed-off-by: Christopher Baines <mail@cbaines.net>
| * Fix substitutes server discovery.Mathieu Othacehe2021-03-29
| | | | | | | | | | | | | | This is a follow-up of bc3896db25c788c181c7bcd65754e7cd378e9d9f. * guix/scripts/substitute.scm (%local-substitute-urls): Test for "true" instead of "yes".
| * gexp: 'gexp->script' uses #:guile also as the guile-for-build.Ludovic Courtès2021-03-29
| | | | | | | | | | | | | | | | Previously 'gexp->script' would unconditionally use the default #:guile-for-build value of 'gexp->derivation'. * guix/gexp.scm (gexp->script): Pass #:guile to 'load-path-expression'. Pass #:guile-for-build to 'gexp->derivation'.
| * gexp: Add #:guile parameter to 'load-path-expression'.Ludovic Courtès2021-03-29
| | | | | | | | * guix/gexp.scm (load-path-expression): Add #:guile parameter and honor it.
| * gexp: 'imported+compiled-modules' fully honors #:guile.Ludovic Courtès2021-03-29
| | | | | | | | | | * guix/gexp.scm (imported+compiled-modules): Pass #:guile to 'imported-modules'.
| * build-system/julia: Turn on deprecation warnings.zimoun2021-03-29
| | | | | | | | | | | | * guix/build/julia-build-system.scm (check): Set option '--depwarn=yes'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * licenses: Add Free Art License 1.3.Felix Gruber2021-03-29
| | | | | | | | | | | | | | * guix/licenses.scm (lal1.3): New variable. * guix/import/utils.scm (spdx-string->license): Add LAL-1.3. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| * http-client: Don't drop failed query when reconnecting.Ludovic Courtès2021-03-28
| | | | | | | | | | | | | | Reported by Christopher Baines <mail@cbaines.net>. * guix/http-client.scm (http-multiple-get): Change 2nd argument to 'drop' to PROCESSED when (false-if-networking-error ...) returns #f.
| * http-client: 'http-multiple-get' is tail-recursive again.Ludovic Courtès2021-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47283>. Commit 205833b72c5517915a47a50dbe28e7024dc74e57 made 'http-multiple-get' non-tail-recursive. Each recursive call would install an exception handler. As the number of iterations grows beyond 1,000, quadratic complexity of 'raise-exception' would show and we'd spend most of our time there. * guix/http-client.scm (false-if-networking-error): New macro. (http-multiple-get): Use it around 'write-request' and 'put-bytevector' calls, and around 'read-response' call, in lieu of the inline 'catch' forms.
| * import: print: Improve origin method name guesswork.Ludovic Courtès2021-03-26
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47375>. Reported by Léo Le Bouter <lle-bout@zaclys.net>. * guix/import/print.scm (package->code): For METHOD, use 'variable-name' preferably, and call 'procedure-name' as a last resort.
| * lint: archival: Gracefully handle packages with a #f hash value.Ludovic Courtès2021-03-26
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/47293>. Reported by Luis Felipe. * guix/lint.scm (check-archival): Check whether 'content-hash-value' returns true.
* | build-system/gnu: Give #:bootstrap-scripts a valid default.Ludovic Courtès2021-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9cfc93be30c516fd6fa32915c61c06e03f23a011 changed the default value of #:bootstrap-scripts to #f, which is invalid (it must be a list of strings). That default value was used by build systems that inherit phases from 'gnu-build-system', such as 'qt-build-system', which would lead to wrong-type-arg errors in the 'boostrap' phase. Reported by Raghav Gururajan <rg@raghavgururajan.name>. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): Change #:bootstrap-scripts to default to it. * guix/build-system/gnu.scm (%bootstrap-scripts): Change value. (gnu-build): #:bootstrap-scripts defaults to %bootstrap-scripts. Remove call to 'sexp->gexp'. (gnu-cross-build): Likewise.
* | build-system/qt: Convert phases to a gexp if needed.Ludovic Courtès2021-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby the "/gnu/store/.*qmlcachegen" string in the 'ktouch' phases would incorrectly be interpreted as a store item, leading to an error while trying to build it: $ ./pre-inst-env guix build ktouch -d --no-grafts guix build: error: path ‘/gnu/store/.*qmlcachegen’ is not valid Reported by Christopher Baines. * guix/build-system/qt.scm (qt-build)[builder]: If PHASES is a pair, pass it to 'sexp->gexp'.
* | build-system/android-ndk: Pass #:bootstrap-scripts to build phases.Ludovic Courtès2021-04-01
| | | | | | | | | | | | | | | | Fixes a regression introduced in 9cfc93be30c516fd6fa32915c61c06e03f23a011. * guix/build-system/android-ndk.scm (android-ndk-build): Pass #:bootstrap-scripts to 'android-ndk-build'.
* | build-system/android-ndk: Fix reference to "android-build".Ludovic Courtès2021-04-01
| | | | | | | | | | | | | | Regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. * guix/build-system/android-ndk.scm (android-ndk-build): Call 'gexp-input-thing' on the item taken from INPUTS.
* | build-system/scons: Use 'with-build-variables'.Ludovic Courtès2021-03-31
| | | | | | | | | | | | | | This brings back the '%build-inputs' and '%outputs' global variables, which some packages such as 'serf' expect. * guix/build-system/scons.scm (scons-build): Use 'with-build-variables'.
* | build-system/scons: Fix typo.Ludovic Courtès2021-03-31
| | | | | | | | | | | | Typo introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. * guix/build-system/scons.scm (scons-build): Use #$name rather than ,name.
* | gexp: 'compiled-modules' honors extensions.Ludovic Courtès2021-03-31
| | | | | | | | | | | | | | | | | | Fixes a regression introduced in 2eafeb2f3d661061bc412c3f27c90202e4532532 whereby extensions would not be added as inputs of the resulting derivation. * guix/gexp.scm (compiled-modules): Append EXTENSIONS to the second argument of 'gexp-with-hidden-inputs'.
* | gexp: 'compiled-modules' gets source and parameters an environment variables.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | This reduces the number of 'add-text-to-store' RPCs by 15 (out of 3336) oin "guix build -d --no-grafts libreoffice". * guix/gexp.scm (gexp-with-hidden-inputs): New procedure. (compiled-modules): Use it. Pass #:script-name. Augment #:env-vars.
* | gexp: 'gexp->script' uses #:guile also as the guile-for-build.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | Previously 'gexp->script' would unconditionally use the default #:guile-for-build value of 'gexp->derivation'. * guix/gexp.scm (gexp->script): Pass #:guile to 'load-path-expression'. Pass #:guile-for-build to 'gexp->derivation'.
* | gexp: Add #:guile parameter to 'load-path-expression'.Ludovic Courtès2021-03-30
| | | | | | | | * guix/gexp.scm (load-path-expression): Add #:guile parameter and honor it.
* | gexp: 'imported+compiled-modules' fully honors #:guile.Ludovic Courtès2021-03-30
| | | | | | | | | | * guix/gexp.scm (imported+compiled-modules): Pass #:guile to 'imported-modules'.
* | gexp: Do not add derivations to the object cache.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | That was needlessly making the object cache grow. * guix/gexp.scm (lower-object, lower+expand-object): Bypass the object cache when OBJ is a derivation. This almost halves the number of cache lookups and reduces the number of entries from 3.4K to 2.6K when doing "guix build libreoffice -d --no-grafts".
* | gexp: Allowed/disallowed references and graphs never refer to grafted inputs.Ludovic Courtès2021-03-30
| | | | | | | | | | | | * guix/gexp.scm (lower-reference-graphs, lower-references): Wrap 'lower-object' call in 'without-grafting' since these things never refer to grafted inputs.
* | grafts: Add 'without-grafting'.Ludovic Courtès2021-03-30
| | | | | | | | | | * guix/grafts.scm (call-without-grafting): New procedure. (without-grafting): New macro.
* | packages: Call 'bag-grafts' only on the tip of the package graph.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | | | This reinstates pre-gexp behavior where 'expand-input' would explicitly pass #:graft? #f in recursive calls, thereby preventing redundant calls to 'bag-grafts'. * guix/packages.scm (expand-input): Turn into a monadic procedure. Lower INPUT when it's a package, passing #:graft? #f. (bag->derivation, bag->cross-derivation): Adjust accordingly. * tests/packages.scm ("search paths"): Adjust so BUILD aborts only when passed the package of interest.
* | packages: 'expand-input' accepts any file-like object.Ludovic Courtès2021-03-30
| | | | | | | | | | | | * guix/packages.scm (expand-input)[valid?]: Remove. Call 'file-like?' instead of 'valid?'. Remove 'struct?' clause. * tests/packages.scm ("&package-input-error"): Adjust accordingly.
* | packages: '%standard-patch-inputs' is not influenced by ↵Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | '%current-target-system'. * guix/packages.scm (%standard-patch-inputs): Parameterize %CURRENT-TARGET-SYSTEM around call to CANONICAL.
* | build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | * guix/gexp.scm (input-tuples->gexp, outputs->gexp): Make public. * guix/build-system/cargo.scm (cargo-build): Use them. * guix/build-system/gnu.scm (gnu-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/cmake.scm (cmake-cross-build): Likewise.
* | build-system: Use 'sexp->gexp' for plain sexps.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces memory allocations and list traversals during 'gexp->sexp', 'gexp-inputs', etc. * guix/build-system/cargo.scm (cargo-build): Use 'sexp->gexp' for sexps known to not contain file-like objects. Change default #:phases to a symbol. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Likewise. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/gnu.scm (%strip-flags, %strip-directories): New variables. (gnu-build): Use them. Use 'sexp->gexp' where appropriate. (gnu-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/trivial.scm (trivial-build): Likewise. * guix/build-system/waf.scm (waf-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * guix/packages.scm (patch-and-repack): Use 'sexp->gexp' when SNIPPET is a pair. * guix/svn-download.scm (svn-multi-fetch): Use 'sexp->gexp' for 'svn-multi-reference-locations'.
* | gexp: Add 'sexp->gexp'.Ludovic Courtès2021-03-30
| | | | | | | | | | * guix/gexp.scm (sexp->gexp): New procedure. * tests/gexp.scm ("sexp->gexp"): New test.
* | packages: Default origin 'patch-flags' is a gexp.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | Using a gexp instead of a list means that 'gexp->sexp' & co. do not need to scan that list for file-like objects. * guix/packages.scm (<origin>)[patch-flags]: Default to %DEFAULT-PATCH-FLAGS. (%default-patch-flags): New variable. (patch-and-repack): #:flags defaults to %DEFAULT-PATCH-FLAGS. (origin->derivation): Don't expect FLAGS to be a list.
* | packages: Core procedures are written in monadic style.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This plays better with the functional object cache, which is no longer lost across calls to procedures created by 'store-lift'. * guix/packages.scm (input-graft, input-cross-graft): Remove 'store' parameter. Return a monadic procedure. (bag-grafts): Remove 'store' parameter and turn into a monadic procedure. (graft-derivation*): New procedure. (cached): Remove clause to match syntax without (=> CACHE). (package-grafts): Define using 'store-lower'. (package-grafts*): New procedure, from former 'package-grafts'. Remove 'store' parameter and turn into a monadic procedure. (package->derivation): Rewrite using 'mcached' and a monadic variant of the former 'package-derivation' procedure. (package->cross-derivation): Likewise. (package-derivation, package-cross-derivation): Rewrite in terms of 'store-lower'. (%graft-cache): Remove.
* | packages: Simplify patch instantiation.Ludovic Courtès2021-03-30
| | | | | | | | | | | | * guix/packages.scm (patch-and-repack)[instantiate-patch]: Use 'local-file' instead of 'interned-file'. When PATCH is a struct, return it. Use 'let' instead of 'mlet'.
* | packages: Turn 'bag->derivation' into a monadic procedure.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (bag->derivation): Turn into a monadic procedure by remove 'store' parameter and removing the call to 'store-lower'. (bag->cross-derivation): Likewise. (bag->derivation*): New procedure. (package-derivation, package-cross-derivation): Use it instead of 'bag->derivation'. * tests/packages.scm ("bag->derivation"): Change to monadic style. ("bag->derivation, cross-compilation"): Likewise.