summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-06-02derivations: 'derivation-prerequisites-to-build' returns <substitutable>.Ludovic Courtès
* guix/derivations.scm (derivation-prerequisites-to-build): Rename #:substitutable? to #:substitutable-info. [derivation-substitutable?]: Rename to... [derivation-substitutable-info]: ... this. Return a list of <substitutable>. Second return value is now a list of <substitutable> instead of a list of strings. * guix/ui.scm (show-what-to-build)[substitutable?]: Rename to... [substitutable-info]: ... this. Adjust to new 'derivation-prerequisites-to-build' return value type. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes"): Adjust. ("derivation-prerequisites-to-build and substitutes, local build"): Likewise.
2017-06-02derivations: 'substitution-oracle' returns a <substitutable>.Ludovic Courtès
* guix/derivations.scm (substitution-oracle): Use 'substitution-path-info' instead of 'substitution-paths'. Turn SUBST into a vhash from path to <substitutable>. Change the returned procedure to provide a <substitutable> instead of a Boolean. * tests/derivations.scm ("substitution-oracle and #:substitute? #f"): Mock 'substitutable-path-info' instead of 'substitutable-paths'.
2017-05-31build: font: Support font collection files.Alex Griffin
* guix/build/font-build-system.scm (install): Support TrueType Collection (TTC) and OpenType Collection (OTC) files. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-05-30git-download: Fix 'git-predicate' to use absolute paths.Christopher Baines
git ls-files will return paths relative to the repository directory. This commit prepends the repository directory to those paths when calling lstat, such that 'git-predicate' works if the current working directory is not the repository directory. * guix/git-download.scm (git-predicate): Prepend repository directory to the file path when calling lstat. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-05-30download: Work around GnuTLS bug with UTF-8 certificate file names.Ludovic Courtès
Reported by Mark H Weaver <mhw@netris.org> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26948#17>. * guix/build/download.scm (set-certificate-credentials-x509-trust-file!*): New procedure. (make-credendials-with-ca-trust-files): Use it instead of 'set-certificate-credentials-x509-trust-file!'.
2017-05-28scripts: Set thread names.Ludovic Courtès
This allows 'guix publish' threads as well as 'guix substitute' and 'guix offload' processes to be properly labeled in 'top', 'pstree', etc. * guix/workers.scm (worker-thunk): Add #:thread-name parameter and honor it. (make-pool): Likewise. * guix/scripts/publish.scm (http-write): Add calls to 'set-thread-name' in bodies of 'call-with-new-thread'. (guix-publish): Call 'set-thread-name'. Pass #:thread-name to 'make-pool'. * guix/scripts/offload.scm (guix-offload): Call 'set-thread-name'. * guix/scripts/substitute.scm (guix-substitute): Likewise.
2017-05-28syscalls: Add 'thread-name' and 'set-thread-name'.Ludovic Courtès
* guix/build/syscalls.scm (PR_SET_NAME, PR_GET_NAME) (%max-thread-name-length): New variables. (%prctl, set-thread-name, thread-name): New procedures. * tests/syscalls.scm ("set-thread-name"): New test.
2017-05-28build-system: Add 'font-build-system'.Arun Isaac
* Makefile.am (MODULES): Add 'guix/build-system/font.scm' and 'guix/build/font-build-system.scm'. * guix/build-system/font.scm: New file. * guix/build/font-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'font-build-system'.
2017-05-25build-system: gnu: Fix cross-gcc call.Ricardo Wurmus
This is a follow-up to 7b3318e34f4e2743254a88b908859901db960e9a. * guix/build-system/gnu.scm (standard-cross-packages): Use keyword arguments in cross-gcc call.
2017-05-25pull: Catch '&missing-dependency-error' raised by 'source-module-closure'.Ludovic Courtès
Fixes <http://bugs.gnu.org/26987>. Reported by Mathieu Othacehe <m.othacehe@gmail.com>. * guix/build/pull.scm (depends-on-guile-ssh?): Remove. (has-all-its-dependencies?): New procedure. (build-guix): Use it to filter source files.
2017-05-25modules: Raise an error when a dependency could not be found.Ludovic Courtès
* guix/modules.scm (&missing-dependency-error): New error condition. (source-module-dependencies): Raise it when 'search-path' returns #f. * tests/modules.scm ("&missing-dependency-error"): New test.
2017-05-25base64: Turn into a regular Guile module.Ludovic Courtès
* guix/base64.scm: Replace 'library' form with 'define-module'.
2017-05-24publish: Do not bake the same item several times.Ludovic Courtès
Before this patch, there was a possibility that we'd queue several baking tasks for the same item. The first one would bake the item but subsequent tasks wouldn't check whether the item had been baked in the meantime and would re-bake it. * guix/scripts/publish.scm (render-narinfo/cached): Don't call 'bake-narinfo+nar' when (file-exists? cached).
2017-05-23guix package: Swallow EPIPE upon 'guix package --list-generations'.Ludovic Courtès
Fixes <http://bugs.gnu.org/27017>. Reported by Alex Vong <alexvong1995@gmail.com>. * guix/scripts/package.scm (process-query) <'list-generations>: Wrap body in 'leave-on-EPIPE'.
2017-05-23packages: Add aarch64-linux to %supported-systems.Efraim Flashner
* guix/packages.scm (%supported-systems): Add aarch64-linux. (%hydra-supported-systems): Remove aarch64-linux.
2017-05-23build-system: emacs: Install only a subset of files.Arun Isaac
* guix/build/emacs-build-system.scm (install): Install files matching #:include while excluding files matching #:exclude. * guix/build-system/emacs.scm (emacs-build): Add keyword arguments #:include and #:exclude.
2017-05-23build: emacs: Fix `store-file->elisp-source-file'.Arun Isaac
This prevents a ".el.el" extension for source files with no version number in their file name. * guix/build/emacs-build-system.scm (store-file->elisp-source-file): Remove ".el" extension from file name before splitting to name and version.
2017-05-23guix: lint: Slightly simplify `check-source-file-name'.Arun Isaac
* guix/scripts/lint.scm (check-source-file-name): Implement file name matching with regular expression.
2017-05-23gnu: lint: Fix typo.Arun Isaac
* guix/scripts/lint.scm (check-source-file-name): Fix wrong return value in docstring.
2017-05-22Merge branch 'version-0.13.0'Marius Bakke
2017-05-21guix system: Don't warn about old distros for "guix system init".Ludovic Courtès
* guix/scripts/system.scm (process-action): Don't call 'warn-about-old-distro' when ACTION is 'init' or 'build'.
2017-05-21guix system: Increase image size for 'guix system vm'.Ludovic Courtès
This is a followup to 9a1bfe764859365b6726f168da95b88a2d22403b. * guix/scripts/system.scm (system-derivation-for-action): Add 40MiB to the default size for 'vm'.
2017-05-20download: Prune the ImageMagick mirror list.Leo Famulari
These sites' TLS certificates are invalid. * guix/download.scm (%mirrors) <imagemagick>: Remove mirrors-{au,ru,uk}.go-parts.com.
2017-05-20pack: Use 'guile2.0-json' when building with Guile 2.0.Ludovic Courtès
Fixes <http://bugs.gnu.org/27005>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. Fixes a regression introduced in commit 2252f087d4bd450ab41a71379320467887edfc0f. * guix/scripts/pack.scm (docker-image)[json]: New variable. [build]: Use it.
2017-05-20pack: Use 'guile2.0-json' when building with Guile 2.0.Ludovic Courtès
Fixes <http://bugs.gnu.org/27005>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. Fixes a regression introduced in commit 2252f087d4bd450ab41a71379320467887edfc0f. * guix/scripts/pack.scm (docker-image)[json]: New variable. [build]: Use it.
2017-05-20modules: Add more source-less modules.Ludovic Courtès
* guix/modules.scm (%source-less-modules): New variable. (source-module-dependencies): Use it.
2017-05-20publish: Fix narinfo rendering for already-compressed items.Ludovic Courtès
Fixes <http://bugs.gnu.org/26975>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd argument to 'stat' and properly handle #f. * tests/publish.scm (wait-for-file): New procedure. ("with cache"): Remove 'wait-for-file' procedure. ("with cache, uncompressed"): New test.
2017-05-20union: Gracefully handle dangling symlinks in the input.Ludovic Courtès
Fixes <http://bugs.gnu.org/26949>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. * guix/build/union.scm (file-is-directory?): Return #f when FILE does not exist or is a dangling symlink. (file=?): Pass #f as a second argument to 'stat'; return #f when both ST1 or ST2 is #f. * tests/profiles.scm (test-equalm): New macro. ("union vs. dangling symlink"): New test.
2017-05-20profiles: Add elapsed time to manual-database hook to output message.Maxim Cournoyer
* guix/profiles.scm (manual-database): Add elapsed time to manual-database hook to output message. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-05-19modules: Add more source-less modules.Ludovic Courtès
* guix/modules.scm (%source-less-modules): New variable. (source-module-dependencies): Use it.
2017-05-18publish: Fix narinfo rendering for already-compressed items.Ludovic Courtès
Fixes <http://bugs.gnu.org/26975>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd argument to 'stat' and properly handle #f. * tests/publish.scm (wait-for-file): New procedure. ("with cache"): Remove 'wait-for-file' procedure. ("with cache, uncompressed"): New test.
2017-05-18lint: inputs-should-be-native: Add "cmake".Ludovic Courtès
Suggested by Nicolas Goaziou <mail@nicolasgoaziou.fr>. * guix/scripts/lint.scm (check-inputs-should-be-native)[input-names]: Add "cmake".
2017-05-18union: Gracefully handle dangling symlinks in the input.Ludovic Courtès
Fixes <http://bugs.gnu.org/26949>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. * guix/build/union.scm (file-is-directory?): Return #f when FILE does not exist or is a dangling symlink. (file=?): Pass #f as a second argument to 'stat'; return #f when both ST1 or ST2 is #f. * tests/profiles.scm (test-equalm): New macro. ("union vs. dangling symlink"): New test.
2017-05-16profiles: Add elapsed time to manual-database hook to output message.Maxim Cournoyer
* guix/profiles.scm (manual-database): Add elapsed time to manual-database hook to output message. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-05-16import cran: Check if pkg-config is needed.Ricardo Wurmus
* guix/import/cran.scm (needs-pkg-config?): New procedure. (description->package): Use it.
2017-05-16import cran: Refactor "needs-zlib?".Ricardo Wurmus
* guix/import/cran.scm (tarball-files-match-pattern?): New procedure. (needs-zlib?): Implement in terms of "tarball-files-match-pattern?".
2017-05-16import cran: Export package predicates.Ricardo Wurmus
* guix/import/cran.scm (cran-package?, bioconductor-package?, bioconductor-data-package?, bioconductor-experiment-package?): Export procedures.
2017-05-16import cran: Add predicate for Bioconductor experiment packages.Ricardo Wurmus
* guix/import/cran.scm (bioconductor-experiment-package?): New variable.
2017-05-16import cran: Exclude experiment packages in predicate "bioconductor-package?".Ricardo Wurmus
* guix/import/cran.scm (bioconductor-package?): Exclude experiment packages, because they cannot be updated with the default bioconductor updater.
2017-05-16import cran: Fetch DESCRIPTION files from Github mirror.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-svn-url): Remove variable. (bioconductor-mirror-url): New procedure. (fetch-description): Take a REPOSITORY symbol instead of a BASE-URL string. (cran->guix-package): Pass REPOSITORY symbol to "fetch-description". (latest-cran-release, latest-bioconductor-release): Adjust accordingly. (bioconductor-package?): Update comment about SVN.
2017-05-16build-system/asdf: Handle tests defined in external systems.Andy Patterson
* guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument. [builder]: Pass it to the build system. (package-with-build-system)[transform]: Strip it from source systems' arguments. * guix/build/asdf-build-system.scm (check): Pass the fully qualified path to it on to the test-system procedure. * guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of the often used names for it, before running the tests. Adjust the docstring accordingly.
2017-05-16build-system/asdf: Retain references to source files for binary outputs.Andy Patterson
In support of long-running programs in which the users would like to be able to jump to the source of a definition of any of the dependencies (itself included) of the program. * guix/build/asdf-build-system.scm (library-outputs): Move from here ... * guix/build/lisp-utils.scm (library-outputs): ... to here. (build-program): Accept dependency-prefixes argument, to allow the caller to specify references which should be retained. Default to the library's output. (build-image): Likewise. (generate-executable): Likewise. * gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust accordingly to the new interface. (sbcl-stumpwm+slynk)[native-inputs]: Move to ... [inputs]: ... here.
2017-05-16build-system/asdf: Simplify the use of lisp-eval-program.Andy Patterson
Accept a list of statements, each run within its own `--eval' argument. This allows statements to use reader package namespacing after a package has been loaded. * guix/build/lisp-utils.scm (spread-statements): New procedure. (lisp-invoke): Rename to ... (lisp-invocation): ... this. Use spread-statements. Change interface to accept list of statements instead of a single statement. (asdf-load-all-systems): Simplify returned statements. (compile-system): Simplify the program passed to `lisp-eval-program'. (test-system): Likewise. (generate-executable-for-system): Likewise. Accept the full symbol describing the asdf operation to use. (generate-executable): Document the change. (build-program, build-image): Use the new interface.
2017-05-16build-system/asdf: Handle unusually-named systems.Andy Patterson
* guix/build/lisp-utils.scm (valid-char-set): New variable. (normalize-string): New procedure. (compiled-system): Truncate the name of a system which contains slashes. (generate-system-definition, make-asd-file): Use `normalize-string' to alter the names of the created system and its dependencies. * guix/build/asdf-build-system.scm (create-asd-file): Normalize the name of the asd file being created.
2017-05-16build-system/asdf: Always pre-load the system's definition file.Andy Patterson
* guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default `#:asd-file' argument to the build procedure, using the system's name. * guix/build/asdf-build-system.scm (build, check): Adjust to assume that `asd-file' will always be a string. * guix/build/lisp-utils.scm (compile-system, system-dependencies) (test-system): Likewise.
2017-05-16build-system/asdf: Pass the system name as an argument to the builder.Andy Patterson
* guix/build-system/asdf.scm (asdf-build): Use the user-defined system name, or calculate it from the package's full name. [builder]: Pass the value along to the build procedure. (package-with-build-system): Remove #:asd-system-name from source packages' arguments. * guix/build/asdf-build-system.scm: Adjust accordingly. * guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable.
2017-05-16build-system/asdf: Parameterize the lisp type and implementation globally.Andy Patterson
* guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type and %lisp before invoking the build procedure. Don't pass #:lisp-type as an argument to said procedure. * guix/build/asdf-build-system.scm: Adjust accordingly. (source-install-prefix): Rename to %lisp-source-install-prefix. * guix/build/lisp-utils.scm: Adjust accordingly. (%lisp-type): New parameter. (bundle-install-prefix): Rename to %bundle-install-prefix. * gnu/packages/lisp.scm: Adjust accordingly.
2017-05-16build-system/asdf: Make #:lisp a package argument.Andy Patterson
* guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'. (asdf-build): Change argument name to `lisp-type'. Remove `lisp' as an argument to the returned procedure. Change the argument passed to build phases to `lisp-type'. * guix/build/asdf-build-system.scm (copy-source, build, check) (create-asd-file, symlink-asd-files, cleanup-files, strip): Respect `lisp-type` argument. * gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
2017-05-16build-system/asdf: Keep ecl's generated archive files.Andy Patterson
This may be necessary to produce programs or images with ecl. * guix/build/asdf-build-system.scm (cleanup-files): Don't delete .a files.
2017-05-16build-system/asdf: Don't rename inputs.Andy Patterson
* guix/build-system/asdf.scm (package-with-build-system)[transform]: Use updated `new-inputs' procedure for inputs and native-inputs. <rewrite>: Don't rename inputs. <new-propagated-inputs>: Draw from package-inputs and package-native-inputs for source packages. Use the original package's propagated-inputs otherwise. <new-inputs>: Convert into a function to be used to transform inputs and native-inputs. * gnu/packages/lisp.scm (sbcl-fiveam, sbcl-bordeaux-threads) (sbcl-flexi-streams, sbcl-cl-ppcre, sbcl-stumpwm, sbcl-slynk-arglists) (sbcl-slynk-fancy-inspector): Don't prefix input names.