nixpkgs/pkgs/development/libraries/kerberos/heimdal.nix
aszlig e957d71680
heimdal: Move openssh to propagatedBuildInputs.
A few more libraries were switched to using the kerberos attribute
instead of krb5 in 5fe7439. So those libraries are now built against
heimbal instead of MIT kerberos.

One of those libraries is libtirpc, which results in the following build
output:

http://hydra.nixos.org/build/18423661/nixlog/1/raw

The reason for this is, that "pkgconfig --libs" of heimdal lists
-lcrypto (which is part of OpenSSL), which is not propagated to
libtirpc.

See here (lines wrapped with backslash at the end of line):

$ nix-shell -p heimdal pkgconfig --command 'pkg-config --libs heimdal-gssapi'
-L/nix/store/cxjkl33j0mb4ilffaijl7gschbjzfv35-heimdal-1.5.3/lib -lgssapi \
-lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lroken -lcrypt \
-ldl -lresolv -pthread

Versus using MIT kerberos:

$ nix-shell -p krb5 pkgconfig --command 'pkg-config --libs krb5'
-L/nix/store/91vyw8yn89qnv8m8b35kgc4c4v7zp9as-krb5-1.13/lib -lkrb5 \
-lk5crypto -lcom_err

So the latter only lists libraries that are part of krb5 itself.

By adding openssh to propagatedBuildInputs, we should be able to build
any package that depends on either krb5/heimdal without any missing
dependencies.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-01-06 17:11:16 +01:00

55 lines
1.3 KiB
Nix

{ stdenv, fetchurl, pkgconfig, flex, yacc, readline, openldap, libcap_ng
, sqlite, db, ncurses, openssl, cyrus_sasl
}:
stdenv.mkDerivation rec {
name = "heimdal-1.5.3";
src = fetchurl {
urls = [
"http://www.h5l.org/dist/src/${name}.tar.gz"
"http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz"
];
sha256 = "19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma";
};
## ugly, X should be made an option
configureFlags = [
"--enable-hdb-openldap-module"
"--with-capng"
"--with-openldap=${openldap}"
"--with-sqlite3=${sqlite}"
"--without-x"
];
# We need to build hcrypt for applications like samba
postBuild = ''
(cd lib/hcrypto; make)
(cd include/hcrypto; make)
'';
postInstall = ''
# Install hcrypto
(cd lib/hcrypto; make install)
(cd include/hcrypto; make install)
# dont succeed with --libexec=$out/sbin, so
mv "$out/libexec/"* $out/sbin/
rmdir $out/libexec
'';
buildInputs = [
pkgconfig flex yacc readline openldap libcap_ng sqlite db ncurses
cyrus_sasl
];
propagatedBuildInputs = [ openssl ];
meta = with stdenv.lib; {
description = "an implementation of Kerberos 5 (and some more stuff) largely written in Sweden";
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}