me
/
guix
Archived
1
0
Fork 0

gnu: Add ghc-6.6.

* gnu/packages/haskell.scm (ghc-6.6): New variable.
Ricardo Wurmus 2022-10-28 13:53:27 +02:00
parent 171b729005
commit 77a81280b2
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 87 additions and 0 deletions

View File

@ -56,6 +56,7 @@
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lisp) #:use-module (gnu packages lisp)
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -495,6 +496,92 @@ interactive environment for the functional language Haskell.")
interactive environment for the functional language Haskell.") interactive environment for the functional language Haskell.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-6.6
(package
(name "ghc")
(version "6.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/"
version "/" name "-" version "-src.tar.bz2"))
(sha256
(base32
"0znc9myxyfg9zmvdlg09sf0dq11kc2bq4616llh82v6m6s8s5ckr"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(arguments
(list
#:system "i686-linux"
#:tests? #false ;no check target
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26)
(srfi srfi-1))
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (which "bash")))
(substitute* '("configure"
"rts/gmp/configure"
"distrib/configure-bin.ac")
(("`/bin/sh") (string-append "`" bash))
(("SHELL=/bin/sh") (string-append "SHELL=" bash))
(("^#! /bin/sh") (string-append "#! " bash)))
(substitute* "utils/runstdtest/runstdtest.prl"
(("^#! /bin/sh") (string-append "#! " bash))
(("TimeCmd /bin/sh")
(string-append "TimeCmd " bash)))
(substitute* '("mk/config.mk.in"
"rts/gmp/Makefile.in")
(("^SHELL.*=.*/bin/sh") (string-append "SHELL = " bash)))
(substitute* "aclocal.m4"
(("SHELL=/bin/sh") (string-append "SHELL=" bash)))
(substitute* '"compiler/Makefile"
(("#!/bin/sh") (string-append "#!" bash)))
(substitute* "libraries/base/cbits/execvpe.c"
(("/bin/sh") bash)
(("\"sh\"") (string-append "\"" bash "\"")))
(setenv "CONFIG_SHELL" bash)
(setenv "SHELL" bash))))
(replace 'configure
(lambda* (#:key build #:allow-other-keys)
(setenv "CPATH"
(string-append (getcwd) "/includes:"
(getcwd) "/rts/gmp:"
(getcwd) "/mk:"
(or (getenv "CPATH") "")))
(invoke "./configure"
(string-append "--with-hc=" (which "ghc"))
(string-append "--with-gcc=" (which "gcc"))
(string-append "--prefix=" #$output)
(string-append "--build=" build)
(string-append "--host=" build)))))))
(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))))
(native-inputs
(modify-inputs (%final-inputs)
(delete "gcc")
(prepend m4
;; Perl used to allow setting $* to enable multi-line matching. If
;; we want to use a more recent Perl we need to patch all
;; expressions that require multi-line matching. Hard to tell.
perl-5.6
ghc-6.0
gcc-4.9)))
(home-page "https://www.haskell.org/ghc")
(synopsis "The Glasgow Haskell Compiler")
(description
"The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
interactive environment for the functional language Haskell.")
(license license:bsd-3)))
(define ghc-bootstrap-x86_64-7.8.4 (define ghc-bootstrap-x86_64-7.8.4
(origin (origin
(method url-fetch) (method url-fetch)