summaryrefslogtreecommitdiff
path: root/guix/build-system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-01-13 17:50:17 +0100
committerLudovic Courtès <ludo@gnu.org>2016-01-13 18:18:48 +0100
commit8c986ab12034d67db836a881f57c69754d8073ae (patch)
treebf5183011119695ac549d4cfff4dc2175e659397 /guix/build-system
parent203795aceaabec0e0e5818e1650ad407d825d1b3 (diff)
parent7a2eed3aac1ecd0bdf293e33a234fad58f2e5f9e (diff)
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/build-system')
-rw-r--r--guix/build-system/gnu.scm16
-rw-r--r--guix/build-system/python.scm9
2 files changed, 14 insertions, 11 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index c77348bd88..afd57668e2 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -96,10 +96,11 @@ builder, or the distro's final Guile when GUILE is #f."
(package (inherit p)
(location (if (pair? loc) (source-properties->location loc) loc))
(arguments
- (let ((args (package-arguments p)))
- `(#:guile ,guile
- #:implicit-inputs? #f
- ,@args)))
+ ;; 'ensure-keyword-arguments' guarantees that this procedure is
+ ;; idempotent.
+ (ensure-keyword-arguments (package-arguments p)
+ `(#:guile ,guile
+ #:implicit-inputs? #f)))
(replacement
(let ((replacement (package-replacement p)))
(and replacement
@@ -177,9 +178,10 @@ use `--strip-all' as the arguments to `strip'."
flags)))))
(replacement (and=> (package-replacement p) static-package))))
-(define* (dist-package p source)
+(define* (dist-package p source #:key (phases '%dist-phases))
"Return a package that runs takes source files from the SOURCE directory,
-runs `make distcheck' and whose result is one or more source tarballs."
+runs `make distcheck' and whose result is one or more source tarballs. The
+exact build phases are defined by PHASES."
(let ((s source))
(package (inherit p)
(name (string-append (package-name p) "-dist"))
@@ -198,7 +200,7 @@ runs `make distcheck' and whose result is one or more source tarballs."
`((guix build gnu-dist)
,@modules))
((#:phases _)
- '%dist-phases))))
+ phases))))
(native-inputs
;; Add autotools & co. as inputs.
(let ((ref (lambda (module var)
diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
index 2532210a49..86efc1a715 100644
--- a/guix/build-system/python.scm
+++ b/guix/build-system/python.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;;
@@ -41,12 +41,13 @@
;;
;; Code:
-(define (pypi-uri name version)
+(define* (pypi-uri name version #:optional (extension ".tar.gz"))
"Return a URI string for the Python package hosted on the Python Package
-Index (PyPI) corresponding to NAME and VERSION."
+Index (PyPI) corresponding to NAME and VERSION. EXTENSION is the file name
+extension, such as '.tar.gz'."
(string-append "https://pypi.python.org/packages/source/"
(string-take name 1) "/" name "/"
- name "-" version ".tar.gz"))
+ name "-" version extension))
(define %python-build-system-modules
;; Build-side modules imported by default.