build-system/haskell: install config for any package that creates it.
A Cabal package is allowed to declare an "empty" library, in an otherwise executable-only package, for the purpose of allowing Cabal to use it as a dependency for other packages. See e.g. hspec-discover. * guix/build/haskell-build-system.scm (register): Unconditionally call setup script with "register", and install any config file generated.
This commit is contained in:
parent
b4b1fe9d2f
commit
6508ce55e9
@ -166,13 +166,13 @@ generate the cache as it would clash in user profiles."
|
|||||||
(package-name-version haskell)
|
(package-name-version haskell)
|
||||||
"/package.conf.d"))
|
"/package.conf.d"))
|
||||||
(id-rx (make-regexp "^id: *(.*)$"))
|
(id-rx (make-regexp "^id: *(.*)$"))
|
||||||
(lib-rx (make-regexp "lib.*\\.(a|so)"))
|
(config-file (string-append out "/" name ".conf"))
|
||||||
(config-file (string-append config-dir "/" name ".conf"))
|
|
||||||
(params
|
(params
|
||||||
(list (string-append "--gen-pkg-config=" config-file))))
|
(list (string-append "--gen-pkg-config=" config-file))))
|
||||||
(unless (null? (find-files lib lib-rx))
|
(run-setuphs "register" params)
|
||||||
|
;; The conf file is created only when there is a library to register.
|
||||||
|
(when (file-exists? config-file)
|
||||||
(mkdir-p config-dir)
|
(mkdir-p config-dir)
|
||||||
(run-setuphs "register" params)
|
|
||||||
(let ((config-file-name+id
|
(let ((config-file-name+id
|
||||||
(call-with-ascii-input-file config-file (cut grep id-rx <>))))
|
(call-with-ascii-input-file config-file (cut grep id-rx <>))))
|
||||||
(rename-file config-file
|
(rename-file config-file
|
||||||
|
Loading…
Reference in New Issue
Block a user