summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-04-05download: Update the GnuPG mirror list.Leo Famulari
* guix/download.scm (%mirrors) <gnupg>: Use HTTP for TU Wien mirror.
2017-04-05build: Export register-root procedure.Chris Marusich
* guix/scripts/build.scm: Export register-root procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-03utils: Fix handling of shell arguments for xz compression.Leo Famulari
Fixes test failures related to xz compression in tests/utils.scm. This is a followup to commit 63102406f22412bb922de5549deb89d3594a38c0. * guix/utils.scm (decompressed-port, compressed-port, compressed-output-port): Split each shell argument into its own list element.
2017-04-04packages: Catch invalid input errors for structs.Ludovic Courtès
Reported by Thomas Sigurdsen <thomas.sigurdsen@gmail.com> at <https://lists.gnu.org/archive/html/help-guix/2017-04/msg00007.html>. * guix/packages.scm (expand-input): Add 'guard' form around call to 'package-source-derivation'. * tests/packages.scm (dummy): New test.
2017-04-04gexp: 'lower-object' raises an exception when passed an invalid object.Ludovic Courtès
* guix/gexp.scm (&gexp-error, &gexp-input-error): New error conditions. (lower-object): Raise &gexp-input-error when 'lookup-compiler' returns #f. * tests/gexp.scm ("lower-object & gexp-input-error?"): New test. * guix/ui.scm (call-with-error-handling): Add case for 'gexp-input-error?'.
2017-04-03Merge branch 'core-updates'Ludovic Courtès
2017-04-02guix: Compress and decompress xz archives in parallel.Efraim Flashner
* guix/scripts/pack.scm (%compressors): Add flag '-T0' when calling "xz". * guix/utils.scm (decompressed-port, compressed-port, compressed-output-port): Same.
2017-03-31substitute: Send ‘User-Agent’ header.Tobias Geerinckx-Rice
* guix/scripts/substitute.scm (narinfo-request): Pass ‘User-Agent’ #:headers to ‘build-request’.
2017-03-30Merge branch 'master' into core-updatesMarius Bakke
Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698.
2017-03-29packages: Remove "mips64el-linux" from '%hydra-supported-systems'.Ludovic Courtès
* guix/packages.scm (%hydra-supported-systems): Remove "mips64el-linux".
2017-03-28Replace (compose not PROC) with simpler idioms.Ludovic Courtès
* gnu/packages/bioinformatics.scm (python-pysam)[arguments] <check>: Use (negate proc) instead of (compose not proc). * guix/import/cran.scm (recursive-import): Likewise. * guix/import/elpa.scm (filter-dependencies): Use 'remove' instead of '(filter (compose not proc) ...)'.
2017-03-28import cran: Print package stream in the expected order.Ricardo Wurmus
* guix/scripts/import/cran.scm (guix-import-cran): Reverse list of packages.
2017-03-28import cran: Automatically add gfortran and zlib when needed.Ricardo Wurmus
* guix/import/cran.scm (needs-fortran?, needs-zlib?): New procedures. (description->package): Use them.
2017-03-28download: Properly parse ftp:// URLs that lack user info.Ludovic Courtès
Fixes a regression introduced in a4f542341511f33ece18d16b68118214da8143ec. Reported by Hartmut Goebel. * guix/build/download.scm (ftp-fetch): Account for the case where 'uri-userinfo' returns #f. Remove the case where it returns "" since that cannot happen.
2017-03-28derivations: Do not fetch narinfos for non-substitutable items.Ludovic Courtès
This avoids connections to substitute servers for derivations that are not substitutable anyway, such as profiles. Reported by Andy Wingo. * guix/derivations.scm (substitution-oracle): Skip derivations that do not pass 'substitutable-derivation?'. * tests/derivations.scm ("substitution-oracle and #:substitute? #f"): New test.
2017-03-27Merge branch 'master' into core-updatesLeo Famulari
2017-03-27ui: Support Texinfo markup in package synopses.Alex Kost
* guix/ui.scm (package-field-string): New procedure. (package-description-string): Use it. (package-synopsis-string): New procedure. (package->recutils): Use it. * guix/scripts/lint.scm (check-synopsis-style)[check-texinfo-markup]: New procedure. Use it in checks. * tests/lint.scm: Test it. * gnu/packages/perl.scm (perl-try-tiny)[synopsis]: Adjust for the Texinfo markup.
2017-03-26profiles: Create fonts.dir/scale for all fonts directories.Huang Ying
* guix/profiles.scm (fonts-dir-file): Create fonts.dir/scale files for all fonts directories. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-26union: Add create-all-directories? parameter to 'union-build'.Huang Ying
* guix/build/union.scm (union-build): Add create-all-directories? keyword parameter. * tests/union.scm ("union-build #:create-all-directories? #t"): New test. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-03-23Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-03-22publish: Add '--nar-path'.Ludovic Courtès
* guix/scripts/publish.scm (show-help, %options): Add '--nar-path'. (%default-options): Add 'nar-path'. (guix-publish): Honor it.
2017-03-22publish: Make the nar URL prefix a parameter.Ludovic Courtès
* guix/scripts/publish.scm (narinfo-string): Add #:nar-path and honor it. (render-narinfo): Likewise. (make-request-handler): Likewise. (run-publish-server): Likewise. * tests/publish.scm ("custom nar path"): New test.
2017-03-22publish: Add '--public-key' and '--private-key'.Ludovic Courtès
* guix/scripts/publish.scm (show-help, %options): Add --public-key and --private-key. * doc/guix.texi (Invoking guix publish): Document it.
2017-03-22publish: The public and private keys are now SRFI-39 parameters.Ludovic Courtès
* guix/scripts/publish.scm (%default-options): Add 'public-key-file' and 'private-key-file'. (lazy-read-file-sexp): Remove. (%private-key, %public-key): Turn into SRFI-39 parameters. (signed-string, render-narinfo): Adjust accordingly. (guix-publish): Honor 'public-key-file' and 'private-key-file' from OPTS. Use 'parameterize'. * guix/pk-crypto.scm (read-file-sexp): New procedure. * tests/publish.scm: Initialize '%public-key' and '%private-key'.
2017-03-22Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-03-21download: Handle username and password properties for FTP URIs.Roel Janssen
* guix/build/download.scm (ftp-fetch): Process username and password from a URI.
2017-03-21ftp-client: Allow custom username and password for FTP servers.Roel Janssen
* guix/ftp-client.scm (ftp-open): Add username and password arguments.
2017-03-19download: Remove non-existent kernel mirror.Mark H Weaver
* guix/download.scm (%mirrors) <kernel.org>: Remove www.all.kernel.org.
2017-03-19Merge branch 'master' into core-updatesMark H Weaver
2017-03-18http-client: Avoid name clash with 'open-connection-for-uri' in 2.2.0.Ludovic Courtès
* guix/build/download.scm (open-connection-for-uri): Add note about same-named binding in Guile 2.2.0. * guix/http-client.scm: Use 'guix:open-connection-for-uri' for the procedure coming from (guix build download). * guix/scripts/lint.scm: Likewise. * guix/scripts/substitute.scm: Likewise.
2017-03-18build: Require Guile >= 2.0.9.Ludovic Courtès
* configure.ac: Bump requirement to 2.0.9. * doc/guix.texi (Requirements): Adjust accordingly. * README (Requirements): Likewise. * build-aux/download.scm: Remove workaround for <http://bugs.gnu.org/13095>. * guix/build/download.scm: Likewise. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/http-client.scm: Remove workaround for <http://bugs.gnu.org/13095>. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9. * tests/nar.scm: Use (ice-9 control). (let/ec): Remove.
2017-03-18pack: Add '--target'.Ludovic Courtès
* guix/scripts/pack.scm (self-contained-tarball): Add #:target. (docker-image): Add #:target. [build]: Pass it to 'build-docker-image'. (%options, show-help): Add '--target'. (guix-pack): Pass TARGET to 'profile-derivation' and to 'build-image'. * guix/docker.scm (build-docker-image): Add #:system parameter and honor it. * doc/guix.texi (Invoking guix pack): Document '--target'. (Additional Build Options): Refer to the Autoconf manual instead of the obsolete 'configure.info' for cross-compilation.
2017-03-17profiles: Packages in a profile can be cross-compiled.Ludovic Courtès
* guix/profiles.scm (profile-derivation): Add #:target parameter; pass it to 'gexp->derivation'. * tests/profiles.scm ("profile-derivation, cross-compilation"): New test.
2017-03-17pack: Move absolute file name to <compressor>.Ludovic Courtès
* guix/scripts/pack.scm (<compressor>)[package]: Remove. [command]: Document as being a gexp with an absolute file name. (%compressors): Adjust accordingly. (self-contained-tarball): Simplify PATH expression. Move 'string-join' for the compressor command on the build side. (docker-image): Simplify PATH expression. * tests/pack.scm (%gzip-compressor): Adjust accordingly.
2017-03-17build/cargo-build-system: Make cargo-build-system install working packages.Danny Milosavljevic
* guix/build/cargo-build-system.scm (configure): Remove proprietary dependencies. Add rust dependencies and configure Cargo to find them. (build): Also build libraries, not just applications. (file-sha256): New variable. (generate-checksums): New variable. Export it. (touch): New variable. (install): Generate checksums so Cargo accepts the package.
2017-03-17build-system/cargo (cargo-build): Add cargo-build-flags, remove configure-flags.Danny Milosavljevic
* guix/build-system/cargo.scm (cargo-build): Add cargo-build-flags, remove configure-flags.
2017-03-17gnu: r: Rename to r-minimal.Ricardo Wurmus
* gnu/packages/statistics.scm (r): Rename to... (r-minimal): ...this new variable. (r-with-recommended-packages): Rename to... (r): ...this. * guix/build-system/r.scm (default-r): Reference r-minimal. * gnu/packages/emacs.scm (emacs-ess)[inputs], gnu/packages/machine-learning.scm (shogun)[inputs], gnu/packages/python.scm (python-rpy2)[inputs], gnu/packages/bioinformatics.scm (ribotaper)[inputs], (couger)[propagated-inputs], (roary)[inputs], (rsem)[inputs], (rcas-web)[inputs]: Change "r" to "r-minimal".
2017-03-17gnu: r: Do not build recommended packages.Ricardo Wurmus
* gnu/packages/statistics.scm (r)[arguments]: Rename phase "build-recommended-packages-reproducibly" to "build-reproducibly"; add configure flag "--without-recommended-packages". * guix/import/cran.scm (default-r-packages): Remove recommended packages. * gnu/packages/python.scm (python-rpy2)[inputs]: Add r-survival. * gnu/packages/bioinformatics.scm (r-ape)[propagated-inputs]: Add r-lattice and r-nlme. (r-vegan)[propagated-inputs]: Add r-mass. (r-genefilter)[propagated-inputs]: Add r-survival. (r-grohmm)[propagated-inputs]: Add r-mass. (r-bioccheck)[propagated-inputs]: Add r-codetools. (r-summarizedexperiment)[propagated-inputs]: Add r-matrix. (r-topgo)[propagated-inputs]: Add r-lattice. (r-sva)[propagated-inputs]: Add r-mgcv. (r-raremetals2)[propagated-inputs]: Add r-mass. (r-vsn)[propagated-inputs]: Add r-lattice. (r-pcamethods)[propagated-inputs]: Add r-mass. * gnu/packages/bioinformatics.scm (r-ggplot2)[propagated-inputs]: Add r-mass. (r-locfit)[propagated-inputs]: Add r-lattice. (r-coda)[propagated-inputs]: Add r-lattice. (r-irlba)[propagated-inputs]: Add r-matrix. (r-glmnet)[propagated-inputs]: Add r-matrix. (r-e1071)[propagated-inputs]: Add r-class. (r-spams)[propagated-inputs]: Add r-lattice and r-matrix. (r-hmisc)[propagated-inputs]: Add r-cluster, r-foreign, r-lattice, r-nnet, and r-rpart. (r-zoo)[propagated-inputs]: Add r-lattice. (r-mixtools)[propagated-inputs]: Add r-boot and r-mass. (r-flexmix)[propagated-inputs]: Add r-lattice and r-nnet. (r-prabclus)[propagated-inputs]: Add r-mass. (r-fpc)[propagated-inputs]: Add r-class, r-cluster, and r-mass. (r-rcppeigen)[propagated-inputs]: Add r-matrix. (r-matrixmodels)[propagated-inputs]: Add r-matrix. (r-lme4)[propagated-inputs]: Add r-mass and r-nlme. (r-pbkrtest)[propagated-inputs]: Add r-mass and r-matrix. (r-car)[propagated-inputs]: Add r-mass, r-mgcv, and r-nnet. (r-tclust)[propagated-inputs]: Add r-cluster.
2017-03-16pack: Allow for "-S /opt/foo=".Ludovic Courtès
Reported by Andy Wingo. * guix/scripts/pack.scm (%options): Use 'string-split' instead of 'string-tokenize'.
2017-03-16pack: Honor symlinks in the Docker back-end.Ludovic Courtès
* guix/docker.scm (symlink-source, topmost-component): New procedures. (build-docker-image): Add #:symlinks parameter and honor it. Remove hard-coded /bin symlink. * guix/scripts/pack.scm (docker-image): Pass #:symlinks to 'build-docker-image'.
2017-03-16docker: Build images in a reproducible fashion.Ludovic Courtès
* guix/docker.scm (%tar-determinism-options): New variable. (build-docker-image): Use it on the two 'tar' invocations.
2017-03-16pack: Use a fixed timestamp in Docker images.Ludovic Courtès
* guix/docker.scm (build-docker-image): Add #:creation-time parameter. Use SRFI-19 'date->string' instead of 'strftime' et al. * guix/scripts/pack.scm (docker-image)[build]: Pass #:creation-time to 'build-docker-image'.
2017-03-16pack: Add '--format' option and Docker output support.Ludovic Courtès
* guix/docker.scm: Remove dependency on (guix store) and (guix utils). Use (guix build store-copy). Load (json) lazily. (build-docker-image): Remove #:system. Add #:closure, #:compressor, and 'image' parameters. Use 'uname' to determine the architecture. Remove use of 'call-with-temporary-directory'. Use 'read-reference-graph' to compute ITEMS. Honor #:compressor. * guix/scripts/pack.scm (docker-image): New procedure. (%default-options): Add 'format'. (%formats): New variable. (%options, show-help): Add '--format'. (guix-pack): Honor '--format'. * guix/scripts/archive.scm: Remove '--format' option. This reverts commits 1545a012cb7cd78e25ed99ecee26df457be590e9, 01445711db6771cea6122859c3f717f130359f55, and 03476a23ff2d4175b7d3c808726178f764359bec. * doc/guix.texi (Invoking guix pack): Document '--format'. (Invoking guix archive): Remove documentation of '--format'.
2017-03-16pack: Honor command-line options related to the store.Ludovic Courtès
* guix/scripts/pack.scm (guix-pack): Call 'set-build-options-from-command-line'.
2017-03-16memoization: Micro-optimize code produced by 'define-cache-procedure'.Ludovic Courtès
* guix/memoization.scm (%nothing): Remove. (define-cache-procedure): Make '%nothing' a local variable, with a literal list.
2017-03-16gexp: Add '=>' syntax to import computed modules.Ludovic Courtès
* guix/gexp.scm (imported-files)[file-pair]: Add case for pairs where the cdr is not a string. (imported-modules): Support '=>' syntax in MODULES. * tests/gexp.scm ("imported-files with file-like objects") ("gexp->derivation & with-imported-module & computed module"): New tests. * doc/guix.texi (G-Expressions): Document '=>' syntax for 'with-imported-modules'.
2017-03-16utils: Move base16 procedures to (guix base16).Ludovic Courtès
* guix/utils.scm (bytevector->base16-string, base16-string->bytevector): Move to... * guix/base16.scm: ... here. New file. * tests/utils.scm ("bytevector->base16-string->bytevector"): Move to... * tests/base16.scm: ... here. New file. * Makefile.am (MODULES): Add guix/base16.scm. (SCM_TESTS): Add tests/base16.scm. * build-aux/download.scm, guix/derivations.scm, guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/store.scm, tests/hash.scm, tests/pk-crypto.scm: Adjust imports accordingly.
2017-03-15Merge branch 'master' into core-updatesMarius Bakke
2017-03-15syscalls: Adjust 'clone' to Guile 2.2.Ludovic Courtès
Before that, something like: (call-with-container (lambda () (match (primitive-fork) …))) would hang in 'primitive-fork' as the child process (the one started in the container) would try to pthread_join the finalization thread in 'stop_finalization_thread' in libguile, not knowing that this thread is nonexistent. * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!): New procedure. (without-automatic-finalization): New macro. (clone): Wrap PROC call in 'without-automatic-finalization'.
2017-03-15zlib: Don't rely on EBADF being ignored by 'fport_close'.Ludovic Courtès
In 2.2, 'fport_close' no longer swallows EBADF and instead raises a 'system-error' for this. This commit adjusts for 2.2. * guix/zlib.scm (close-procedure): Remove. (make-gzip-input-port): Use 'port->fdes' instead of 'fileno'. Use 'gzclose' instead of 'close-procedure'. (make-gzip-output-port): Likewise. * tests/zlib.scm ("compression/decompression pipe"): Don't check whether PARENT is closed using 'port-closed?'. Instead, use 'seek' on the underlying FD and check for EBADF.