Ludovic Courtès
cdb3f734cf
packages: Remove "mips64el-linux" from '%hydra-supported-systems'.
...
* guix/packages.scm (%hydra-supported-systems): Remove "mips64el-linux".
2017-03-29 22:50:42 +02:00
Leo Famulari
c17383f400
Merge branch 'master' into core-updates
2017-03-27 21:19:38 -04:00
Alex Kost
689db38e34
ui: Support Texinfo markup in package synopses.
...
* 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-27 10:55:16 +03:00
Huang Ying
0a5ce0d1df
profiles: Create fonts.dir/scale for all fonts directories.
...
* 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-26 12:53:52 +02:00
Huang Ying
addce19e2d
union: Add create-all-directories? parameter to 'union-build'.
...
* 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-26 12:53:48 +02:00
Efraim Flashner
0371b345e8
Merge remote-tracking branch 'origin/master' into core-updates
2017-03-23 14:53:33 +02:00
Ludovic Courtès
4bb5e0aeb3
publish: Add '--nar-path'.
...
* guix/scripts/publish.scm (show-help, %options): Add '--nar-path'.
(%default-options): Add 'nar-path'.
(guix-publish): Honor it.
2017-03-22 14:05:59 +01:00
Ludovic Courtès
cdd7a7d210
publish: Make the nar URL prefix a parameter.
...
* 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-22 14:05:59 +01:00
Ludovic Courtès
46f58390cb
publish: Add '--public-key' and '--private-key'.
...
* guix/scripts/publish.scm (show-help, %options): Add --public-key and
--private-key.
* doc/guix.texi (Invoking guix publish): Document it.
2017-03-22 14:05:59 +01:00
Ludovic Courtès
ab2a74e4db
publish: The public and private keys are now SRFI-39 parameters.
...
* 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-22 14:05:59 +01:00
Efraim Flashner
378de69c59
Merge remote-tracking branch 'origin/master' into core-updates
2017-03-22 12:57:37 +02:00
Roel Janssen
a4f5423415
download: Handle username and password properties for FTP URIs.
...
* guix/build/download.scm (ftp-fetch): Process username and password from a URI.
2017-03-21 12:15:14 +01:00
Roel Janssen
193420a803
ftp-client: Allow custom username and password for FTP servers.
...
* guix/ftp-client.scm (ftp-open): Add username and password arguments.
2017-03-21 12:14:05 +01:00
Mark H Weaver
d67f972bd7
download: Remove non-existent kernel mirror.
...
* guix/download.scm (%mirrors) <kernel.org>: Remove www.all.kernel.org.
2017-03-19 21:18:46 -04:00
Mark H Weaver
f67337e23e
Merge branch 'master' into core-updates
2017-03-19 18:52:12 -04:00
Ludovic Courtès
4fd06a4dd1
http-client: Avoid name clash with 'open-connection-for-uri' in 2.2.0.
...
* 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-18 00:39:50 +01:00
Ludovic Courtès
36626c556e
build: Require Guile >= 2.0.9.
...
* 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-18 00:39:49 +01:00
Ludovic Courtès
5461115e8f
pack: Add '--target'.
...
* 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-18 00:38:41 +01:00
Ludovic Courtès
176febe377
profiles: Packages in a profile can be cross-compiled.
...
* guix/profiles.scm (profile-derivation): Add #:target parameter; pass
it to 'gexp->derivation'.
* tests/profiles.scm ("profile-derivation, cross-compilation"): New test.
2017-03-17 23:25:53 +01:00
Ludovic Courtès
48b444304e
pack: Move absolute file name to <compressor>.
...
* 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-17 23:25:53 +01:00
Danny Milosavljevic
4ed64c534a
build/cargo-build-system: Make cargo-build-system install working packages.
...
* 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-17 16:48:09 +01:00
Danny Milosavljevic
25fb58a3be
build-system/cargo (cargo-build): Add cargo-build-flags, remove configure-flags.
...
* guix/build-system/cargo.scm (cargo-build): Add cargo-build-flags,
remove configure-flags.
2017-03-17 16:48:08 +01:00
Ricardo Wurmus
2d7c4ae3ee
gnu: r: Rename to r-minimal.
...
* 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-17 10:14:02 +01:00
Ricardo Wurmus
aeb64f3cb2
gnu: r: Do not build recommended packages.
...
* 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-17 10:14:02 +01:00
Ludovic Courtès
db3f2b61ad
pack: Allow for "-S /opt/foo=".
...
Reported by Andy Wingo.
* guix/scripts/pack.scm (%options): Use 'string-split' instead of
'string-tokenize'.
2017-03-16 22:50:15 +01:00
Ludovic Courtès
9e84ea3673
pack: Honor symlinks in the Docker back-end.
...
* 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-16 22:50:15 +01:00
Ludovic Courtès
54241dc8e6
docker: Build images in a reproducible fashion.
...
* guix/docker.scm (%tar-determinism-options): New variable.
(build-docker-image): Use it on the two 'tar' invocations.
2017-03-16 22:50:15 +01:00
Ludovic Courtès
84dda5a9c0
pack: Use a fixed timestamp in Docker images.
...
* 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-16 22:50:15 +01:00
Ludovic Courtès
b1edfbc37f
pack: Add '--format' option and Docker output support.
...
* 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 1545a012cb
,
01445711db
, and
03476a23ff
.
* doc/guix.texi (Invoking guix pack): Document '--format'.
(Invoking guix archive): Remove documentation of '--format'.
2017-03-16 22:50:15 +01:00
Ludovic Courtès
2971f39c33
pack: Honor command-line options related to the store.
...
* guix/scripts/pack.scm (guix-pack): Call
'set-build-options-from-command-line'.
2017-03-16 22:50:15 +01:00
Ludovic Courtès
146db52a18
memoization: Micro-optimize code produced by 'define-cache-procedure'.
...
* guix/memoization.scm (%nothing): Remove.
(define-cache-procedure): Make '%nothing' a local variable, with a
literal list.
2017-03-16 22:50:15 +01:00
Ludovic Courtès
d938a58bee
gexp: Add '=>' syntax to import computed modules.
...
* 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-16 22:50:14 +01:00
Ludovic Courtès
4c0c4db070
utils: Move base16 procedures to (guix base16).
...
* 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-16 22:50:14 +01:00
Marius Bakke
4b7e5c1131
Merge branch 'master' into core-updates
2017-03-15 17:52:26 +01:00
Ludovic Courtès
70dfdd501a
syscalls: Adjust 'clone' to Guile 2.2.
...
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-15 15:19:53 +01:00
Ludovic Courtès
81a0f1cdf1
zlib: Don't rely on EBADF being ignored by 'fport_close'.
...
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.
2017-03-15 15:19:53 +01:00
Ludovic Courtès
850edd77f9
pack: Add unit test.
...
* 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.
2017-03-14 23:18:32 +01:00
Ludovic Courtès
36f213fb70
pack: Use maximum compression; use '-n' for gzip.
...
* 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.
2017-03-14 23:18:32 +01:00
Ludovic Courtès
5895ec8aa2
pack: Add '--symlink'.
...
* 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.
2017-03-14 17:57:27 +01:00
Ludovic Courtès
6b63c43e06
pack: Add '--localstatedir' option.
...
* 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.
2017-03-14 17:57:27 +01:00
Ludovic Courtès
3b2dc9edcd
upstream: Avoid '_' as a pattern variable in 'match'.
...
* guix/upstream.scm (lookup-updater): Don't use '_' as a pattern
variable.
2017-03-14 11:19:21 +01:00
Efraim Flashner
3f9543aee1
Merge remote-tracking branch 'origin/master' into core-updates
2017-03-13 23:08:49 +02:00
Ludovic Courtès
b111bceecc
download: Export '%x509-certificate-directory'.
...
* guix/build/download.scm (%x509-certificate-directory): Export, as
expected by (guix scripts pull) since commit
7e81d699de
.
2017-03-13 21:52:38 +01:00
Marius Bakke
7e81d699de
pull: Default to HTTPS.
...
* guix/scripts/pull.scm (%snapshot-url): Use HTTPS.
(guix-pull): Authenticate against LE-CERTS when URL is from Savannah.
2017-03-12 19:39:32 +01:00
Ludovic Courtès
334c95306a
syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.
...
* 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.
2017-03-12 17:47:25 +01:00
Ludovic Courtès
239c22663a
Add 'guix pack'.
...
* 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.
2017-03-12 17:47:25 +01:00
Ludovic Courtès
e90e0fad1b
Merge branch 'master' into core-updates
2017-03-09 16:35:41 +01:00
Roel Janssen
64fc9f65f1
gexp: Expose functions to allow creating derivation builders.
...
* guix/gexp.scm: Add load-path-expression and gexp-modules to the public
interface of the module. See <http://bugs.gnu.org/26023 >.
2017-03-09 12:39:05 +01:00
Ludovic Courtès
3104475148
utils: Use an idiom compatible with both 2.0 and 2.2.
...
Fixes a regression introduced in 7447aa36e1
.
Reported by Ricardo Wurmus.
* guix/utils.scm: Revert 7447aa36e1
. Use
#:prefix for (ice-9 iconv) to support both 2.0 and 2.2.
2017-03-09 09:48:33 +01:00
Ludovic Courtès
7447aa36e1
utils: Make sure to use the right 'bytevector->string'.
...
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).
2017-03-08 23:42:53 +01:00