kerberos: split headers into $dev

This commit is contained in:
Vladimír Čunát 2017-12-17 14:51:32 +01:00
parent 3c51628a4c
commit 13e6a5c561
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
5 changed files with 30 additions and 15 deletions

View File

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
sha256 = "0zn8s7anb10hw3nzwjz7vg10fgmmgvwnibn2zrn3nppjxn9f6f8n";
};
outputs = [ "out" "dev" ];
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
@ -32,20 +34,26 @@ stdenv.mkDerivation rec {
preConfigure = "cd ./src";
buildPhase = optionalString libOnly ''
(cd util; make -j $NIX_BUILD_CORES)
(cd include; make -j $NIX_BUILD_CORES)
(cd lib; make -j $NIX_BUILD_CORES)
(cd build-tools; make -j $NIX_BUILD_CORES)
MAKE="make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES"
(cd util; $MAKE)
(cd include; $MAKE)
(cd lib; $MAKE)
(cd build-tools; $MAKE)
'';
installPhase = optionalString libOnly ''
mkdir -p $out/{bin,include/{gssapi,gssrpc,kadm5,krb5},lib/pkgconfig,sbin,share/{et,man/man1}}
(cd util; make -j $NIX_BUILD_CORES install)
(cd include; make -j $NIX_BUILD_CORES install)
(cd lib; make -j $NIX_BUILD_CORES install)
(cd build-tools; make -j $NIX_BUILD_CORES install)
rm -rf $out/{sbin,share}
find $out/bin -type f | grep -v 'krb5-config' | xargs rm
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}
'';
# not via outputBin, due to reference from libkrb5.so
postInstall = ''
moveToOutput bin "$dev"
'';
enableParallelBuilding = true;

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
APU="$(echo "${aprutil.dev}"/bin/*-config)" CC="${
if stdenv.cc.isClang then "clang" else "${stdenv.cc}/bin/gcc"
}" ${
if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos}\""
if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos.dev}\""
}
'';

View File

@ -1,10 +1,17 @@
{ stdenv, fetchurl, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
, sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
, buildEnv
}:
let
statdPath = lib.makeBinPath [ systemd utillinux coreutils ];
# Not nice; feel free to find a nicer solution.
kerberosEnv = buildEnv {
name = "kerberos-env-${kerberos.version}";
paths = with lib; [ (getDev kerberos) (getLib kerberos) ];
};
in stdenv.mkDerivation rec {
name = "nfs-utils-${version}";
version = "2.1.1";
@ -26,7 +33,7 @@ in stdenv.mkDerivation rec {
configureFlags =
[ "--enable-gss"
"--with-statedir=/var/lib/nfs"
"--with-krb5=${kerberos}"
"--with-krb5=${kerberosEnv}"
"--with-systemd=$(out)/etc/systemd/system"
"--enable-libmount-mount"
]

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
./regen.sh
${stdenv.lib.optionalString (kerberos != null)
"export KRB5_CONFIG=${kerberos}/bin/krb5-config"}
"export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"}
configureFlagsArray=(
"--with-linux-kernel-build=$TMP/linux"

View File

@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
]
++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos}";
++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}";
CXX = "c++";
CXXCPP = "c++ -E";