gnu: Add ghc-6.0.
* gnu/packages/haskell.scm (ghc-6.0): New variable.
This commit is contained in:
		
							parent
							
								
									82791af033
								
							
						
					
					
						commit
						be51ee7ced
					
				
					 1 changed files with 113 additions and 0 deletions
				
			
		|  | @ -49,6 +49,7 @@ | |||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages elf) | ||||
|   #:use-module (gnu packages file) | ||||
|   #:use-module (gnu packages flex) | ||||
|   #:use-module (gnu packages gawk) | ||||
|   #:use-module (gnu packages gcc) | ||||
|   #:use-module (gnu packages ghostscript) | ||||
|  | @ -379,6 +380,118 @@ GhcWithHscBuiltViaC=YES | |||
| interactive environment for the functional language Haskell.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public ghc-6.0 | ||||
|   (package | ||||
|     (name "ghc") | ||||
|     (version "6.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://downloads.haskell.org/~ghc/" | ||||
|                            version "/" name "-" version "-src.tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "06hpl8wyhhs1vz9dcdf0vbybwyzb5ifh27d59rx42q1vjs0m8zdv")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (supported-systems '("i686-linux" "x86_64-linux")) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:system "i686-linux" | ||||
|       #:tests? #false ;no check target | ||||
|       #:implicit-inputs? #false | ||||
|       #:parallel-build? #false ;not supported | ||||
|       #: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) | ||||
|               (delete-file "configure") | ||||
|               (delete-file "config.sub") | ||||
|               (install-file (search-input-file inputs | ||||
|                                                "/bin/config.sub") | ||||
|                             ".") | ||||
|               (let ((bash (which "bash"))) | ||||
|                 (substitute* '("configure.in" | ||||
|                                "ghc/configure.in" | ||||
|                                "ghc/rts/gmp/configure.in" | ||||
|                                "distrib/configure-bin.in") | ||||
|                   (("`/bin/sh") (string-append "`" bash)) | ||||
|                   (("SHELL=/bin/sh") (string-append "SHELL=" bash)) | ||||
|                   (("^#! /bin/sh") (string-append "#! " bash))) | ||||
|                 (substitute* "glafp-utils/runstdtest/runstdtest.prl" | ||||
|                   (("^#! /bin/sh") (string-append "#! " bash)) | ||||
|                   (("TimeCmd /bin/sh") | ||||
|                    (string-append "TimeCmd " bash))) | ||||
|                 (substitute* '("mk/config.mk.in" | ||||
|                                "ghc/rts/gmp/Makefile.in") | ||||
|                   (("^SHELL.*=.*/bin/sh") (string-append "SHELL = " bash))) | ||||
|                 (substitute* "aclocal.m4" | ||||
|                   (("SHELL=/bin/sh") (string-append "SHELL=" bash))) | ||||
|                 (substitute* '"ghc/compiler/Makefile" | ||||
|                   (("#!/bin/sh") (string-append "#!" bash))) | ||||
|                 (substitute* '("libraries/base/cbits/system.c" | ||||
|                                "libraries/unix/cbits/execvpe.c") | ||||
|                   (("/bin/sh") bash) | ||||
|                   (("\"sh\"") (string-append "\"" bash "\""))) | ||||
| 
 | ||||
|                 (setenv "CONFIG_SHELL" bash) | ||||
|                 (setenv "SHELL" bash)) | ||||
|               (invoke "autoreconf" "--verbose" "--force"))) | ||||
|           (replace 'configure | ||||
|             (lambda* (#:key build #:allow-other-keys) | ||||
|               (setenv "CPATH" | ||||
|                       (string-append (getcwd) "/ghc/includes:" | ||||
|                                      (getcwd) "/ghc/rts/gmp:" | ||||
|                                      (getcwd) "/mk:" | ||||
|                                      (or (getenv "CPATH") ""))) | ||||
|               (call-with-output-file "config.cache" | ||||
|                 (lambda (port) | ||||
|                   ;; GCC 2.95 fails to deal with anonymous unions in glibc's | ||||
|                   ;; 'struct_rusage.h': | ||||
|                   ;; Stats.c: In function `pageFaults': | ||||
|                   ;; Stats.c:270: structure has no member named `ru_majflt' | ||||
|                   ;; Stats.c:272: warning: control reaches end of non-void function | ||||
|                   (display "ac_cv_func_getrusage=no\n" port))) | ||||
| 
 | ||||
|               ;; Socket.hsc:887: sizeof applied to an incomplete type | ||||
|               ;; Socket.hsc:893: dereferencing pointer to incomplete type | ||||
|               (substitute* "libraries/network/Network/Socket.hsc" | ||||
|                 (("ifdef SO_PEERCRED") | ||||
|                  "ifdef SO_PEERCRED_NEVER")) | ||||
|               (invoke "./configure" | ||||
|                       (string-append "--with-hc=" (which "ghc")) | ||||
|                       (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 autoconf-2.13 | ||||
|                 config | ||||
|                 flex | ||||
|                 ;; 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 | ||||
|                 python-2               ;for tests | ||||
|                 ghc-4 | ||||
|                 gcc-2.95))) | ||||
|     (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 | ||||
|   (origin | ||||
|     (method url-fetch) | ||||
|  |  | |||
		Reference in a new issue