summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* build: Require Guile >= 2.0.9.Ludovic Courtès2017-03-18
| | | | | | | | | | | | | | | | * 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.
* pack: Add '--target'.Ludovic Courtès2017-03-18
| | | | | | | | | | | | * 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.
* profiles: Packages in a profile can be cross-compiled.Ludovic Courtès2017-03-17
| | | | | | * guix/profiles.scm (profile-derivation): Add #:target parameter; pass it to 'gexp->derivation'. * tests/profiles.scm ("profile-derivation, cross-compilation"): New test.
* pack: Move absolute file name to <compressor>.Ludovic Courtès2017-03-17
| | | | | | | | | | * 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.
* build/cargo-build-system: Make cargo-build-system install working packages.Danny Milosavljevic2017-03-17
| | | | | | | | | | * 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.
* build-system/cargo (cargo-build): Add cargo-build-flags, remove configure-flags.Danny Milosavljevic2017-03-17
| | | | | * guix/build-system/cargo.scm (cargo-build): Add cargo-build-flags, remove configure-flags.
* gnu: r: Rename to r-minimal.Ricardo Wurmus2017-03-17
| | | | | | | | | | | | | | | | * 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".
* gnu: r: Do not build recommended packages.Ricardo Wurmus2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* pack: Allow for "-S /opt/foo=".Ludovic Courtès2017-03-16
| | | | | | | Reported by Andy Wingo. * guix/scripts/pack.scm (%options): Use 'string-split' instead of 'string-tokenize'.
* pack: Honor symlinks in the Docker back-end.Ludovic Courtès2017-03-16
| | | | | | | | * 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'.
* docker: Build images in a reproducible fashion.Ludovic Courtès2017-03-16
| | | | | * guix/docker.scm (%tar-determinism-options): New variable. (build-docker-image): Use it on the two 'tar' invocations.
* pack: Use a fixed timestamp in Docker images.Ludovic Courtès2017-03-16
| | | | | | | * 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'.
* pack: Add '--format' option and Docker output support.Ludovic Courtès2017-03-16
| | | | | | | | | | | | | | | | | | | | * 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'.
* pack: Honor command-line options related to the store.Ludovic Courtès2017-03-16
| | | | | * guix/scripts/pack.scm (guix-pack): Call 'set-build-options-from-command-line'.
* memoization: Micro-optimize code produced by 'define-cache-procedure'.Ludovic Courtès2017-03-16
| | | | | | * guix/memoization.scm (%nothing): Remove. (define-cache-procedure): Make '%nothing' a local variable, with a literal list.
* gexp: Add '=>' syntax to import computed modules.Ludovic Courtès2017-03-16
| | | | | | | | | | * 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'.
* utils: Move base16 procedures to (guix base16).Ludovic Courtès2017-03-16
| | | | | | | | | | | | | | | * 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.
* syscalls: Adjust 'clone' to Guile 2.2.Ludovic Courtès2017-03-15
| | | | | | | | | | | | | | | | | | | 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'.
* zlib: Don't rely on EBADF being ignored by 'fport_close'.Ludovic Courtès2017-03-15
| | | | | | | | | | | | | 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.
* pack: Add unit test.Ludovic Courtès2017-03-14
| | | | | | | * guix/scripts/pack.scm (self-contained-tarball): Add #:tar option. [build](tar-supports-sort?): New variable. Use it. * tests/pack.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* pack: Use maximum compression; use '-n' for gzip.Ludovic Courtès2017-03-14
| | | | | | | | * guix/scripts/pack.scm (<compressor>)[tar-option]: Remove. [command]: New field. (%compressors): Provide complete commands. Use '-9' or equivalent for each compressor; use '-n' for gzip. (self-contained-tarball)[build]: Adjust accordingly.
* pack: Add '--symlink'.Ludovic Courtès2017-03-14
| | | | | | | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball): Add #:symlinks parameter. [build](symlink->directives): New procedure (directives): New variable. Add call to 'evaluate-populate-directive'. Pass the directories among DIRECTIVES to 'tar'. (%default-options): Add 'symlinks'. (%options, show-help): Add '--symlink'. (guix-pack): Honor it. * gnu/build/install.scm (evaluate-populate-directive): Export. * doc/guix.texi (Invoking guix pack): Document it.
* pack: Add '--localstatedir' option.Ludovic Courtès2017-03-14
| | | | | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball): Add #:localstatedir? parameter and honor it. (%options, show-help): Add '--localstatedir'. (guix-pack): Honor it. * gnu/build/install.scm (populate-single-profile-directory): Add #:register? parameter and honor it. * doc/guix.texi (Binary Installation): Use '--localstatedir' in example. (Invoking guix pack): Document it.
* upstream: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès2017-03-14
| | | | | * guix/upstream.scm (lookup-updater): Don't use '_' as a pattern variable.
* download: Export '%x509-certificate-directory'.Ludovic Courtès2017-03-13
| | | | | | * guix/build/download.scm (%x509-certificate-directory): Export, as expected by (guix scripts pull) since commit 7e81d699de7a2c924a048175516fe1ac3820d8e6.
* pull: Default to HTTPS.Marius Bakke2017-03-12
| | | | | * guix/scripts/pull.scm (%snapshot-url): Use HTTPS. (guix-pull): Authenticate against LE-CERTS when URL is from Savannah.
* syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.Ludovic Courtès2017-03-12
| | | | | | * guix/build/syscalls.scm (define-bits): Do not define NAMES... as top-level variables since that prevents literal matches in 2.2. Instead, determine constant values at expansion time.
* Add 'guix pack'.Ludovic Courtès2017-03-12
| | | | | | | | | | | | * gnu/system/install.scm (self-contained-tarball): Move to... * guix/scripts/pack.scm: ... here. New file. * doc/guix.texi (Binary Installation): Mention 'guix pack'. (Invoking guix pack): New node. * build-aux/make-binary-tarball.scm: Remove. * Makefile.am (MODULES): Add guix/scripts/pack.scm. (EXTRA_DIST): Remove build-aux/make-binary-tarball.scm. (guix-binary.%.tar.xz): Rewrite using 'guix pack'. * build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly.
* gexp: Expose functions to allow creating derivation builders.Roel Janssen2017-03-09
| | | | | * guix/gexp.scm: Add load-path-expression and gexp-modules to the public interface of the module. See <http://bugs.gnu.org/26023>.
* utils: Use an idiom compatible with both 2.0 and 2.2.Ludovic Courtès2017-03-09
| | | | | | | | Fixes a regression introduced in 7447aa36e16fb77f75df4d3369db9c942615632e. Reported by Ricardo Wurmus. * guix/utils.scm: Revert 7447aa36e16fb77f75df4d3369db9c942615632e. Use #:prefix for (ice-9 iconv) to support both 2.0 and 2.2.
* utils: Make sure to use the right 'bytevector->string'.Ludovic Courtès2017-03-08
| | | | | | | In Guile 2.2, (rnrs io ports) exports 'bytevector->string', which conflicts with that of (ice-9 iconv). * guix/utils.scm: Hide 'bytevector->string' from (rnrs io ports).
* ui: Don't use '%default-port-encoding' to set the encoding of string ports.Ludovic Courtès2017-03-08
| | | | | | | | * guix/ui.scm (right-arrow): Call 'set-port-encoding!' to set PORT's encoding; remove use of 'with-fluids'. This is for compatibility with Guile 2.2 where the encoding of string ports is not influenced by %DEFAULT-PORT-ENCODING. * tests/ui.scm ("show-manifest-transaction"): Likewise.
* ui: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès2017-03-08
| | | | | | * guix/ui.scm (fill-paragraph): Don't use '_' as a pattern variable since that is shadowed by the top-level '_' binding on Guile 2.2. (show-manifest-transaction): Likewise.
* download: Update the Savannah mirror list.Ludovic Courtès2017-03-08
| | | | | * guix/download.scm (%mirrors) <savannah>: Remove centervenus.com, which seems to be broken. Add download-mirror.sv.gnu.org as a last resort.
* guix archive: Allow compilation with Guile 2.2.Ludovic Courtès2017-03-08
| | | | | * guix/scripts/archive.scm (export-from-store): Avoid shadowing the top-level '_'.
* gnu: bash: Use the bootstrap Guile in 'url-fetch/reset-patch-level'.Ludovic Courtès2017-03-07
| | | | | | | | | | | Fixes <http://bugs.gnu.org/25775>. Reported by Sirgazil, Ricardo Wurmus, Andy Wingo, and others. * guix/download.scm (in-band-download): Always use GUILE. This reverts 9f05908fb1e3707cae593d94688748294717a546. * gnu/packages/bash.scm (url-fetch/reset-patch-level): Remove #:guile. Pass %BOOTSTRAP-GUILE as #:guile to 'url-fetch'. Remove #:guile-for-build argument in 'gexp->derivation' call.
* Merge branch 'python-tests'Marius Bakke2017-03-03
|\
| * Merge branch 'master' into python-testsMarius Bakke2017-02-27
| |\
| * \ Merge branch 'master' into python-testsMarius Bakke2017-02-13
| |\ \
| * \ \ Merge branch 'master' into python-testsLeo Famulari2017-01-13
| |\ \ \
| * | | | build-system/python: Make sure 'check' returns failures.Marius Bakke2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/python-build-system.scm (check): Wrap 'call-setuppy' in 'if' so that it actually fails when the tests fail. Print informational message when skipped.
* | | | | build-system/cargo: Export %cargo-build-system-modules.Danny Milosavljevic2017-03-03
| |_|_|/ |/| | | | | | | | | | | * guix/build-system/cargo.scm (%cargo-build-system-modules): Export.
* | | | download: Provide a fall-back guile for older daemons.Leo Famulari2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/25775>. * guix/download.scm (in-band-download): Use %bootstrap-guile as a fall-back when using older daemons that do not have a built-in downloader. Written-by: Ricardo Wurmus <rekado@elephly.net>
* | | | build: dub-build-system: Don't use "dub run" at all.Danny Milosavljevic2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make sense to run non-test executables (which is what "dub run" would do). The "check" function already invokes "dub test" and that's enough. * guix/build/dub-build-system.scm (build): Remove "dub run" invocation.
* | | | import: stackage: Avoid using (guix ui) in importer code.Federico Beffa2017-02-14
| |_|/ |/| | | | | | | | | | | | | | * guix/import/stackage.scm (stackage->guix-package, stackage-lts-info-fetch): Raise 'message' condition instead of using 'leave' from (guix ui). * guix/scripts/import/stackage.scm (guix-import-stackage): Handle conditions.
* | | gnu: Add dub-build-system.Danny Milosavljevic2017-02-10
| | | | | | | | | | | | | | | | | | | | | * guix/build-system/dub.scm: New file. * guix/build/dub-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi: Add section for dub-build-system.
* | | git-download: Add 'git-predicate'.Mathieu Lirzin2017-02-09
| | | | | | | | | | | | | | | | | | * guix/git-download.scm (git-predicate): New procedure. * gnu/packages/package-management.scm (current-guix): Use it. (make-git-predicate): Remove.
* | | import: hackage: Handle unknown packages gracefully.Federico Beffa2017-02-09
| | | | | | | | | | | | * guix/import/hackage.scm (hackage-fetch): Add 'guard'.
* | | import: Add stackage importer and updater.Federico Beffa2017-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/import/stackage.scm: New file. * guix/scripts/import/stackage.scm: New file. * Makefile.am (MODULES): Add new files. * guix/scripts/import.scm (importers): Add "stackage". * guix/scripts/refresh.scm (%updaters): Add %stackage-updater. * doc/guix.texi (Invoking 'guix import'): Document the importer. (Invoking 'guix refresh'): Add stackage to option --type valid values. * guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch, hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
* | | import: json: Explicitly ask for JSON data.Federico Beffa2017-02-09
| | | | | | | | | | | | * guix/import/json.scm (json-fetch): Add #:headers to http-fetch call.