Ludovic Courtès
5608847c6f
Merge branch 'master' into core-updates
2013-09-23 00:35:17 +02:00
Ludovic Courtès
66018f1c33
utils: 'find-files' returns a sorted list.
...
* guix/build/utils.scm (find-files): Sort the result lexicographically.
* guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.
2013-09-15 23:21:30 +02:00
Andreas Enge
aae4ead814
Merge branch 'python'
2013-09-14 10:45:01 +02:00
Andreas Enge
824af8cadc
guix: python: Create module installation path and add it to PYTHONPATH during
...
the installation phase.
* guix/build/python-build-system.scm (get-python-version): New procedure.
* guix/build/python-build-system.scm (install): Create and add path.
* gnu/packages/python.scm (python-setuptools): Drop path creation code.
2013-09-11 15:47:34 +02:00
Ludovic Courtès
37c825eb79
linux-initrd: Create /dev/klog and /dev/kmsg.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/klog and /dev/kmsg.
2013-09-11 01:07:50 +02:00
Andreas Enge
b191f88ee3
guix: python: Add build phase and factor out calls to setup.py.
...
* guix/build/python-build-system.scm (call-setuppy): New procedure.
* guix/build/python-build-system.scm (build): New procedure.
* guix/build/python-build-system.scm (check, install): Use call-setuppy.
* guix/build/python-build-system.scm (%standard-phases): Add call to build.
2013-09-05 20:25:08 +02:00
Andreas Enge
7b96bf82da
gnu: python: Honour #:tests? and #:test-target in build system.
...
* guix/build/python-build-system.scm (check): Use named parameters tests?
and test-target (default now: "test" instead of "check").
2013-09-05 18:43:18 +02:00
Ludovic Courtès
29804e6eb2
gnu: linux-initrd: Fix creation of /dev/tty nodes.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/tty. Change from 'block-special' to 'char-special' for /dev/tty*
nodes.
2013-09-05 00:46:09 +02:00
Andreas Enge
3df47231e6
guix: python: Switch to python-wrapper as the default version for the python
...
build system (switches to Python 3) and compute python-version instead of
passing it as a parameter.
* guix/build-system/python.scm (default-python): Switch to python-wrapper.
* guix/build-system/python.scm (python-build): Drop parameter #:python-version.
* guix/build/python-build-system.scm (wrap): Compute python version from input.
2013-09-04 18:07:55 +02:00
Ludovic Courtès
43dd92024a
union: Don't traverse sub-directories only found in one element of the union.
...
This significantly reduces I/O when building profiles, especially with
lots of package-specific sub-directories (such as 'share/emacs/24.3',
'texmf', etc.)
* guix/build/union.scm (union-build)[file-tree](others-have-it?): New
procedure. Use it in the 'enter?' parameter of 'file-system-fold';
change 'skip' parameter accordingly.
* tests/union.scm ("union-build"): Ensure that 'include' is a symlink
and 'bin' is a directory.
2013-09-02 23:04:25 +02:00
Ludovic Courtès
d91712ee89
gnu: linux-initrd: Factorize device node creation.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): New
procedure.
* gnu/packages/linux-initrd.scm (qemu-initrd): Use it.
2013-09-02 00:20:14 +02:00
Ludovic Courtès
89bf140b10
gnu: linux-initrd: Make Guile modules accessible in the chroot.
...
* gnu/packages/linux-initrd.scm (qemu-initrd): Add (guix build utils) to
#:modules, and use it. Copy .scm and .go files to /root.
* guix/build/linux-initrd.scm (bind-mount): New procedure.
2013-08-31 23:02:18 +02:00
Ludovic Courtès
88840f0246
gnu: linux-initrd: Add (guix build linux-initrd) and use it.
...
* gnu/packages/linux-initrd.scm (qemu-initrd): Add #:modules argument.
Factorize and move some of the code to...
* guix/build/linux-initrd.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
2013-08-29 00:05:03 +02:00
Ludovic Courtès
fe12c3458c
build-system/gnu: Add `dist-package'.
...
* guix/build/gnu-dist.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/gnu.scm (%default-modules): New variable.
(gnu-build): Use it.
(dist-package): New procedure.
2013-08-24 17:30:31 +02:00
Ludovic Courtès
c769406010
Merge branch 'core-updates'
2013-07-09 22:17:18 +02:00
Ludovic Courtès
be58d01a7e
build-system/gnu: Write debug files to the "debug" sub-derivation, if any.
...
* guix/build/gnu-build-system.scm (strip): Add `objcopy-command' keyword
parameter.
[debug-output, debug-file-extension]: New variables.
[debug-file, make-debug-file, add-debug-link]: New procedures.
[strip-dir]: Use them.
2013-07-03 23:53:31 +02:00
Ludovic Courtès
d475b25953
utils: Re-export `alist-cons' and `alist-delete'.
...
* guix/build/utils.scm: Re-export `alist-cons' and `alist-delete'.
2013-07-03 23:08:41 +02:00
Ludovic Courtès
b15669f37d
utils: `set-path-environment-variable' calls `unsetenv' for empty values.
...
* guix/build/utils.scm (set-path-environment-variable): When VALUE is
the empty string, call `unsetenv' instead of `setenv'.
* gnu/packages/guile.scm (guile-2.0)[arguments]: Remove `unsetenv'
trick.
2013-06-22 16:42:46 +02:00
Ludovic Courtès
2f41f51c40
build-system/gnu: Set #:tests? to #f when cross-compiling.
...
* guix/build/gnu-build-system.scm (check): Add `target' formal
parameter. Change `tests?' to default to (not target).
2013-06-22 16:15:23 +02:00
Ludovic Courtès
91a7fde456
download: Don't fail when abbreviating `file://' URIs.
...
* guix/build/download.scm (uri-abbreviation)[elide-path]: Handle the
case where URI has no `host' part.
2013-06-22 16:10:25 +02:00
Ludovic Courtès
4ca968eb95
build-system/gnu: Save `environment-variables' after each phase.
...
* guix/build/gnu-build-system.scm (set-paths): Move `system' call to...
(gnu-build): ... here.
2013-06-21 00:32:07 +02:00
Ludovic Courtès
56c092ce94
build-system/gnu: Unify with (guix build-system gnu-cross-build).
...
* guix/build/gnu-build-system.scm (set-paths): Add `native-inputs' and
`native-search-paths' keyword parameters. Honor them.
(configure): Add `target' and `native-inputs' keyword parameters.
Look for Bash in NATIVE-INPUTS or INPUTS. Pass `--host' when TARGET
is true.
(strip): Add `strip-command' keyword parameter. Use it.
* guix/build/gnu-cross-build.scm: Remove.
* Makefile.am (MODULES): Adjust accordingly.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/base.scm,
gnu/packages/bash.scm, gnu/packages/gawk.scm,
gnu/packages/gettext.scm, gnu/packages/guile.scm,
gnu/packages/libffi.scm, gnu/packages/libsigsegv.scm,
gnu/packages/linux.scm, gnu/packages/ncurses.scm,
gnu/packages/readline.scm, guix/build-system/gnu.scm: Replace
`%standard-cross-phases' by `%standard-phases'. Remove references
to (guix build gnu-cross-build).
2013-06-21 00:25:54 +02:00
Ludovic Courtès
a85060efec
substitute-binary: Report progress while downloading.
...
* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring.
(progress-report-port): New procedure.
(guix-substitute-binary)["--substitute"]: Use it to report progress.
* guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.
2013-06-20 23:41:28 +02:00
Cyril Roelandt
842ded334f
python-build-system: add a check phase.
...
* guix/build/python-build-system.scm (check): New procedure.
(%standard-phases): Use it.
2013-05-28 22:53:35 +02:00
Ludovic Courtès
264218a47e
build-system/gnu: Implement cross build.
...
* guix/build-system/gnu.scm (inputs-search-paths): New procedure.
(standard-search-paths): Use it.
(expand-inputs): New procedure.
(standard-inputs): Use it.
(standard-cross-packages, standard-cross-inputs,
standard-cross-search-paths, gnu-cross-build): New procedures.
(gnu-build-system): Set `cross-build' field to `gnu-cross-build'.
* gnu/packages/cross-base.scm: Export `cross-gcc', `cross-binutils', and
`cross-libc'.
* guix/build/gnu-cross-build.scm: New file.
* Makefile.am (MODULES): Add it.
2013-05-24 22:44:15 +02:00
Ludovic Courtès
dd9afe64b5
download: Fix premature socket close on TLS connections.
...
This would manifest when downloading a large file such as the Bazaar
tarball, leading to an "Error in the pull function" GnuTLS exception.
* guix/build/download.scm (add-weak-reference): New procedure.
(tls-wrap): Add (add-weak-reference record port).
2013-05-10 01:14:25 +02:00
Nikita Karetnikov
40506d5d92
Add 'python-build-system'.
...
* guix/build-system/python.scm, guix/build/python-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
2013-05-08 22:46:12 +00:00
Ludovic Courtès
3309e3a103
Add (guix build rpath).
...
* guix/build/rpath.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages/python.scm (python): Use it; remove local copy of
the *rpath* procedures.
* gnu/packages/samba.scm (samba): Likewise.
2013-05-08 23:45:02 +02:00
Nikita Karetnikov
01155b1808
utils: Adjust 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): Fix computation of PROG-REAL and
PROG-TMP when PROG is an absolute file name. Add "$@" in the
generated script, and quote PROG-REAL.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-04-30 16:58:59 +02:00
Ludovic Courtès
593987671a
build-system/gnu: Fix default name for the "doc" output directory.
...
* guix/build/gnu-build-system.scm (configure)[package-name]: Drop the
prefix corresponding to the hash part of OUT.
2013-04-28 23:39:28 +02:00
Ludovic Courtès
a18eda2747
packages: Add `native-search-paths' field and honor it.
...
* guix/packages.scm (<search-path-specification>): New record type.
(search-path-specification->sexp): New procedure.
(<package>)[native-search-paths]: New field.
(package-derivation): Accumulate the search paths, and pass them
as #:search-paths toe BUILDER.
* guix/build-system/gnu.scm (gnu-build): Add #:search-paths. Compute
`implicit-search-paths'. Pass #:search-paths in BUILDER.
* guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it
to BUILDER with the search paths of PERL.
* guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it
to BUILDER.
* guix/build-system/trivial.scm (trivial-build): Add #:search-paths,
ignore it.
* guix/build/gnu-build-system.scm (set-paths): Add #:search-paths.
Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH.
Instead, walk SEARCH-PATHS and call `set-path-environment-variable'
for them.
* guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting.
* tests/packages.scm ("search paths"): New test.
* gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add
#:search-paths.
(%bootstrap-gcc): Add `native-search-paths' field.
* gnu/packages/perl.scm (perl): Likewise.
* gnu/packages/pkg-config.scm (pkg-config): Likewise.
* gnu/packages/glib.scm (intltool): Remove `arguments'.
* gnu/packages/avahi.scm (avahi): Remove #:phases.
2013-03-30 22:57:03 +01:00
Ludovic Courtès
a96748bb46
build-system/gnu: Remove #:path-exclusions parameter.
...
* guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions'
parameter. Replace `relevant-input-directories' by
`input-directories'.
* guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions'
parameter; don't pass it in BUILDER.
* guix/build-system/cmake.scm (cmake-build): Likewise.
2013-03-30 21:46:59 +01:00
Ludovic Courtès
4928e50033
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
gnu/packages/base.scm
2013-03-29 21:44:31 +01:00
Cyril Roelandt
c6bded8a29
Add (guix build-system cmake).
...
* guix/build/cmake-build-system.scm, guix/build-system/cmake.scm: New files.
* Makefile.am (MODULES): Add them.
2013-03-28 21:04:54 +01:00
Nikita Karetnikov
30db6af1de
utils: Add 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-07 00:46:23 +01:00
Ludovic Courtès
6ba9dd813d
Revert "utils: Add 'wrap-program'."
...
This reverts commit 02065130de
.
2013-03-07 00:36:14 +01:00
Nikita Karetnikov
02065130de
utils: Add 'wrap-program'.
...
* guix/build/utils.scm (wrap-program): New procedure.
2013-03-06 21:03:26 +00:00
Ludovic Courtès
12761f48ea
utils: Add a #:follow-symlinks? parameter to `copy-recursively'.
...
* guix/build/utils.scm (copy-recursively): Turn `log' into a keyword
parameter. Add the `follow-symlinks?' parameter and honor it.
2013-03-05 19:03:39 +01:00
Ludovic Courtès
e65df6a63a
utils: Add `delete-file-recursively'.
...
* guix/build/utils.scm (delete-file-recursively): New procedure.
2013-03-05 18:53:53 +01:00
Ludovic Courtès
81eec00cb2
Merge branch 'master' into core-updates
...
Conflicts:
Makefile.am
guix/scripts/gc.scm
guix/scripts/package.scm
guix/ui.scm
tests/guix-package.sh
2013-03-04 23:27:24 +01:00
Andreas Enge
8689a1908a
guix: build: Add "share/pkgconfig" to PKG_CONFIG_PATH, as used by xorg.
...
* guix/build/gnu-build-system.scm (set-paths): Add "share/pkgconfig"
to PKG_CONFIG_PATH.
2013-03-04 10:14:34 +01:00
Ludovic Courtès
08fd1ebefd
Add (guix build-system perl).
...
* guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/build-system/gnu.scm (standard-inputs): Make public.
2013-03-04 00:48:00 +01:00
Ludovic Courtès
cc68ccc5b0
download: Adjust to `http-get*' deprecation.
...
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
using Guile 2.0.8+.
2013-02-27 20:55:41 +01:00
Andreas Enge
ca8def6e6f
Patch-shebang: Do not add space after interpreter without argument.
...
* guix/build/utils.scm (patch-shebang): Do not add a space after a command
interpreter not followed by an argument; this made two tests of
coreutils fail.
2013-02-23 23:27:46 +01:00
Andreas Enge
11996d85d3
Patch-shebang: Handle "#!/usr/bin/env command"
...
* guix/build/utils.scm (patch-shebang): Handle replacement of
"#!.*/env CMD ARGS" by "#!/nix/store/path/.../to/CMD ARGS".
2013-02-23 20:32:03 +01:00
Ludovic Courtès
80736cdf20
download: Adjust to `http-get*' deprecation.
...
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
using Guile 2.0.8+.
2013-02-20 22:59:35 +01:00
Ludovic Courtès
1be77eac08
union: Don't warn when colliding leaves point to the same file.
...
* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
through `delete-duplicates'; warn iff the result contains more than
one item.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
6211223021
union: Delete duplicates when passed the same input several times.
...
* guix/build/union.scm (union-build): Prepend "." to the result of
`union-tree', to match the expectations of `delete-duplicate-leaves'.
Don't do mkdir when SUBDIR is ".".
* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.
2013-02-06 23:04:10 +01:00
Ludovic Courtès
67158a4900
download: Follow HTTP redirection upon 301 "moved permanently".
...
* guix/build/download.scm (http-fetch): Follow redirections upon 301.
This is what `downloads.sourceforge.net' returns, for instance.
2013-01-25 21:52:08 +01:00
Ludovic Courtès
483f11589e
download: Add HTTPS support.
...
* guix/build/download.scm: Autoload (gnutls).
(tls-wrap): New procedure.
(open-connection-for-uri): Add support for `https'. Wrap the socket
with `tls-wrap' in that case.
(url-fetch): Add `https'.
* guix/download.scm (gnutls-derivation): New procedure.
(url-fetch)[need-gnutls?]: New variable.
Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
to the `GUILE_LOAD_PATH' env. var. in that case.
2013-01-20 22:54:36 +01:00