summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-01-03 23:49:42 +0100
committerLudovic Courtès <ludo@gnu.org>2015-01-03 23:49:42 +0100
commitee06af5b4b314211f05c866f7226b8cb056a335b (patch)
treed27f2e71df66f9debb4c9c9f2e9d8621a3e32656 /tests
parente13f715be0d609073974b1d464771638887a00c6 (diff)
downloadguix-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 'tests')
-rw-r--r--tests/guix-package.sh23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index f4e091a5a2..3959269d44 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -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 Nikita Karetnikov <nikita@karetnikov.org>
 #
 # This file is part of GNU Guix.
@@ -289,10 +289,29 @@ GUIX_PACKAGE_PATH="$module_dir"
 export GUIX_PACKAGE_PATH
 guix package -A emacs-foo-bar | grep 42
 guix package -i emacs-foo-bar-42 -n
+
+# Make sure patches that live under $GUIX_PACKAGE_PATH are found.
+cat > "$module_dir/emacs.patch"<<EOF
+This is a fake patch.
+EOF
+cat > "$module_dir/foo.scm"<<EOF
+(define-module (foo)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages emacs))
+
+(define-public x
+  (package (inherit emacs)
+    (source (origin (inherit (package-source emacs))
+              (patches (list (search-patch "emacs.patch")))))
+    (name "emacs-foo-bar-patched")
+    (version "42")))
+EOF
+guix package -i emacs-foo-bar-patched -n
+
 unset GUIX_PACKAGE_PATH
 
 # Using 'GUIX_BUILD_OPTIONS'.
-
 available="`guix package -A | sort`"
 GUIX_BUILD_OPTIONS="--dry-run"
 export GUIX_BUILD_OPTIONS