diff options
-rw-r--r-- | x11-wm/herbstluftwm/herbstluftwm-9999.ebuild | 67 |
1 files changed, 61 insertions, 6 deletions
diff --git a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild index 28d103f5405a..f374bfa2fc7a 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 } |