From 62cfaa7146783f51b891bdbddfad288d4b4f34ee Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 9 Jan 2022 20:43:56 -0500 Subject: [PATCH] gnu: Add xmonad-next and ghc-xmonad-contrib-next. * 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. * 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. --- gnu/local.mk | 1 + gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index ca95c9e488..73c9871366 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1960,6 +1960,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/wm.scm b/gnu/packages/wm.scm index bf24dfa0d9..02e6af6599 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2021 jgart ;;; Copyright © 2021 Disseminate Dissent +;;; Copyright © 2022 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -789,6 +790,51 @@ (define-public xmonad tiled on several screens.") (license license:bsd-3))) +(define-public xmonad-next + (package + (name "xmonad-next") + (version "0.17.0") + (synopsis "Tiling window manager") + (source (origin + (method url-fetch) + (uri (string-append "mirror://hackage/package/xmonad/" + "xmonad-" version ".tar.gz")) + (sha256 + (base32 + "04qspdz9w6xpw1npcmx2zx0595wc68q985pv4i0hvp32zillvdqy")) + (patches (search-patches "xmonad-next-dynamic-linking.patch")))) + (build-system haskell-build-system) + (inputs (list ghc-data-default-class ghc-setlocale ghc-x11)) + (native-inputs (list ghc-quickcheck ghc-quickcheck-classes)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after + 'install 'install-xsession + (lambda _ + (let* ((xsessions (string-append %output "/share/xsessions"))) + (mkdir-p xsessions) + (call-with-output-file + (string-append xsessions "/xmonad.desktop") + (lambda (port) + (format port "~ + [Desktop Entry]~@ + Name=~a~@ + Comment=~a~@ + Exec=~a/bin/xmonad~@ + Type=Application~%" ,name ,synopsis %output))))))))) + (home-page "https://xmonad.org") + (description + "Xmonad is a tiling window manager for X. Windows are arranged +automatically to tile the screen without gaps or overlap, maximising screen +use. All features of the window manager are accessible from the keyboard: a +mouse is strictly optional. Xmonad is written and extensible in Haskell. +Custom layout algorithms, and other extensions, may be written by the user in +config files. Layouts are applied dynamically, and different layouts may be +used on each workspace. Xinerama is fully supported, allowing windows to be +tiled on several screens.") + (license license:bsd-3))) + (define-public xmobar (package (name "xmobar") @@ -893,6 +939,27 @@ (define-public ghc-xmonad-contrib tiling window manager for X.") (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 evilwm (package (name "evilwm") -- 2.34.0