commit:     f23a9019ac3062f86ef25b2a87a0f44aa1cf01b9
Author:     Florian Schmaus <flo <AT> geekplace <DOT> eu>
AuthorDate: Mon May  3 17:06:20 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun  5 21:26:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f23a9019

x11-wm/herbstluftwm: sync -9999 with latest release ebuild

Signed-off-by: Florian Schmaus <flo <AT> geekplace.eu>
Closes: https://github.com/gentoo/gentoo/pull/20672
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-wm/herbstluftwm/herbstluftwm-9999.ebuild | 67 +++++++++++++++++++++++++---
 1 file changed, 61 insertions(+), 6 deletions(-)

diff --git a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild 
b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
index 28d103f5405..f374bfa2fc7 100644
--- a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
+++ b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
@@ -3,40 +3,64 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{7..10} )
+DISTUTILS_OPTIONAL=1
 
-inherit cmake git-r3 python-any-r1 toolchain-funcs
+inherit cmake distutils-r1 toolchain-funcs
 
 DESCRIPTION="A manual tiling window manager for X"
 HOMEPAGE="https://herbstluftwm.org/";
-EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm";
+
+if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
+       EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm";
+       inherit git-r3
+else
+       SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz";
+       KEYWORDS="~amd64 ~x86"
+fi
 
 LICENSE="BSD-2"
 SLOT="0"
-IUSE="doc examples"
+IUSE="+doc python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 DEPEND="
+       media-libs/freetype
        x11-libs/libX11
        x11-libs/libXext
+       x11-libs/libXft
        x11-libs/libXinerama
        x11-libs/libXrandr
 "
 RDEPEND="
        ${DEPEND}
        app-shells/bash
+       python? ( ${PYTHON_DEPS} )
 "
 BDEPEND="
        ${PYTHON_DEPS}
        virtual/pkgconfig
-       doc? ( app-text/asciidoc )
 "
 
+if [[ -n "${EGIT_REPO_URI}" ]]; then
+       # Herbstluftwm tarballs ship with pre-compiled documentation, only
+       # if we build from git asciidoc is needed.
+       BDEPEND+=" doc? ( app-text/asciidoc )"
+fi
+
 src_prepare() {
+       # Do not install LICENSE and respect CMAKE_INSTALL_DOCDIR.
        sed -i \
                -e '/^install.*LICENSEDIR/d' \
                -e '/set(DOCDIR / s#.*#set(DOCDIR ${CMAKE_INSTALL_DOCDIR})#' \
                CMakeLists.txt || die
        cmake_src_prepare
+
+       if use python; then
+               pushd "${S}"/python > /dev/null || die
+               distutils-r1_src_prepare
+               popd > /dev/null || die
+       fi
 }
 
 src_configure() {
@@ -49,10 +73,41 @@ src_configure() {
        cmake_src_configure
 }
 
+src_compile() {
+       cmake_src_compile
+
+       if use python; then
+               pushd python > /dev/null || die
+               distutils-r1_src_compile
+               popd >/dev/null || die
+       fi
+}
+
 src_install() {
        cmake_src_install
 
-       if ! use examples; then
+       if ! use doc; then
                rm -r "${ED}"/usr/share/doc/${PF}/examples || die
        fi
+
+       if use python; then
+               pushd python > /dev/null || die
+               distutils-r1_src_install
+               popd > /dev/null || die
+       fi
+
+       # The man pages exists in src_install either in non-live ebuilds,
+       # since they are then shipped pre-compiled in herbstluftwm's
+       # release tarbal. Or they exist in live ebuilds if the 'doc' USE
+       # flag is enabled.
+       if [[ "${PV}" != 9999 ]] || use doc; then
+               local man_pages=(
+                       herbstluftwm.1
+                       herbstclient.1
+                       herbstluftwm-tutorial.7
+               )
+               for man_page in "${man_pages[@]}"; do
+                       doman "doc/${man_page}"
+               done
+       fi
 }

Reply via email to