diff options
| author | andromeda <andromeda@lenovo> | 2026-09-02 04:04:29 +0200 |
|---|---|---|
| committer | andromeda <andromeda@lenovo> | 2026-09-02 04:04:29 +0200 |
| commit | 84a70fb21764cc3888d07a7bda5e4c63a28135bb (patch) | |
| tree | 00bf983c80e86430c7731df57eb7aae99b8ed251 /andromeda/utils.scm | |
| parent | 0a110b41d12e42946424578efcbaf231650ffe31 (diff) | |
[ghc-9.14-hs-bindgen] fix compilation
Diffstat (limited to 'andromeda/utils.scm')
| -rw-r--r-- | andromeda/utils.scm | 37 |
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))))) |
