diff options
author | ners <ners@gmx.ch> | 2022-10-17 11:04:41 +0200 |
---|---|---|
committer | ners <ners@gmx.ch> | 2022-10-19 10:50:14 +0200 |
commit | 53580d9f09d24c749c4fce323888bd7df8b4b6b3 (patch) | |
tree | 44048ef41c160bbb0a40e4fd334d46c062a40773 /pkgs/servers/ldap/389 | |
parent | cff2660d09984c83a3a2be8ff9a49800e73c4280 (diff) |
389-ds-base: 2.0.7 -> 2.3.0
Diffstat (limited to 'pkgs/servers/ldap/389')
-rw-r--r-- | pkgs/servers/ldap/389/default.nix | 184 |
1 files changed, 81 insertions, 103 deletions
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix index 438d7d0e630ff..8a3e91bf0305f 100644 --- a/pkgs/servers/ldap/389/default.nix +++ b/pkgs/servers/ldap/389/default.nix @@ -1,144 +1,121 @@ -{ stdenv -, autoreconfHook +{ lib +, stdenv , fetchFromGitHub -, lib - -, bzip2 -, cmocka +, autoconf +, automake +, libtool +, pkg-config , cracklib -, cyrus_sasl -, db -, doxygen -, icu +, lmdb +, json_c +, linux-pam , libevent -, libkrb5 -, lm_sensors -, net-snmp , nspr , nss , openldap -, openssl -, pcre -, perl -, perlPackages -, pkg-config +, withOpenldap ? true +, db +, withBdb ? true +, cyrus_sasl +, icu +, net-snmp +, withNetSnmp ? true +, krb5 +, pcre2 , python3 -, svrcore +, rustPlatform +, openssl +, systemd +, withSystemd ? stdenv.isLinux , zlib - -, enablePamPassthru ? true -, pam - -, enableCockpit ? true , rsync - -, enableDna ? true -, enableLdapi ? true -, enableAutobind ? false -, enableAutoDnSuffix ? false -, enableBitwise ? true -, enableAcctPolicy ? true -, enablePosixWinsync ? true +, withCockpit ? true +, withAsan ? false }: stdenv.mkDerivation rec { pname = "389-ds-base"; - version = "2.0.7"; + version = "2.3.0"; src = fetchFromGitHub { owner = "389ds"; repo = pname; rev = "${pname}-${version}"; - sha256 = "sha256-aM1qo+yHrCFespPWHv2f25ooqQVCIZGaZS43dY6kiC4="; + sha256 = "sha256-GnntF0UaufDrgcM6FFFdwxwVoU9Hu2NXTW1A2lTb6T4="; }; - nativeBuildInputs = [ autoreconfHook pkg-config doxygen ]; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "source/src"; + name = "${pname}-${version}"; + hash = "sha256-OJXvNL7STNwvt6EiV2r8zv2ZoUGgNUj7UssAQNLN4KI="; + }; + + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + python3 + rustPlatform.rust.cargo + rustPlatform.rust.rustc + ] + ++ lib.optional withCockpit rsync; buildInputs = [ - bzip2 cracklib - cyrus_sasl - db - icu + lmdb + json_c + linux-pam libevent - libkrb5 - lm_sensors - net-snmp nspr nss - openldap + cyrus_sasl + icu + krb5 + pcre2 openssl - pcre - perl - python3 - svrcore zlib - - # tests - cmocka - libevent - - # lib389 - (python3.withPackages (ps: with ps; [ - setuptools - python-ldap - six - pyasn1 - pyasn1-modules - python-dateutil - argcomplete - libselinux - ])) - - # logconv.pl - perlPackages.DBFile - perlPackages.ArchiveTar ] - ++ lib.optional enableCockpit rsync - ++ lib.optional enablePamPassthru pam; + ++ lib.optional withSystemd systemd + ++ lib.optional withOpenldap openldap + ++ lib.optional withBdb db + ++ lib.optional withNetSnmp net-snmp; postPatch = '' - substituteInPlace Makefile.am \ - --replace 's,@perlpath\@,$(perldir),g' 's,@perlpath\@,$(perldir) $(PERLPATH),g' - patchShebangs ./buildnum.py ./ldap/servers/slapd/mkDBErrStrs.py ''; preConfigure = '' - # Create perl paths for library imports in perl scripts - PERLPATH="" - for P in $(echo $PERL5LIB | sed 's/:/ /g'); do - PERLPATH="$PERLPATH $(echo $P/*/*)" - done - export PERLPATH + ./autogen.sh --prefix="$out" ''; - configureFlags = - let - mkEnable = cond: name: if cond then "--enable-${name}" else "--disable-${name}"; - in - [ - "--enable-cmocka" - "--localstatedir=/var" - "--sysconfdir=/etc" - "--with-db-inc=${db.dev}/include" - "--with-db-lib=${db.out}/lib" - "--with-db=yes" - "--with-netsnmp-inc=${lib.getDev net-snmp}/include" - "--with-netsnmp-lib=${lib.getLib net-snmp}/lib" - "--with-netsnmp=yes" - "--with-openldap" + preBuild = '' + mkdir -p ./vendor + tar -xzf ${cargoDeps} -C ./vendor --strip-components=1 + ''; - "${mkEnable enableCockpit "cockpit"}" - "${mkEnable enablePamPassthru "pam-passthru"}" - "${mkEnable enableDna "dna"}" - "${mkEnable enableLdapi "ldapi"}" - "${mkEnable enableAutobind "autobind"}" - "${mkEnable enableAutoDnSuffix "auto-dn-suffix"}" - "${mkEnable enableBitwise "bitwise"}" - "${mkEnable enableAcctPolicy "acctpolicy"}" - "${mkEnable enablePosixWinsync "posix-winsync"}" - ]; + configureFlags = [ + "--enable-rust-offline" + "--enable-autobind" + ] + ++ lib.optionals withSystemd [ + "--with-systemd" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + ] ++ lib.optionals withOpenldap [ + "--with-openldap" + ] ++ lib.optionals withBdb [ + "--with-db-inc=${lib.getDev db}/include" + "--with-db-lib=${lib.getLib db}/lib" + ] ++ lib.optionals withNetSnmp [ + "--with-netsnmp-inc=${lib.getDev net-snmp}/include" + "--with-netsnmp-lib=${lib.getLib net-snmp}/lib" + ] ++ lib.optionals (!withCockpit) [ + "--disable-cockpit" + ] ++ lib.optionals withAsan [ + "--enable-asan" + "--enable-debug" + ]; enableParallelBuilding = true; @@ -156,5 +133,6 @@ stdenv.mkDerivation rec { description = "Enterprise-class Open Source LDAP server for Linux"; license = licenses.gpl3Plus; platforms = platforms.linux; + maintainers = [ maintainers.ners ]; }; } |