Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / haskell.scm
index 8240b46..75bbb24 100644 (file)
        ;; 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
+
        #:modules ((guix build gnu-build-system)
                   (guix build utils)
                   (guix build rpath)
                   (srfi srfi-26)
                   (srfi srfi-1))
-       #:imported-modules ((guix build gnu-build-system)
-                           (guix build utils)
+       #:imported-modules (,@%gnu-build-system-modules
                            (guix build rpath))
        #:configure-flags
        (list
               (ghc-bootstrap-prefix
                (string-append ghc-bootstrap-path "/usr" )))
          (alist-cons-after
-          'unpack-bin 'unpack-and-fix-testsuite
+          'unpack-bin 'unpack-testsuite-and-fix-bins
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (with-directory-excursion ".."
               (copy-file (assoc-ref inputs "ghc-testsuite")
                       "testsuite/timeout/timeout.py"
                       "testsuite/timeout/timeout.hs"
                       "testsuite/tests/rename/prog006/Setup.lhs"
-                      "testsuite/tests/programs/life_space_leak/life.test")
+                      "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)
@@ -369,14 +375,13 @@ access to the full zlib feature set.")
     (arguments
      `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
     (home-page "https://github.com/bos/text")
-    (synopsis
-     "Efficient packed Unicode text type library.")
+    (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
+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)))
@@ -799,7 +804,7 @@ mutable and immutable), with a powerful loop optimisation framework.")
      `(#:tests? #f  ; FIXME: currently missing libraries used for tests.
        #:phases
        (modify-phases %standard-phases
-         (add-before configure set-sh
+         (add-before 'configure 'set-sh
                      (lambda _ (setenv "CONFIG_SHELL" "sh"))))))
     (home-page "https://github.com/haskell/network")
     (synopsis "Low-level networking interface")
@@ -838,4 +843,37 @@ mutable and immutable), with a powerful loop optimisation framework.")
 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