diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-01-03 23:49:42 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-01-03 23:49:42 +0100 |
commit | ee06af5b4b314211f05c866f7226b8cb056a335b (patch) | |
tree | d27f2e71df66f9debb4c9c9f2e9d8621a3e32656 /gnu/packages.scm | |
parent | e13f715be0d609073974b1d464771638887a00c6 (diff) | |
download | patches-ee06af5b4b314211f05c866f7226b8cb056a335b.tar patches-ee06af5b4b314211f05c866f7226b8cb056a335b.tar.gz |
gnu: Search for patches under $GUIX_PACKAGE_PATH.
Fixes <http://bugs.gnu.org/19364>.
Reported by Tomáš Čech <sleep_walker@suse.cz>
and Mark H Weaver <mhw@netris.org>.
* gnu/packages.scm (%patch-path): Move after definition of
%package-module-path'. Append "/gnu/packages/patches" only to
%DISTRO-ROOT-DIRECTORY.
* tests/guix-package.sh: Add 'emacs-foo-bar-patched' test.
Diffstat (limited to 'gnu/packages.scm')
-rw-r--r-- | gnu/packages.scm | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gnu/packages.scm b/gnu/packages.scm index 6109d1f896..7f0b58b971 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; @@ -64,11 +64,6 @@ ;; and an extra environment variable. One advantage of this setup is ;; that everything just works in an auto-compilation setting. -(define %patch-path - (make-parameter - (map (cut string-append <> "/gnu/packages/patches") - %load-path))) - (define %bootstrap-binaries-path (make-parameter (map (cut string-append <> "/gnu/packages/bootstrap") @@ -104,6 +99,16 @@ (make-parameter (append environment `((,%distro-root-directory . "gnu/packages")))))) +(define %patch-path + ;; Define it after '%package-module-path' so that '%load-path' contains user + ;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found. + (make-parameter + (map (lambda (directory) + (if (string=? directory %distro-root-directory) + (string-append directory "/gnu/packages/patches") + directory)) + %load-path))) + (define* (scheme-files directory) "Return the list of Scheme files found under DIRECTORY, recursively. The returned list is sorted in alphabetical order." |