aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* lint: Add 'home-page' checker.Ludovic Courtès2014-12-28
| | | | | | * guix/build/download.scm (open-connection-for-uri): Export. * guix/scripts/lint.scm (probe-uri, check-home-page): New procedures. (%checkers): Add 'home-page' checker.
* syscalls: Add more procedures for network interfaces.Ludovic Courtès2014-12-19
| | | | | | | | | | | * guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types, read-type, read-types, define-c-struct): New macros. (SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables. (sockaddr-in, sockaddr-in6): New C structs. (write-socket-address!, read-socket-address, set-network-interface-flags, set-network-interface-address, network-interface-address, configure-network-interface): New procedures.
* build/python-build-system: Fix easy-install.pth collisions.Federico Beffa2014-12-18
| | | | | * guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file phase and corresponding function.
* build: emacs-utils: Add 'emacs-generate-autoloads'.Alex Kost2014-12-02
| | | | * guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
* build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.Ludovic Courtès2014-12-01
| | | | | | | | * 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.
* build-system/glib-or-gtk: Correctly handle multiple-output packages.Ludovic Courtès2014-12-01
| | | | | | | * 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.
* build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.Ludovic Courtès2014-12-01
| | | | | | * 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.
* build-system/glib-or-gtk: Clean up whitespace.Ludovic Courtès2014-12-01
| | | | * guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
* syscalls: Update /etc/mtab, not /etc/fstab.Ludovic Courtès2014-11-14
| | | | | * guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with "mtab".
* syscalls: Add 'mount-points'.Ludovic Courtès2014-11-10
| | | | | * guix/build/syscalls.scm (mount-points): New procedure. * tests/syscalls.scm ("mount-points"): New test.
* pull: Use the build procedure provided by the newly-downloaded Guix.Ludovic Courtès2014-11-09
| | | | | | | | | | | | | | | | | | | | 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.
* download: Add "Accept: */*" to the headers.Ludovic Courtès2014-10-19
| | | | | | | Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
* gnu: Add the 'glib-or-gtk' build system.Federico Beffa2014-10-08
| | | | | | | | * 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>
* derivations: Add 'graft-derivation'.Ludovic Courtès2014-10-08
| | | | | | | * 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.
* build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".Ludovic Courtès2014-10-04
| | | | | | | | | * 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.
* build: Add ruby build system.David Thompson2014-09-28
| | | | | | | * 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.
* Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.Mark H Weaver2014-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Merge branch 'core-updates'Ludovic Courtès2014-09-22
|\
| * utils: Import (ice-9 format).Mark H Weaver2014-09-14
| | | | | | | | * guix/build/utils.scm: Import (ice-9 format).
| * utils: Allow wrap-program to be called multiple times.Eric Bavier2014-09-13
| | | | | | | | | | | | | | | | * 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.
| * Merge branch 'master' into core-updatesMark H Weaver2014-09-08
| |\
| * | utils: Clean trailing whitespace at end of SHELLEric Bavier2014-09-05
| | | | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL): Remove trailing whitespace.
| * | Merge branch 'master' into core-updatesMark H Weaver2014-08-28
| |\ \ | | | | | | | | | | | | | | | | Conflicts: gnu/packages/base.scm
| * | | utils: Preserve makefile shell arguments during patch.Eric Bavier2014-08-28
| | | | | | | | | | | | | | | | * guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments.
| * | | gnu-build-system: Add 'patch-usr-bin-file' to %standard-phases.Mark H Weaver2014-08-23
| | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (patch-usr-bin-file): New procedure. (%standard-phases): Add it.
* | | | syscalls: Adjust /proc/net/dev parser for old kernels.Ludovic Courtès2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (%interface-line): Remove whitespace in rest pattern. (There's no extra whitespace after the colon with Linux 2.6.32.)
* | | | download: Use the 'SERVER NAME' TLS extension when possible.Ludovic Courtès2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | syscalls: Add 'swapon' and 'swapoff'.Ludovic Courtès2014-09-18
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (swapon, swapoff): New procedures. * tests/syscalls.scm ("swapon, ENOENT/EPERM", "swapoff, EINVAL/EPERM"): New tests.
* | | | syscalls: Add 'all-network-interfaces'.Ludovic Courtès2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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).
* | | | syscalls: Add 'network-interface-flags'.Ludovic Courtès2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | syscalls: Add 'network-interfaces'.Ludovic Courtès2014-09-14
| |_|/ |/| | | | | | | | | | | | | | | | | | | | * 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.
* | | pull: Add a compilation progress report.Ludovic Courtès2014-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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'.
* | | vm: Move store copy handling to (guix build store-copy).Ludovic Courtès2014-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | Move operating system helpers from (guix build …) to (gnu build …).Ludovic Courtès2014-09-03
| |/ |/| | | | | | | | | | | | | | | | | | | | | * 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.
* | linux-initrd: Wait a bit longer for partitions to appear.Ludovic Courtès2014-08-28
|/ | | | | | | Reported by Sveltana on #guix. * guix/build/linux-initrd.scm (canonicalize-device-spec): Increase MAX-TRIALS. Add "waiting for partition" 'format' call.
* linux-initrd: Do not create /etc/resolv.conf.Ludovic Courtès2014-08-15
| | | | | * guix/build/linux-initrd.scm (configure-qemu-networking): Don't create /etc/resolv.conf.
* Add (guix build emacs-utils).Mark H Weaver2014-08-14
| | | | | | * guix/build/emacs-utils.scm: New file. * Makefile.am (MODULES): Add it. * .dir-locals.el: Add indentation rules.
* system: Add the 'system?' field for user groups.Ludovic Courtès2014-07-25
| | | | | | | | | | | | 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.
* system: Recognize more file system flags.Ludovic Courtès2014-07-23
| | | | | | | | | | | | | * 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'.
* system: Add 'file-system' decl. for /dev/pts, and use the right options.Ludovic Courtès2014-07-23
| | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18081>. * gnu/system/file-systems.scm (%devtmpfs-file-system): Add 'needed-for-boot?' field. (%tty-gid, %pseudo-terminal-file-system): New variables. (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM. * gnu/services/base.scm (udev-service): Remove dependency on 'file-system-/dev'. * gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'. * guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for /dev/pts. * doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.
* install: Set the store's permission to #o1775.Ludovic Courtès2014-07-19
| | | | | | | Fixes <http://bugs.gnu.org/18053>. Reported by Mark H Weaver <mhw@netris.org>. * guix/build/install.scm (directives): Add mode #o1775 for STORE.
* install: Make /var/db and /mnt.Ludovic Courtès2014-07-13
| | | | * guix/build/install.scm (directives): Add /var/db and /mnt.
* vm: Add support for i686.Ludovic Courtès2014-07-13
| | | | | | | | | Partially fixes <http://bugs.gnu.org/18002>. Reported by David Thompson <dthompson2@worcester.edu>. * guix/build/vm.scm (qemu-command): Add optional 'system' parameter. Special-case "^i[3456]86$". * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use it.
* linux-initrd: Use 'call-with-error-handling' when booting.Ludovic Courtès2014-07-03
| | | | | | | * guix/build/linux-initrd.scm (canonicalize-device-spec): When label resolution fails, call 'error' instead of 'format' + 'start-repl'. (boot-system): Wrap most of body in 'call-with-error-handling'. Remove 'catch' around 'primitive-load' call.
* linux-initrd: Remove unused local procedure.Ludovic Courtès2014-07-03
| | | | * guix/build/linux-initrd.scm (boot-system)[resolve]: Remove.
* linux-initrd: Gracefully handle lack of or invalid ext2 superblocks.Ludovic Courtès2014-07-02
| | | | | | | | | Reported by David Thompson <dthompson2@worcester.edu>. * guix/build/linux-initrd.scm (read-ext2-superblock): Add 'superblock-size' variable. Read with 'get-bytevector-n!' instead of 'getbytevector-n', and make sure we read exactly SUPERBLOCK-SIZE bytes.
* git-download: Support recursive clones.Ludovic Courtès2014-06-27
| | | | | | | | | | * guix/git-download.scm (<git-reference>)[recursive?]: New field. (git-fetch): Add 'inputs' variable. Add it to the #:inputs argument of 'build-expression->derivation'. Augment builder with call to 'set-path-environment-variable', and pass #:recursive? to 'git-fetch'. * guix/build/git.scm (git-fetch): Add #:recursive? parameter. Pass --recursive when RECURSIVE? is true, and delete all the '.git' files.
* system: Add a 'system?' field to user accounts.Ludovic Courtès2014-06-27
| | | | | | | | | | | | | | * gnu/system/shadow.scm (<user-account>)[system?]: New field. * gnu/system.scm (user-account->gexp): Add it. * guix/build/activation.scm (add-user): Add #:system? parameter and honor it. (activate-users+groups): Handle the 'system?' part of user tuples. Pass it to 'add-user'. Don't create PROFILE-DIR when SYSTEM? is true. * gnu/services/dbus.scm (dbus-service): Add 'system?' field for "messagebus" account. * gnu/services/base.scm (guix-build-accounts): Likewise. * gnu/services/avahi.scm (avahi-service): Likewise.
* system: Install /var/guix/profiles/system-1-link on new systems.Ludovic Courtès2014-06-27
| | | | | | | | | | | | | | | | * guix/build/install.scm (directives): Add /var/guix/profiles/system. (populate-root-file-system): Add 'system' parameter. Create /var/guix/profiles/system-1-link. * guix/scripts/system.scm (install): Pass OS-DIR to 'populate-root-file-system'. * guix/build/vm.scm (initialize-root-partition): Add #:system-directory parameter, and pass it to 'populate-root-file-system'. (initialize-hard-disk): Add #:system-directory parameter, and pass it to 'initialize-root-partition'. * gnu/system/vm.scm (qemu-image): Add #:os-derivation parameter and pass it to 'initialize-hard-disk'. (system-disk-image, system-qemu-image, system-qemu-image/shared-store): Pass #:os-derivation to 'qemu-image.
* activation: Preserve /etc/groups upon reboots.Ludovic Courtès2014-06-27
| | | | | | | | This is a followup to e2fcc23. The /etc/group file would be cleared when booting. * guix/build/activation.scm (activate-users+groups)[touch]: Rewrite so it does not wipe out FILE's contents.