From e214a22007450187c3db5d9fdef6ee021be6e953 Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Wed, 11 Sep 2019 15:43:19 -0400 Subject: 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. --- guix/build-system/scons.scm | 4 ++++ guix/build/scons-build-system.scm | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'guix') 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 -- cgit v1.2.3