Edit

IABSD.fr/ports/databases/openldap/Makefile

Branch :

  • Show log

    Commit

  • Author : sthen
    Date : 2025-01-28 11:22:02
    Hash : 223dd2dc
    Message : set COMPILER_LANGS=c for various C-only ports add annotations near COMPILER for some other ports that don't have COMPILER_LIBCXX in WANTLIB not changing the actual compiler version of anything here (some could possibly remove the COMPILER line completely where they only used COMPILER due to an old WANTLIB entry which has since stopped using C++, but changing that is too likely to break things)

  • databases/openldap/Makefile
  • COMMENT-main =	  LDAP client library and tools
    COMMENT-server =  LDAP directory server
    
    DISTNAME =	  openldap-2.6.9
    REVISION =	0
    
    MULTI_PACKAGES =  -main -server
    PKGNAME-main =	  ${DISTNAME:S/-/-client-/}
    EXTRACT_SUFX =		.tgz
    # aci only affects the server; override pkgname/path for the client
    FULLPKGNAME-main = ${DISTNAME:S/-/-client-/}${FLAVOR_EXT:S/-aci//}
    FULLPKGPATH-main = databases/openldap,-main${FLAVOR_EXT:S/-aci//:S/-/,/g}
    EPOCH =		0
    
    SHARED_LIBS +=	lber	16.0
    SHARED_LIBS +=	ldap	16.0
    
    CATEGORIES =	databases net
    
    HOMEPAGE =	https://www.openldap.org/
    
    MAINTAINER =	Stuart Henderson <stu.ports@spacehopper.org>
    
    # OpenLDAP Public License
    PERMIT_PACKAGE =	Yes
    
    WANTLIB=	c crypto pthread sasl2 ssl
    WANTLIB-server=	${WANTLIB} lber ldap ltdl m perl sodium
    
    SITES =		https://openldap.org/software/download/OpenLDAP/openldap-release/ \
    		https://mirror.eu.oneandone.net/software/openldap/ \
    		https://mirror.aarnet.edu.au/pub/openldap/openldap-release/ \
    		ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-release/
    
    COMPILER =		base-clang ports-gcc
    COMPILER_LANGS =	c
    DPB_PROPERTIES =	parallel
    DEBUG_PACKAGES =	${BUILD_PACKAGES}
    
    AUTOCONF_VERSION =	2.71
    CONFIGURE_STYLE =	autoconf
    MODGNU_CONFIG_GUESS_DIRS = ${WRKSRC} ${WRKSRC}/build
    USE_GMAKE =		Yes
    
    FLAVOR ?=
    FLAVORS =		aci gssapi
    
    CONFIGURE_ARGS +=	--enable-dynamic \
    			--enable-ipv6 \
    			--with-tls=openssl
    
    # lloadd needs the ports version of libevent, autoconf check
    # needs tweaking for this
    CONFIGURE_ARGS +=	--disable-balancer
    # --enable-balancer / --enable-balancer=mod
    
    # options
    CONFIGURE_ARGS +=	--enable-argon2 \
    			--enable-cleartext \
    			--enable-crypt \
    			--enable-modules \
    			--enable-spasswd \
    			--with-argon2=libsodium \
    			--with-cyrus-sasl
    
    # default to using modules rather than linked in to slapd directly
    # doing this enables everything by default rather than having a mix of
    # on/off so some are either disabled below or set to 'yes' to link in
    # directly. link in the mdb backend and syncprov overlay to slapd
    # itself so in the common case there's no need to change config to
    # load modules.
    CONFIGURE_ARGS +=	--enable-backends=mod \
    			--enable-mdb=yes \
    			--enable-overlays=mod \
    			--enable-syncprov=yes
    
    # disabled backends (other available backends are built as modules)
    CONFIGURE_ARGS +=	--disable-passwd \
    			--disable-sock \
    			--disable-sql \
    			--disable-wt
    
    # aci cannot be built as a module
    .if ${FLAVOR:Maci}
    CONFIGURE_ARGS +=	--enable-dynacl \
    			--enable-aci
    .endif
    
    .if ${FLAVOR:Mgssapi}
    CONFIGURE_ARGS +=	--enable-gssapi=${LOCALBASE}/heimdal
    MODULES += security/heimdal
    WANTLIB += heimdal/lib/gssapi
    WANTLIB += heimdal/lib/heimntlm
    WANTLIB += heimdal/lib/heimsqlite
    .endif
    
    LIB_DEPENDS +=		security/cyrus-sasl2
    LIB_DEPENDS-server =	${LIB_DEPENDS} \
    			${BUILD_PKGPATH},-main \
    			devel/libtool,-ltdl \
    			security/libsodium
    
    CPPFLAGS =		-I${LOCALBASE}/include/sasl -I${LOCALBASE}/include
    LDFLAGS =		-L${LOCALBASE}/lib -Wl,--export-dynamic
    CFLAGS +=		-Wno-format-extra-args
    CONFIGURE_ENV +=	CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
    
    # bypass autoconf check for OpenSSL 1.1.1+ function which is not
    # actually used in OpenLDAP code
    CONFIGURE_ENV +=	ac_cv_lib_ssl_SSL_export_keying_material_early=yes
    
    # just to allow lining up @samples in PLISTs
    LDAP_SYSCONF =		${SYSCONFDIR}/openldap
    SUBST_VARS +=		LDAP_SYSCONF
    
    post-extract:
    	${INSTALL_SCRIPT} ${FILESDIR}/soelim.awk ${WRKDIR}/bin/soelim
    
    post-build:
    	cd ${WRKSRC}/contrib/slapd-modules/passwd/totp; \
    	${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
    	CC="${CC}" OPT="${CFLAGS}"
    
    # mv config files rather than overriding in FAKE_FLAGS; the filenames
    # are merged into manpages during fake-install
    post-install:
    	mv ${WRKINST}${SYSCONFDIR}/openldap ${PREFIX}/share/examples/
    	rm ${PREFIX}/share/examples/openldap/*.default
    
    	cd ${WRKSRC}/contrib/slapd-modules/passwd/totp; \
    	${SETENV} ${MAKE_ENV} ${FAKE_SETUP} ${MAKE_PROGRAM} ${ALL_FAKE_FLAGS} \
    	mandir=${TRUEPREFIX}/man install
    
    TEST_TARGET =		test
    TEST_DEPENDS =		shells/bash \
    			sysutils/coreutils
    
    pre-test:
    	ln -fs ${LOCALBASE}/bin/gdate ${WRKDIR}/bin/date
    
    .include <bsd.port.mk>