mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-19 16:38:01 +00:00
159 lines
3.8 KiB
Bash
159 lines
3.8 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
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 ~riscv x86"
|
|
fi
|
|
|
|
DESCRIPTION="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}"
|
|
|
|
# Doesn't play nicely with the sandbox + requires an active D-BUS session
|
|
RESTRICT="test"
|
|
|
|
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[introspection]
|
|
x11-libs/libxcb:=
|
|
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/libxkbcommon[X]
|
|
x11-libs/libX11
|
|
dbus? ( sys-apps/dbus )
|
|
"
|
|
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="
|
|
media-gfx/imagemagick[png]
|
|
virtual/pkgconfig
|
|
doc? (
|
|
dev-lua/ldoc
|
|
dev-ruby/asciidoctor
|
|
)
|
|
test? (
|
|
app-shells/zsh
|
|
x11-apps/xeyes
|
|
)
|
|
"
|
|
|
|
# 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.3-cflag-cleanup.patch # bug #509658
|
|
"${FILESDIR}"/${PN}-4.3-fno-common.patch # bug #707262
|
|
"${FILESDIR}"/${PN}-4.3-fix_cmake4.patch # bug #953942
|
|
"${FILESDIR}"/${PN}-4.3-fix_target.patch # bug #962597
|
|
)
|
|
|
|
src_prepare() {
|
|
cmake_src_prepare
|
|
if ! use doc; then
|
|
cp "${FILESDIR}"/awesome{.1,-client.1,rc.5} "${S}"/manpages/ || die
|
|
fi
|
|
}
|
|
|
|
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)
|
|
-DGENERATE_MANPAGES=$(usex doc)
|
|
-DAWESOME_DOC_PATH="${EPREFIX}"/usr/share/doc/${PF}
|
|
-DLUA_INCLUDE_DIR="$(lua_get_include_dir)"
|
|
-DLUA_LIBRARY="$(lua_get_shared_lib)"
|
|
)
|
|
|
|
[[ ${PV} != *9999* ]] && mycmakeargs+=( -DOVERRIDE_VERSION="v${PV}" )
|
|
|
|
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
|
|
|
|
# use html subdir and precompiled manpages w/o doc enabled
|
|
if use doc; then
|
|
mv "${ED}"/usr/share/doc/${PF}/{doc,html} || die
|
|
else
|
|
doman "${S}"/manpages/awesome{.1,rc.5}
|
|
use dbus && doman "${S}"/manpages/awesome-client.1
|
|
fi
|
|
}
|
|
|
|
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
|
|
}
|