diff --git a/pkgs/desktops/gnome-3/3.16/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.16/core/gnome-control-center/default.nix index c425f41e8e1..725aa6a6b12 100644 --- a/pkgs/desktops/gnome-3/3.16/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/3.16/core/gnome-control-center/default.nix @@ -2,7 +2,7 @@ , libcanberra, libcanberra_gtk3, accountsservice, libpwquality, pulseaudio, fontconfig , gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk -, cracklib, python, krb5, networkmanagerapplet, networkmanager +, cracklib, python, libkrb5, networkmanagerapplet, networkmanager , libwacom, samba, shared_mime_info, tzdata, icu, libtool, udev , docbook_xsl, docbook_xsl_ns, modemmanager, clutter, clutter_gtk }: @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality - accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile + accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify libxkbfile shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo gdk_pixbuf gnome3.defaultIconTheme librsvg clutter clutter_gtk gnome3.vino udev libcanberra_gtk3 diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index 72bdabb4349..a5586117588 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, libmemcached, pcre , libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c -, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, krb5 +, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng , libxslt, ocaml, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit , libvpx, imagemagick, fribidi @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { [ cmake pkgconfig boost libunwind mariadb libmemcached pcre gdb git perl libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline - libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml krb5 + libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5 gmp libyaml libedit libvpx imagemagick fribidi ]; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 41c570ee554..c60ff03aa67 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -1,41 +1,127 @@ -{ stdenv, fetchurl, pkgconfig, perl, ncurses, yacc, openssl, openldap, bootstrap_cmds }: +{ stdenv, fetchurl, pkgconfig, perl +, yacc, bootstrap_cmds +# Optional Dependencies +, libedit ? null, readline ? null, ncurses ? null, libverto ? null +, openldap ? null, db ? null + +# Crypto Dependencies +, openssl ? null, nss ? null, nspr ? null + +# Extra Arguments +, prefix ? "" +}: + +with stdenv; let - pname = "krb5"; - version = "1.13.1"; - name = "${pname}-${version}"; - webpage = http://web.mit.edu/kerberos/; -in + libOnly = prefix == "lib"; -stdenv.mkDerivation (rec { - inherit name; + optOpenssl = shouldUsePkg openssl; + optNss = shouldUsePkg nss; + optNspr = shouldUsePkg nspr; + optLibedit = if libOnly then null else shouldUsePkg libedit; + optReadline = if libOnly then null else shouldUsePkg readline; + optNcurses = if libOnly then null else shouldUsePkg ncurses; + optLibverto = shouldUsePkg libverto; + optOpenldap = if libOnly then null else shouldUsePkg openldap; + optDb = if libOnly then null else shouldUsePkg db; + + # Prefer the openssl implementation + cryptoStr = if optOpenssl != null then "openssl" + else if optNss != null && optNspr != null then "nss" + else "builtin"; + + cryptoInputs = { + "openssl" = [ optOpenssl ]; + "nss" = [ optNss optNspr ]; + "builtin" = [ ]; + }.${cryptoStr}; + + tlsStr = if optOpenssl != null then "openssl" + else "no"; + + tlsInputs = { + "openssl" = [ optOpenssl ]; + "no" = [ ]; + }.${tlsStr}; + + # Libedit is less buggy in krb5, readline breaks tests + lineParserStr = if optLibedit != null then "libedit" + else if optReadline != null && optNcurses != null then "readline" + else "no"; + + lineParserInputs = { + "libedit" = [ optLibedit ]; + "readline" = [ optReadline optNcurses ]; + "no" = [ ]; + }.${lineParserStr}; +in +with stdenv.lib; +stdenv.mkDerivation rec { + name = "${prefix}krb5-${version}"; + version = "1.13.2"; src = fetchurl { - url = "${webpage}dist/krb5/1.13/${name}-signed.tar"; - sha256 = "0gk6jvr64rf6l4xcyxn8i3fr5d1j7dhqvwyv3vw2qdkzz7yjkxjd"; + url = "${meta.homepage}dist/krb5/1.13/krb5-${version}-signed.tar"; + sha256 = "1qbdzyrws7d0q4filsibh28z54pd5l987jr0ygv43iq9085w6a75"; }; - buildInputs = [ pkgconfig perl ncurses yacc openssl openldap ] + nativeBuildInputs = [ pkgconfig perl ]; + buildInputs = [ yacc optOpenssl optLibverto optOpenldap ] + ++ cryptoInputs ++ tlsInputs ++ lineParserInputs # Provides the mig command used by the build scripts - ++ stdenv.lib.optional stdenv.isDarwin bootstrap_cmds ; + ++ stdenv.lib.optional stdenv.isDarwin bootstrap_cmds; unpackPhase = '' tar -xf $src - tar -xzf ${name}.tar.gz - cd ${name}/src + tar -xzf krb5-${version}.tar.gz + cd krb5-${version}/src ''; - configureFlags = [ "--with-tcl=no" ]; + configureFlags = [ + (mkOther "sysconfdir" "/etc") + (mkOther "localstatedir" "/var") + (mkEnable false "athena" null) + (mkWith false "vague-errors" null) + (mkWith true "crypto-impl" cryptoStr) + (mkWith true "pkinit-crypto-impl" cryptoStr) + (mkWith true "tls-impl" tlsStr) + (mkEnable true "aesni" null) + (mkEnable true "kdc-lookaside-cache" null) + (mkEnable (optOpenssl != null) "pkinit" null) + (mkWith (lineParserStr == "libedit") "libedit" null) + (mkWith (lineParserStr == "readline") "readline" null) + (mkWith (optLibverto != null) "system-verto" null) + (mkWith (optOpenldap != null) "ldap" null) + (mkWith false "tcl" null) + (mkWith (optDb != null) "system-db" null) + ]; + + buildPhase = optionalString libOnly '' + (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 install) + (cd include; make install) + (cd lib; make install) + (cd build-tools; make install) + rm -rf $out/{bin,sbin,share} + ''; enableParallelBuilding = true; meta = with stdenv.lib; { + homepage = http://web.mit.edu/kerberos/; description = "MIT Kerberos 5"; - homepage = webpage; license = "MPL"; platforms = platforms.unix; maintainers = with maintainers; [ wkennington ]; }; passthru.implementation = "krb5"; -}) +} diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix index b135e49f52b..eb795d6b28e 100644 --- a/pkgs/development/libraries/ti-rpc/default.nix +++ b/pkgs/development/libraries/ti-rpc/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, krb5 }: +{ fetchurl, stdenv, libkrb5 }: stdenv.mkDerivation rec { name = "libtirpc-0.3.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "07d1wlfzf3ia09mjn3f3ay8isk7yx4a6ckfkzx5khnqlc7amkzna"; }; - propagatedBuildInputs = [ krb5 ]; + propagatedBuildInputs = [ libkrb5 ]; # http://www.sourcemage.org/projects/grimoire/repository/revisions/d6344b6a3a94b88ed67925a474de5930803acfbf preConfigure = '' diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index 195e6bc4329..e8abe0ef0d0 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libestr, json_c, zlib, pythonPackages -, krb5 ? null, systemd ? null, jemalloc ? null, libmysql ? null, postgresql ? null +, libkrb5 ? null, systemd ? null, jemalloc ? null, libmysql ? null, postgresql ? null , libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null , libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null , libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libestr json_c zlib pythonPackages.docutils - krb5 jemalloc libmysql postgresql libdbi net_snmp libuuid curl gnutls + libkrb5 jemalloc libmysql postgresql libdbi net_snmp libuuid curl gnutls libgcrypt liblognorm openssl librelp libgt liblogging libnet hadoop rdkafka libmongo-client czmq rabbitmq-c hiredis ] ++ stdenv.lib.optional stdenv.isLinux systemd; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { (mkWith true "systemdsystemunitdir" "\${out}/etc/systemd/system") (mkEnable true "largefile" null) (mkEnable true "regexp" null) - (mkEnable (krb5 != null) "gssapi-krb5" null) + (mkEnable (libkrb5 != null) "gssapi-krb5" null) (mkEnable true "klog" null) (mkEnable true "kmsg" null) (mkEnable (systemd != null) "imjournal" null) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1d9ac42ac3a..4b82e305651 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6464,6 +6464,9 @@ let }; inherit (darwin) bootstrap_cmds; }; + libkrb5 = krb5.override { + prefix = "lib"; + }; LASzip = callPackage ../development/libraries/LASzip { };