# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{8..10} ) inherit cmake python-single-r1 GTEST_VER="1.8.1" GTEST_URL="https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz" DESCRIPTION="An advanced IRC Bouncer" if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/znc/znc.git" else MY_PV=${PV/_/-} MY_P=${PN}-${MY_PV} SRC_URI=" https://znc.in/releases/archive/${MY_P}.tar.gz test? ( ${GTEST_URL} ) " KEYWORDS="~amd64 ~arm ~arm64 ~x86" S=${WORKDIR}/${MY_P} fi HOMEPAGE="https://znc.in" LICENSE="Apache-2.0" # "If you upgrade your ZNC version, you must recompile all your modules." # - https://wiki.znc.in/Compiling_modules SLOT="0/${PV}" IUSE="+ipv6 +icu nls perl python +ssl sasl tcl test +zlib" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} icu )" # perl is a build-time dependency of modpython BDEPEND=" virtual/pkgconfig nls? ( sys-devel/gettext ) perl? ( >=dev-lang/swig-3.0.0 >=dev-lang/perl-5.10 ) python? ( >=dev-lang/swig-3.0.0 >=dev-lang/perl-5.10 ) test? ( ${PYTHON_DEPS} dev-qt/qtnetwork:5 ) " DEPEND=" icu? ( dev-libs/icu:= ) nls? ( dev-libs/boost:=[nls] ) perl? ( >=dev-lang/perl-5.10:= ) python? ( ${PYTHON_DEPS} ) sasl? ( >=dev-libs/cyrus-sasl-2 ) ssl? ( dev-libs/openssl:0= ) tcl? ( dev-lang/tcl:0= ) zlib? ( sys-libs/zlib:0= ) " PATCHES=( "${FILESDIR}"/${PN}-1.7.1-inttest-dir.patch ) pkg_setup() { if use python; then python-single-r1_pkg_setup fi } src_prepare() { # Let SWIG rebuild modperl/modpython to make user patching easier. if [[ ${PV} != *9999* ]]; then rm modules/modperl/generated.tar.gz || die rm modules/modpython/generated.tar.gz || die fi sed -i -e "s|DZNC_BIN_DIR:path=|DZNC_BIN_DIR:path=${T}/inttest|" \ test/CMakeLists.txt || die sed -i "s|--datadir=|&${EPREFIX}|" znc.service.in || die cmake_src_prepare } src_configure() { local mycmakeargs=( -DWANT_ICU="$(usex icu)" -DWANT_IPV6="$(usex ipv6)" -DWANT_I18N="$(usex nls)" -DWANT_PERL="$(usex perl)" -DWANT_PYTHON="$(usex python)" -DWANT_PYTHON_VERSION="${EPYTHON#python}" -DWANT_CYRUS="$(usex sasl)" -DWANT_OPENSSL="$(usex ssl)" -DWANT_TCL="$(usex tcl)" -DWANT_ZLIB="$(usex zlib)" ) if [[ ${PV} != *9999* ]] && use test; then export GTEST_ROOT="${WORKDIR}/googletest-release-${GTEST_VER}/googletest" export GMOCK_ROOT="${WORKDIR}/googletest-release-${GTEST_VER}/googlemock" fi cmake_src_configure } src_test() { cmake_build unittest DESTDIR="${T}/inttest" cmake_build install local filter='-' if ! use perl; then filter="${filter}:ZNCTest.Modperl*" fi if ! use python; then filter="${filter}:ZNCTest.Modpython*" fi # CMAKE_PREFIX_PATH and CXXFLAGS are needed for znc-buildmod # invocations from inside the test GTEST_FILTER="${filter}" ZNC_UNUSUAL_ROOT="${T}/inttest" \ CMAKE_PREFIX_PATH="${T}/inttest/usr/share/znc/cmake" \ CXXFLAGS="${CXXFLAGS} -isystem ${T}/inttest/usr/include" \ cmake_build inttest } src_install() { cmake_src_install dodoc NOTICE }