Ludovic Courtès
b2bfa32d25
Merge branch 'master' into core-updates
...
Conflicts:
gnu-system.am
2014-02-22 00:27:57 +01:00
Ludovic Courtès
9b5b5c1740
Add (guix git-download).
...
* guix/git-download.scm, guix/build/git.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/packages.scm (<origin>): Fix comment for 'method' field.
2014-02-21 23:49:53 +01:00
John Darrington
c2e6516721
build-system/gnu: Set the docdir to "share/doc"
...
* guix/build/gnu-build-system.scm (configure):
Change docdir directory from "doc" to "share/doc".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-02-10 22:22:53 +01:00
Ludovic Courtès
6ede17ca69
union: Do not compare directories upon collision.
...
* guix/build/union.scm (file=?): Return #f if FILE1 and FILE2 are not
regular files. Fixes a bug whereby collisions among directories would
lead to the invocation of 'file=?' and thus 'call-with-input-file' on
directories. Reported by Mark H. Weaver <mhw@netris.org>.
2014-02-10 00:05:39 +01:00
Ludovic Courtès
2de227af4b
download: Provide a 'User-Agent' field in HTTP requests.
...
Fixes <http://bugs.gnu.org/16703 >.
Reported by Raimon Grau <raimonster@gmail.com>.
* guix/build/download.scm (http-fetch)[headers]: New variable.
Pass it as #:headers or #:extra-headers to 'http-get' and
'http-get*'.
2014-02-10 00:03:34 +01:00
Ludovic Courtès
26fc862a61
gnu: linux-initrd: When booting, chdir to the new root before calling 'chroot'.
...
* guix/build/linux-initrd.scm (boot-system): Add 'chdir' call right
before 'chroot'.
2014-02-09 23:28:18 +01:00
Ludovic Courtès
1c2215108b
gnu: linux-initrd: Build /dev/input devices.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
dev/input devices.
2014-02-01 02:22:23 +01:00
Ludovic Courtès
c04c6ff64c
gnu: linux-initrd: Make /dev/{mem,kmem}.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
dev/{mem,kmem}.
2014-02-01 01:07:14 +01:00
Ludovic Courtès
44ddf33ed5
gnu: linux-initrd: Allow the root file system to be volatile.
...
* gnu/system/linux-initrd.scm (qemu-initrd): Add 'volatile-root?'
parameter.
* guix/build/linux-initrd.scm (boot-system): Likewise. Honor it.
2014-01-31 14:26:30 +01:00
Ludovic Courtès
4919d68432
gnu: linux-initrd: Recognize 9p file systems.
...
* gnu/system/linux-initrd.scm (qemu-initrd)[virtio-9p-modules]: New
variable.
[linux-modules]: Append VIRTIO-9P-MODULES when a 9p file system is in
MOUNTS.
* guix/build/linux-initrd.scm (mount-qemu-9p): New procedure.
(boot-system): Recognize '9p' in MOUNTS, and use 'mount-qemu-9p'.
2014-01-31 12:52:13 +01:00
Ludovic Courtès
fc4bc4b6de
gnu: linux-initrd: Properly distinguish between /dev/sda* and /dev/vda*.
...
* guix/build/linux-initrd.scm (make-essential-device-nodes): Rename
devices with major = 8 to /dev/sda*. Make /dev/vda* devices.
* gnu/system/vm.scm (qemu-image): Change '/dev/vda' to '/dev/sda'.
* gnu/system.scm (operating-system-derivation): Likewise.
2014-01-31 01:43:16 +01:00
Ludovic Courtès
83b9e6a185
gnu: linux-initrd: Start a REPL when the root could not be mounted.
...
* guix/build/linux-initrd.scm (boot-system): Catch errors when mounting
ROOT and call 'start-repl' upon error.
2014-01-31 01:40:02 +01:00
Ludovic Courtès
d425471182
gnu: linux-initrd: Factorize boot code.
...
* guix/build/linux-initrd.scm (boot-system): New procedure.
* gnu/system/linux-initrd.scm (qemu-initrd): Add keyword parameters
'guile-modules-in-chroot?' and 'mounts'. Change builder to simply
call 'boot-system'.
(gnu-system-initrd): Change to a simple call to 'qemu-initrd'.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Call
'qemu-initrd' with #:guile-modules-in-chroot?.
2014-01-29 21:57:56 +01:00
Ludovic Courtès
49a8b80da6
Revert "build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com."
...
This reverts commit 65529e49ff5b9052544271b1b7923feed4312849.
2014-01-28 08:57:37 +01:00
Ludovic Courtès
65529e49ff
build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com.
...
Suggested by John Darrington <john@darrington.wattle.id.au>
and Mark H Weaver <mhw@netris.org>.
* guix/build/gnu-build-system.scm (configure): Pass --localstatedir=/var
--sharedstatedir=/com.
* gnu/packages/admin.scm (dmd): Remove 'arguments' field.
* gnu/packages/avahi.scm (avahi): Remove --localstatedir flag.
* gnu/packages/glib.scm (dbus): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/pulseaudio.scm (pulseaudio): Likewise.
2014-01-27 23:45:59 +01:00
Ludovic Courtès
200a97e64f
Merge branch 'master' into core-updates
2014-01-25 17:07:21 +01:00
Ludovic Courtès
b97c95eb3c
linux-initrd: Make /dev/{null,zero} world-writable.
...
Reported by zerwas on #guix.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/null and /dev/zero world-writable.
2014-01-18 22:32:50 +01:00
John Darrington
db6190899e
gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.
...
* guix/build/gnu-build-system.scm: Add new configure flag: CC_FOR_BUILD=gcc
* gnu/packages/gnupg.scm, gnu/packages/guile.scm, gnu/packages/make-bootstrap.scm:
remove CC_FOR_BUILD from these package descriptions.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-17 21:28:07 +01:00
Ludovic Courtès
3dbeecd2ff
pull: Move build code to (guix build pull).
...
* guix/build/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm (unpack): Use it.
2013-12-16 23:26:48 +01:00
Cyril Roelandt
af949e8ee7
gnu: gtk+: enable introspection.
...
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
* guix/build/gnome.scm: New file.
2013-12-15 23:39:43 +01:00
Ludovic Courtès
977f03ffd3
build-system/cmake: Build out of source tree by default.
...
* guix/build-system/cmake.scm (cmake-build): Change 'out-of-source?' to
default to #t.
* guix/build/cmake-build-system.scm (configure): Add 'out-of-source?'
keyword parameter and honor it.
2013-11-28 00:15:07 +01:00
Ludovic Courtès
ff8061b591
Merge branch 'master' into core-updates
2013-11-01 12:59:31 +01:00
Ludovic Courtès
cdbca518ca
union: Do not warn when identical files collide.
...
* guix/build/union.scm (file=?): New procedure.
(union-build)[resolve-collision]: Do not warn when identical files
collide.
2013-10-31 23:38:58 +01:00
Ludovic Courtès
c065c443a0
union: Make the log port a parameter.
...
* guix/build/union.scm (union-build): Add 'log-port' keyword parameter;
use it.
2013-10-30 22:09:32 +01:00
Ludovic Courtès
f1352766fa
utils: 'find-files' always returns a proper list.
...
Reported at <http://bugs.gnu.org/15608 >.
* guix/build/utils.scm (find-files): Change the 'error' procedure to
return RESULT. Before we would end up with an improper list.
2013-10-16 15:53:59 +02:00
Andreas Enge
e78fd4ca63
guix: Make cmake build system aware of usual paths.
...
* guix/build/cmake-build-system.scm (configure): Set CMAKE_LIBRARY_PATH to
LIBRARY_PATH and CMAKE_INCLUDE_PATH to CPATH.
2013-10-13 18:02:49 +02:00
Ludovic Courtès
7e2b10a53f
build-system/{gnu,cmake}: Remove #:patches and #:patch-flags parameters.
...
* guix/build/gnu-build-system.scm (patch): Remove.
(%standard-phases): Remove 'patch'.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove
#:patches and #:patch-flags parameters.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/python.scm (package-with-explicit-python): Update
comment.
2013-10-10 23:15:57 +02:00
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