summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-06-15 09:46:12 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-06-15 09:46:12 +0200
commita60dbad3bc8211cdec2f623306fc2e02f1cc17a1 (patch)
treecc2ff982329c0713d69cb09c420ff6470c9cdc0b
parentc7fbf6186565ed24ebeee870b27a019a77525b5d (diff)
parented8d3f33a5236a1b9fde80bf4ad04e0ecc22a47a (diff)
downloadguix-a60dbad3bc8211cdec2f623306fc2e02f1cc17a1.tar.gz
Merge branch 'staging'
-rw-r--r--gnu/packages/haskell.scm42
-rw-r--r--guix/build/haskell-build-system.scm14
2 files changed, 13 insertions, 43 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 97b4fd9a55..cfbd3bfb76 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9703,16 +9703,6 @@ packages.")
         (base32
          "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'add-setup-script
-           (lambda _
-             ;; The usual "Setup.hs" script is missing from the source.
-             (with-output-to-file "Setup.hs"
-               (lambda ()
-                 (format #t "import Distribution.Simple~%")
-                 (format #t "main = defaultMain~%"))))))))
     (inputs `(("ghc-basement" ,ghc-basement)))
     (home-page "https://github.com/haskell-foundation/foundation")
     (synopsis "Alternative prelude with batteries and no dependencies")
@@ -10590,16 +10580,6 @@ widths to the Char type.")
         (base32
          "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'add-setup-script
-           (lambda _
-             ;; The usual "Setup.hs" script is missing from the source.
-             (with-output-to-file "Setup.hs"
-               (lambda ()
-                 (format #t "import Distribution.Simple~%")
-                 (format #t "main = defaultMain~%"))))))))
     (inputs
      `(("ghc-exceptions" ,ghc-exceptions)
        ("ghc-hashable" ,ghc-hashable)
@@ -11122,17 +11102,6 @@ DOS/Windows paths and markup languages (such as XML).")
         (base32
          "0vbfrsqsi7mdziqsnj68bsqlwbqxxhvrmy9rv6w8z18d1m8w3n6h"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'create-Setup.hs
-           (lambda _
-             (with-output-to-file "Setup.hs"
-               (lambda _
-                 (display "\
-import Distribution.Simple
-main = defaultMain")))
-             #t)))))
     (inputs
      `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
        ("ghc-cryptohash" ,ghc-cryptohash)
@@ -11266,17 +11235,6 @@ handling wrong.")
         (base32
          "1rk7fmpkmxw9hhwr8df29kadnf0ybnwj64ggdbnsdrpfyhnkisci"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'create-Setup.hs
-           (lambda _
-             (with-output-to-file "Setup.hs"
-               (lambda _
-                 (display "\
-import Distribution.Simple
-main = defaultMain")))
-             #t)))))
     (inputs
      `(("ghc-inline-c" ,ghc-inline-c)
        ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 23d97e6602..91f62138d0 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -260,7 +260,7 @@ given Haskell package."
   #t)
 
 (define* (haddock #:key outputs haddock? haddock-flags #:allow-other-keys)
-  "Run the test suite of a given Haskell package."
+  "Generate the Haddock documentation of a given Haskell package."
   (when haddock?
     (run-setuphs "haddock" haddock-flags))
   #t)
@@ -275,9 +275,21 @@ given Haskell package."
       (_ (error "Could not find a Cabal file to patch."))))
   #t)
 
+(define* (generate-setuphs #:rest empty)
+  "Generate a default Setup.hs if needed."
+  (when (not (or (file-exists? "Setup.hs")
+                 (file-exists? "Setup.lhs")))
+    (format #t "generating missing Setup.hs~%")
+    (with-output-to-file "Setup.hs"
+      (lambda ()
+        (format #t "import Distribution.Simple~%")
+        (format #t "main = defaultMain~%"))))
+  #t)
+
 (define %standard-phases
   (modify-phases gnu:%standard-phases
     (add-after 'unpack 'patch-cabal-file patch-cabal-file)
+    (add-after 'unpack 'generate-setuphs generate-setuphs)
     (delete 'bootstrap)
     (add-before 'configure 'setup-compiler setup-compiler)
     (add-before 'install 'haddock haddock)