summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-authorizations4
-rw-r--r--.guix-channel5
-rw-r--r--NEWS2
-rw-r--r--andromeda.key13
-rw-r--r--andromeda/packages/haskell.scm77
5 files changed, 88 insertions, 13 deletions
diff --git a/.guix-authorizations b/.guix-authorizations
new file mode 100644
index 0000000..734a75c
--- /dev/null
+++ b/.guix-authorizations
@@ -0,0 +1,4 @@
+(authorizations
+ (version 0)
+ (("70DE 7ED5 E5EF 2086 643E 74C0 547A 6CAD 273C 801A"
+ (name "Andromeda")))) \ No newline at end of file
diff --git a/.guix-channel b/.guix-channel
new file mode 100644
index 0000000..b3de09e
--- /dev/null
+++ b/.guix-channel
@@ -0,0 +1,5 @@
+(channel
+ (version 0)
+ (url "https://git.galaxious.de/channel939.git")
+ (keyring-reference "keyring")
+ (news-file "NEWS")) \ No newline at end of file
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..22e7b61
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,2 @@
+(channel-news
+ (version 0)) \ No newline at end of file
diff --git a/andromeda.key b/andromeda.key
deleted file mode 100644
index 418c210..0000000
--- a/andromeda.key
+++ /dev/null
@@ -1,13 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mDMEao1x1xYJKwYBBAHaRw8BAQdA3QeYf44F2JuwMIS+WIKFVEZFqp+Ry/Sib044
-nM3BMHW0CUFuZHJvbWVkYYiOBBMWCgA2FiEEcN5+1eXvIIZkPnTAVHpsrSc8gBoF
-AmqNcdcCGwMECwkIBwQVCgkIBRYCAwEAAh4BAheAAAoJEFR6bK0nPIAa3MoBAK1Q
-pFCqLAbCrRtLirhwqEp45XE5NJwAyTYgSx4OsvORAQDsRxVTQHIWl+rap3AuCr1H
-lI1jKSkoZ6fRmFjAr9vZD7g4BGqNcdcSCisGAQQBl1UBBQEBB0BT8UDatwjPLDR4
-O/VoMUCYTEfmW0qMf3gXO4iKBnYZeAMBCAeIeAQYFgoAIBYhBHDeftXl7yCGZD50
-wFR6bK0nPIAaBQJqjXHXAhsMAAoJEFR6bK0nPIAaJxkBAP9ObKrS4yrnj0UwkHQj
-XaNe5UMhKX0mND6j5jcDgwT/AP9m/0xXaIfg406GEXh21537LpF/EvJ+v3RNeISg
-IFzXCg==
-=1GlC
------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file
diff --git a/andromeda/packages/haskell.scm b/andromeda/packages/haskell.scm
new file mode 100644
index 0000000..9e3ec0f
--- /dev/null
+++ b/andromeda/packages/haskell.scm
@@ -0,0 +1,77 @@
+(define-module (andromeda packages haskell)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages haskell)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public ghc-9.12
+ (let ((base ghc-9.8))
+ (package
+ (inherit base)
+ (name "ghc")
+ (version "9.12.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.haskell.org/~ghc/" version
+ "/ghc-" version "-src.tar.xz"))
+ (sha256
+ (base32
+ "0czrhi8fdvzxbpviri2xjj6xdy50syjyjpbff72liws3vrfwsj8f"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
+ #:allow-other-keys)
+ (if tests?
+ (apply invoke "_build/bin/hadrian"
+ `(,@(if parallel-tests?
+ (list (string-append
+ "-j"
+ (number->string (parallel-job-count))))
+ '())
+ ,@make-flags
+ "test"
+ ,(string-append
+ "--broken-test="
+ (string-join
+ (list "T15904" ; ld-wrapper, apparently
+ "T16521" ; no idea
+ "T7275"
+ "toplevel_scc_1")))
+ "--skip-perf"
+ "-a")) ; TODO: actually figure out test failures
+ (format #t "test suite not run~%"))))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "ghc" base)
+ (replace "ghc-testsuite.tar.xz"
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.haskell.org/~ghc/"
+ version "/ghc-" version "-testsuite.tar.xz"))
+ (sha256
+ (base32
+ "1ahhyh5kwmi4ck2687mjawnp9syb7a0m47y096x896zznjnjw56g"))
+ (patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
+ (replace "hadrian-bootstrap-sources.tar.gz"
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.haskell.org/~ghc/" version
+ "/hadrian-bootstrap-sources/"
+ "hadrian-bootstrap-sources-"
+ (package-version base) ".tar.gz"))
+ (sha256
+ (base32
+ "16hxy3jk213zjqm75sa0slslfz7b2f4iqycnnjisbdr7ias2x5nl"))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GHC_PACKAGE_PATH")
+ (files (list (string-append "lib/ghc-" version)))
+ (file-pattern ".*\\.conf\\.d$")
+ (file-type 'directory)))))))