summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2014-04-03union: Ensure that the output is always a directory.Mark H Weaver
Fixes the creation of single-package profiles, reported by Ludovic Courtès. * guix/build/union.scm (union-build): Add new internal procedure 'union-of-directories' that always creates a directory, containing the code previously used only to merge multiple directories. Call it from the multiple-directory case in 'union' and from the top-level 'union-build'.
2014-04-02union: Rewrite to be faster; handle symlink/directory conflicts.Mark H Weaver
* guix/build/union.scm: Rewrite; only 'file=?' remains unchanged. Remove 'tree-union' and 'delete-duplicate-leaves' exports. Merge inputs in a breadth-first fashion. Follow symlinks for purposes of making decisions about the merge. * tests/union.scm: Remove tests of 'tree-union' and 'delete-duplicate-leaves'.
2014-03-27Add (guix svn-download).Sree Harsha Totakura
* guix/svn-download.scm, guix/build/svn.scm: New files. * Makefile.am (MODULES): Add them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-03-26Merge branch 'core-updates'Ludovic Courtès
2014-03-25download: Don't use 'http-get*' on Guile 2.0.10+.Ludovic Courtès
* guix/build/download.scm (http-fetch)[post-2.0.7?]: Use 'string->number' and numeric comparison. This fixes version comparison with "2.0.10" and subsequent 2.0 releases.
2014-03-10Change default store values from /nix/store to /gnu/store.Ludovic Courtès
* gnu/packages/ld-wrapper.scm (%store-directory): Change the default to /gnu/store. * guix/build/utils.scm (%store-directory): New procedure. (remove-store-references): Use it for the default value of 'store'. * guix/packages.scm (patch-and-repack)[builder]: Change default store to /gnu/store.
2014-03-10Merge branch 'master' into core-updatesLudovic Courtès
2014-03-10gnu: linux-initrd: Make the pseudo-tty device nodes.Ludovic Courtès
* guix/build/linux-initrd.scm (make-essential-device-nodes): Create /dev/ptmx and /dev/pts. * gnu/system/vm.scm (qemu-image): Umount /fs/dev/pts before /fs.
2014-02-22build-system/gnu: Allow the source to be a directory.Ludovic Courtès
* guix/build/gnu-build-system.scm (unpack): Check if SOURCE is a directory, and copy it locally if it is. * gnu/packages/libwebsockets.scm (libwebsockets)[arguments]: Remove 'unpack' phase.
2014-02-22Merge branch 'master' into core-updatesLudovic Courtès
Conflicts: gnu-system.am
2014-02-21Add (guix git-download).Ludovic Courtès
* 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-10build-system/gnu: Set the docdir to "share/doc"John Darrington
* 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-10union: Do not compare directories upon collision.Ludovic Courtès
* 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-10download: Provide a 'User-Agent' field in HTTP requests.Ludovic Courtès
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-09gnu: linux-initrd: When booting, chdir to the new root before calling 'chroot'.Ludovic Courtès
* guix/build/linux-initrd.scm (boot-system): Add 'chdir' call right before 'chroot'.
2014-02-01gnu: linux-initrd: Build /dev/input devices.Ludovic Courtès
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make dev/input devices.
2014-02-01gnu: linux-initrd: Make /dev/{mem,kmem}.Ludovic Courtès
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make dev/{mem,kmem}.
2014-01-31gnu: linux-initrd: Allow the root file system to be volatile.Ludovic Courtès
* gnu/system/linux-initrd.scm (qemu-initrd): Add 'volatile-root?' parameter. * guix/build/linux-initrd.scm (boot-system): Likewise. Honor it.
2014-01-31gnu: linux-initrd: Recognize 9p file systems.Ludovic Courtès
* 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-31gnu: linux-initrd: Properly distinguish between /dev/sda* and /dev/vda*.Ludovic Courtès
* 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-31gnu: linux-initrd: Start a REPL when the root could not be mounted.Ludovic Courtès
* guix/build/linux-initrd.scm (boot-system): Catch errors when mounting ROOT and call 'start-repl' upon error.
2014-01-29gnu: linux-initrd: Factorize boot code.Ludovic Courtès
* 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-28Revert "build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com."Ludovic Courtès
This reverts commit 65529e49ff5b9052544271b1b7923feed4312849.
2014-01-27build-system/gnu: Pass --localstatedir=/var --sharedstatedir=/com.Ludovic Courtès
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-25Merge branch 'master' into core-updatesLudovic Courtès
2014-01-18linux-initrd: Make /dev/{null,zero} world-writable.Ludovic Courtès
Reported by zerwas on #guix. * guix/build/linux-initrd.scm (make-essential-device-nodes): Make /dev/null and /dev/zero world-writable.
2013-12-17gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.John Darrington
* 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-16pull: Move build code to (guix build pull).Ludovic Courtès
* guix/build/pull.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/pull.scm (unpack): Use it.
2013-12-15gnu: gtk+: enable introspection.Cyril Roelandt
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection * guix/build/gnome.scm: New file.
2013-11-28build-system/cmake: Build out of source tree by default.Ludovic Courtès
* 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-01Merge branch 'master' into core-updatesLudovic Courtès
2013-10-31union: Do not warn when identical files collide.Ludovic Courtès
* guix/build/union.scm (file=?): New procedure. (union-build)[resolve-collision]: Do not warn when identical files collide.
2013-10-30union: Make the log port a parameter.Ludovic Courtès
* guix/build/union.scm (union-build): Add 'log-port' keyword parameter; use it.
2013-10-16utils: 'find-files' always returns a proper list.Ludovic Courtès
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-13guix: Make cmake build system aware of usual paths.Andreas Enge
* guix/build/cmake-build-system.scm (configure): Set CMAKE_LIBRARY_PATH to LIBRARY_PATH and CMAKE_INCLUDE_PATH to CPATH.
2013-10-10build-system/{gnu,cmake}: Remove #:patches and #:patch-flags parameters.Ludovic Courtès
* 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-09-23Merge branch 'master' into core-updatesLudovic Courtès
2013-09-15utils: 'find-files' returns a sorted list.Ludovic Courtès
* 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-14Merge branch 'python'Andreas Enge
2013-09-11guix: python: Create module installation path and add it to PYTHONPATH duringAndreas Enge
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-11linux-initrd: Create /dev/klog and /dev/kmsg.Ludovic Courtès
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make /dev/klog and /dev/kmsg.
2013-09-05guix: python: Add build phase and factor out calls to setup.py.Andreas Enge
* 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-05gnu: python: Honour #:tests? and #:test-target in build system.Andreas Enge
* guix/build/python-build-system.scm (check): Use named parameters tests? and test-target (default now: "test" instead of "check").
2013-09-05gnu: linux-initrd: Fix creation of /dev/tty nodes.Ludovic Courtès
* 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-04guix: python: Switch to python-wrapper as the default version for the pythonAndreas Enge
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-02union: Don't traverse sub-directories only found in one element of the union.Ludovic Courtès
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-02gnu: linux-initrd: Factorize device node creation.Ludovic Courtès
* guix/build/linux-initrd.scm (make-essential-device-nodes): New procedure. * gnu/packages/linux-initrd.scm (qemu-initrd): Use it.
2013-08-31gnu: linux-initrd: Make Guile modules accessible in the chroot.Ludovic Courtès
* 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-29gnu: linux-initrd: Add (guix build linux-initrd) and use it.Ludovic Courtès
* 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-24build-system/gnu: Add `dist-package'.Ludovic Courtès
* 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.