summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2019-09-11 15:43:19 -0400
committerCarl Dong <contact@carldong.me>2019-10-11 11:44:44 -0400
commite214a22007450187c3db5d9fdef6ee021be6e953 (patch)
tree5808094fb50825c6f64ca87bfe65da07c85e7e6b /guix
parent07bec45dd3a1c5fa05f7ebfdb60ddbcf098bd01f (diff)
downloadgnu-guix-e214a22007450187c3db5d9fdef6ee021be6e953.tar
gnu-guix-e214a22007450187c3db5d9fdef6ee021be6e953.tar.gz
gnu: Add nsis-x86_64 and nsis-i686.
* guix/build-system/scons.scm (scons-build): Add build-targets and install-targets parameters. * guix/build/scons-build-system.scm (build, install): Adjust accordingly. * doc/guix.texi (Build Systems): Document it. * gnu/packages/installers.scm: New file, (make-nsis): New procedure, (nsis-x86_64, nsis-i686): New variables. * gnu/packages/patches/nsis-env-passthru.patch: New file. * gnu/local.mk (dist_patch_DATA, GNU_SYSTEM_MODULES): Adjust accordingly.
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/scons.scm4
-rw-r--r--guix/build/scons-build-system.scm9
2 files changed, 9 insertions, 4 deletions
diff --git a/guix/build-system/scons.scm b/guix/build-system/scons.scm
index 5e76d64180..aad455c419 100644
--- a/guix/build-system/scons.scm
+++ b/guix/build-system/scons.scm
@@ -76,7 +76,9 @@
#:key
(tests? #t)
(scons-flags ''())
+ (build-targets ''())
(test-target "test")
+ (install-targets ''("install"))
(phases '(@ (guix build scons-build-system)
%standard-phases))
(outputs '("out"))
@@ -101,8 +103,10 @@ provides a 'SConstruct' file as its build system."
source))
#:scons-flags ,scons-flags
#:system ,system
+ #:build-targets ,build-targets
#:test-target ,test-target
#:tests? ,tests?
+ #:install-targets ,install-targets
#:phases ,phases
#:outputs %outputs
#:search-paths ',(map search-path-specification->sexp
diff --git a/guix/build/scons-build-system.scm b/guix/build/scons-build-system.scm
index eb013f03b6..17a0b7b877 100644
--- a/guix/build/scons-build-system.scm
+++ b/guix/build/scons-build-system.scm
@@ -29,7 +29,7 @@
;;
;; Code:
-(define* (build #:key outputs (scons-flags '()) (parallel-build? #t) #:allow-other-keys)
+(define* (build #:key outputs (build-targets '()) (scons-flags '()) (parallel-build? #t) #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(apply invoke "scons"
@@ -37,7 +37,8 @@
(list "-j" (number->string
(parallel-job-count)))
(list))
- scons-flags))))
+ scons-flags
+ build-targets))))
(define* (check #:key tests? test-target (scons-flags '()) #:allow-other-keys)
"Run the test suite of a given SCons application."
@@ -46,9 +47,9 @@
(format #t "test suite not run~%"))
#t)
-(define* (install #:key outputs (scons-flags '()) #:allow-other-keys)
+(define* (install #:key outputs (install-targets '("install")) (scons-flags '()) #:allow-other-keys)
"Install a given SCons application."
- (apply invoke "scons" "install" scons-flags))
+ (apply invoke "scons" (append scons-flags install-targets)))
(define %standard-phases
(modify-phases gnu:%standard-phases