summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
2014-12-13utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.•••* guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'. Ludovic Courtès
2014-12-02build: emacs-utils: Add 'emacs-generate-autoloads'.•••* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure. Alex Kost
2014-12-01build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.•••* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add #:glib-or-gtk-wrap-excluded-outputs parameter and honor it. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER. * doc/guix.texi (Build Systems): Mention it. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Correctly handle multiple-output packages.•••* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body to 'handle-output' inner procedure, and parametrize it by output name and directory. Call it for each element of OUTPUTS. (compile-glib-schemas): Likewise. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.•••* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use 'for-each' instead of 'map' in for-effect contexts. Use 'cut' instead of 'lambda' when appropriate. Ludovic Courtès
2014-12-01build-system/glib-or-gtk: Clean up whitespace.•••* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup. Ludovic Courtès
2014-12-01build-system/gnu: Add 'compress-documentation' phase.•••* guix/build/gnu-build-system.scm (compress-documentation): New procedure. (%standard-phases): Add it. Ludovic Courtès
2014-12-01utils: Add 'symbolic-link?'.•••* guix/build/utils.scm (symbolic-link?): New procedure. Ludovic Courtès
2014-12-01build-system/gnu: Add 'validate-documentation-location' phase.•••* guix/build/gnu-build-system.scm (validate-documentation-location): New procedure. (%standard-phases): Add it. Ludovic Courtès
2014-11-26utils: Improve docstring of 'substitute*' & co.•••* guix/build/utils.scm (substitute): Clarify first sentence of docstring and add warning to the docstring about using '$' to match an end of line. (substitute*): Add warning to the docstring about using '$' to match an end of line. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Taylan Ulrich Bayırlı/Kammer
2014-11-24build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.•••* guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?' before calling 'elf-file?' and 'ar-file?'. This should fix build failures in the presence of dangling symlinks, as in <http://hydra.gnu.org/build/167521/nixlog/1/raw>. Ludovic Courtès
2014-11-23utils: 'elf-file?' and 'ar-file?' return #f for directories.•••This avoids uncaught exceptions when the 'strip' phase would call these procedures on symlinks to directories, such as 'lib/terminfo' in ncurses (see <http://hydra.gnu.org/build/167310/nixlog/1/tail-reload>.) * guix/build/utils.scm (file-header-match): Catch 'system-error', and return #f upon EISDIR. Ludovic Courtès
2014-11-22utils: Turn 'parallel-job-count' into a parameter.•••* guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter. Ludovic Courtès
2014-11-22build-system/gnu: Strip 'ar' archives as well.•••* guix/build/gnu-build-system.scm (strip): Also strip when (ar-file? PATH) is true. Ludovic Courtès
2014-11-22utils: Factorize magic bytes detection.•••* guix/build/utils.scm (file-header-match): New procedure. (%elf-magic-bytes): New variable. (elf-file?, ar-file?): Define using 'file-header-match'. Ludovic Courtès
2014-11-22utils: Add 'ar-file?'.•••* guix/build/utils.scm (%ar-magic-bytes): New variable. (ar-file?): New procedure. Ludovic Courtès
2014-11-22build-system/gnu: Strip only ELF files.•••Suggested by Mark H Weaver <mhw@netris.org> at <http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00395.html>. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Strip only when (elf-file? PATH) is true. Ludovic Courtès
2014-11-22utils: Add 'elf-file?'.•••* guix/build/utils.scm (elf-file?): New procedure. Ludovic Courtès
2014-11-22utils: Export 'parallel-job-count'.•••* guix/build/utils.scm (parallel-job-count): New procedure. * guix/build/gnu-build-system.scm (%parallel-job-count): Remove. (build, check): Use 'parallel-job-count' instead. Ludovic Courtès
2014-11-14syscalls: Update /etc/mtab, not /etc/fstab.•••* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with "mtab". Ludovic Courtès
2014-11-10syscalls: Add 'mount-points'.•••* guix/build/syscalls.scm (mount-points): New procedure. * tests/syscalls.scm ("mount-points"): New test. Ludovic Courtès
2014-11-09pull: Use the build procedure provided by the newly-downloaded Guix.•••Fixes <http://bugs.gnu.org/18534>. * guix/scripts/pull.scm (with-environment-variable, with-PATH): New macros. (temporary-directory, first-directory, interned-then-deleted): New procedures. (unpack): Rewrite to do the unpacking in the current process rather than as a separate derivation. (%self-build-file): New variable. (build-from-source): New procedure. (build-and-install): Use it. * guix/build/pull.scm (build-guix): Rename 'tarball' argument to 'source'. Remove #:tar and #:gzip parameters, as well as 'tar' invocation. Remove 'scandir' invocation. Wrap body in 'with-directory-excursion'. * build-aux/build-self.scm: New file. * Makefile.am (EXTRA_DIST): Add it. Ludovic Courtès
2014-10-19download: Add "Accept: */*" to the headers.•••Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'. Ludovic Courtès
2014-10-08gnu: Add the 'glib-or-gtk' build system.•••* guix/build-system/glib-or-gtk.scm, guix/build/glib-or-gtk-build-system.scm: New files. * Makefile.am (MODULES): Add them. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Federico Beffa
2014-10-08derivations: Add 'graft-derivation'.•••* guix/derivations.scm (graft-derivation): New procedure. * guix/build/graft.scm: New file. * Makefile.am (MODULES): Add it. * tests/derivations.scm ("graft-derivation"): New test. Ludovic Courtès
2014-10-04build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".•••* guix/build-system/cmake.scm (cmake-build): Add #:build-type. Pass it in BUILDER. * guix/build/cmake-build-system.scm (configure): Add #:build-type parameter and honor it. * doc/guix.texi (Build Systems): Document #:configure-flags and #:build-type for CMake. Ludovic Courtès
2014-09-28build: Add ruby build system.•••* guix/build-system/ruby.scm: New file. * guix/build/ruby-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ruby-build-system. David Thompson
2014-09-23Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.•••* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/backup.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/compression.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm, gnu/packages/indent.scm, gnu/packages/inkscape.scm, gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm, gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm, gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm, gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/yasm.scm, gnu/packages/zip.scm, guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm, guix/build/python-build-system.scm, guix/download.scm: Replaces uses of #:renamer and 'symbol-prefix-proc' with #:prefix. Mark H Weaver
2014-09-22Merge branch 'core-updates'Ludovic Courtès
2014-09-22syscalls: Adjust /proc/net/dev parser for old kernels.•••* guix/build/syscalls.scm (%interface-line): Remove whitespace in rest pattern. (There's no extra whitespace after the colon with Linux 2.6.32.) Ludovic Courtès
2014-09-22download: Use the 'SERVER NAME' TLS extension when possible.•••Fixes <http://bugs.gnu.org/18526>. Reported by Mark H. Weaver. * guix/build/download.scm (tls-wrap): Add 'server' parameter. Call 'set-session-server-name!' when (gnutls) defines it. (open-connection-for-uri): Adjust 'tls-wrap' call accordingly. Ludovic Courtès
2014-09-18syscalls: Add 'swapon' and 'swapoff'.•••* guix/build/syscalls.scm (swapon, swapoff): New procedures. * tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"): New tests. Ludovic Courtès
2014-09-14syscalls: Add 'all-network-interfaces'.•••* guix/build/syscalls.scm (network-interfaces): Update docstring. (%interface-line): New variable. (all-network-interfaces): New procedure. * tests/syscalls.scm ("all-network-interfaces"): New test. ("network-interfaces"): Change to make sure the result is a subset of (all-network-interfaces). Ludovic Courtès
2014-09-14syscalls: Add 'network-interface-flags'.•••* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST, IFF_LOOPBACK, IF_NAMESIZE): New variables. (network-interface-flags, loopback-network-interface?): New procedures. * tests/syscalls.scm ("network-interface-flags", "loopback-network-interface?"): New tests. Ludovic Courtès
2014-09-14syscalls: Add 'network-interfaces'.•••* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct, ifreq-struct-size): New variables. (%ioctl, bytevector->string-list, network-interfaces): New procedures. * tests/syscalls.scm ("network-interfaces"): New test. Ludovic Courtès
2014-09-14utils: Import (ice-9 format).•••* guix/build/utils.scm: Import (ice-9 format). Mark H Weaver
2014-09-13utils: Allow wrap-program to be called multiple times.•••* guix/build/utils.scm (wrap-program): Multiple invocations of wrap-program for the same file create successive wrappers. Adjust docstring. * tests/build-utils.scm: Test new wrap-program behavior. (%store): New variable. Eric Bavier
2014-09-08Merge branch 'master' into core-updatesMark H Weaver
2014-09-05pull: Add a compilation progress report.•••* guix/build/pull.scm (report-build-progress): New procedure. (p-for-each): Add #:progress parameter. [loop]: Keep track of the number of completed processes. Tail-call PROGRESS at each loop iteration. (build-guix): Add #:debug-port parameter. Use it for verbose messages. Change 'tar' flags to 'xf'. Around 'compile-file' call, bind CURRENT-WARNING-PORT to DEBUG-PORT. * guix/scripts/pull.scm (unpack): Add #:verbose? parameter. [builder]: Pass #:debug-port to 'build-guix'. (guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged. Pass #:verbose? to 'unpack'. Ludovic Courtès
2014-09-05utils: Clean trailing whitespace at end of SHELL•••* guix/build/utils.scm (patch-makefile-SHELL): Remove trailing whitespace. Eric Bavier
2014-09-04vm: Move store copy handling to (guix build store-copy).•••* gnu/build/vm.scm (read-reference-graph, populate-store): Move to... * guix/build/store-copy.scm: ... here. New file. * Makefile.am (MODULES): Add it. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust default #:modules values accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): New test. Ludovic Courtès
2014-09-03Move operating system helpers from (guix build …) to (gnu build …).•••* guix/build/activation.scm, guix/build/install.scm, guix/build/linux-initrd.scm, guix/build/vm.scm: Move to... * gnu/build: ... here. * Makefile.am (MODULES): Remove the above guix/build/ files. * gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files here. * gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm, gnu/system/vm.scm, guix/scripts/system.scm: Adjust to the new module names. Ludovic Courtès
2014-08-28Merge branch 'master' into core-updates•••Conflicts: gnu/packages/base.scm Mark H Weaver
2014-08-28utils: Preserve makefile shell arguments during patch.•••* guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments. Eric Bavier
2014-08-28linux-initrd: Wait a bit longer for partitions to appear.•••Reported by Sveltana on #guix. * guix/build/linux-initrd.scm (canonicalize-device-spec): Increase MAX-TRIALS. Add "waiting for partition" 'format' call. Ludovic Courtès
2014-08-23gnu-build-system: Add 'patch-usr-bin-file' to %standard-phases.•••* guix/build/gnu-build-system.scm (patch-usr-bin-file): New procedure. (%standard-phases): Add it. Mark H Weaver
2014-08-15linux-initrd: Do not create /etc/resolv.conf.•••* guix/build/linux-initrd.scm (configure-qemu-networking): Don't create /etc/resolv.conf. Ludovic Courtès
2014-08-14Add (guix build emacs-utils).•••* guix/build/emacs-utils.scm: New file. * Makefile.am (MODULES): Add it. * .dir-locals.el: Add indentation rules. Mark H Weaver
2014-07-25system: Add the 'system?' field for user groups.•••Suggested by Mark H. Weaver. * gnu/system/shadow.scm (<user-group>)[system?]: New field. (%base-groups): Introduce 'system-group' macro, and use it. * gnu/system.scm (user-group->gexp): Pass the 'system?' field. * guix/build/activation.scm (add-group): Add #:system? and honor it. (activate-users+groups): Handle the 'system?' field. * gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000. * doc/guix.texi (User Accounts): Document the 'system?' field. Ludovic Courtès
2014-07-23system: Recognize more file system flags.•••* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New variables. (mount-flags->bit-mask): New procedure. (mount-file-system)[flags->bit-mask]: Remove. Use 'mount-flags->bit-mask' instead. In /etc/mtab, use the empty string when OPTIONS is false. * gnu/services/base.scm (file-system-service): Add #:flags parameter and honor it. * gnu/system.scm (other-file-system-services): Pass FLAGS to 'file-system-service'. Ludovic Courtès