summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2015-01-07gnu: Add toolchain support for 'armhf-linux'.Mark H Weaver
Based on preliminary work by John Darrington <john@darrington.wattle.id.au>. * gnu/packages/cross-base.scm (xgcc-armhf): New variable. * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case. (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list of files in which to patch GLIBC_DYNAMIC_LINKER. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case. * guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet): Add armhf cases.
2015-01-07Move 'nix-system->gnu-triplet' to (guix utils) and export it.Mark H Weaver
* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to... * guix/utils.scm (nix-system->gnu-triplet): ... here. Fix docstring typo.
2015-01-06Merge branch 'master' into core-updatesMark H Weaver
2015-01-05linux-boot: Make /etc/mtab a symlink to /proc/self/mounts.宋文武
Fixes <http://bugs.gnu.org/19491>. * gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab a symlink to /proc/self/mounts. * gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab. * guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to #f.
2015-01-04pk-crypto: Improve docstring of signature-related procedures.Ludovic Courtès
* guix/pk-crypto.scm (bytevector->hash-data, sign): Augment docstring.
2015-01-04build-system/gnu: Use executables from the target inputs in 'patch-shebangs'.Ludovic Courtès
Fixes <http://bugs.gnu.org/18895>. * guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs parameter. Remove 'bindirs'. Add 'bin-directories', 'output-bindirs', and 'input-bindirs'. Use them instead of (getenv "PATH") to as the argument to 'patch-shebang'.
2015-01-03guix package: Follow symlinks for pattern search paths.Ludovic Courtès
* guix/scripts/package.scm (search-path-environment-variables): Add local 'files' variable. * tests/packages.scm ("--search-paths with pattern"): New test.
2014-12-30Merge branch 'master' into core-updatesMark H Weaver
2014-12-29gnu: Revert use of '--strip-all'.Ludovic Courtès
This reverts commits f05bdc9412135f34a1c417edc203c35cd005d0d5 and 856ae5e6c71a1283a414d33e638051f95d3cce35. This broke all sorts of things. See <http://hydra.gnu.org/eval/102058>, for example.
2014-12-29download: Export 'maybe-expand-mirrors'.Ludovic Courtès
* guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New procedures. (url-fetch): Remove them from here.
2014-12-29tests: Factorize the 'dummy-package' macro.Ludovic Courtès
* guix/tests.scm (dummy-package): New macro. * tests/lint.scm (dummy-package): Remove. * tests/packages.scm (dummy-package): Remove.
2014-12-29lint: Add tests for the 'home-page' checker.Ludovic Courtès
Suggested by Cyril Roelandt <tipecaml@gmail.com>. * tests/lint.scm (%http-server-port, %http-server-socket, %local-url, stub-http-server): New variables. (http-write, call-with-http-server): New procedures. (with-http-server): New macro. ("home-page: wrong home-page", "home-page: invalid URI", "home-page: host not found", "home-page: Connection refused", "home-page: 200", "home-page: 404"): New tests. * guix/scripts/lint.scm (check-home-page): Export.
2014-12-28gnu: Don't use --strip-all in cases where this is problematic.Ludovic Courtès
This is a followup to 856ae5e. See <http://hydra.gnu.org/build/180506> for an example of build failure. * guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags parameter. Use it when (ar-file? path). * guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags parameter and pass it down. * gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add #:strip-flags. * gnu/packages/base.scm (glibc)[arguments]: Likewise.
2014-12-28lint: Report on the package being checked.Ludovic Courtès
* guix/scripts/lint.scm (run-checkers): Check whether (current-error-port) is a tty, and print the package being checked and the checker currently running when it is.
2014-12-28lint: Add 'home-page' checker.Ludovic Courtès
* 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.
2014-12-27guix package: Use 'search-path-as-list' instead of custom code.Ludovic Courtès
This will handle the new 'file-type' and 'file-pattern' fields correctly. * guix/scripts/package.scm (search-path-environment-variables)[search-path-definition]: Rewrite in terms of 'search-path-as-list'.
2014-12-27utils: Export 'search-path-as-list'.Ludovic Courtès
* guix/build/utils.scm (search-path-as-list): Make public. * guix/scripts/environment.scm (for-each-search-path): Use it.
2014-12-27packages: Add 'file-pattern' field to 'search-path-specification'.Ludovic Courtès
* guix/packages.scm (<search-path-specification>)[file-pattern]: New field. (search-path-specification->sexp): Honor it.
2014-12-27build-support/gnu: Add support for file patterns in search paths.Ludovic Courtès
* guix/build/utils.scm (search-path-as-list): Add #:pattern parameter and honor it. (set-path-environment-variable): Likewise, and pass it to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add PATTERN slot. * guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
2014-12-27packages: Add 'file-type' field to 'search-path-specification'.Ludovic Courtès
Fixes <http://bugs.gnu.org/18033>. * guix/packages.scm (<search-path-specification>): Rename 'directories' field to 'files'. Add 'file-type'. (search-path-specification->sexp): Honor 'file-type'. * gnu/packages/autotools.scm, gnu/packages/bootstrap.scm, gnu/packages/cross-base.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/glib.scm, gnu/packages/guile.scm, gnu/packages/man.scm, gnu/packages/perl.scm, gnu/packages/pkg-config.scm, gnu/packages/python.scm, gnu/packages/ruby.scm, gnu/packages/xfce.scm: Change 'directories' to 'files'. * tests/packages.scm ("search paths"): Change 'directories' field to 'files'. * guix/scripts/environment.scm (for-each-search-path): Likewise.
2014-12-27build-system/gnu: Strip with '--strip-all' instead of '--strip-debug'.Ludovic Courtès
This saves 19% on the 'bin' directory of Coreutils, and certainly helpful for things like Git's 'libexec' directory. * guix/build-system/gnu.scm (gnu-build): Change default value for #:strip-flags to '("--strip-all"). * guix/build/gnu-build-system.scm (strip): Ditto. * gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
2014-12-27build-system/gnu: Add support for non-directory search paths.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/18033>. * guix/build/utils.scm (search-path-as-list): Rename 'sub-directories' parameter to 'files'. Add #:type parameter and honor it. (set-path-environment-variable): Likewise. Pass #:type to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add 'directory as the last item of the tuple. * guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path pattern. Pass #:type to 'set-path-environment-variable'.
2014-12-26Merge branch 'master' into core-updatesLudovic Courtès
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.