net-irc/znc: bump to 1.7.2, EAPI=7, uses ninja instead of make

Package-Manager: Portage-2.3.58, Repoman-2.3.12
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
This commit is contained in:
Louis Sautier
2019-01-27 15:15:05 +01:00
parent 044cca60f2
commit 76cd8cf9dc
2 changed files with 184 additions and 0 deletions

View File

@@ -1,2 +1,4 @@
DIST gtest-1.8.1.tar.gz 992298 BLAKE2B 40ef3417fe424205c0617f07207347ce671ac87605f8ac9b8a333b0b06e3fbef9f556041ee324c18f957f3258ab9fe06704f31cdd038355fb7890180eb77ced1 SHA512 e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7
DIST gtest-ba96d0b1161f540656efdaed035b3c062b60e006.tar.gz 987370 BLAKE2B fcedfe559c4c93166962900117dc492da3cbb99165c30766c39131c20e3b41f057a31a8cb631beaca829c1e9966e90cbc37469ba56a5fc15a2bea86cbe401a63 SHA512 ce78098f973b45f4a177db387c42a56d5ea34407a2af278760b850c326e8450760a58991d62a5408f5df79f89fefd10fee71745b7e8669b2a6f74fa63a259600
DIST znc-1.7.1.tar.gz 2041669 BLAKE2B 57ead136e28b0fc4a875802ef89ef004213789e68d19ceeab15c6fac6fe51ea51618764c484ea618fc6359d9c15cc7ffcf5529642d730b9217a4f127e92d9ae6 SHA512 907068fb0828091026d440145b70ca76109302f13c18d94f772660192434287f209a06a52da1dd39726b9a38735b3cea9afbd062eb6def4cd428bb73c562a902
DIST znc-1.7.2.tar.gz 2083306 BLAKE2B 907581df536d9bab15964f6fcecbbf660403c39368b984ab1d2957bd43c4a90ca0694844b41786dab5495a4f4dccd675eaa54189782d47683e013d1faf9cc368 SHA512 fcc67bf676e066db64d62584ff8ecfd63280b3237e88dcbe18ab0b78a9b5f4dc202b589876b6fc14c6092ca5509937bc170a54fba44df2aeb1645cca02afe577

View File

@@ -0,0 +1,182 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{4,5,6,7} )
inherit cmake-utils python-single-r1 readme.gentoo-r1 systemd user
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=${EGIT_REPO_URI:-"https://github.com/znc/znc.git"}
SRC_URI=""
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 ~x86"
S=${WORKDIR}/${MY_P}
fi
HOMEPAGE="https://znc.in"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="+ipv6 +icu libressl nls perl python +ssl sasl tcl test +zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} icu )"
RDEPEND="
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? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
tcl? ( dev-lang/tcl:0= )
zlib? ( sys-libs/zlib:0= )
"
DEPEND="
${RDEPEND}
virtual/pkgconfig
nls? ( sys-devel/gettext )
perl? ( >=dev-lang/swig-3.0.0 )
python? ( >=dev-lang/swig-3.0.0 )
test? ( dev-qt/qtnetwork:5 )
"
PATCHES=( "${FILESDIR}"/${PN}-1.7.1-inttest-dir.patch )
pkg_setup() {
if use python; then
python-single-r1_pkg_setup
fi
enewgroup ${PN}
enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
# The home directory was previously set to /dev/null
# This caused a bug with the systemd unit
# https://bugs.gentoo.org/521916
esethome ${PN} /var/lib/${PN}
}
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
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWANT_SYSTEMD=yes # Causes -DSYSTEMD_DIR to be used.
-DSYSTEMD_DIR="$(systemd_get_systemunitdir)"
-DWANT_ICU="$(usex icu)"
-DWANT_IPV6="$(usex ipv6)"
-DWANT_I18N="$(usex nls)"
-DWANT_PERL="$(usex perl)"
-DWANT_PYTHON="$(usex 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-utils_src_configure
}
src_test() {
cmake-utils_src_make unittest
if has network-sandbox ${FEATURES}; then
DESTDIR="${T}/inttest" cmake-utils_src_make 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-utils_src_make inttest
else
# TODO: don't require sandbox after
# https://github.com/znc/znc/pull/1363 is implemented
ewarn "FEATURES=-network-sandbox; skipping integration tests which"
ewarn "temporary open local ports."
fi
}
src_install() {
cmake-utils_src_install
dodoc NOTICE
newinitd "${FILESDIR}"/znc.initd-r2 znc
newconfd "${FILESDIR}"/znc.confd-r1 znc
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r1") || die
DISABLE_AUTOFORMATTING=1
readme.gentoo_create_doc
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
readme.gentoo_print_elog
fi
if [[ -d "${EROOT%/}"/etc/znc ]]; then
ewarn "${EROOT%/}/etc/znc exists on your system."
ewarn "Due to the nature of the contents of that folder,"
ewarn "we have changed the default configuration to use"
ewarn " ${EROOT%/}/var/lib/znc"
ewarn "please move ${EROOT%/}/etc/znc to ${EROOT%/}/var/lib/znc"
ewarn "or adjust your service configuration."
fi
}
pkg_config() {
if [[ -e "${EROOT%/}/var/lib/znc" ]]; then
ewarn "${EROOT%/}/var/lib/znc already exists, aborting to avoid damaging"
ewarn "any existing configuration. If you are sure you want"
ewarn "to generate a new configuration, remove the folder"
ewarn "and try again."
else
einfo "Press enter to interactively create a new configuration file for znc."
einfo "To abort, press Control-C"
read
mkdir -p "${EROOT%/}/var/lib/znc" || die
chown -R ${PN}:${PN} "${EROOT%/}/var/lib/znc" ||
die "Setting permissions failed"
start-stop-daemon --start --user ${PN}:${PN} --env ZNC_NO_LAUNCH_AFTER_MAKECONF=1 \
"${EROOT%/}"/usr/bin/znc -- --makeconf --datadir "${EROOT%/}/var/lib/znc" ||
die "Config failed"
einfo
einfo "You can now start the znc service using the init system of your choice."
einfo "Don't forget to enable it if you want to use znc at boot."
fi
}