summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-07-24 01:50:44 +0100
committerSam James <sam@gentoo.org>2022-07-24 01:59:33 +0100
commit77d26a1adc79d30f8c0b634d7e3bcb77489d5678 (patch)
tree792cf43f230eff7ee681857e89d627b54457ad78 /x11-wm
parentdev-haskell/haddock: keyword 2.25.1 for ~ppc64 (diff)
downloadgentoo-77d26a1adc79d30f8c0b634d7e3bcb77489d5678.tar.gz
gentoo-77d26a1adc79d30f8c0b634d7e3bcb77489d5678.tar.bz2
gentoo-77d26a1adc79d30f8c0b634d7e3bcb77489d5678.zip
x11-wm/xmonad: add 0.17.0 (sync w/ ::haskell)
Bug: https://bugs.gentoo.org/821148 Closes: https://github.com/gentoo/gentoo/pull/23597 Closes: https://bugs.gentoo.org/821145 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/xmonad/Manifest1
-rw-r--r--x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch40
-rw-r--r--x11-wm/xmonad/metadata.xml11
-rw-r--r--x11-wm/xmonad/xmonad-0.17.0.ebuild83
4 files changed, 124 insertions, 11 deletions
diff --git a/x11-wm/xmonad/Manifest b/x11-wm/xmonad/Manifest
index de7acaf13f0b..9f82b629abe1 100644
--- a/x11-wm/xmonad/Manifest
+++ b/x11-wm/xmonad/Manifest
@@ -1,2 +1,3 @@
DIST xmonad-0.15.tar.gz 68822 BLAKE2B 9ee9a070f6743fbab2cffe05ee9e60b64fded0b4916fdec03a550f5d5ec5a34102ab2d4e9586b9a0ca534db284a8058f11ee248072f3f3b312ae30c09873feff SHA512 f881f3faa4f5a0de7a5a37118cd7041083ae3a7569c7094b55dedb9aa858176789aff459d426b237ebae5cc4598b06de790938775a7ac968c2d76be3f0efc8ba
+DIST xmonad-0.17.0.tar.gz 93489 BLAKE2B 6990bc408194c99378f949b28f2115b7096e6474b5305f935be2c8af1eba4bff3e3c05477af9f833d1b52422e4fb95f857398b05f7f1081e3a2cc5dd8c50fc3a SHA512 1ec46ee61f4bf1879ea638e9be83378273050670ed2ee0f00e7d43b188cc29a874aa5b40076162a1ef0038802cc43f675773951f9b7d1f26329f9d105c28b3f7
DIST xmonad-259.patch 1452 BLAKE2B 869d11ae762c43b9e749169d6b691fdee52e9fc17848fc4ee494e075501528d4c0c040deea617f8fbeab003dd7bc277254498b0089b60f8e6e47b6b96430eb69 SHA512 9edb155a74d170e612cd84aad4fb004176fe5e5fc7017f1985aa2b4628b2cc995b157ba42ab6f7b546d5e3467358292234b3926254e1e831cc7ef38844e14c6d
diff --git a/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch b/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch
new file mode 100644
index 000000000000..79bd2c2d21fa
--- /dev/null
+++ b/x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch
@@ -0,0 +1,40 @@
+--- xmonad/src/XMonad/Core.hs 2010-09-05 05:11:42.000000000 +0400
++++ xmonad/src/XMonad/Core.hs 2010-09-18 07:59:14.000000000 +0400
+@@ -65,6 +65,7 @@
+ , waitingUnmap :: !(M.Map Window Int) -- ^ the number of expected UnmapEvents
+ , dragging :: !(Maybe (Position -> Position -> X (), X ()))
+ , numberlockMask :: !KeyMask -- ^ The numlock modifier
++ , keyPressed :: !KeyCode -- ^ keycode of the key being pressed if any
+ , extensibleState :: !(M.Map String (Either String StateExtension))
+ -- ^ stores custom state information.
+ --
+--- xmonad/src/XMonad/Main.hs 2010-09-05 05:11:42.000000000 +0400
++++ xmonad/src/XMonad/Main.hs 2010-09-18 08:03:11.000000000 +0400
+@@ -129,6 +129,7 @@
+ , mapped = S.empty
+ , waitingUnmap = M.empty
+ , dragging = Nothing
++ , keyPressed = 0
+ , extensibleState = extState
+ }
+ allocaXEvent $ \e ->
+@@ -190,10 +191,15 @@
+ -- run window manager command
+ handle (KeyEvent {ev_event_type = t, ev_state = m, ev_keycode = code})
+ | t == keyPress = withDisplay $ \dpy -> do
+- s <- io $ keycodeToKeysym dpy code 0
+- mClean <- cleanMask m
+- ks <- asks keyActions
+- userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
++ kp <- gets keyPressed
++ if kp /= code then do
++ modify $ \s -> s { keyPressed = code }
++ s <- io $ keycodeToKeysym dpy code 0
++ mClean <- cleanMask m
++ ks <- asks keyActions
++ userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
++ else return ()
++ | t == keyRelease = modify $ \s -> s { keyPressed = 0 }
+
+ -- manage a new window
+ handle (MapRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
diff --git a/x11-wm/xmonad/metadata.xml b/x11-wm/xmonad/metadata.xml
index 7cabda6e3341..b0337e3fc024 100644
--- a/x11-wm/xmonad/metadata.xml
+++ b/x11-wm/xmonad/metadata.xml
@@ -8,15 +8,4 @@
<use>
<flag name="no-autorepeat-keys">Allow ignoring of keyboard autorepeat.</flag>
</use>
- <longdescription>
- 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.
- </longdescription>
</pkgmetadata>
diff --git a/x11-wm/xmonad/xmonad-0.17.0.ebuild b/x11-wm/xmonad/xmonad-0.17.0.ebuild
new file mode 100644
index 000000000000..5f05d98685d2
--- /dev/null
+++ b/x11-wm/xmonad/xmonad-0.17.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# ebuild generated by hackport 0.7.9999
+#hackport: flags: -pedantic,quickcheck-classes:test
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal ghc-package
+
+DESCRIPTION="A tiling window manager"
+HOMEPAGE="https://xmonad.org"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="no-autorepeat-keys"
+
+RDEPEND="dev-haskell/data-default-class:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ dev-haskell/setlocale:=[profile?]
+ >=dev-haskell/x11-1.10:=[profile?] <dev-haskell/x11-1.11:=[profile?]
+ >=dev-lang/ghc-8.4.3:=
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-2.2.0.1
+ test? ( >=dev-haskell/quickcheck-2
+ >=dev-haskell/quickcheck-classes-0.4.3 )
+"
+
+DOCS=( README.md CHANGES.md )
+HTML_DOCS=( man/${PN}.1.html )
+
+SAMPLE_CONFIG="${PN}.hs"
+
+src_prepare() {
+ default
+ use no-autorepeat-keys && eapply "${FILESDIR}"/${PN}-0.14-check-repeat.patch
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ --flag=-pedantic \
+ $(cabal_flag test quickcheck-classes)
+}
+
+src_install() {
+ default
+
+ cabal_src_install
+
+ echo -e "#!/bin/sh\n/usr/bin/${PN}" > "${T}/${PN}"
+ exeinto /etc/X11/Sessions
+ doexe "${T}/${PN}"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/${PN}.desktop"
+
+ insinto /usr/share/${PF}/ghc-$(ghc-version)/man
+ doins man/${SAMPLE_CONFIG}
+
+ doman man/${PN}.1
+}
+
+pkg_postinst() {
+ haskell-cabal_pkg_postinst
+
+ elog "A sample ${SAMPLE_CONFIG} configuration file can be found here:"
+ elog " /usr/share/${PF}/ghc-$(ghc-version)/man/${SAMPLE_CONFIG}"
+ elog "The parameters in this file are the defaults used by ${PN}."
+ elog "To customize ${PN}, copy this file to:"
+ elog " ~/.${PN}/${SAMPLE_CONFIG}"
+ elog "After editing, use 'mod-q' to dynamically restart ${PN} "
+ elog "(where the 'mod' key defaults to 'Alt')."
+ elog ""
+ elog "Read the README or man page for more information, and to see "
+ elog "other possible configurations go to:"
+ elog " http://haskell.org/haskellwiki/Xmonad/Config_archive"
+ elog "Please note that many of these configurations will require the "
+ elog "x11-wm/xmonad-contrib package to be installed."
+}