diff options
author | Sam James <sam@gentoo.org> | 2022-07-24 01:50:44 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-24 01:59:33 +0100 |
commit | 77d26a1adc79d30f8c0b634d7e3bcb77489d5678 (patch) | |
tree | 792cf43f230eff7ee681857e89d627b54457ad78 /x11-wm | |
parent | dev-haskell/haddock: keyword 2.25.1 for ~ppc64 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | x11-wm/xmonad/files/xmonad-0.12-check-repeat.patch | 40 | ||||
-rw-r--r-- | x11-wm/xmonad/metadata.xml | 11 | ||||
-rw-r--r-- | x11-wm/xmonad/xmonad-0.17.0.ebuild | 83 |
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." +} |