summaryrefslogtreecommitdiff
path: root/andromeda/utils.scm
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-09-02 04:04:29 +0200
committerandromeda <andromeda@lenovo>2026-09-02 04:04:29 +0200
commit84a70fb21764cc3888d07a7bda5e4c63a28135bb (patch)
tree00bf983c80e86430c7731df57eb7aae99b8ed251 /andromeda/utils.scm
parent0a110b41d12e42946424578efcbaf231650ffe31 (diff)
[ghc-9.14-hs-bindgen] fix compilation
Diffstat (limited to 'andromeda/utils.scm')
-rw-r--r--andromeda/utils.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/andromeda/utils.scm b/andromeda/utils.scm
new file mode 100644
index 0000000..a4272dd
--- /dev/null
+++ b/andromeda/utils.scm
@@ -0,0 +1,37 @@
+(define-module (andromeda utils)
+ #:use-module (andromeda packages haskell)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (ice-9 match))
+
+(define-public (from-ghc-to-ghc-9.14 name) (string-append "ghc-9.14" (string-drop name (string-length "ghc"))))
+(define-public (with-ghc-9.14 base)
+ (package
+ (inherit base)
+ (name (from-ghc-to-ghc-9.14 (package-name base)))
+ (arguments
+ (append
+ (list #:haskell ghc-9.14)
+ (package-arguments base)))
+ (inputs
+ (map
+ (match-lambda
+ ((input-name input)
+ (if (string-prefix? "ghc-" input-name)
+ (list
+ (from-ghc-to-ghc-9.14 input-name)
+ (specification->package (from-ghc-to-ghc-9.14 input-name)))
+ (if (string=? "hspec-discover" input-name)
+ (list "ghc-9.14-hspec-discover-bootstrap" (specification->package "ghc-9.14-hspec-discover-bootstrap"))
+ (list input-name input)))))
+ (package-inputs base)))
+ (native-inputs
+ (map
+ (match-lambda
+ ((input-name input)
+ (if (string-prefix? "ghc-" input-name)
+ (list
+ (from-ghc-to-ghc-9.14 input-name)
+ (specification->package (from-ghc-to-ghc-9.14 input-name)))
+ (list input-name input))))
+ (package-native-inputs base)))))