summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2021-09-17 08:55:08 +0200
committerLars-Dominik Braun <lars@6xq.net>2021-10-08 09:13:51 +0200
commit7cdb65dc9cceebfd3a45eeb281530f91f1b43b81 (patch)
tree65e328b492d12bc2729d0b9e31f829e9bb10e65a /guix
parent127828ddd74fc950c0403ca58a6f650355e3d67d (diff)
downloadguix-patches-7cdb65dc9cceebfd3a45eeb281530f91f1b43b81.tar
guix-patches-7cdb65dc9cceebfd3a45eeb281530f91f1b43b81.tar.gz
build-system/haskell: Do not rely on compiler name.
We’ve been relying on the compiler name matching its package subdir. Since we effectively only support GHC we can hard-code this and avoid issues with “ghc-next”. * guix/build/haskell-build-system.scm (make-ghc-package-database): Use GHC_PACKAGE_PATH. (register): Hard-code ghc prefix.
Diffstat (limited to 'guix')
-rw-r--r--guix/build/haskell-build-system.scm14
1 files changed, 4 insertions, 10 deletions
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 171100ecf7..7d50bae721 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -175,15 +175,8 @@ first match and return the content of the group."
"Generate the GHC package database."
(let* ((haskell (assoc-ref inputs "haskell"))
(name-version (strip-store-file-name haskell))
- (input-dirs (match inputs
- (((_ . dir) ...)
- dir)
- (_ '())))
;; Silence 'find-files' (see 'evaluate-search-paths')
- (conf-dirs (with-null-error-port
- (search-path-as-list
- `(,(string-append "lib/" name-version))
- input-dirs #:pattern ".*\\.conf.d$")))
+ (conf-dirs (search-path-as-string->list (getenv "GHC_PACKAGE_PATH")))
(conf-files (append-map (cut find-files <> "\\.conf$") conf-dirs)))
(mkdir-p %tmp-db-dir)
(for-each (lambda (file)
@@ -243,10 +236,11 @@ given Haskell package."
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(haskell (assoc-ref inputs "haskell"))
- (name-verion (strip-store-file-name haskell))
+ (name-version (strip-store-file-name haskell))
+ (version (last (string-split name-version #\-)))
(lib (string-append (or (assoc-ref outputs "lib") out) "/lib"))
(config-dir (string-append lib
- "/" name-verion
+ "/ghc-" version
"/" name ".conf.d"))
(id-rx (make-regexp "^id: *(.*)$"))
(config-file (string-append out "/" name ".conf"))