build-system/composer: Do not import host-side Guile-JSON modules.
Importing host-side (json …) modules would make builds dependent on the Guile-JSON version currently installed by the user. Use ‘with-extensions’ instead. * guix/build-system/composer.scm (%composer-build-system-modules): Remove (json …) modules. (composer-build)[guile-json]: New variable. [builder]: Wrap body in ‘with-extensions’. Change-Id: Ibe565572d60481b31292d73c6fa23d42aa3ceecb
This commit is contained in:
parent
9dab758791
commit
6454788a5c
1 changed files with 29 additions and 28 deletions
|
@ -62,10 +62,6 @@ (define %composer-build-system-modules
|
|||
;; Build-side modules imported by default.
|
||||
`((guix build composer-build-system)
|
||||
(guix build union)
|
||||
(json)
|
||||
(json builder)
|
||||
(json parser)
|
||||
(json record)
|
||||
,@%gnu-build-system-modules))
|
||||
|
||||
(define* (lower name
|
||||
|
@ -124,31 +120,36 @@ (define* (composer-build name inputs
|
|||
(guix build utils))))
|
||||
"Build SOURCE using PHP, and with INPUTS. This assumes that SOURCE provides
|
||||
a 'composer.json' file as its build system."
|
||||
(define builder
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
(use-modules #$@(sexp->gexp modules))
|
||||
(define guile-json
|
||||
(module-ref (resolve-interface '(gnu packages guile))
|
||||
'guile-json-4))
|
||||
|
||||
#$(with-build-variables inputs outputs
|
||||
#~(composer-build
|
||||
#:source #$source
|
||||
#:system #$system
|
||||
#:outputs %outputs
|
||||
#:inputs %build-inputs
|
||||
#:search-paths '#$(map search-path-specification->sexp
|
||||
search-paths)
|
||||
#:phases #$phases
|
||||
#:out-of-source? #$out-of-source?
|
||||
#:composer-file #$composer-file
|
||||
#:tests? #$tests?
|
||||
#:test-target #$test-target
|
||||
#:test-flags #$test-flags
|
||||
#:install-target #$install-target
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
#:patch-shebangs? #$patch-shebangs?
|
||||
#:strip-binaries? #$strip-binaries?
|
||||
#:strip-flags #$strip-flags
|
||||
#:strip-directories #$strip-directories)))))
|
||||
(define builder
|
||||
(with-extensions (list guile-json)
|
||||
(with-imported-modules imported-modules
|
||||
#~(begin
|
||||
(use-modules #$@(sexp->gexp modules))
|
||||
|
||||
#$(with-build-variables inputs outputs
|
||||
#~(composer-build
|
||||
#:source #$source
|
||||
#:system #$system
|
||||
#:outputs %outputs
|
||||
#:inputs %build-inputs
|
||||
#:search-paths '#$(map search-path-specification->sexp
|
||||
search-paths)
|
||||
#:phases #$phases
|
||||
#:out-of-source? #$out-of-source?
|
||||
#:composer-file #$composer-file
|
||||
#:tests? #$tests?
|
||||
#:test-target #$test-target
|
||||
#:test-flags #$test-flags
|
||||
#:install-target #$install-target
|
||||
#:validate-runpath? #$validate-runpath?
|
||||
#:patch-shebangs? #$patch-shebangs?
|
||||
#:strip-binaries? #$strip-binaries?
|
||||
#:strip-flags #$strip-flags
|
||||
#:strip-directories #$strip-directories))))))
|
||||
|
||||
(gexp->derivation name builder
|
||||
#:system system
|
||||
|
|
Loading…
Reference in a new issue