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>
This commit is contained in:
John Kehayias 2022-01-10 01:54:25 +00:00 committed by Lars-Dominik Braun
parent 723aa8b391
commit 5387a9c00e
No known key found for this signature in database
GPG key ID: F663943E08D8092A
3 changed files with 79 additions and 25 deletions

View file

@ -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 \

View file

@ -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"

View file

@ -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 @@ (define-public i3lock-fancy
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 @@ (define-public xmonad
"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 @@ (define-public xmonad
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 @@ (define-public yeganesh
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 @@ (define-public ghc-xmonad-contrib
"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 @@ (define-public ghc-xmonad-contrib
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