summary refs log tree commit diff
path: root/pkgs/development/libraries/kerberos
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-09-05 13:50:13 -0500
committerGitHub <noreply@github.com>2018-09-05 13:50:13 -0500
commit4120a9dda7a6bf314d0680f91cda9efd6140f6d1 (patch)
treed0b656c965830c63bd7b6ea9554fb66ac5db255d /pkgs/development/libraries/kerberos
parent7e740131902cb455e20383431cf16b3ea4ab7c79 (diff)
parente808b7da20c6123bfedc8b5b19ac7386a39b82ab (diff)
downloadnixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar.gz
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar.bz2
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar.lz
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar.xz
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.tar.zst
nixpkgs-4120a9dda7a6bf314d0680f91cda9efd6140f6d1.zip
Merge pull request #42295 from avnik/libprefixed-to-multioutput/heimdal
Libprefixed to multioutput/heimdal
Diffstat (limited to 'pkgs/development/libraries/kerberos')
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix63
1 files changed, 30 insertions, 33 deletions
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index 24adb2a141e..5b92458d89e 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -2,16 +2,11 @@
 , texinfo, perlPackages
 , openldap, libcap_ng, sqlite, openssl, db, libedit, pam
 , CoreFoundation, Security, SystemConfiguration
-# Extra Args
-, type ? ""
 }:
 
-let
-  libOnly = type == "lib";
-in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "${type}heimdal-${version}";
+  name = "heimdal-${version}";
   version = "7.5.0";
 
   src = fetchFromGitHub {
@@ -21,28 +16,31 @@ stdenv.mkDerivation rec {
     sha256 = "1j38wjj4k0q8vx168k3d3k0fwa8j1q5q8f2688nnx1b9qgjd6w1d";
   };
 
+  outputs = [ "out" "dev" "man" "info" ];
+
   patches = [ ./heimdal-make-missing-headers.patch ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex ]
-    ++ (with perlPackages; [ JSON ])
-    ++ optional (!libOnly) texinfo;
+  nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex texinfo ]
+    ++ (with perlPackages; [ JSON ]);
   buildInputs = optionals (stdenv.isLinux) [ libcap_ng ]
-    ++ [ db sqlite openssl libedit ]
-    ++ optionals (stdenv.isDarwin) [ CoreFoundation Security SystemConfiguration ]
-    ++ optionals (!libOnly) [ openldap pam ];
+    ++ [ db sqlite openssl libedit openldap pam]
+    ++ optionals (stdenv.isDarwin) [ CoreFoundation Security SystemConfiguration ];
 
   ## ugly, X should be made an option
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
+    "--infodir=$info/share/info"
     "--enable-hdb-openldap-module"
     "--with-sqlite3=${sqlite.dev}"
-    "--with-libedit=${libedit}"
+
+  # ugly, --with-libedit is not enought, it fall back to bundled libedit
+    "--with-libedit-include=${libedit.dev}/include"
+    "--with-libedit-lib=${libedit}/lib"
     "--with-openssl=${openssl.dev}"
     "--without-x"
     "--with-berkeley-db"
     "--with-berkeley-db-include=${db.dev}/include"
-  ] ++ optionals (!libOnly) [
     "--with-openldap=${openldap.dev}"
   ] ++ optionals (stdenv.isLinux) [
     "--with-capng"
@@ -50,24 +48,17 @@ stdenv.mkDerivation rec {
 
   postUnpack = ''
     sed -i '/^DEFAULT_INCLUDES/ s,$, -I..,' source/cf/Makefile.am.common
+    sed -i -e 's/date/date --date="@$SOURCE_DATE_EPOCH"/' source/configure.ac 
   '';
 
-  buildPhase = optionalString libOnly ''
-    (cd include; make -j $NIX_BUILD_CORES)
-    (cd lib; make -j $NIX_BUILD_CORES)
-    (cd tools; make -j $NIX_BUILD_CORES)
-    (cd include/hcrypto; make -j $NIX_BUILD_CORES)
-    (cd lib/hcrypto; make -j $NIX_BUILD_CORES)
-  '';
-
-  installPhase = optionalString libOnly ''
-    (cd include; make -j $NIX_BUILD_CORES install)
-    (cd lib; make -j $NIX_BUILD_CORES install)
-    (cd tools; make -j $NIX_BUILD_CORES install)
-    (cd include/hcrypto; make -j $NIX_BUILD_CORES install)
-    (cd lib/hcrypto; make -j $NIX_BUILD_CORES install)
-    rm -rf $out/{libexec,sbin,share}
-    find $out/bin -type f | grep -v 'krb5-config' | xargs rm
+  preConfigure = ''
+    configureFlagsArray+=(
+      "--bindir=$out/bin"
+      "--sbindir=$out/sbin"
+      "--libexecdir=$out/libexec/heimdal"
+      "--mandir=$man/share/man"
+      "--infodir=$man/share/info"
+      "--includedir=$dev/include")
   '';
 
   # We need to build hcrypt for applications like samba
@@ -81,9 +72,15 @@ stdenv.mkDerivation rec {
     (cd include/hcrypto; make -j $NIX_BUILD_CORES install)
     (cd lib/hcrypto; make -j $NIX_BUILD_CORES install)
 
-    # Doesn't succeed with --libexec=$out/sbin, so
-    mv "$out/libexec/"* $out/sbin/
-    rmdir $out/libexec
+    # Do we need it?
+    rm $out/bin/su
+
+    mkdir -p $dev/bin
+    mv $out/bin/krb5-config $dev/bin/
+
+    # asn1 compilers, move them to $dev
+    mv $out/libexec/heimdal/heimdal/* $dev/bin
+    rmdir $out/libexec/heimdal/heimdal
   '';
 
   # Issues with hydra