summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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/xmonad-0.12.ebuild86
3 files changed, 127 insertions, 0 deletions
diff --git a/x11-wm/xmonad/Manifest b/x11-wm/xmonad/Manifest
index e2d8ead4b4c7..b0d194639aff 100644
--- a/x11-wm/xmonad/Manifest
+++ b/x11-wm/xmonad/Manifest
@@ -1,2 +1,3 @@
DIST xmonad-0.11.1.tar.gz 59307 SHA256 39e0bf227df782d7a5799c811ad0d8b70c9d6eaaa94e8cc395fcf25895d6d2dd SHA512 4916451d81d359dbbf508f3b20f649f956255f526f14b1eb6c0d32bc789474db30d7acac768663ca32784c7fe361195a50f45a7cb7371ee9a29c9b8f1c64d528 WHIRLPOOL 5707bd5763f525b196deea6ead806af74707e2bbd31ff67039b292f3b97f607c2351ef45e57373f0f7313e5c307335cb5f4a84820d8e658b7d864927f109891c
DIST xmonad-0.11.tar.gz 59119 SHA256 e5bd36d5184facad66acf2688b02922bfc6de32b576758f4b00688253c425bdb SHA512 34740f032508584f34f6b138d21394eca17e8020bccc4d8c6e8b3cb6b7ca64b153077cfd16636a6130768ebd145fe993569f8a229862d7816d0c89c905ee08bc WHIRLPOOL 9bab495c4094f21427afa797f97b6af13d9c156484b33087b6378191b0d99255f070adc09df3da9eba3ff55a59a8f03830110a4ab2aa9ad9d93d2f1a35d5dc54
+DIST xmonad-0.12.tar.gz 61436 SHA256 e8f649dbd4a8d5f75fdac9ceb5ee38b64fd351910ade81c188f5dd7bc21dfdd7 SHA512 e519c038d90db037bc81e7baf7b07cfa53922509e98ffddacfc4a6cc2c7376383be1e721f613057a5febbfcc661807b6382124eb673ac7a7cda23c738d3539ab WHIRLPOOL f0d37d35a9730b68b38c46ec7694ccd922b2fab96b3e8d99d007ccb887a06b3f88e6f1ea818124d427378246caab1f7d3ec4338eab1007431cdf5a19fc1cc3b9
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/xmonad-0.12.ebuild b/x11-wm/xmonad/xmonad-0.12.ebuild
new file mode 100644
index 000000000000..305a0c7bf5e7
--- /dev/null
+++ b/x11-wm/xmonad/xmonad-0.12.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.6.9999
+#hackport: flags: -generatemanpage,-testing
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="A tiling window manager"
+HOMEPAGE="http://xmonad.org"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc64 ~sparc ~x86"
+IUSE="+default-term no-autorepeat-keys"
+
+RDEPEND="dev-haskell/data-default:=[profile?]
+ dev-haskell/extensible-exceptions:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ dev-haskell/setlocale:=[profile?]
+ >=dev-haskell/utf8-string-0.3:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/x11-1.5:=[profile?] <dev-haskell/x11-1.7:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ test? ( >=dev-haskell/quickcheck-2 )
+"
+PDEPEND="default-term? ( x11-terms/xterm )
+ x11-apps/xmessage
+"
+
+SAMPLE_CONFIG="xmonad.hs"
+SAMPLE_CONFIG_LOC="man"
+
+src_prepare() {
+ use no-autorepeat-keys && epatch "$FILESDIR"/${PN}-0.12-check-repeat.patch
+
+ # allow user patches
+ epatch_user
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ --flag=-generatemanpage \
+ --flag=-testing
+}
+
+src_install() {
+ cabal_src_install
+
+ echo -e "#!/bin/sh\n/usr/bin/xmonad" > "${T}/${PN}"
+ exeinto /etc/X11/Sessions
+ doexe "${T}/${PN}"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/${PN}.desktop"
+
+ doman man/xmonad.1
+ dohtml man/xmonad.1.html
+
+ dodoc CONFIG README.md CHANGES.md
+}
+
+pkg_postinst() {
+ haskell-cabal_pkg_postinst
+
+ elog "A sample ${SAMPLE_CONFIG} configuration file can be found here:"
+ elog " /usr/share/${PF}/ghc-$(ghc-version)/${SAMPLE_CONFIG_LOC}/${SAMPLE_CONFIG}"
+ elog "The parameters in this file are the defaults used by xmonad."
+ elog "To customize xmonad, copy this file to:"
+ elog " ~/.xmonad/${SAMPLE_CONFIG}"
+ elog "After editing, use 'mod-q' to dynamically restart xmonad "
+ 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."
+}