summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2014-12-26packages: Apply patches with "patch --force".Ludovic Courtès
Fixes <http://bugs.gnu.org/19402>. Reported by Mark H Weaver <mhw@netris.org>. * guix/packages.scm (patch-and-repack): Change "--batch" to "--force".
2014-12-23build-system/python: Fix 'package-with-explicit-python'.Ludovic Courtès
Reported by Federico Beffa <beffa@ieee.org> and Eric Bavier <ericbavier@gmail.com>. * guix/build-system/python.scm (package-with-explicit-python): Do nothing when P's build system is not PYTHON-BUILD-SYSTEM.
2014-12-21Optimize package-transitive-supported-systems.Mark H Weaver
* guix/packages.scm (first-value): Remove. (define-memoized/v): New macro. (package-transitive-supported-systems): Rewrite.
2014-12-19syscalls: Add more procedures for network interfaces.Ludovic Courtès
* 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.
2014-12-18build/python-build-system: Fix easy-install.pth collisions.Federico Beffa
* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file phase and corresponding function.
2014-12-15profiles: Fix removal of the next-to-last item in a profile.Ludovic Courtès
Fixes a bug whereby removing the next-to-last item in a profile would lead to an obscure error, as shown at <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>. Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir "out") instead of just INFO-DIR.
2014-12-14Merge branch 'master' into 'core-updates'.Ludovic Courtès
2014-12-14utils: Change 'wrap-program' to preserve the original argv[0].Ludovic Courtès
Suggested by Mark H Weaver <mhw@netris.org> in <http://bugs.gnu.org/19138>. * guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a PROG" instead of just "exec".
2014-12-13utils: Change 'patch-makefile-SHELL' to support ":=" assignments.Ludovic Courtès
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/build/utils.scm (patch-makefile-SHELL): Update regexp to match ":=" assignments.
2014-12-13utils: Use 'which' to find the shell in 'patch-makefile-SHELL'.Ludovic Courtès
* guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.
2014-12-09build-system/glib-or-gtk: Fix default value of ↵Ludovic Courtès
#:glib-or-gtk-wrap-excluded-outputs. Fixes <http://bugs.gnu.org/19321>. Reported by Mark H Weaver <mhw@netris.org>. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default value of #:glib-or-gtk-wrap-excluded-outputs to ''().
2014-12-09gnu: licenses: Add NCSA license.Eric Bavier
* guix/licenses.scm (ncsa): New variable.
2014-12-09substitute-binary: Add missing newline in download progress report.Ludovic Courtès
Fixes <http://bugs.gnu.org/19313>. Reported by rekado <rekado@elephly.net>. * guix/scripts/substitute-binary.scm (guix-substitute-binary) <--substitute>: Add 'newline' call.
2014-12-09system: Don't make /boot/grub/grub.cfg a symlink to the store.Ludovic Courtès
This would not work when /boot is a separate partition, as reported by Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220>. This fixes a regression introduced in 39d1f82. * gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of symlinking it, as was the case before 39d1f82. * gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter. Make it a permanent GC root instead of an indirect GC root. (initialize-hard-disk): Adjust accordingly. * guix/scripts/system.scm (install-grub*): Replace use of 'add-indirect-root' by the addition of a permanent GC root in %GC-ROOTS-DIRECTORY.
2014-12-08build-system/python: Add handling of 'propagated-inputs' inFederico Beffa
'package-with-explicit-python'. * guix/build-system/python.scm (package-with-explicit-python): Add mapping for 'propagated-inputs'.
2014-12-07guix system: Fix typo affecting 'guix system init'.Ludovic Courtès
Fixes <http://bugs.gnu.org/19279>. Fixes a regression introduced in cc7fa59. Reported by Tomas Cech <tcech@suse.cz>. * guix/scripts/system.scm (install): Fix order of arguments to 'lift' and 'lift2'.
2014-12-06guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.nebuli
Appending to "raw" args broke optional parameters in 'guix package -I' and 'guix package -A', and possibly other places. Therefore, switch to parsing each set of options on its own and append resulting alists together afterwards. * guix/scripts/archive.scm (parse-options-from): Rename from (parse-options) and add explicit argument. New form of (parse-options) using its old algorithm via -from function. * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix build): Make it clear that the options are parsed independently. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-12-04system: Make /boot/grub/grub.cfg an indirect GC root.Ludovic Courtès
Fixes <http://bugs.gnu.org/19160>. * guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an indirect GC root. * gnu/build/install.scm (install-grub): Make TARGET a symlink. * gnu/build/vm.scm (register-grub.cfg-root): New procedure. (initialize-hard-disk): Use it.
2014-12-04guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.Ludovic Courtès
* guix/scripts/system.scm (install-grub*): New procedure. (install): Use it, and use 'mwhen?'. (perform-action) <reconfigure>: Likewise.
2014-12-02build: emacs-utils: Add 'emacs-generate-autoloads'.Alex Kost
* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
2014-12-02packages: Use the target's system Guile when downloading patches.Ludovic Courtès
* guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in 'package-source-derivation' call.
2014-12-02derivations: Export 'derivation-builder'.Ludovic Courtès
* guix/derivations.scm: Export 'derivation-builder'.
2014-12-02monads: Add 'lift0'.Ludovic Courtès
* guix/monads.scm (lift0): New variable.
2014-12-02monads: Add 'mwhen' and 'munless'.Ludovic Courtès
* guix/monads.scm (mbegin): Add special '%current-monad' syntactic keyword. (mwhen, munless): New macros.
2014-12-02guix system: Use 'mbegin' for 'install'.Ludovic Courtès
* guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and POPULATE-ROOT-FILE-SYSTEM, and use the result.
2014-12-01build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.Ludovic Courtès
* 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.
2014-12-01build-system/glib-or-gtk: Correctly handle multiple-output packages.Ludovic Courtès
* 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.
2014-12-01build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.Ludovic Courtès
* 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.
2014-12-01build-system/glib-or-gtk: Clean up whitespace.Ludovic Courtès
* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
2014-12-01build-system/gnu: Add 'compress-documentation' phase.Ludovic Courtès
* guix/build/gnu-build-system.scm (compress-documentation): New procedure. (%standard-phases): Add it.
2014-12-01utils: Add 'symbolic-link?'.Ludovic Courtès
* guix/build/utils.scm (symbolic-link?): New procedure.
2014-12-01build-system/gnu: Add 'validate-documentation-location' phase.Ludovic Courtès
* guix/build/gnu-build-system.scm (validate-documentation-location): New procedure. (%standard-phases): Add it.
2014-11-30guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.nebuli
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'. * guix/scripts/archive.scm: (append args (environment-build-options)). * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * guix/ui.scm (environment-build-options): New function. * guix/utils.scm (arguments-from-environment-variable): New function. * tests/guix-build.sh: Add tests. * test-env.in: Unset GUIX_BUILD_OPTIONS. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-29gnu-maintenance: Support .zip files.Ludovic Courtès
Reported by Andreas Enge <andreas@enge.fr>. * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension.
2014-11-28Add (guix elf).Ludovic Courtès
* guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3. * Makefile.am (MODULES): Add it. * THANKS: Thank Andy, who wrote this module.
2014-11-28substitute-binary: Change "unresponsive" to "slow".Ludovic Courtès
* guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to "somewhat slow". I'm being told that the former is often misunderstood as "broken".
2014-11-26Update gnupg mirrors.Andreas Enge
* guix/download.scm (%mirrors): Update mirror list for gnupg.
2014-11-26utils: Improve docstring of 'substitute*' & co.Taylan Ulrich Bayırlı/Kammer
* 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>
2014-11-25guix build: Add '--max-jobs' option.Ludovic Courtès
Suggested by Deck Pickard <deck.r.pickard@gmail.com>. * guix/scripts/build.scm (show-build-options-help): Document --max-jobs. (set-build-options-from-command-line): Pass #:max-build-jobs. (%standard-build-options): Add --max-jobs. * doc/guix.texi (Invoking guix-daemon): Document the meaning of '--max-jobs 0'. (Invoking guix build): Document --max-jobs, with a reference to "Invoking guix-daemon'.
2014-11-25licenses: Add MPL 1.1.Ludovic Courtès
* guix/licenses.scm (mpl1.1): New variable.
2014-11-25import: gnu: Write the hash in nix-base32 format.Ludovic Courtès
* guix/import/gnu.scm (gnu-package->sexp): Use 'bytevector->nix-base32-string', not 'bytevector->base32-string'.
2014-11-24build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.Ludovic Courtès
* 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>.
2014-11-23store: default to serial "scheduler"nebuli
* guix/store.scm (set-build-options): exchange default argument values Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-23utils: 'elf-file?' and 'ar-file?' return #f for directories.Ludovic Courtès
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.
2014-11-22utils: Turn 'parallel-job-count' into a parameter.Ludovic Courtès
* guix/build/utils.scm (parallel-job-count): Turn into a SRFI-39 parameter.
2014-11-22build-system/gnu: Strip 'ar' archives as well.Ludovic Courtès
* guix/build/gnu-build-system.scm (strip): Also strip when (ar-file? PATH) is true.
2014-11-22utils: Factorize magic bytes detection.Ludovic Courtès
* guix/build/utils.scm (file-header-match): New procedure. (%elf-magic-bytes): New variable. (elf-file?, ar-file?): Define using 'file-header-match'.
2014-11-22utils: Add 'ar-file?'.Ludovic Courtès
* guix/build/utils.scm (%ar-magic-bytes): New variable. (ar-file?): New procedure.
2014-11-22build-system/gnu: Strip only ELF files.Ludovic Courtès
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.
2014-11-22utils: Add 'elf-file?'.Ludovic Courtès
* guix/build/utils.scm (elf-file?): New procedure.