From b20d603e09c271470a4066f84456a71f2d10d7a0 Mon Sep 17 00:00:00 2001 From: Ilya Tumaykin Date: Thu, 14 Jan 2016 14:35:53 +0300 Subject: x11-wm/awesome: revbump to 3.5.6-r2 wrt bug 571544 Backport upstream fix for focus problems with multiple running awesome instances. Add epatch_user support. Gentoo-Bug: 571544 Package-Manager: portage-2.2.26 --- x11-wm/awesome/awesome-3.5.6-r2.ebuild | 139 +++++++++++++++++++++ .../awesome-3.5.6-fix-multi-instances-focus.patch | 29 +++++ 2 files changed, 168 insertions(+) create mode 100644 x11-wm/awesome/awesome-3.5.6-r2.ebuild create mode 100644 x11-wm/awesome/files/awesome-3.5.6-fix-multi-instances-focus.patch (limited to 'x11-wm') diff --git a/x11-wm/awesome/awesome-3.5.6-r2.ebuild b/x11-wm/awesome/awesome-3.5.6-r2.ebuild new file mode 100644 index 000000000000..4b09e3c885e3 --- /dev/null +++ b/x11-wm/awesome/awesome-3.5.6-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +CMAKE_MIN_VERSION="2.8" +inherit cmake-utils eutils + +DESCRIPTION="A dynamic floating and tiling window manager" +HOMEPAGE="http://awesome.naquadah.org/" +SRC_URI="http://awesome.naquadah.org/download/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd" +IUSE="dbus doc elibc_FreeBSD gnome" + +COMMON_DEPEND=" + >=dev-lang/lua-5.1:0 + dev-libs/glib:2 + >=dev-libs/libxdg-basedir-1 + >=dev-lua/lgi-0.7 + x11-libs/cairo[xcb] + x11-libs/gdk-pixbuf:2 + >=x11-libs/libxcb-1.6 + >=x11-libs/pango-1.19.3[introspection] + >=x11-libs/startup-notification-0.10_p20110426 + >=x11-libs/xcb-util-0.3.8 + x11-libs/xcb-util-cursor + x11-libs/libXcursor + >=x11-libs/libX11-1.3.99.901 + dbus? ( >=sys-apps/dbus-1 ) + elibc_FreeBSD? ( dev-libs/libexecinfo )" + +# graphicsmagick's 'convert -channel' has no Alpha support, bug #352282 +DEPEND="${COMMON_DEPEND} + >=app-text/asciidoc-8.4.5 + app-text/xmlto + dev-util/gperf + virtual/pkgconfig + media-gfx/imagemagick[png] + >=x11-proto/xcb-proto-1.5 + >=x11-proto/xproto-7.0.15 + doc? ( + app-doc/doxygen + media-gfx/graphviz + )" + +RDEPEND="${COMMON_DEPEND}" + +DOCS="AUTHORS BUGS PATCHES README STYLE" + +src_prepare() { + # bug #408025 + epatch "${FILESDIR}/${PN}-3.5_rc1-convert-path.patch" + epatch "${FILESDIR}/${PN}-xsession.patch" + + # bug #507604 + epatch "${FILESDIR}/${PN}-3.5.5-util.lua-xdg-icons-fix.patch" + # bug #509658 + epatch "${FILESDIR}/${PN}-3.5.5-cflag-cleanup.patch" + + # bug #571544 + epatch "${FILESDIR}/${P}-fix-multi-instances-focus.patch" + + epatch_user +} + +src_configure() { + mycmakeargs=( + -DPREFIX="${EPREFIX}"/usr + -DSYSCONFDIR="${EPREFIX}"/etc + $(cmake-utils_use_with dbus DBUS) + $(cmake-utils_use doc GENERATE_DOC) + ) + + cmake-utils_src_configure +} + +src_compile() { + local myargs="all" + + if use doc ; then + myargs="${myargs} doc" + fi + cmake-utils_src_make ${myargs} +} + +src_install() { + cmake-utils_src_install + + if use doc ; then + ( + cd "${CMAKE_BUILD_DIR}"/doc + mv html doxygen + dohtml -r doxygen || die + ) + fi + rm -rf "${ED}"/usr/share/doc/${PN} || die "Cleanup of dupe docs failed" + + exeinto /etc/X11/Sessions + newexe "${FILESDIR}"/${PN}-session ${PN} || die + + # GNOME-based awesome + if use gnome ; then + # GNOME session + insinto /usr/share/gnome-session/sessions + newins "${FILESDIR}/${PN}-gnome-3.session" "${PN}-gnome.session" || die + # Application launcher + domenu "${FILESDIR}/${PN}-gnome.desktop" || die + # X Session + insinto /usr/share/xsessions/ + doins "${FILESDIR}/${PN}-gnome-xsession.desktop" || die + fi +} + +pkg_postinst() { + # bug #447308 + if use gnome; then + elog + elog "You have enabled the gnome USE flag." + elog "Please note that quitting awesome won't kill your gnome session." + elog "To really quit the session, you should bind your quit key" + elog "to the following command:" + elog " gnome-session-quit --logout" + elog "For more info visit" + elog " https://bugs.gentoo.org/show_bug.cgi?id=447308" + fi + + # bug #440724 + elog + elog "If you are having issues with Java application windows being" + elog "completely blank, try installing" + elog " x11-misc/wmname" + elog "and setting the WM name to LG3D." + elog "For more info visit" + elog " https://bugs.gentoo.org/show_bug.cgi?id=440724" + elog +} diff --git a/x11-wm/awesome/files/awesome-3.5.6-fix-multi-instances-focus.patch b/x11-wm/awesome/files/awesome-3.5.6-fix-multi-instances-focus.patch new file mode 100644 index 000000000000..da306d1fe493 --- /dev/null +++ b/x11-wm/awesome/files/awesome-3.5.6-fix-multi-instances-focus.patch @@ -0,0 +1,29 @@ +commit 1c27a69131428e9e733374c2a3676ca4ecee45d2 +Author: Kimball Thurston +Date: Tue Dec 22 21:46:17 2015 -0800 + + Fix focus handling with multiple awesome instances + + When there are multiple X11 screens (i.e. :0.0 and :0.1) for zaphod mode + style X setups, this triggers a refresh of focus when the instance + running on a particular root receives the mouse + + Fixes https://github.com/awesomeWM/awesome/issues/599. + +diff --git a/event.c b/event.c +index db70e2c..80d6bd6 100644 +--- a/event.c ++++ b/event.c +@@ -554,6 +554,12 @@ event_handle_enternotify(xcb_enter_notify_event_t *ev) + } + lua_pop(globalconf.L, 1); + } ++ else if (ev->event == globalconf.screen->root) { ++ /* When there are multiple X screens with awesome running separate ++ * instances, reset focus. ++ */ ++ globalconf.focus.need_update = true; ++ } + } + + /** The focus in event handler. -- cgit v1.2.3-18-g5258