guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/05: gnu: Add xmonad-next and ghc-xmonad-contrib-next.


From: guix-commits
Subject: 05/05: gnu: Add xmonad-next and ghc-xmonad-contrib-next.
Date: Mon, 17 Jan 2022 14:30:06 -0500 (EST)

lbraun pushed a commit to branch master
in repository guix.

commit 5387a9c00ef2f972c32ab4430a3f1879131b1652
Author: John Kehayias <john.kehayias@protonmail.com>
AuthorDate: Mon Jan 10 01:54:25 2022 +0000

    gnu: Add xmonad-next and ghc-xmonad-contrib-next.
    
    Fixes: <https://issues.guix.gnu.org/issue/52784>.
    
    * gnu/packages/wm.scm (xmonad-next): New variable. Compared to xmonad: 
Update
    to 0.17.0.
    [inputs]: Add GHC-DATA-DEFAULT-CLASS, remove GHC-EXTENSIBLE-EXCEPTIONS,
    GHC-DATA-DEFAULT, GHC-SEMIGROUPS, and GHC-UTF8-STRING.
    [native-inputs]: Add GHC-QUICKCHECK and GHC-QUICKCHECK-CLASSES.
    (ghc-xmonad-contrib-next): New variable. Compared to ghc-xmonad-contrib:
    Update to 0.17.0.
    [propagated-inputs]: Remove GHC-OLD-TIME, GHC-EXTENSIBLE-EXCEPTIONS,
    GHC-SEMIGROUPS.
    [native-inputs]: Add GHC-QUICKCHECK and GHC-HSPEC.
    (xmonad): Inherit from xmonad-next.
    (ghc-xmonad-contrib): Inherit from ghc-xmonad-contrib-next.
    * gnu/packages/patches/xmonad-next-dynamic-linking.patch: New patch. Update 
of
    xmonad-dynamic-linking.patch to apply to xmonad-next.
    * gnu/local.mk: Add it.
    
    Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
---
 gnu/local.mk                                       |  1 +
 .../patches/xmonad-next-dynamic-linking.patch      | 16 ++++
 gnu/packages/wm.scm                                | 87 +++++++++++++++-------
 3 files changed, 79 insertions(+), 25 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index a8f5c8afa1..eac8652056 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1969,6 +1969,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/xfce4-settings-defaults.patch           \
   %D%/packages/patches/xgboost-use-system-dmlc-core.patch       \
   %D%/packages/patches/xmonad-dynamic-linking.patch            \
+  %D%/packages/patches/xmonad-next-dynamic-linking.patch       \
   %D%/packages/patches/xnnpack-system-libraries.patch          \
   %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch           \
   %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch        
\
diff --git a/gnu/packages/patches/xmonad-next-dynamic-linking.patch 
b/gnu/packages/patches/xmonad-next-dynamic-linking.patch
new file mode 100644
index 0000000000..a1d71825b6
--- /dev/null
+++ b/gnu/packages/patches/xmonad-next-dynamic-linking.patch
@@ -0,0 +1,16 @@
+This patch is required for xmonad to make use of shared libraries.
+Without it, xmonad will not work since we do not (by default) use
+statically linked Haskell libraries.
+
+index 46a0939..5ad4f8f 100644
+--- a/src/XMonad/Core.hs
++++ b/src/XMonad/Core.hs
+@@ -664,6 +664,8 @@ compile dirs method =
+   where
+     ghcArgs = [ "--make"
+               , "xmonad.hs"
++              , "-dynamic"
++              , "-fPIC"
+               , "-i" -- only look in @lib@
+               , "-ilib"
+               , "-fforce-recomp"
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index eb015bd191..67e113aaa2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -48,6 +48,7 @@
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -736,10 +737,10 @@ This screen locker can be used with any window manager or
 desktop environment.")
     (license license:expat)))
 
