x11-wm/awesome: fix cmake-4, deps

libXcursor is replaced by xcb_cursor

override version

remove seemingly outdated comments for :
* ldoc, the old ebuild w/o lua.eclass is removed
* issues w/ java has been fixed in 4.0, see issue 248

update cmake_min

Closes: https://bugs.gentoo.org/953942
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44490
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT
2025-11-04 22:42:44 +01:00
committed by Sam James
parent 547333a7a2
commit cb066b0c71
2 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
# 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="
dev-ruby/asciidoctor
media-gfx/imagemagick[png]
virtual/pkgconfig
doc? ( dev-lua/ldoc )
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_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)"
)
[[ ${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
if use doc; then
mv "${ED}"/usr/share/doc/${PF}/{doc,html} || die
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
}

View File

@@ -0,0 +1,45 @@
upstream is only 3.5 w/ https://github.com/awesomeWM/awesome/pull/4012.patch
see https://bugs.gentoo.org/953942
fix compat for cmake-4 and update to 3.10
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.0.0)
+cmake_minimum_required(VERSION 3.10)
project(awesome C)
# Require an out-of-source build. We generate an awesomerc.lua in the build dir
--- a/tests/examples/CMakeLists.txt
+++ b/tests/examples/CMakeLists.txt
@@ -14,7 +14,7 @@ if(NOT DEFINED PROJECT_NAME)
project(awesome-tests-examples NONE)
endif()
-cmake_minimum_required(VERSION 3.0.0)
+cmake_minimum_required(VERSION 3.10)
# Get and update the LUA_PATH so the scripts can be executed without awesome.
execute_process(COMMAND ${LUA_EXECUTABLE} -e "p = package.path:gsub(';', '\\\\;'); io.stdout:write(p)"
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,10 +17,6 @@ endif()
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
-if(COMMAND cmake_policy)
- cmake_policy(VERSION 2.6)
-endif()
-
set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
--- a/awesomeConfig.cmake
+++ b/awesomeConfig.cmake
@@ -357,6 +357,7 @@ add_custom_target(lgi-check-run ALL
add_custom_target(setup_directories DEPENDS lgi-check-run)
add_custom_command(TARGET setup_directories
+ POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${BUILD_DIR}/script_files/
COMMAND ${CMAKE_COMMAND} -E make_directory ${BUILD_DIR}/docs/common/
COMMAND ${CMAKE_COMMAND} -E make_directory ${BUILD_DIR}/doc/images/