diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/kerberos | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/kerberos')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/kerberos/krb5.nix | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix b/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix index c632c2fdac9e..7397824f9a76 100644 --- a/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix +++ b/nixpkgs/pkgs/development/libraries/kerberos/krb5.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchurl, pkg-config, perl, bison, bootstrap_cmds , openssl, openldap, libedit, keyutils +, nixosTests # Extra Arguments , type ? "" @@ -16,56 +17,62 @@ let libOnly = type == "lib"; in -with lib; stdenv.mkDerivation rec { - name = "${type}krb5-${version}"; - version = "1.19.2"; + pname = "${type}krb5"; + version = "1.20"; src = fetchurl { - url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz"; - sha256 = "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h"; + url = "https://kerberos.org/dist/krb5/${lib.versions.majorMinor version}/krb5-${version}.tar.gz"; + sha256 = "sha256-fgIr3TyFGDAXP5+qoAaiMKDg/a1MlT6Fv/S/DaA24S8"; }; outputs = [ "out" "dev" ]; - configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"] + configureFlags = [ "--localstatedir=/var/lib" ] # krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time. # See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737 - ++ optional staticOnly [ "--enable-static" "--disable-shared" ] - ++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'' - ++ optionals (stdenv.buildPlatform != stdenv.hostPlatform) + ++ lib.optional staticOnly [ "--enable-static" "--disable-shared" ] + ++ lib.optional stdenv.isFreeBSD ''WARN_CFLAGS=""'' + ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "krb5_cv_attr_constructor_destructor=yes,yes" "ac_cv_func_regcomp=yes" "ac_cv_printf_positional=yes" ]; nativeBuildInputs = [ pkg-config perl ] - ++ optional (!libOnly) bison + ++ lib.optional (!libOnly) bison # Provides the mig command used by the build scripts - ++ optional stdenv.isDarwin bootstrap_cmds; + ++ lib.optional stdenv.isDarwin bootstrap_cmds; buildInputs = [ openssl ] - ++ optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "bionic" && !(stdenv.hostPlatform.useLLVM or false)) [ keyutils ] - ++ optionals (!libOnly) [ openldap libedit ]; + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.libc != "bionic" && !(stdenv.hostPlatform.useLLVM or false)) [ keyutils ] + ++ lib.optionals (!libOnly) [ openldap libedit ]; - preConfigure = "cd ./src"; + sourceRoot = "krb5-${version}/src"; + + libFolders = [ "util" "include" "lib" "build-tools" ]; + + buildPhase = lib.optionalString libOnly '' + runHook preBuild - buildPhase = optionalString libOnly '' MAKE="make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES" - (cd util; $MAKE) - (cd include; $MAKE) - (cd lib; $MAKE) - (cd build-tools; $MAKE) + for folder in $libFolders; do + $MAKE -C $folder + done + + runHook postBuild ''; - installPhase = optionalString libOnly '' + installPhase = lib.optionalString libOnly '' + runHook preInstall + mkdir -p "$out"/{bin,sbin,lib/pkgconfig,share/{et,man/man1}} \ "$dev"/include/{gssapi,gssrpc,kadm5,krb5} - (cd util; $MAKE install) - (cd include; $MAKE install) - (cd lib; $MAKE install) - (cd build-tools; $MAKE install) - ${postInstall} + for folder in $libFolders; do + $MAKE -C $folder install + done + + runHook postInstall ''; # not via outputBin, due to reference from libkrb5.so @@ -76,12 +83,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; doCheck = false; # fails with "No suitable file for testing purposes" - meta = { + meta = with lib; { description = "MIT Kerberos 5"; homepage = "http://web.mit.edu/kerberos/"; license = licenses.mit; platforms = platforms.unix ++ platforms.windows; }; - passthru.implementation = "krb5"; + passthru = { + implementation = "krb5"; + tests = { inherit (nixosTests) kerberos; }; + }; } |