-(define-public xmonad
+(define-public xmonad-next
   (package
-    (name "xmonad")
-    (version "0.15")
+    (name "xmonad-next")
+    (version "0.17.0")
     (synopsis "Tiling window manager")
     (source (origin
               (method url-fetch)
@@ -747,21 +748,13 @@ desktop environment.")
                                   "xmonad-" version ".tar.gz"))
               (sha256
                (base32
-                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))
-              (patches (search-patches "xmonad-dynamic-linking.patch"))))
+                "04qspdz9w6xpw1npcmx2zx0595wc68q985pv4i0hvp32zillvdqy"))
+              (patches (search-patches "xmonad-next-dynamic-linking.patch"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-extensible-exceptions
-           ghc-data-default
-           ghc-quickcheck
-           ghc-semigroups
-           ghc-setlocale
-           ghc-utf8-string
-           ghc-x11))
+    (inputs (list ghc-data-default-class ghc-setlocale ghc-x11))
+    (native-inputs (list ghc-quickcheck ghc-quickcheck-classes))
     (arguments
-     `(#:cabal-revision
-       ("1" "0yqh96qqphllr0zyz5j93cij5w2qvf39xxnrb52pz0qz3pywz9wd")
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after
           'install 'install-xsession
@@ -789,6 +782,33 @@ used on each workspace.  Xinerama is fully supported, 
allowing windows to be
 tiled on several screens.")
     (license license:bsd-3)))
 
+(define-public xmonad
+  (package
+    (inherit xmonad-next)
+    (name "xmonad")
+    (version "0.15")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://hackage/package/xmonad/"
+                                  "xmonad-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))
+              (patches (search-patches "xmonad-dynamic-linking.patch"))))
+    (inputs
+     (list ghc-extensible-exceptions
+           ghc-data-default
+           ghc-quickcheck
+           ghc-semigroups
+           ghc-setlocale
+           ghc-utf8-string
+           ghc-x11))
+    (native-inputs '())
+    (arguments
+     `(#:cabal-revision
+       ("1" "0yqh96qqphllr0zyz5j93cij5w2qvf39xxnrb52pz0qz3pywz9wd")
+       ,@(package-arguments xmonad-next)))))
+
 (define-public xmobar
   (package
     (name "xmobar")
@@ -862,8 +882,30 @@ Unlike dmenu, it mangles the input before it presents its 
choices.  In
 particular, it displays commonly-chosen options before uncommon ones.")
     (license license:bsd-3)))
 
+(define-public ghc-xmonad-contrib-next
+  (package
+    (name "ghc-xmonad-contrib-next")
+    (version "0.17.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://hackage/package/xmonad-contrib/"
+                           "xmonad-contrib-" version ".tar.gz"))
+       (sha256
+        (base32 "11g1cyfgfvcmz35qhgi9wzxrk3br8m8b7qy3jvph4nnf6aj13wvy"))))
+    (build-system haskell-build-system)
+    (propagated-inputs (list ghc-random ghc-x11 ghc-utf8-string ghc-x11-xft 
xmonad-next))
+    (native-inputs (list ghc-quickcheck ghc-hspec))
+    (home-page "https://xmonad.org";)
+    (synopsis "Third party extensions for xmonad")
+    (description
+     "Third party tiling algorithms, configurations, and scripts to Xmonad, a
+tiling window manager for X.")
+    (license license:bsd-3)))
+
 (define-public ghc-xmonad-contrib
   (package
+    (inherit ghc-xmonad-contrib-next)
     (name "ghc-xmonad-contrib")
     (version "0.16")
     (source
@@ -873,10 +915,11 @@ particular, it displays commonly-chosen options before 
uncommon ones.")
                            "xmonad-contrib-" version ".tar.gz"))
        (sha256
         (base32 "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd"))))
-    (build-system haskell-build-system)
     (arguments
      `(#:cabal-revision
-       ("1" "0vimkby2gq6sgzxzbvz67caba609xqlv2ii2gi8a1cjrnn6ib011")))
+       ("1" "0vimkby2gq6sgzxzbvz67caba609xqlv2ii2gi8a1cjrnn6ib011")
+       ,@(package-arguments ghc-xmonad-contrib-next)))
+    (native-inputs '())
     (propagated-inputs
      (list ghc-old-time
            ghc-random
@@ -885,13 +928,7 @@ particular, it displays commonly-chosen options before 
uncommon ones.")
            ghc-semigroups
            ghc-x11
            ghc-x11-xft
-           xmonad))
-    (home-page "https://xmonad.org";)
-    (synopsis "Third party extensions for xmonad")
-    (description
-     "Third party tiling algorithms, configurations, and scripts to Xmonad, a
-tiling window manager for X.")
-    (license license:bsd-3)))
+           xmonad))))
 
 (define-public evilwm
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]