commit: e33a5a452639a42429a3f965c59fa6510cdcfc4b Author: Dennis Lamm <expeditioneer <AT> gentoo <DOT> org> AuthorDate: Thu Jan 25 19:34:13 2024 +0000 Commit: Dennis Lamm <expeditioneer <AT> gentoo <DOT> org> CommitDate: Thu Jan 25 20:31:21 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e33a5a45
net-misc/kea: add 2.4.1 Bug: https://bugs.gentoo.org/877625 Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org> net-misc/kea/Manifest | 1 + net-misc/kea/files/ax_gtest.m4 | 53 ++------------- net-misc/kea/kea-2.4.1.ebuild | 144 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+), 48 deletions(-) diff --git a/net-misc/kea/Manifest b/net-misc/kea/Manifest index 5e36ccebaed2..313b52da604e 100644 --- a/net-misc/kea/Manifest +++ b/net-misc/kea/Manifest @@ -1 +1,2 @@ DIST kea-2.4.0.tar.gz 10462721 BLAKE2B 07a4424c01872142b85446ee881afbdc9d8b3a0bc7879226463dd0ba20eba6d3d6db3dfd5fff88cd54af05c4f58183032c7df90d24a969a7ae63200822b6f35f SHA512 b0bdb6b6af88e322145ffeb742a818d6e225846ff981ecc4925d311870db94e0c5a4eb0e1140f146624f64b636c9b24148b5efbc32e62a19b99bba0810b54654 +DIST kea-2.4.1.tar.gz 10487415 BLAKE2B 21037d28f812ebbc65ae34f5151a209e9c74f6aa005e96ed7cbbf6e4250e6c40eecf5d257b852bf01663a0982b5401008dd6a51a16d861b30a83549f827538b6 SHA512 b8a3b6f2cae213fd9826c37568c71d3458f52eed973dbe437a1d0974dafa026635a730d828c6ff03b32e030be57d75a7914a8ca313833e91d9996b6a05b2b224 diff --git a/net-misc/kea/files/ax_gtest.m4 b/net-misc/kea/files/ax_gtest.m4 index acd887c2d3ab..7f7d0bb7aa65 100644 --- a/net-misc/kea/files/ax_gtest.m4 +++ b/net-misc/kea/files/ax_gtest.m4 @@ -1,56 +1,13 @@ AC_DEFUN([AX_ISC_GTEST], [ -AC_ARG_WITH([lcov], - [AS_HELP_STRING([--with-lcov[[=PROGRAM]]], - [enable gtest and coverage target using the specified lcov])], - [lcov="$withval"], - [lcov="no"]) - USE_LCOV="no" -if test "$lcov" != "no"; then - # force gtest if not set - if test "$enable_gtest" = "no"; then -# AC_MSG_ERROR("lcov needs gtest for test coverage report") - AC_MSG_NOTICE([gtest support is now enabled, because used by coverage tests]) - enable_gtest="yes" - fi - if test "$lcov" != "yes"; then - LCOV=$lcov - else - AC_PATH_PROG([LCOV], [lcov]) - fi - if test -x "${LCOV}"; then - USE_LCOV="yes" - else - AC_MSG_ERROR([Cannot find lcov.]) - fi - # is genhtml always in the same directory? - GENHTML=`echo "$LCOV" | ${SED} s/lcov$/genhtml/` - if test ! -x $GENHTML; then - AC_MSG_ERROR([genhtml not found, needed for lcov]) - fi - # GCC specific? - CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage" - LIBS=" $LIBS -lgcov" - AC_SUBST(CPPFLAGS) - AC_SUBST(LIBS) - AC_SUBST(LCOV) - AC_SUBST(GENHTML) -fi AC_SUBST(USE_LCOV) -# -# Check availability of gtest, which will be used for unit tests. -# -DISTCHECK_GTEST_CONFIGURE_FLAG= - -AS_IF([test "x$enable_gtest" = "xyes"], [ - DISTCHECK_GTEST_CONFIGURE_FLAG="--with-gtest" - PKG_CHECK_MODULES([GTEST], [gtest], [], [AC_MSG_ERROR([gtest requested but not found])]) - GTEST_INCLUDES=`${PKG_CONFIG} --keep-system-cflags --cflags-only-I gtest` - GTEST_LDFLAGS=`${PKG_CONFIG} --keep-system-libs --libs-only-L gtest` - GTEST_VERSION=`${PKG_CONFIG} --modversion gtest` -]) +DISTCHECK_GTEST_CONFIGURE_FLAG="--with-gtest" +PKG_CHECK_MODULES([GTEST], [gtest], [], [AC_MSG_ERROR([gtest requested but not found])]) +GTEST_INCLUDES=`${PKG_CONFIG} --keep-system-cflags --cflags-only-I gtest` +GTEST_LDFLAGS=`${PKG_CONFIG} --keep-system-libs --libs-only-L gtest` +GTEST_VERSION=`${PKG_CONFIG} --modversion gtest` AM_CONDITIONAL(HAVE_GTEST, test $enable_gtest != "no") AM_CONDITIONAL(HAVE_GTEST_SOURCE, test "X$have_gtest_source" = "Xyes") diff --git a/net-misc/kea/kea-2.4.1.ebuild b/net-misc/kea/kea-2.4.1.ebuild new file mode 100644 index 000000000000..7227b2d84c1d --- /dev/null +++ b/net-misc/kea/kea-2.4.1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="${PV//_p/-P}" +MY_PV="${MY_PV/_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="High-performance production grade DHCPv4 & DHCPv6 server" +HOMEPAGE="https://www.isc.org/kea/" + +PYTHON_COMPAT=( python3_{8..12} ) + +inherit autotools fcaps python-single-r1 systemd tmpfiles + +if [[ ${PV} = 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.isc.org/isc-projects/kea.git" +else + SRC_URI="ftp://ftp.isc.org/isc/kea/${MY_P}.tar.gz + ftp://ftp.isc.org/isc/kea/${MY_PV}/${MY_P}.tar.gz" + # odd minor version = development release + if [[ $(( $(ver_cut 2) % 2 )) -ne 1 ]] ; then + if ! [[ "${PV}" == *_beta* || "${PV}" == *_rc* ]] ; then + KEYWORDS="~amd64 ~arm64 ~x86" + fi + fi +fi + +LICENSE="ISC BSD SSLeay GPL-2" # GPL-2 only for init script +SLOT="0" +IUSE="debug doc mysql +openssl postgres +samples shell test" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dev-libs/boost:= + dev-libs/log4cplus + doc? ( + $(python_gen_cond_dep ' + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + mysql? ( dev-db/mysql-connector-c ) + !openssl? ( dev-libs/botan:2= ) + openssl? ( dev-libs/openssl:0= ) + postgres? ( dev-db/postgresql:* ) + shell? ( ${PYTHON_DEPS} ) +" +DEPEND="${COMMON_DEPEND} + test? ( dev-cpp/gtest ) +" +RDEPEND="${COMMON_DEPEND} + acct-group/dhcp + acct-user/dhcp" +BDEPEND="virtual/pkgconfig" + +REQUIRED_USE="shell? ( ${PYTHON_REQUIRED_USE} )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2.0-openssl-version.patch +) + +pkg_setup() { + use shell && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if use test; then + cp "${FILESDIR}"/ax_gtest.m4 "${S}"/m4macros/ax_gtest.m4 || die 'Replace gtest m4 macro failed' + fi + + # brand the version with Gentoo + sed -i \ + -e 's/KEA_SRCID="tarball"/KEA_SRCID="gentoo"/g' \ + -e 's/AC_MSG_RESULT("tarball")/AC_MSG_RESULT("gentoo")/g' \ + -e "s/EXTENDED_VERSION=\"\${EXTENDED_VERSION} (\$KEA_SRCID)\"/EXTENDED_VERSION=\"${PVR} (\$KEA_SRCID)\"/g" \ + configure.ac || die + + sed -i \ + -e '/mkdir -p $(DESTDIR)${runstatedir}\/${PACKAGE_NAME}/d' \ + Makefile.am || die "Fixing Makefile.am failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-install-configurations + --disable-rpath + --disable-static + --enable-generate-messages + --enable-perfdhcp + --localstatedir="${EPREFIX}/var" + --runstatedir="${EPREFIX}/run" + --without-werror + --with-log4cplus + $(use_enable debug) + $(use_enable doc generate-docs) + $(use_enable shell) + $(use_with mysql) + $(use_with openssl) + $(use_with postgres pgsql) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + emake -j1 install DESTDIR="${D}" + + newconfd "${FILESDIR}"/${PN}-confd-r1 ${PN} + newinitd "${FILESDIR}"/${PN}-initd-r1 ${PN} + + if use samples; then + diropts -m 0750 -o root -g dhcp + dodir /etc/kea + insopts -m 0640 -o root -g dhcp + insinto /etc/kea + doins "${FILESDIR}"/${PN}-ctrl-agent.conf + doins "${FILESDIR}"/${PN}-ddns-server.conf + doins "${FILESDIR}"/${PN}-dhcp4.conf + doins "${FILESDIR}"/${PN}-dhcp6.conf + fi + + systemd_dounit "${FILESDIR}"/${PN}-ctrl-agent.service + systemd_dounit "${FILESDIR}"/${PN}-ddns-server.service + systemd_dounit "${FILESDIR}"/${PN}-dhcp4-server.service + systemd_dounit "${FILESDIR}"/${PN}-dhcp6-server.service + + newtmpfiles "${FILESDIR}"/${PN}.tmpfiles.conf ${PN}.conf + + keepdir /var/lib/${PN} /var/log/${PN} + find "${ED}" -type f -name "*.la" -delete || die +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + fcaps cap_net_bind_service,cap_net_raw=+ep /usr/sbin/kea-dhcp{4,6} +}
