You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-wm/awesome/awesome-4.3-r101.ebuild

145 lines
3.9 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1..3} luajit )
inherit cmake desktop lua-single pax-utils
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/awesomeWM/${PN}.git"
else
SRC_URI="https://github.com/awesomeWM/awesome-releases/raw/master/${P}.tar.xz"
KEYWORDS="amd64 arm ppc ppc64 x86"
fi
DESCRIPTION="A dynamic floating and tiling window manager"
HOMEPAGE="https://awesomewm.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="dbus doc gnome test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="test" # https://bugs.gentoo.org/654084
RDEPEND="${LUA_DEPS}
dev-libs/glib:2
dev-libs/libxdg-basedir
$(lua_gen_cond_dep 'dev-lua/lgi[${LUA_USEDEP}]')
x11-libs/cairo[X,xcb(+)]
x11-libs/gdk-pixbuf:2
x11-libs/libxcb[xkb]
x11-libs/pango[introspection]
x11-libs/startup-notification
x11-libs/xcb-util
x11-libs/xcb-util-cursor
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-wm
x11-libs/xcb-util-xrm
x11-libs/libXcursor
x11-libs/libxkbcommon[X]
x11-libs/libX11
dbus? ( sys-apps/dbus )"
# ldoc is used by invoking its executable, hence no need for LUA_SINGLE_USEDEP.
# On the other hand, it means that we should explicitly depend on a version
# migrated to Lua eclasses so that during the upgrade from unslotted
# to slotted dev-lang/lua, the package manager knows to emerge migrated
# ldoc before migrated awesome.
DEPEND="${RDEPEND}
x11-base/xcb-proto
x11-base/xorg-proto
test? (
x11-base/xorg-server[xvfb]
$(lua_gen_cond_dep '
dev-lua/busted[${LUA_USEDEP}]
dev-lua/luacheck[${LUA_USEDEP}]
')
)"
# graphicsmagick's 'convert -channel' has no Alpha support, bug #352282
BDEPEND="app-text/asciidoc
media-gfx/imagemagick[png]
virtual/pkgconfig
doc? ( >=dev-lua/ldoc-1.4.6-r100 )
test? ( app-shells/zsh )"
# Skip installation of README.md by einstalldocs, which leads to broken symlink
DOCS=()
PATCHES=(
"${FILESDIR}"/${PN}-4.0-convert-path.patch # bug #408025
"${FILESDIR}"/${PN}-xsession.patch # bug #408025
"${FILESDIR}"/${PN}-4.0-cflag-cleanup.patch # bug #509658
"${FILESDIR}"/${PN}-4.3-fno-common.patch # bug #707262
)
src_configure() {
# Compression of manpages is handled by portage
local mycmakeargs=(
-DSYSCONFDIR="${EPREFIX}"/etc
-DCOMPRESS_MANPAGES=OFF
-DWITH_DBUS=$(usex dbus)
-DGENERATE_DOC=$(usex doc)
-DAWESOME_DOC_PATH="${EPREFIX}"/usr/share/doc/${PF}
-DLUA_INCLUDE_DIR="$(lua_get_include_dir)"
-DLUA_LIBRARY="$(lua_get_shared_lib)"
)
cmake_src_configure
}
src_test() {
# awesome's test suite starts Xvfb by itself, no need for virtualx eclass
HEADLESS=1 cmake_build check -j1
}
src_install() {
cmake_src_install
rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
pax-mark m "${ED}"/usr/bin/awesome
exeinto /etc/X11/Sessions
newexe "${FILESDIR}"/${PN}-session ${PN}
# GNOME-based awesome
if use gnome; then
# GNOME session
insinto /usr/share/gnome-session/sessions
newins "${FILESDIR}"/${PN}-gnome-3.session ${PN}-gnome.session
# Application launcher
domenu "${FILESDIR}"/${PN}-gnome.desktop
# X Session
insinto /usr/share/xsessions
doins "${FILESDIR}"/${PN}-gnome-xsession.desktop
fi
# This directory contains SVG images which we don't want to compress
use doc && docompress -x /usr/share/doc/${PF}/doc
}
pkg_postinst() {
# bug #447308
if use gnome; then
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 "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"
}