git: 3c7b4d6a8af3 - main - net/slapi-nis: Add new Port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 13 Aug 2026 08:59:01 UTC
The branch main has been updated by joneum:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3c7b4d6a8af39111f65bd610c357aa8bc505f19c
commit 3c7b4d6a8af39111f65bd610c357aa8bc505f19c
Author: Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-08-13 06:54:22 +0000
Commit: Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-08-13 08:58:47 +0000
net/slapi-nis: Add new Port
slapi-nis provides the Schema Compatibility plugin for 389 Directory
Server. The plugin presents alternate LDAP views required by FreeIPA
compatibility features, including SSSD ID mapping and ID views. The NIS
plugin itself is disabled; only the schema-compat plugin is built.
WWW: https://codeberg.org/freeipa/slapi-nis
Sponsored by: Netzkommune GmbH
Required for: FreeIPA server port
---
net/Makefile | 1 +
net/slapi-nis/Makefile | 41 ++++++++++++++++++++++
net/slapi-nis/distinfo | 3 ++
net/slapi-nis/files/patch-Makefile.am | 9 +++++
net/slapi-nis/files/patch-configure.ac | 24 +++++++++++++
net/slapi-nis/files/patch-src_back-sch-sss_idmap.c | 13 +++++++
net/slapi-nis/pkg-descr | 3 ++
7 files changed, 94 insertions(+)
diff --git a/net/Makefile b/net/Makefile
index 22505ed6afda..6718efac5b3a 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1546,6 +1546,7 @@
SUBDIR += sipsak
SUBDIR += sl2tps
SUBDIR += slackcat
+ SUBDIR += slapi-nis
SUBDIR += slurm
SUBDIR += smb4k
SUBDIR += smbldap-tools
diff --git a/net/slapi-nis/Makefile b/net/slapi-nis/Makefile
new file mode 100644
index 000000000000..a3afa4da765b
--- /dev/null
+++ b/net/slapi-nis/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= slapi-nis
+DISTVERSION= 0.70.0
+CATEGORIES= net
+MASTER_SITES= https://codeberg.org/freeipa/slapi-nis/archive/
+
+MAINTAINER= joneum@FreeBSD.org
+COMMENT= Schema Compatibility plugin for 389 Directory Server
+WWW= https://codeberg.org/freeipa/slapi-nis
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${LOCALBASE}/include/dirsrv/slapi-plugin.h:net/389-ds-base
+LIB_DEPENDS= libldap.so:net/openldap26-client \
+ libnspr4.so:devel/nspr \
+ libnss3.so:security/nss \
+ libsss_nss_idmap.so:security/sssd2
+RUN_DEPENDS= 389-ds-base>=0:net/389-ds-base
+
+USES= autoreconf gmake libtool localbase:ldflags pkgconfig
+
+GNU_CONFIGURE= yes
+
+CONFIGURE_ARGS= --disable-nis \
+ --disable-static \
+ --enable-be-txns-by-default \
+ --with-idviews \
+ --with-ldap=openldap \
+ --with-nsswitch \
+ --with-pam \
+ --with-pam-service=system \
+ --with-server=dirsrv \
+ --with-sss-nss-idmap
+
+INSTALL_TARGET= install-strip
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+
+PLIST_FILES= lib/dirsrv/plugins/schemacompat-plugin.so
+
+.include <bsd.port.mk>
diff --git a/net/slapi-nis/distinfo b/net/slapi-nis/distinfo
new file mode 100644
index 000000000000..5316d6d296a7
--- /dev/null
+++ b/net/slapi-nis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1786096248
+SHA256 (slapi-nis-0.70.0.tar.gz) = d38cb3eb4c6d147fa9e4012ed96676847d8b14ec2c8b81c0b092534f69a8c3d5
+SIZE (slapi-nis-0.70.0.tar.gz) = 294083
diff --git a/net/slapi-nis/files/patch-Makefile.am b/net/slapi-nis/files/patch-Makefile.am
new file mode 100644
index 000000000000..eec268180929
--- /dev/null
+++ b/net/slapi-nis/files/patch-Makefile.am
@@ -0,0 +1,9 @@
+--- Makefile.am.orig 2026-08-07 12:00:39.904332000 +0200
++++ Makefile.am 2026-08-07 12:00:39.907284000 +0200
+@@ -1,5 +1,5 @@
+ EXTRA_DIST = COPYING NEWS README STATUS slapi-nis.spec doc/sch-*.txt doc/format-*.txt doc/betxn-notes.txt doc/examples/sch-*.ldif.in doc/devel doc/ipa
+-SUBDIRS = yp src tests
++SUBDIRS = yp src
+ ACLOCAL_AMFLAGS=-I m4
+
+ noinst_DATA =
diff --git a/net/slapi-nis/files/patch-configure.ac b/net/slapi-nis/files/patch-configure.ac
new file mode 100644
index 000000000000..c5953cb67245
--- /dev/null
+++ b/net/slapi-nis/files/patch-configure.ac
@@ -0,0 +1,24 @@
+--- configure.ac.orig 2026-08-07 11:29:23.851720000 +0200
++++ configure.ac 2026-08-07 11:33:11.008191000 +0200
+@@ -608,19 +608,9 @@
+ AC_SUBST(test_gid)
+ test_basedn=dc=example,dc=com
+ AC_SUBST(test_basedn)
+-while true ; do
+- test_ldapport=$RANDOM
+- if test $test_ldapport -ge 1024 ; then
+- break
+- fi
+-done
++test_ldapport=`expr $$ % 64512 + 1024`
+ AC_SUBST(test_ldapport)
+-while true ; do
+- test_nisport=$RANDOM
+- if test $test_nisport -ge 1024 ; then
+- break
+- fi
+-done
++test_nisport=`expr $$ % 63488 + 2048`
+ if test "x$enable_nis" = xyes ; then
+ AC_SUBST(test_nisport)
+ NIS_PLUGIN_CONTINUE_WITHOUT_PORTMAP_ENV="nis_plugin_continue_without_portmap_for_testing_only_no_i_really_mean_that"
diff --git a/net/slapi-nis/files/patch-src_back-sch-sss_idmap.c b/net/slapi-nis/files/patch-src_back-sch-sss_idmap.c
new file mode 100644
index 000000000000..22126afb2995
--- /dev/null
+++ b/net/slapi-nis/files/patch-src_back-sch-sss_idmap.c
@@ -0,0 +1,13 @@
+--- src/back-sch-sss_idmap.c.orig 2026-08-07 11:56:09.226628000 +0200
++++ src/back-sch-sss_idmap.c 2026-08-07 11:56:09.233987000 +0200
+@@ -47,8 +47,10 @@
+ return NSS_STATUS_SUCCESS;
+ case ENOENT:
+ return NSS_STATUS_NOTFOUND;
++#ifdef ETIME
+ case ETIME:
+ /* fall-through */
++#endif
+ case ERANGE:
+ return NSS_STATUS_TRYAGAIN;
+ case ETIMEDOUT:
diff --git a/net/slapi-nis/pkg-descr b/net/slapi-nis/pkg-descr
new file mode 100644
index 000000000000..294faa55eb5c
--- /dev/null
+++ b/net/slapi-nis/pkg-descr
@@ -0,0 +1,3 @@
+slapi-nis provides the Schema Compatibility plugin for 389 Directory
+Server. The plugin presents alternate LDAP views required by FreeIPA
+compatibility features, including support for SSSD ID mapping and ID views.