diff --git a/net/kea/Makefile b/net/kea/Makefile index 49e11a579c41..7dd38cfa8c50 100644 --- a/net/kea/Makefile +++ b/net/kea/Makefile @@ -1,60 +1,64 @@ PORTNAME= kea -DISTVERSION= 2.6.3 -PORTREVISION= 1 +DISTVERSION= 3.0.0 CATEGORIES= net MASTER_SITES= ISC/kea/${DISTVERSION} MAINTAINER= apevnev@me.com COMMENT= Alternative DHCP implementation by ISC WWW= https://kea.isc.org/ LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libboost_system.so:devel/boost-libs \ liblog4cplus.so:devel/log4cplus -USES= autoreconf compiler:c++11-lang cpe iconv libtool pathfix ssl +USES= compiler:c++11-lang cpe iconv libtool pathfix ssl python tar:xz meson cmake:indirect +MESON_ARGS= --auto-features=disabled \ + -Dcrypto=openssl \ + -Dnetconf=disabled + +BUILD_DEPENDS= googletest>0:devel/googletest \ + rst2man:textproc/py-docutils@${PY_FLAVOR} \ + python3:lang/python3 CPE_VENDOR= isc CPE_VERSION= ${DISTVERSION:C/-.*//} .if ${DISTVERSION:M*-*} CPE_UPDATE= ${DISTVERSION:C/.*-//:tl} .endif USE_LDCONFIG= yes USE_RC_SUBR= ${PORTNAME} -GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-boost-include=${LOCALBASE}/include \ - --with-boost-lib-dir=${LOCALBASE}/lib \ - --with-log4cplus=${LOCALBASE} \ - --with-openssl=${OPENSSLBASE} \ - --without-werror -INSTALL_TARGET= install-strip -TEST_TARGET= check PORTDOCS= AUTHORS CONTRIBUTING.md COPYING ChangeLog README SECURITY.md \ code_of_conduct.md examples platforms.rst -OPTIONS_DEFINE= DOCS MYSQL PGSQL SHELL +OPTIONS_DEFINE= DOCS MYSQL PGSQL OPTIONS_SUB= yes -SHELL_DESC= Install kea-shell(8) (Python) - MYSQL_USES= mysql -MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE}/bin/mysql_config -MYSQL_CONFIGURE_OFF= --without-mysql +MYSQL_MESON_ENABLED= mysql MYSQL_SUB_LIST= REQ_MYSQL=mysql MYSQL_SUB_LIST_OFF= REQ_MYSQL="" PGSQL_USES= pgsql -PGSQL_CONFIGURE_ON= --with-pgsql=${LOCALBASE}/bin/pg_config -PGSQL_CONFIGURE_OFF= --without-pgsql +PGSQL_MESON_ENABLED= postgresql PGSQL_SUB_LIST= REQ_PGSQL=postgresql PGSQL_SUB_LIST_OFF= REQ_PGSQL="" PGSQL_VARS= WANT_PGSQL=client -SHELL_USES= python -SHELL_CONFIGURE_ON= --enable-shell +post-build: + cd ${WRKSRC}/doc/sphinx/man; \ + for i in *.8.rst; do rst2man $$i > $$(basename $$i .rst); done + +post-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/etc/kea ${STAGEDIR}/var/db/kea \ + ${STAGEDIR}/var/run/kea + @${RM} -rf ${STAGEDIR}${PREFIX}/var + @cd ${WRKSRC}/doc/sphinx/man; \ + ${CP} *.8 ${STAGEDIR}${PREFIX}/share/man/man8 + @cd ${WRKSRC}/_build/src/bin/keactrl; \ + for i in *.conf; do ${CP} $$i ${STAGEDIR}${PREFIX}/etc/kea/$$i.sample; done .include diff --git a/net/kea/distinfo b/net/kea/distinfo index b06f6438ef8a..34919567d383 100644 --- a/net/kea/distinfo +++ b/net/kea/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1748454460 -SHA256 (kea-2.6.3.tar.gz) = 00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612 -SIZE (kea-2.6.3.tar.gz) = 10498882 +TIMESTAMP = 1750867283 +SHA256 (kea-3.0.0.tar.xz) = bf963d1e10951d8c570c6042afccf27c709d45e03813bd2639d7bb1cfc4fee76 +SIZE (kea-3.0.0.tar.xz) = 6631612 diff --git a/net/kea/files/patch-Makefile.am b/net/kea/files/patch-Makefile.am deleted file mode 100644 index 2ffd64ee99a7..000000000000 --- a/net/kea/files/patch-Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ ---- Makefile.am.orig 2025-05-22 13:26:43 UTC -+++ Makefile.am -@@ -176,10 +176,6 @@ install-exec-hook: - - # These steps are necessary during installation. chmod is for reinstallation/upgrade. - install-exec-hook: -- mkdir -m 750 -p "$(DESTDIR)${localstatedir}/lib/${PACKAGE_NAME}" -- chmod 750 "$(DESTDIR)${localstatedir}/lib/${PACKAGE_NAME}" -- mkdir -m 750 -p "$(DESTDIR)${localstatedir}/log/${PACKAGE_NAME}" -- chmod 750 "$(DESTDIR)${localstatedir}/log/${PACKAGE_NAME}" - mkdir -m 750 -p "$(DESTDIR)${runstatedir}/${PACKAGE_NAME}" - chmod 750 "$(DESTDIR)${runstatedir}/${PACKAGE_NAME}" - mkdir -m 750 -p "$(DESTDIR)${sysconfdir}/${PACKAGE_NAME}" diff --git a/net/kea/files/patch-meson.build b/net/kea/files/patch-meson.build new file mode 100644 index 000000000000..36a5df714c02 --- /dev/null +++ b/net/kea/files/patch-meson.build @@ -0,0 +1,50 @@ +--- meson.build.orig 2025-06-20 16:28:47 UTC ++++ meson.build +@@ -59,7 +59,7 @@ if PREFIX == '/usr/local' + # Meson is annoying with its opinionated alteration of certain paths based on whether prefix is default or not. + # So we revert what it does. + if PREFIX == '/usr/local' +- LOCALSTATEDIR = 'var' # Otherwise, it would have been 'var/local'. ++ LOCALSTATEDIR = '/var' # Otherwise, it would have been 'var/local'. + endif + + DATABASE_SCRIPTS_DIR = TOP_BUILD_DIR / 'src/share/database/scripts' +@@ -69,10 +69,10 @@ KEA_LFC_INSTALLED = PREFIX / SBINDIR / 'kea-lfc' + KEA_ADMIN_INSTALLED = PREFIX / SBINDIR / 'kea-admin' + KEA_LFC_BUILT = TOP_BUILD_DIR / 'src/bin/lfc/kea-lfc' + KEA_LFC_INSTALLED = PREFIX / SBINDIR / 'kea-lfc' +-LOCALSTATEDIR_INSTALLED = PREFIX / LOCALSTATEDIR ++LOCALSTATEDIR_INSTALLED = LOCALSTATEDIR + LIBDIR_INSTALLED = PREFIX / LIBDIR + LOGDIR = LOCALSTATEDIR / 'log/kea' +-LOGDIR_INSTALLED = PREFIX / LOGDIR ++LOGDIR_INSTALLED = LOGDIR + if RUNSTATEDIR == '' + RUNSTATEDIR = LOCALSTATEDIR / 'run/kea' + else +@@ -88,9 +88,9 @@ if PREFIX == '/usr/local' + # So we revert what it does. + if PREFIX == '/usr/local' + SYSCONFDIR_INSTALLED = '/usr/local/etc' +- LOGDIR_INSTALLED = '/usr/local/var/log/kea' +- RUNSTATEDIR_INSTALLED = '/usr/local/var/run/kea' +- SHAREDSTATEDIR_INSTALLED = '/usr/local/var/lib/kea' ++ LOGDIR_INSTALLED = '/var/log/kea' ++ RUNSTATEDIR_INSTALLED = '/var/run/kea' ++ SHAREDSTATEDIR_INSTALLED = '/var/db/kea' + endif + + #### Build Options +@@ -1108,9 +1108,9 @@ if PREFIX == '/usr/local' + # In case prefix is default, install to hardcoded path. + if PREFIX == '/usr/local' + install_emptydir('/usr/local/lib/kea') +- install_emptydir('/usr/local/var/lib/kea') +- install_emptydir('/usr/local/var/log/kea') +- install_emptydir('/usr/local/var/run/kea') ++ install_emptydir('/var/db/kea') ++ install_emptydir('/var/log/kea') ++ install_emptydir('/var/run/kea') + endif + + # Print the setup report. diff --git a/net/kea/files/patch-src_bin_keactrl_Makefile.am b/net/kea/files/patch-src_bin_keactrl_Makefile.am deleted file mode 100644 index 385488664470..000000000000 --- a/net/kea/files/patch-src_bin_keactrl_Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ ---- src/bin/keactrl/Makefile.am.orig 2019-10-25 12:41:08 UTC -+++ src/bin/keactrl/Makefile.am -@@ -62,7 +62,7 @@ install-data-local: - $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f.bak; \ - fi; \ - if test ! -f $(DESTDIR)$(sysconfdir)/@PACKAGE@/$$f; then \ -- ${INSTALL_DATA} $$f $(DESTDIR)$(sysconfdir)/@PACKAGE@/; \ -+ ${INSTALL_DATA} $$f $(DESTDIR)$(sysconfdir)/@PACKAGE@/$${f}.sample; \ - fi; \ - done - diff --git a/net/kea/files/patch-src_bin_keactrl_meson.build b/net/kea/files/patch-src_bin_keactrl_meson.build new file mode 100644 index 000000000000..535929a19de4 --- /dev/null +++ b/net/kea/files/patch-src_bin_keactrl_meson.build @@ -0,0 +1,11 @@ +--- src/bin/keactrl/meson.build.orig 2025-07-10 15:51:59 UTC ++++ src/bin/keactrl/meson.build +@@ -14,7 +14,7 @@ keactrl_conf_data.set('PACKAGE_VERSION', PROJECT_VERSI + PROJECT_VERSION + f' (@SOURCE_OF_INSTALLATION@)', + ) + keactrl_conf_data.set('PACKAGE_VERSION', PROJECT_VERSION) +-keactrl_conf_data.set('runstatedir', '${prefix}/' + LOCALSTATEDIR + '/run') ++keactrl_conf_data.set('runstatedir', '/' + LOCALSTATEDIR + '/run') + keactrl_conf_data.set('localstatedir', '${prefix}/' + LOCALSTATEDIR) + + kea_conf_data = configuration_data() diff --git a/net/kea/files/patch-src_lib_dhcpsrv_Makefile.am b/net/kea/files/patch-src_lib_dhcpsrv_Makefile.am deleted file mode 100644 index fc2cb111e705..000000000000 --- a/net/kea/files/patch-src_lib_dhcpsrv_Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ ---- src/lib/dhcpsrv/Makefile.am.orig 2019-10-25 12:41:08 UTC -+++ src/lib/dhcpsrv/Makefile.am -@@ -4,7 +4,7 @@ SUBDIRS = . testutils tests benchmarks - - # DATA_DIR is the directory where to put default CSV files and the DHCPv6 - # server ID file (i.e. the file where the server finds its DUID at startup). --dhcp_data_dir = @localstatedir@/lib/@PACKAGE@ -+dhcp_data_dir = @localstatedir@/db/@PACKAGE@ - kea_lfc_location = @prefix@/sbin/kea-lfc - - AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib -DDHCP_DATA_DIR="\"$(dhcp_data_dir)\"" diff --git a/net/kea/pkg-message b/net/kea/pkg-message new file mode 100644 index 000000000000..a4477e3ebf89 --- /dev/null +++ b/net/kea/pkg-message @@ -0,0 +1,8 @@ +[ +{ type: upgrade + maximum_version: "3.0.0" + message: <