~ruther/guix-local

0105f33a4ddd7d3ef3d66bd16e16595dd500d404 — Marius Bakke 5 years ago 63162b1
gnu: ganeti: Adjust to GHC 8.10 / Stackage 18.10.

* gnu/packages/patches/ganeti-haskell-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/virtualization.scm (ganeti)[source](patches): Add it.
[arguments]: Add phase patch-version-constraints.
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1064,6 1064,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/fxdiv-system-libraries.patch		\
  %D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch	\
  %D%/packages/patches/ganeti-disable-version-symlinks.patch	\
  %D%/packages/patches/ganeti-haskell-compat.patch		\
  %D%/packages/patches/ganeti-haskell-pythondir.patch		\
  %D%/packages/patches/ganeti-preserve-PYTHONPATH.patch		\
  %D%/packages/patches/ganeti-shepherd-master-failover.patch	\

A gnu/packages/patches/ganeti-haskell-compat.patch => gnu/packages/patches/ganeti-haskell-compat.patch +18 -0
@@ 0,0 1,18 @@
Adjust to type change of TupE in Template Haskell 2.16.

diff --git a/src/Ganeti/THH/Types.hs b/src/Ganeti/THH/Types.hs
--- a/src/Ganeti/THH/Types.hs
+++ b/src/Ganeti/THH/Types.hs
@@ -123,4 +123,11 @@ curryN n = do
   f <- newName "f"
   ps <- replicateM n (newName "x")
   return $ LamE (VarP f : map VarP ps)
-             (AppE (VarE f) (TupE $ map VarE ps))
+             (AppE (VarE f) (nonUnaryTupE $ map VarE ps))
+  where
+    nonUnaryTupE :: [Exp] -> Exp
+    nonUnaryTupE es = TupE $
+#if MIN_VERSION_template_haskell(2,16,0)
+                            map Just
+#endif
+                            es

M gnu/packages/virtualization.scm => gnu/packages/virtualization.scm +9 -0
@@ 524,6 524,7 @@ firmware blobs.  You can
              (file-name (git-file-name name version))
              (patches (search-patches "ganeti-shepherd-support.patch"
                                       "ganeti-shepherd-master-failover.patch"
                                       "ganeti-haskell-compat.patch"
                                       "ganeti-haskell-pythondir.patch"
                                       "ganeti-disable-version-symlinks.patch"
                                       "ganeti-preserve-PYTHONPATH.patch"))))


@@ 573,6 574,14 @@ firmware blobs.  You can
                            ,(system->qemu-target (%current-system))))
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-version-constraints
           (lambda _
             ;; Loosen version constraints for compatibility with Stackage 18.10.
             (substitute* "cabal/ganeti.template.cabal"
               (("(.*base64-bytestring.*) < 1\\.1" _ match)
                (string-append match " < 1.2"))
               (("(.*QuickCheck.*) < 2\\.14" _ match)
                (string-append match " < 2.15")))))
         (add-after 'unpack 'create-vcs-version
           (lambda _
             ;; If we are building from a git checkout, we need to create a