gentoo-ebuilds/x11-wm/awesome/awesome-4.3-r104.ebuild
Eli Schwartz b74d3fddfe
x11-wm/awesome: Stabilize 4.3-r104 ppc64, #967294
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2025-12-11 08:33:24 -05:00

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
}