summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
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-22guix package: Use 'profile-generations'.•••* guix/scripts/package.scm (guix-package)[process-actions]: Use 'profile-generations' instead of the equivalent code. Alex Kost
2014-09-22profiles: Add 'profile-generations'.•••* guix/profiles.scm (profile-generations): New procedure. Alex Kost
2014-09-20offload: Use a total order when sorting available machines.•••* guix/scripts/offload.scm (machine-less-loaded?, machine-faster?): Remove. (machine-power-factor): New procedure. (machine-less-loaded-or-faster?): Use it. Ludovic Courtès
2014-09-20offload: Try another machine when the "best" machine is overloaded.•••* guix/scripts/offload.scm (choose-build-machine): When BEST is overloaded, try the other machines. 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-18pull: Rewrite using gexps.•••* guix/scripts/pull.scm (unpack): Remove 'store' parameter. Rewrite using 'gexp->derivation'. (what-to-build, indirect-root-added, build-and-install): New procedures. (guix-pull): Use it. Ludovic Courtès
2014-09-17utils: Create temporary files in $TMPDIR or /tmp.•••Reported by Federico Beffa <beffa@ieee.org>. * guix/utils.scm (call-with-temporary-output-file): Prepend $TMPDIR or /tmp to TEMPLATE. 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-14pull: Create ~/.config/guix if needed instead of bailing out gracelessly.•••Previously 'guix pull' would just fail with "No such file or directory" if ~/.config didn't already exist. * guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'. Change the 'catch' handler to expect errors different from EEXIST. 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-13Merge branch 'master' into core-updates•••Conflicts: gnu-system.am Mark H Weaver
2014-09-12activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.•••* gnu/build/activation.scm (activate-current-system): Honor $GUIX_NEW_SYSTEM by default. * guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM before loading SCRIPT. Ludovic Courtès
2014-09-11Merge branch 'master' into core-updates•••Conflicts: gnu/packages/image.scm Mark H Weaver
2014-09-10profiles: Adjust for compatibility with Guile 2.0.5.•••Reported by Andreas Enge <andreas@enge.fr>. * guix/profiles.scm (right-arrow): Use 'set-port-conversion-strategy!' instead of '%default-port-conversion-strategy'. The latter is only available in Guile 2.0.5. Ludovic Courtès
2014-09-08Merge branch 'master' into core-updatesMark H Weaver
2014-09-08gexp: 'gexp->script' returns a script that can easily be compiled.•••* guix/gexp.scm (gexp->script): Produce an 'eval-when' form around assignments of %load-path and %load-compiled-path. Ludovic Courtès
2014-09-06gexp: Allow use of high-level objects in #:references-graphs.•••* guix/gexp.scm (lower-reference-graphs): New procedure. (gexp->derivation)[graphs-file-names]: New procedure. Use 'lower-reference-graphs', and augment #:inputs argument as a function of #:references-graphs. * doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to TWO in BUILD-DRV. Use TWO directly in #:references-graphs argument. ("gexp->derivation #:references-graphs"): New test. * gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as the #:references-graphs argument to 'expression->derivation-in-linux-vm'. Ludovic Courtès
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-04profiles: Use a real arrow to denote upgrades in ASCII.•••Suggested by Alex Kost. * guix/profiles.scm (right-arrow): Fall back to "->". * tests/profiles.scm ("manifest-show-transaction"): Adjust accordingly. 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-09-03guix lint: Remove "guix lint: " prefix from warnings.•••This allows editors to parse warnings correctly. * guix/scripts/lint.scm (emit-warning): Use 'format' instead of 'warning', to avoid the "guix lint: " prefix in messages. * tests/lint.scm (call-with-warnings): Indent. Ludovic Courtès
2014-09-03scripts: add guix lint•••* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages. * tests/lint.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/Makevars: Update appropriately. * po/guix/POTFILES.in: Update appropriately. * doc/guix.texi: Document "guix lint". Cyril Roelandt
2014-09-03Move specification->package to gnu/packages.scm.•••* guix/scripts/build.scm (specification->package): Move from here... * gnu/packages.scm: ... to here. Cyril Roelandt
2014-09-02profiles: Report version numbers in a separate column.•••* guix/profiles.scm (manifest-show-transaction)[package-strings, upgrade-strings]: Show version number in separate column. Show OUTPUT in first column, and only when it's different from "out". Ludovic Courtès
2014-09-02profiles: Report the old and new version number in upgrades.•••* guix/profiles.scm (manifest-lookup): New procedure. (manifest-installed?): Use it. (manifest-transaction-effects): Return a pair of entries for upgrades. (right-arrow): New procedure. (manifest-show-transaction)[upgrade-string, →]: New variables. Report upgrades using 'upgrade-string'. * tests/profiles.scm ("manifest-show-transaction"): New test. ("manifest-transaction-effects"): Match UPGRADE against a pair. Ludovic Courtès
2014-08-31guix package: Fix search path lookup when an obsolete version is installed.•••Before that, 'guix package --search-paths' would not work if, say, 'foo-0.2' is installed but the distro provides 'foo-0.3'. * guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]: Handle the case where 'find-best-packages-by-name' returns '(). Ludovic Courtès
2014-08-30profiles: Compute transaction effects in a functional way.•••* guix/profiles.scm (manifest-transaction-effects): New procedure. (manifest-show-transaction): Use it instead of locally computing it. * tests/profiles.scm (glibc): New variable. ("manifest-transaction-effects"): New test. Ludovic Courtès
2014-08-29offload: Ignore EEXIST when registering a .drv as a GC root.•••Fixes <http://bugs.gnu.org/18115>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/offload.scm (register-gc-root)[script]: Wrap 'symlink' call in "catch 'system-error", and ignore EEXIST errors. Ludovic Courtès
2014-08-29offload: Ignore unreachable machines.•••Fixes <http://bugs.gnu.org/18070>. Reported by Andreas Enge <andreas@enge.fr>. * guix/scripts/offload.scm (remote-pipe): Augment docstring. (machine-load): Return +inf.0 instead of 1 if MACHINE does not respond or responds badly. 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-28gnu: Split (gnu packages base), adding (gnu packages commencement).•••* gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet, binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0, texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, glibc-final, gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++, gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs, guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final, %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain, gcc-toolchain-4.8, gcc-toolchain-4.9): Move to... * gnu/packages/commencement.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/check-final-inputs-self-contained.scm: Adjust accordingly. * gnu/packages/cross-base.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/gnu.scm (standard-packages, gnu-build, gnu-cross-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * guix/download.scm (url-fetch): Likewise. * guix/gexp.scm (default-guile): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/monads.scm (run-with-store): Likewise. * guix/packages.scm (default-guile): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Likewise. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh: Likewise. * gnu/services/base.scm: Use 'canonical-package' instead of xxx-final. * gnu/services/xorg.scm: Likewise. * gnu/system/vm.scm: Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. Ludovic Courtès
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-28profiles: Add gzip to $PATH before invoking 'install-info'.•••* guix/profiles.scm (info-dir-file)[gzip]: New variable. [build]: Add 'setenv' call. Ludovic Courtès
2014-08-27build-system/perl: Add handling of flags for parallel build and testing.•••* guix/build-system/perl.scm (perl-build): Add support for variables parallel-build? and parallel-tests?. * guix/build-system/gnu.scm (gnu-build): Add a line break for clarity. Andreas Enge
2014-08-26Merge branch 'master' into core-updatesMark H Weaver
2014-08-25profiles: Handle packages without a 'share/info' directory.•••Reported by Mark H. Weaver. * guix/profiles.scm (info-dir-file): Handle the case where 'scandir' returns #f. Ludovic Courtès
2014-08-25guix-register: By default, attempt to deduplicate registered items.•••* nix/guix-register/guix-register.cc (GUIX_OPT_DEDUPLICATE): New macro. (options): Add --no-deduplication. (deduplication): New variable. (parse_opt): Handle GUIX_OPT_DEDUPLICATE. (register_validity): Add 'optimize' parameter and honor it. (main): Move 'store' instanatiation after 'settings.nixStore' assignment. * tests/guix-register.sh: Add test for deduplication. * guix/nar.scm (finalize-store-file): Update comment above 'register-path' 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-23svn-download: Rewrite using gexps.•••* guix/svn-download.scm (subversion-package): New procedure. (svn-fetch): Use it. Remove 'svn-for-build'. Use a gexp and 'gexp->derivation'. Ludovic Courtès
2014-08-23git-download: Rewrite using gexps.•••* guix/git-download.scm (git-package): New procedure. (git-fetch): Use it. Remove 'git-for-build'. Use a gexp and 'gexp->derivation'. * guix/download.scm (gnutls-package): Fix docstring. Ludovic Courtès
2014-08-23Factorize test suite support in (guix tests).•••* guix/tests.scm: New file. * Makefile.am (noinst_DATA): New variable. (GOBJECTS): Add guix/tests.go. * tests/builders.scm (%store): Use 'open-connection-for-tests' from (guix tests). * tests/derivations.scm: Likewise. * tests/monads.scm: Likewise. * tests/packages.scm: Likewise. * tests/profiles.scm: Likewise. * tests/union.scm: Likewise. * tests/gexp.scm: Likewise. (guile-for-build): Remove. Use (%guile-for-build) instead. * tests/nar.scm (make-random-bytevector, %seed, random-text): Remove. (populate-file): Change 'make-random-bytevector' to 'random-bytevector'. Use (guix tests). * tests/store.scm (%seed, random-text): Remove. Use (guix tests). Ludovic Courtès