mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 06:14:26 +03:00
Merge #29785: curl: enable kerberos
This commit is contained in:
commit
9b54a00160
@ -19,32 +19,41 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0zn8s7anb10hw3nzwjz7vg10fgmmgvwnibn2zrn3nppjxn9f6f8n";
|
sha256 = "0zn8s7anb10hw3nzwjz7vg10fgmmgvwnibn2zrn3nppjxn9f6f8n";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
|
configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
|
||||||
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
|
++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig perl yacc ]
|
nativeBuildInputs = [ pkgconfig perl ]
|
||||||
|
++ optional (!libOnly) yacc
|
||||||
# Provides the mig command used by the build scripts
|
# Provides the mig command used by the build scripts
|
||||||
++ optional stdenv.isDarwin bootstrap_cmds;
|
++ optional (stdenv.isDarwin && !libOnly) bootstrap_cmds;
|
||||||
buildInputs = [ openssl ]
|
buildInputs = [ openssl ]
|
||||||
++ optionals (!libOnly) [ openldap libedit ];
|
++ optionals (!libOnly) [ openldap libedit ];
|
||||||
|
|
||||||
preConfigure = "cd ./src";
|
preConfigure = "cd ./src";
|
||||||
|
|
||||||
buildPhase = optionalString libOnly ''
|
buildPhase = optionalString libOnly ''
|
||||||
(cd util; make -j $NIX_BUILD_CORES)
|
MAKE="make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES"
|
||||||
(cd include; make -j $NIX_BUILD_CORES)
|
(cd util; $MAKE)
|
||||||
(cd lib; make -j $NIX_BUILD_CORES)
|
(cd include; $MAKE)
|
||||||
(cd build-tools; make -j $NIX_BUILD_CORES)
|
(cd lib; $MAKE)
|
||||||
|
(cd build-tools; $MAKE)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = optionalString libOnly ''
|
installPhase = optionalString libOnly ''
|
||||||
mkdir -p $out/{bin,include/{gssapi,gssrpc,kadm5,krb5},lib/pkgconfig,sbin,share/{et,man/man1}}
|
mkdir -p "$out"/{bin,sbin,lib/pkgconfig,share/{et,man/man1}} \
|
||||||
(cd util; make -j $NIX_BUILD_CORES install)
|
"$dev"/include/{gssapi,gssrpc,kadm5,krb5}
|
||||||
(cd include; make -j $NIX_BUILD_CORES install)
|
(cd util; $MAKE install)
|
||||||
(cd lib; make -j $NIX_BUILD_CORES install)
|
(cd include; $MAKE install)
|
||||||
(cd build-tools; make -j $NIX_BUILD_CORES install)
|
(cd lib; $MAKE install)
|
||||||
rm -rf $out/{sbin,share}
|
(cd build-tools; $MAKE install)
|
||||||
find $out/bin -type f | grep -v 'krb5-config' | xargs rm
|
${postInstall}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# not via outputBin, due to reference from libkrb5.so
|
||||||
|
postInstall = ''
|
||||||
|
moveToOutput bin "$dev"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||||||
APU="$(echo "${aprutil.dev}"/bin/*-config)" CC="${
|
APU="$(echo "${aprutil.dev}"/bin/*-config)" CC="${
|
||||||
if stdenv.cc.isClang then "clang" else "${stdenv.cc}/bin/gcc"
|
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}\""
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
{ stdenv, fetchurl, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
|
{ stdenv, fetchurl, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
|
||||||
, sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
|
, sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
|
||||||
|
, buildEnv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
statdPath = lib.makeBinPath [ systemd utillinux coreutils ];
|
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 {
|
in stdenv.mkDerivation rec {
|
||||||
name = "nfs-utils-${version}";
|
name = "nfs-utils-${version}";
|
||||||
version = "2.1.1";
|
version = "2.1.1";
|
||||||
@ -26,7 +33,7 @@ in stdenv.mkDerivation rec {
|
|||||||
configureFlags =
|
configureFlags =
|
||||||
[ "--enable-gss"
|
[ "--enable-gss"
|
||||||
"--with-statedir=/var/lib/nfs"
|
"--with-statedir=/var/lib/nfs"
|
||||||
"--with-krb5=${kerberos}"
|
"--with-krb5=${kerberosEnv}"
|
||||||
"--with-systemd=$(out)/etc/systemd/system"
|
"--with-systemd=$(out)/etc/systemd/system"
|
||||||
"--enable-libmount-mount"
|
"--enable-libmount-mount"
|
||||||
]
|
]
|
||||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
|||||||
./regen.sh
|
./regen.sh
|
||||||
|
|
||||||
${stdenv.lib.optionalString (kerberos != null)
|
${stdenv.lib.optionalString (kerberos != null)
|
||||||
"export KRB5_CONFIG=${kerberos}/bin/krb5-config"}
|
"export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"}
|
||||||
|
|
||||||
configureFlagsArray=(
|
configureFlagsArray=(
|
||||||
"--with-linux-kernel-build=$TMP/linux"
|
"--with-linux-kernel-build=$TMP/linux"
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
, sslSupport ? false, openssl ? null
|
, sslSupport ? false, openssl ? null
|
||||||
, gnutlsSupport ? false, gnutls ? null
|
, gnutlsSupport ? false, gnutls ? null
|
||||||
, scpSupport ? false, libssh2 ? null
|
, scpSupport ? false, libssh2 ? null
|
||||||
, gssSupport ? false, gss ? null
|
, gssSupport ? false, kerberos ? null
|
||||||
, c-aresSupport ? false, c-ares ? null
|
, c-aresSupport ? false, c-ares ? null
|
||||||
, brotliSupport ? false, brotli ? null
|
, brotliSupport ? false, brotli ? null
|
||||||
}:
|
}:
|
||||||
@ -21,6 +21,7 @@ assert gnutlsSupport -> gnutls != null;
|
|||||||
assert scpSupport -> libssh2 != null;
|
assert scpSupport -> libssh2 != null;
|
||||||
assert c-aresSupport -> c-ares != null;
|
assert c-aresSupport -> c-ares != null;
|
||||||
assert brotliSupport -> brotli != null;
|
assert brotliSupport -> brotli != null;
|
||||||
|
assert gssSupport -> kerberos != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "curl-7.57.0";
|
name = "curl-7.57.0";
|
||||||
@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||||||
optional idnSupport libidn ++
|
optional idnSupport libidn ++
|
||||||
optional ldapSupport openldap ++
|
optional ldapSupport openldap ++
|
||||||
optional zlibSupport zlib ++
|
optional zlibSupport zlib ++
|
||||||
optional gssSupport gss ++
|
optional gssSupport kerberos ++
|
||||||
optional c-aresSupport c-ares ++
|
optional c-aresSupport c-ares ++
|
||||||
optional sslSupport openssl ++
|
optional sslSupport openssl ++
|
||||||
optional gnutlsSupport gnutls ++
|
optional gnutlsSupport gnutls ++
|
||||||
@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
|
|||||||
( if brotliSupport then "--with-brotli" else "--without-brotli" )
|
( if brotliSupport then "--with-brotli" else "--without-brotli" )
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
|
++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
|
||||||
++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}";
|
++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}";
|
||||||
|
|
||||||
CXX = "c++";
|
CXX = "c++";
|
||||||
CXXCPP = "c++ -E";
|
CXXCPP = "c++ -E";
|
||||||
|
@ -184,7 +184,7 @@ with pkgs;
|
|||||||
|
|
||||||
# `fetchurl' downloads a file from the network.
|
# `fetchurl' downloads a file from the network.
|
||||||
fetchurl = import ../build-support/fetchurl {
|
fetchurl = import ../build-support/fetchurl {
|
||||||
inherit curl stdenv;
|
inherit stdenv curl;
|
||||||
};
|
};
|
||||||
|
|
||||||
fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
|
fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
|
||||||
@ -1676,6 +1676,7 @@ with pkgs;
|
|||||||
zlibSupport = true;
|
zlibSupport = true;
|
||||||
sslSupport = zlibSupport;
|
sslSupport = zlibSupport;
|
||||||
scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
|
scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
|
||||||
|
gssSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
|
curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
|
||||||
@ -8969,7 +8970,10 @@ with pkgs;
|
|||||||
krb5Full = callPackage ../development/libraries/kerberos/krb5.nix {
|
krb5Full = callPackage ../development/libraries/kerberos/krb5.nix {
|
||||||
inherit (darwin) bootstrap_cmds;
|
inherit (darwin) bootstrap_cmds;
|
||||||
};
|
};
|
||||||
libkrb5 = krb5Full.override { type = "lib"; };
|
libkrb5 = krb5Full.override {
|
||||||
|
fetchurl = fetchurlBoot;
|
||||||
|
type = "lib";
|
||||||
|
};
|
||||||
|
|
||||||
languageMachines = recurseIntoAttrs (import ../development/libraries/languagemachines/packages.nix { inherit callPackage; });
|
languageMachines = recurseIntoAttrs (import ../development/libraries/languagemachines/packages.nix { inherit callPackage; });
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user