* gnu/packages/haskell.scm (cabal-install): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
		
			
				
	
	
		
			1186 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			1186 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| ;;; GNU Guix --- Functional package management for GNU
 | |
| ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 | |
| ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
 | |
| ;;;
 | |
| ;;; This file is part of GNU Guix.
 | |
| ;;;
 | |
| ;;; GNU Guix is free software; you can redistribute it and/or modify it
 | |
| ;;; under the terms of the GNU General Public License as published by
 | |
| ;;; the Free Software Foundation; either version 3 of the License, or (at
 | |
| ;;; your option) any later version.
 | |
| ;;;
 | |
| ;;; GNU Guix is distributed in the hope that it will be useful, but
 | |
| ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| ;;; GNU General Public License for more details.
 | |
| ;;;
 | |
| ;;; You should have received a copy of the GNU General Public License
 | |
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| (define-module (gnu packages haskell)
 | |
|   #:use-module (ice-9 regex)
 | |
|   #:use-module ((guix licenses) #:select (bsd-3 lgpl2.1))
 | |
|   #:use-module (guix packages)
 | |
|   #:use-module (guix download)
 | |
|   #:use-module (guix utils)
 | |
|   #:use-module (guix build-system gnu)
 | |
|   #:use-module (guix build-system haskell)
 | |
|   #:use-module (gnu packages pkg-config)
 | |
|   #:use-module (gnu packages perl)
 | |
|   #:use-module (gnu packages compression)
 | |
|   #:use-module (gnu packages elf)
 | |
|   #:use-module (gnu packages bootstrap)
 | |
|   #:use-module (gnu packages ghostscript)
 | |
|   #:use-module (gnu packages libffi)
 | |
|   #:use-module (gnu packages libedit)
 | |
|   #:use-module (gnu packages multiprecision)
 | |
|   #:use-module (gnu packages ncurses)
 | |
|   #:use-module (gnu packages python)
 | |
|   #:use-module (gnu packages xorg))
 | |
| 
 | |
| (define ghc-bootstrap-x86_64-7.8.4
 | |
|   (origin
 | |
|     (method url-fetch)
 | |
|     (uri
 | |
|      "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
 | |
|     (sha256
 | |
|      (base32
 | |
|       "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
 | |
| 
 | |
| (define ghc-bootstrap-i686-7.8.4
 | |
|   (origin
 | |
|     (method url-fetch)
 | |
|     (uri
 | |
|      "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
 | |
|     (sha256
 | |
|      (base32
 | |
|       "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
 | |
| 
 | |
| ;; 43 tests out of 3965 fail.
 | |
| ;;
 | |
| ;; Most of them do not appear to be serious:
 | |
| ;;
 | |
| ;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
 | |
| ;;   figured out how these references are generated.
 | |
| ;;
 | |
| ;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
 | |
| ;;
 | |
| ;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
 | |
| ;;   Data.Vector, Control.Monad.State.
 | |
| ;;
 | |
| ;; - Test posix010 tries to check the existence of a user on the system:
 | |
| ;;   getUserEntryForName: does not exist (no such user)
 | |
| (define-public ghc
 | |
|   (package
 | |
|     (name "ghc")
 | |
|     (version "7.8.4")
 | |
|     (source
 | |
|      (origin
 | |
|       (method url-fetch)
 | |
|       (uri (string-append "https://www.haskell.org/ghc/dist/"
 | |
|                           version "/" name "-" version "-src.tar.xz"))
 | |
|       (sha256
 | |
|        (base32
 | |
|         "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3"))))
 | |
|     (build-system gnu-build-system)
 | |
|     (supported-systems '("i686-linux" "x86_64-linux"))
 | |
|     (outputs '("out" "doc"))
 | |
|     (inputs
 | |
|      `(("gmp" ,gmp)
 | |
|        ("ncurses" ,ncurses)
 | |
|        ("libffi" ,libffi)
 | |
|        ("libedit" ,libedit)
 | |
|        ("ghc-testsuite"
 | |
|         ,(origin
 | |
|            (method url-fetch)
 | |
|            (uri (string-append
 | |
|                  "https://www.haskell.org/ghc/dist/"
 | |
|                  version "/" name "-" version "-testsuite.tar.xz"))
 | |
|            (sha256
 | |
|             (base32
 | |
|              "0q95whf87y4mxjzwzy899g7z7l9pazq4si6iciyhxkcdhqq2ycyh"))))))
 | |
|     (native-inputs
 | |
|      `(("perl" ,perl)
 | |
|        ("python" ,python-2)                ; for tests (fails with python-3)
 | |
|        ("ghostscript" ,ghostscript)        ; for tests
 | |
|        ("patchelf" ,patchelf)
 | |
|        ;; GHC is built with GHC. Therefore we need bootstrap binaries.
 | |
|        ("ghc-binary"
 | |
|         ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
 | |
|              ghc-bootstrap-x86_64-7.8.4
 | |
|              ghc-bootstrap-i686-7.8.4))))
 | |
|     (arguments
 | |
|      `(#:test-target "test"
 | |
|        ;; We get a smaller number of test failures by disabling parallel test
 | |
|        ;; execution.
 | |
|        #:parallel-tests? #f
 | |
| 
 | |
|        ;; The DSOs use $ORIGIN to refer to each other, but (guix build
 | |
|        ;; gremlin) doesn't support it yet, so skip this phase.
 | |
|        #:validate-runpath? #f
 | |
| 
 | |
|        ;; Don't pass --build=<triplet>, because the configure script
 | |
|        ;; auto-detects slightly different triplets for --host and --target and
 | |
|        ;; then complains that they don't match.
 | |
|        #:build #f
 | |
| 
 | |
|        #:modules ((guix build gnu-build-system)
 | |
|                   (guix build utils)
 | |
|                   (guix build rpath)
 | |
|                   (srfi srfi-26)
 | |
|                   (srfi srfi-1))
 | |
|        #:imported-modules (,@%gnu-build-system-modules
 | |
|                            (guix build rpath))
 | |
|        #:configure-flags
 | |
|        (list
 | |
|         (string-append "--with-gmp-libraries="
 | |
|                        (assoc-ref %build-inputs "gmp") "/lib")
 | |
|         (string-append "--with-gmp-includes="
 | |
|                        (assoc-ref %build-inputs "gmp") "/include")
 | |
|         "--with-system-libffi"
 | |
|         (string-append "--with-ffi-libraries="
 | |
|                        (assoc-ref %build-inputs "libffi") "/lib")
 | |
|         (string-append "--with-ffi-includes="
 | |
|                        (assoc-ref %build-inputs "libffi") "/include"))
 | |
|        ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
 | |
|        ;; Currently we do not have the last one.
 | |
|        ;; #:make-flags
 | |
|        ;; (list "BUILD_DOCBOOK_HTML = YES")
 | |
|        #:phases
 | |
|        (let* ((ghc-bootstrap-path
 | |
|                (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
 | |
|               (ghc-bootstrap-prefix
 | |
|                (string-append ghc-bootstrap-path "/usr" )))
 | |
|          (alist-cons-after
 | |
|           'unpack-bin 'unpack-testsuite-and-fix-bins
 | |
|           (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|             (with-directory-excursion ".."
 | |
|               (copy-file (assoc-ref inputs "ghc-testsuite")
 | |
|                          "ghc-testsuite.tar.xz")
 | |
|               (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
 | |
|             (substitute*
 | |
|                 (list "testsuite/timeout/Makefile"
 | |
|                       "testsuite/timeout/timeout.py"
 | |
|                       "testsuite/timeout/timeout.hs"
 | |
|                       "testsuite/tests/rename/prog006/Setup.lhs"
 | |
|                       "testsuite/tests/programs/life_space_leak/life.test"
 | |
|                       "libraries/process/System/Process/Internals.hs"
 | |
|                       "libraries/unix/cbits/execvpe.c")
 | |
|               (("/bin/sh") (which "sh"))
 | |
|               (("/bin/rm") "rm"))
 | |
|             #t)
 | |
|           (alist-cons-after
 | |
|            'unpack 'unpack-bin
 | |
|            (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|              (mkdir-p ghc-bootstrap-prefix)
 | |
|              (with-directory-excursion ghc-bootstrap-path
 | |
|                (copy-file (assoc-ref inputs "ghc-binary")
 | |
|                           "ghc-bin.tar.xz")
 | |
|                (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
 | |
|            (alist-cons-before
 | |
|             'install-bin 'configure-bin
 | |
|             (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|               (let* ((binaries
 | |
|                       (list
 | |
|                        "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
 | |
|                        "./utils/hpc/dist-install/build/tmp/hpc"
 | |
|                        "./utils/haddock/dist/build/tmp/haddock"
 | |
|                        "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
 | |
|                        "./utils/runghc/dist-install/build/tmp/runghc"
 | |
|                        "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
 | |
|                        "./utils/hp2ps/dist/build/tmp/hp2ps"
 | |
|                        "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
 | |
|                        "./utils/unlit/dist/build/tmp/unlit"
 | |
|                        "./ghc/stage2/build/tmp/ghc-stage2"))
 | |
|                      (gmp (assoc-ref inputs "gmp"))
 | |
|                      (gmp-lib (string-append gmp "/lib"))
 | |
|                      (gmp-include (string-append gmp "/include"))
 | |
|                      (ncurses-lib
 | |
|                       (string-append (assoc-ref inputs "ncurses") "/lib"))
 | |
|                      (ld-so (string-append (assoc-ref inputs "libc")
 | |
|                                            ,(glibc-dynamic-linker)))
 | |
|                      (libtinfo-dir
 | |
|                       (string-append ghc-bootstrap-prefix
 | |
|                                      "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
 | |
|                 (with-directory-excursion
 | |
|                     (string-append ghc-bootstrap-path "/" ,name "-" ,version)
 | |
|                   (setenv "CONFIG_SHELL" (which "bash"))
 | |
|                   (setenv "LD_LIBRARY_PATH" gmp-lib)
 | |
|                   ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
 | |
|                   (for-each
 | |
|                    (cut system* "patchelf" "--set-interpreter" ld-so <>)
 | |
|                    binaries)
 | |
|                   ;; The binaries include a reference to libtinfo.so.5 which
 | |
|                   ;; is a subset of libncurses.so.5.  We create a symlink in a
 | |
|                   ;; directory included in the bootstrap binaries rpath.
 | |
|                   (mkdir-p libtinfo-dir)
 | |
|                   (symlink
 | |
|                    (string-append ncurses-lib "/libncursesw.so."
 | |
|                                   ,(version-major+minor
 | |
|                                     (package-version ncurses)))
 | |
|                    (string-append libtinfo-dir "/libtinfo.so.5"))
 | |
|                   (setenv "PATH"
 | |
|                           (string-append (getenv "PATH") ":"
 | |
|                                          ghc-bootstrap-prefix "/bin"))
 | |
|                   (system*
 | |
|                    (string-append (getcwd) "/configure")
 | |
|                    (string-append "--prefix=" ghc-bootstrap-prefix)
 | |
|                    (string-append "--with-gmp-libraries=" gmp-lib)
 | |
|                    (string-append "--with-gmp-includes=" gmp-include)))))
 | |
|             (alist-cons-before
 | |
|              'configure 'install-bin
 | |
|              (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|                (with-directory-excursion
 | |
|                    (string-append ghc-bootstrap-path "/" ,name "-" ,version)
 | |
|                  (zero? (system* "make" "install"))))
 | |
|              %standard-phases)))))))
 | |
|     (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 bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default
 | |
|   (package
 | |
|     (name "ghc-data-default")
 | |
|     (version "0.5.3")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/data-default/data-default-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "0d1hm0l9kim3kszshr4msmgzizrzha48gz2kb7b61p7n3gs70m7c"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (propagated-inputs
 | |
|      `(("ghc-data-default-class"
 | |
|         ,ghc-data-default-class)
 | |
|        ("ghc-data-default-instances-base"
 | |
|         ,ghc-data-default-instances-base)
 | |
|        ("ghc-data-default-instances-containers"
 | |
|         ,ghc-data-default-instances-containers)
 | |
|        ("ghc-data-default-instances-dlist"
 | |
|         ,ghc-data-default-instances-dlist)
 | |
|        ("ghc-data-default-instances-old-locale"
 | |
|         ,ghc-data-default-instances-old-locale)))
 | |
|     (home-page "http://hackage.haskell.org/package/data-default")
 | |
|     (synopsis "Types with default values")
 | |
|     (description
 | |
|      "This package defines a class for types with a default value, and
 | |
| provides instances for types from the base, containers, dlist and old-locale
 | |
| packages.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default-class
 | |
|   (package
 | |
|     (name "ghc-data-default-class")
 | |
|     (version "0.0.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/data-default-class/"
 | |
|              "data-default-class-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "0ccgr3jllinchqhw3lsn73ic6axk4196if5274rr1rghls0fxj5d"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/data-default-class")
 | |
|     (synopsis "Types with default values")
 | |
|     (description
 | |
|      "This package defines a class for types with default values.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default-instances-base
 | |
|   (package
 | |
|     (name "ghc-data-default-instances-base")
 | |
|     (version "0.0.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/"
 | |
|              "data-default-instances-base/"
 | |
|              "data-default-instances-base-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1832nq6by91f1iw73ycvkbgn8kpra83pvf2q61hy47xffh0zy4pb"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (propagated-inputs
 | |
|      `(("ghc-data-default-class" ,ghc-data-default-class)))
 | |
|     (home-page "http://hackage.haskell.org/package/data-default-instances-base")
 | |
|     (synopsis "Default instances for types in base")
 | |
|     (description
 | |
|      "This package provides default instances for types from the base
 | |
| package.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default-instances-containers
 | |
|   (package
 | |
|     (name "ghc-data-default-instances-containers")
 | |
|     (version "0.0.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/"
 | |
|              "data-default-instances-containers/"
 | |
|              "data-default-instances-containers-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (propagated-inputs
 | |
|      `(("ghc-data-default-class" ,ghc-data-default-class)))
 | |
|     (home-page "http://hackage.haskell.org/package/data-default-instances-containers")
 | |
|     (synopsis "Default instances for types in containers")
 | |
|     (description "Provides default instances for types from the containers
 | |
| package.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default-instances-dlist
 | |
|   (package
 | |
|     (name "ghc-data-default-instances-dlist")
 | |
|     (version "0.0.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/"
 | |
|              "data-default-instances-dlist/"
 | |
|              "data-default-instances-dlist-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (propagated-inputs
 | |
|      `(("ghc-data-default-class" ,ghc-data-default-class)
 | |
|        ("ghc-dlist" ,ghc-dlist)))
 | |
|     (home-page "http://hackage.haskell.org/package/data-default-instances-dlist")
 | |
|     (synopsis "Default instances for types in dlist")
 | |
|     (description "Provides default instances for types from the dlist
 | |
| package.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-data-default-instances-old-locale
 | |
|   (package
 | |
|     (name "ghc-data-default-instances-old-locale")
 | |
|     (version "0.0.1")
 | |
|     (source
 | |
|       (origin
 | |
|         (method url-fetch)
 | |
|         (uri (string-append
 | |
|               "http://hackage.haskell.org/package/"
 | |
|               "data-default-instances-old-locale/"
 | |
|               "data-default-instances-old-locale-" version ".tar.gz"))
 | |
|         (sha256
 | |
|           (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (propagated-inputs
 | |
|       `(("ghc-data-default-class" ,ghc-data-default-class)))
 | |
|     (home-page
 | |
|       "http://hackage.haskell.org/package/data-default-instances-old-locale")
 | |
|     (synopsis "Default instances for types in old-locale")
 | |
|     (description "Provides Default instances for types from the old-locale
 | |
|   package.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-dlist
 | |
|   (package
 | |
|     (name "ghc-dlist")
 | |
|     (version "0.7.1.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/dlist/dlist-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1zayvxvkan2s2ixajdr3f5rn1gzhprzv6cww4cbpwjhzw0l7zc08"))))
 | |
|     (arguments `(#:tests? #f))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "https://github.com/spl/dlist")
 | |
|     (synopsis "Difference lists")
 | |
|     (description
 | |
|      "Difference lists are a list-like type supporting O(1) append.  This is
 | |
| particularly useful for efficient logging and pretty printing (e.g. with the
 | |
| Writer monad), where list append quickly becomes too expensive.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-extensible-exceptions
 | |
|   (package
 | |
|     (name "ghc-extensible-exceptions")
 | |
|     (version "0.1.1.4")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append "http://hackage.haskell.org/package/"
 | |
|                            "extensible-exceptions/extensible-exceptions-"
 | |
|                            version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/extensible-exceptions")
 | |
|     (synopsis "Extensible exceptions for Haskell")
 | |
|     (description
 | |
|      "This package provides extensible exceptions for both new and old
 | |
| versions of GHC (i.e., < 6.10).")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public cabal-install
 | |
|  (package
 | |
|   (name "cabal-install")
 | |
|    (version "1.18.1.0")
 | |
|    (source
 | |
|     (origin
 | |
|      (method url-fetch)
 | |
|       (uri (string-append
 | |
|             "http://hackage.haskell.org/package/cabal-install/cabal-install-"
 | |
|             version
 | |
|             ".tar.gz"))
 | |
|       (sha256
 | |
|        (base32 "1r1shhvnpgxf91rmbv3wa1rkd24plbgr6bpz3aj80ir0z3zbdayn"))))
 | |
|    (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
 | |
|    (build-system haskell-build-system)
 | |
|    (propagated-inputs
 | |
|     `(("ghc-http" ,ghc-http)
 | |
|       ("ghc-mtl" ,ghc-mtl)
 | |
|       ("ghc-network-uri" ,ghc-network-uri)
 | |
|       ("ghc-network" ,ghc-network)
 | |
|       ("ghc-random" ,ghc-random)
 | |
|       ("ghc-stm" ,ghc-stm)
 | |
|       ("ghc-zlib" ,ghc-zlib)))
 | |
|    (home-page "http://www.haskell.org/cabal/")
 | |
|    (synopsis "Command-line interface for Cabal and Hackage")
 | |
|    (description
 | |
|     "The cabal command-line program simplifies the process of managing
 | |
| Haskell software by automating the fetching, configuration, compilation and
 | |
| installation of Haskell libraries and programs.")
 | |
|    (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-mtl
 | |
|   (package
 | |
|     (name "ghc-mtl")
 | |
|     (version "2.1.3.1")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/mtl/mtl-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://github.com/ekmett/mtl")
 | |
|     (synopsis
 | |
|      "Monad classes, using functional dependencies")
 | |
|     (description
 | |
|      "Monad classes using functional dependencies, with instances
 | |
| for various monad transformers, inspired by the paper
 | |
| 'Functional Programming with Overloading and Higher-Order Polymorphism',
 | |
| by Mark P Jones, in 'Advanced School of Functional Programming', 1995
 | |
| http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
 | |
|   (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-paths
 | |
|   (package
 | |
|     (name "ghc-paths")
 | |
|     (version "0.1.0.9")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/ghc-paths/ghc-paths-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "https://github.com/simonmar/ghc-paths")
 | |
|     (synopsis
 | |
|      "Knowledge of GHC's installation directories")
 | |
|     (description
 | |
|      "Knowledge of GHC's installation directories.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-utf8-string
 | |
|   (package
 | |
|     (name "ghc-utf8-string")
 | |
|     (version "0.3.8")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/utf8-string/utf8-string-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://github.com/glguy/utf8-string/")
 | |
|     (synopsis "Support for reading and writing UTF8 Strings")
 | |
|     (description
 | |
|      "A UTF8 layer for Strings. The utf8-string package provides operations
 | |
| for encoding UTF8 strings to Word8 lists and back, and for reading and writing
 | |
| UTF8 without truncation.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-x11
 | |
|   (package
 | |
|     (name "ghc-x11")
 | |
|     (version "1.6.1.2")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append "http://hackage.haskell.org/package/X11/"
 | |
|                            "X11-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj"))))
 | |
|     (arguments
 | |
|      `(#:phases (modify-phases %standard-phases
 | |
|                   (add-before 'configure 'set-sh
 | |
|                               (lambda _
 | |
|                                 (setenv "CONFIG_SHELL" "sh")
 | |
|                                 #t)))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("libx11" ,libx11)
 | |
|        ("libxrandr" ,libxrandr)
 | |
|        ("libxinerama" ,libxinerama)
 | |
|        ("libxscrnsaver" ,libxscrnsaver)))
 | |
|     (propagated-inputs
 | |
|      `(("ghc-data-default" ,ghc-data-default)))
 | |
|     (home-page "https://github.com/haskell-pkg-janitors/X11")
 | |
|     (synopsis "Bindings to the X11 graphics library")
 | |
|     (description
 | |
|      "This package provides Haskell bindings to the X11 graphics library.  The
 | |
| bindings are a direct translation of the C bindings.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-x11-xft
 | |
|   (package
 | |
|     (name "ghc-x11-xft")
 | |
|     (version "0.3.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append "http://hackage.haskell.org/package/X11-xft/"
 | |
|                            "X11-xft-" version ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
 | |
|     (propagated-inputs
 | |
|      `(("ghc-x11" ,ghc-x11)
 | |
|        ("ghc-utf8-string" ,ghc-utf8-string)))
 | |
|     (inputs
 | |
|      `(("libx11" ,libx11)
 | |
|        ("libxft" ,libxft)
 | |
|        ("xproto" ,xproto)))
 | |
|     (native-inputs
 | |
|      `(("pkg-config" ,pkg-config)))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/X11-xft")
 | |
|     (synopsis "Bindings to Xft")
 | |
|     (description
 | |
|      "Bindings to the Xft, X Free Type interface library, and some Xrender
 | |
| parts.")
 | |
|     (license lgpl2.1)))
 | |
| 
 | |
| (define-public ghc-zlib
 | |
|   (package
 | |
|     (name "ghc-zlib")
 | |
|     (version "0.5.4.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/zlib/zlib-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs `(("zlib" ,zlib)))
 | |
|     (home-page "http://hackage.haskell.org/package/zlib")
 | |
|     (synopsis
 | |
|      "Compression and decompression in the gzip and zlib formats")
 | |
|     (description
 | |
|      "This package provides a pure interface for compressing and decompressing
 | |
| streams of data represented as lazy 'ByteString's.  It uses the zlib C library
 | |
| so it has high performance.  It supports the 'zlib', 'gzip' and 'raw'
 | |
| compression formats.  It provides a convenient high level API suitable for
 | |
| most tasks and for the few cases where more control is needed it provides
 | |
| access to the full zlib feature set.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-stm
 | |
|   (package
 | |
|     (name "ghc-stm")
 | |
|     (version "2.4.4")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/stm/stm-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0gc8zvdijp3rwmidkpxv76b4i0dc8dw6nbd92rxl4vxl0655iysx"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/stm")
 | |
|     (synopsis "Software Transactional Memory")
 | |
|     (description
 | |
|      "A modular composable concurrency abstraction.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-parallel
 | |
|   (package
 | |
|     (name "ghc-parallel")
 | |
|     (version "3.2.0.6")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/parallel/parallel-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0hp6vf4zxsw6vz6lj505xihmnfhgjp39c9q7nyzlgcmps3xx6a5r"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/parallel")
 | |
|     (synopsis "Parallel programming library")
 | |
|     (description
 | |
|      "This package provides a library for parallel programming.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-text
 | |
|   (package
 | |
|     (name "ghc-text")
 | |
|     (version "1.2.0.4")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/text/text-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "004p1c74crs8wmjafwsmw3mmycspq1j8fpm1lvfpq6acha7bnpc6"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page "https://github.com/bos/text")
 | |
|     (synopsis "Efficient packed Unicode text type library")
 | |
|     (description
 | |
|      "An efficient packed, immutable Unicode text type (both strict and
 | |
| lazy), with a powerful loop fusion optimization framework.
 | |
| 
 | |
| The 'Text' type represents Unicode character strings, in a time and
 | |
| space-efficient manner.  This package provides text processing
 | |
| capabilities that are optimized for performance critical use, both
 | |
| in terms of large data quantities and high speed.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-hashable
 | |
|   (package
 | |
|     (name "ghc-hashable")
 | |
|     (version "1.2.3.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/hashable/hashable-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0h9295pv2sgbaqlwpwbx2bap6nngm0jcdhkqham1wpjwyxqgqrlc"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     ;; these inputs are necessary to use this library
 | |
|     (propagated-inputs
 | |
|      `(("ghc-text" ,ghc-text)))
 | |
|     (home-page "http://github.com/tibbe/hashable")
 | |
|     (synopsis
 | |
|      "Class for types that can be converted to a hash value")
 | |
|     (description
 | |
|      "This package defines a class, 'Hashable', for types that can be
 | |
| converted to a hash value.  This class exists for the benefit of hashing-based
 | |
| data structures.  The package provides instances for basic types and a way to
 | |
| combine hash values.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-hunit
 | |
|   (package
 | |
|     (name "ghc-hunit")
 | |
|     (version "1.2.5.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/HUnit/HUnit-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0hcs6qh8bqhip1kkjjnw7ccgcsmawdz5yvffjj5y8zd2vcsavx8a"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hunit.sourceforge.net/")
 | |
|     (synopsis "Unit testing framework for Haskell")
 | |
|     (description
 | |
|      "HUnit is a unit testing framework for Haskell, inspired by the
 | |
| JUnit tool for Java.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-random
 | |
|   (package
 | |
|     (name "ghc-random")
 | |
|     (version "1.1")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/random/random-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page "http://hackage.haskell.org/package/random")
 | |
|     (synopsis "Random number library")
 | |
|     (description "This package provides a basic random number generation
 | |
| library, including the ability to split random number generators.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-primitive
 | |
|   (package
 | |
|     (name "ghc-primitive")
 | |
|     (version "0.5.4.0")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/primitive/primitive-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (home-page
 | |
|      "https://github.com/haskell/primitive")
 | |
|     (synopsis "Primitive memory-related operations")
 | |
|     (description
 | |
|      "This package provides various primitive memory-related operations.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-tf-random
 | |
|   (package
 | |
|     (name "ghc-tf-random")
 | |
|     (version "0.5")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/tf-random/tf-random-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
 | |
|     (build-system haskell-build-system)
 | |
|     ;; these inputs are necessary to use this package
 | |
|     (propagated-inputs
 | |
|      `(("ghc-primitive" ,ghc-primitive)
 | |
|        ("ghc-random" ,ghc-random)))
 | |
|     (home-page "http://hackage.haskell.org/package/tf-random")
 | |
|     (synopsis "High-quality splittable pseudorandom number generator")
 | |
|     (description "This package contains an implementation of a high-quality
 | |
| splittable pseudorandom number generator.  The generator is based on a
 | |
| cryptographic hash function built on top of the ThreeFish block cipher.  See
 | |
| the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
 | |
| Hashing\" by Claessen, Pałka for details and the rationale of the design.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-quickcheck
 | |
|   (package
 | |
|     (name "ghc-quickcheck")
 | |
|     (version "2.8")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/QuickCheck/QuickCheck-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "04xs6mq22bcnkpi616qrbm7jlivh9csnhmvjgp1ifq52an1wr4rx"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (arguments
 | |
|      `(#:tests? #f  ; FIXME: currently missing libraries used for tests.
 | |
|        #:configure-flags '("-f base4")))
 | |
|     ;; these inputs are necessary to use this package
 | |
|     (propagated-inputs
 | |
|      `(("ghc-tf-random" ,ghc-tf-random)))
 | |
|     (home-page
 | |
|      "https://github.com/nick8325/quickcheck")
 | |
|     (synopsis
 | |
|      "Automatic testing of Haskell programs")
 | |
|     (description
 | |
|      "QuickCheck is a library for random testing of program properties.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-case-insensitive
 | |
|   (package
 | |
|     (name "ghc-case-insensitive")
 | |
|     (version "1.2.0.4")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/case-insensitive/case-insensitive-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)))
 | |
|     ;; these inputs are necessary to use this library
 | |
|     (propagated-inputs
 | |
|      `(("ghc-text" ,ghc-text)
 | |
|        ("ghc-hashable" ,ghc-hashable)))
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page
 | |
|      "https://github.com/basvandijk/case-insensitive")
 | |
|     (synopsis "Case insensitive string comparison")
 | |
|     (description
 | |
|      "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
 | |
| which can be parameterised by a string-like type like: 'String', 'ByteString',
 | |
| 'Text', etc..  Comparisons of values of the resulting type will be insensitive
 | |
| to cases.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-syb
 | |
|   (package
 | |
|     (name "ghc-syb")
 | |
|     (version "0.4.4")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/syb/syb-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)
 | |
|        ("ghc-mtl" ,ghc-mtl)))
 | |
|     (home-page
 | |
|      "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
 | |
|     (synopsis "Scrap Your Boilerplate")
 | |
|     (description
 | |
|      "This package contains the generics system described in the
 | |
| /Scrap Your Boilerplate/ papers (see
 | |
| <http://www.cs.uu.nl/wiki/GenericProgramming/SYB>).
 | |
| It defines the 'Data' class of types permitting folding and unfolding
 | |
| of constructor applications, instances of this class for primitive
 | |
| types, and a variety of traversals.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-containers
 | |
|   (package
 | |
|     (name "ghc-containers")
 | |
|     (version "0.5.6.3")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/containers/containers-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "1kcd55nl0vzi99i8sr8fmc5j25fv7m0a9hd3nihnq1pd64pfciqn"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)
 | |
|        ("ghc-quickcheck" ,ghc-quickcheck)))
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page "http://hackage.haskell.org/package/containers")
 | |
|     (synopsis "Assorted concrete container types")
 | |
|     (description
 | |
|      "This package contains efficient general-purpose implementations of
 | |
| various basic immutable container types.  The declared cost of each operation
 | |
| is either worst-case or amortized, but remains valid even if structures are
 | |
| shared.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-fgl
 | |
|   (package
 | |
|     (name "ghc-fgl")
 | |
|     (version "5.5.1.0")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/fgl/fgl-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0rcmz0xlyr1wj490ffja29z1jgl51gz19ka609da6bx39bwx7nga"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs `(("ghc-mtl" ,ghc-mtl)))
 | |
|     (home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell")
 | |
|     (synopsis
 | |
|      "Martin Erwig's Functional Graph Library")
 | |
|     (description "The functional graph library, FGL, is a collection of type
 | |
| and function definitions to address graph problems.  The basis of the library
 | |
| is an inductive definition of graphs in the style of algebraic data types that
 | |
| encourages inductive, recursive definitions of graph algorithms.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-unordered-containers
 | |
|   (package
 | |
|     (name "ghc-unordered-containers")
 | |
|     (version "0.2.5.1")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/unordered-containers/unordered-containers-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)
 | |
|        ("ghc-quickcheck" ,ghc-quickcheck)))
 | |
|     ;; these inputs are necessary to use this library
 | |
|     (propagated-inputs `(("ghc-hashable" ,ghc-hashable)))
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page
 | |
|      "https://github.com/tibbe/unordered-containers")
 | |
|     (synopsis
 | |
|      "Efficient hashing-based container types")
 | |
|     (description
 | |
|      "Efficient hashing-based container types.  The containers have been
 | |
| optimized for performance critical use, both in terms of large data quantities
 | |
| and high speed.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-split
 | |
|   (package
 | |
|     (name "ghc-split")
 | |
|     (version "0.2.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/split/split-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-quickcheck" ,ghc-quickcheck)))
 | |
|     (home-page "http://hackage.haskell.org/package/split")
 | |
|     (synopsis
 | |
|      "Combinator library for splitting lists")
 | |
|     (description "A collection of various methods for splitting lists into
 | |
| parts, akin to the 'split' function found in several mainstream languages.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-parsec
 | |
|   (package
 | |
|     (name "ghc-parsec")
 | |
|     (version "3.1.9")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/parsec/parsec-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32 "1ja20cmj6v336jy87c6h3jzjp00sdbakwbdwp11iln499k913xvi"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)))
 | |
|     ;; these inputs are necessary to use this library
 | |
|     (propagated-inputs
 | |
|      `(("ghc-text" ,ghc-text)
 | |
|        ("ghc-mtl" ,ghc-mtl)))
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page
 | |
|      "https://github.com/aslatter/parsec")
 | |
|     (synopsis "Monadic parser combinators")
 | |
|     (description "Parsec is a parser library.  It is simple, safe, well
 | |
| documented, has extensive libraries, good error messages, and is fast.  It is
 | |
| defined as a monad transformer that can be stacked on arbitrary monads, and it
 | |
| is also parametric in the input stream type.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-vector
 | |
|   (package
 | |
|     (name "ghc-vector")
 | |
|     (version "0.10.12.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/vector/vector-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-quickcheck" ,ghc-quickcheck)))
 | |
|     ;; these inputs are necessary to use this library
 | |
|     (propagated-inputs
 | |
|      `(("ghc-primitive" ,ghc-primitive)))
 | |
|     (arguments
 | |
|      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page "https://github.com/haskell/vector")
 | |
|     (synopsis "Efficient Arrays")
 | |
|     (description "An efficient implementation of Int-indexed arrays (both
 | |
| mutable and immutable), with a powerful loop optimisation framework.")
 | |
|   (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-network
 | |
|   (package
 | |
|     (name "ghc-network")
 | |
|     (version "2.6.0.2")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/network/network-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)))
 | |
|     (arguments
 | |
|      `(#:tests? #f  ; FIXME: currently missing libraries used for tests.
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-before 'configure 'set-sh
 | |
|                      (lambda _ (setenv "CONFIG_SHELL" "sh"))))))
 | |
|     (home-page "https://github.com/haskell/network")
 | |
|     (synopsis "Low-level networking interface")
 | |
|     (description
 | |
|      "This package provides a low-level networking interface.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-network-uri
 | |
|   (package
 | |
|     (name "ghc-network-uri")
 | |
|     (version "2.6.0.1")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/network-uri/network-uri-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)
 | |
|        ("ghc-network" ,ghc-network)))
 | |
|     (arguments
 | |
|      `(#:tests? #f))  ; FIXME: currently missing libraries used for tests.
 | |
|     (propagated-inputs
 | |
|      `(("ghc-parsec" ,ghc-parsec)))
 | |
|     (home-page
 | |
|      "https://github.com/haskell/network-uri")
 | |
|     (synopsis "Library for URI manipulation")
 | |
|     (description "This package provides an URI manipulation interface.  In
 | |
| 'network-2.6' the 'Network.URI' module was split off from the 'network'
 | |
| package into this package.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| (define-public ghc-http
 | |
|   (package
 | |
|     (name "ghc-http")
 | |
|     (version "4000.2.19")
 | |
|     (outputs '("out" "doc"))
 | |
|     (source
 | |
|      (origin
 | |
|        (method url-fetch)
 | |
|        (uri (string-append
 | |
|              "http://hackage.haskell.org/package/HTTP/HTTP-"
 | |
|              version
 | |
|              ".tar.gz"))
 | |
|        (sha256
 | |
|         (base32
 | |
|          "1yzm8gimh8g0wwbixcbxg60v4l3vgi63w9v55ms0x9qnm6vrgysz"))))
 | |
|     (build-system haskell-build-system)
 | |
|     (inputs
 | |
|      `(("ghc-hunit" ,ghc-hunit)))
 | |
|     (propagated-inputs
 | |
|      `(("ghc-parsec" ,ghc-parsec)
 | |
|        ("ghc-mtl" ,ghc-mtl)
 | |
|        ("ghc-network" ,ghc-network)
 | |
|        ("ghc-network-uri" ,ghc-network-uri)))
 | |
|     (arguments
 | |
|      `(#:tests? #f))  ; FIXME: currently missing libraries used for tests.
 | |
|     (home-page "https://github.com/haskell/HTTP")
 | |
|     (synopsis "Library for client-side HTTP")
 | |
|     (description
 | |
|      "The HTTP package supports client-side web programming in Haskell.  It
 | |
| lets you set up HTTP connections, transmitting requests and processing the
 | |
| responses coming back.")
 | |
|     (license bsd-3)))
 | |
| 
 | |
| ;;; haskell.scm ends here
 |