summaryrefslogtreecommitdiffstats
path: root/guix/jd/utils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/jd/utils.scm')
-rw-r--r--guix/jd/utils.scm25
1 files changed, 25 insertions, 0 deletions
diff --git a/guix/jd/utils.scm b/guix/jd/utils.scm
new file mode 100644
index 0000000..5be7fa9
--- /dev/null
+++ b/guix/jd/utils.scm
@@ -0,0 +1,25 @@
1(define-module (jd utils)
2 #:export (jd-search-patches))
3
4;; This code is copied and modified from (gnu packages) module.
5
6(define %jd-patch-path
7 (make-parameter
8 (map (lambda (directory)
9 (let ((jd-patch-dir (string-append directory "/jd/packages/patches")))
10 (if (and (file-exists? jd-patch-dir)
11 (file-is-directory? jd-patch-dir))
12 jd-patch-dir
13 directory)))
14 %load-path)))
15
16(define (jd-search-patch file-name)
17 "Search the patch FILE-NAME. Raise an error if not found."
18 (or (search-path (%jd-patch-path) file-name)
19 (raise (string-append file-name
20 ": patch not found"))))
21
22(define-syntax-rule (jd-search-patches file-name ...)
23 "Return the list of absolute file names corresponding to each
24FILE-NAME found in %JD-PATCH-PATH."
25 (list (jd-search-patch file-name) ...))