libssh: Revert to old style
This commit is contained in:
parent
5b7c6d0440
commit
c47e78bbec
@ -1,37 +1,10 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, cmake
|
{ stdenv, fetchurl, pkgconfig, cmake, zlib, openssl, libsodium }:
|
||||||
|
|
||||||
# Optional Dependencies
|
|
||||||
, heimdal ? null, zlib ? null, libsodium ? null
|
|
||||||
|
|
||||||
# Crypto Dependencies
|
|
||||||
, openssl ? null, libgcrypt ? null
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
|
|
||||||
|
|
||||||
# Prefer openssl
|
|
||||||
cryptoStr = if shouldUsePkg openssl != null then "openssl"
|
|
||||||
else if shouldUsePkg libgcrypt != null then "libgcrypt"
|
|
||||||
else "none";
|
|
||||||
crypto = {
|
|
||||||
openssl = openssl;
|
|
||||||
libgcrypt = libgcrypt;
|
|
||||||
none = null;
|
|
||||||
}.${cryptoStr};
|
|
||||||
|
|
||||||
optHeimdal = shouldUsePkg heimdal;
|
|
||||||
optZlib = shouldUsePkg zlib;
|
|
||||||
optLibsodium = shouldUsePkg libsodium;
|
|
||||||
in
|
|
||||||
|
|
||||||
assert crypto != null;
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libssh-0.7.0";
|
name = "libssh-0.7.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://git.libssh.org/projects/libssh.git/snapshot/libssh-0.7.0.tar.gz";
|
url = "https://git.libssh.org/projects/libssh.git/snapshot/${name}.tar.gz";
|
||||||
sha256 = "1wfrdqhv97f4ycd9bcpgb6gw47kr7b2iq8cz5knk8a6n9c6870k0";
|
sha256 = "1wfrdqhv97f4ycd9bcpgb6gw47kr7b2iq8cz5knk8a6n9c6870k0";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -42,35 +15,14 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c
|
sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
buildInputs = [ zlib openssl libsodium ];
|
||||||
"-DWITH_GSSAPI=${if optHeimdal != null then "ON" else "OFF"}"
|
|
||||||
"-DWITH_ZLIB=${if optZlib != null then "ON" else "OFF"}"
|
|
||||||
"-DWITH_SSH1=OFF"
|
|
||||||
"-DWITH_SFTP=ON"
|
|
||||||
"-DWITH_SERVER=ON"
|
|
||||||
"-DWITH_STATIC_LIB=OFF"
|
|
||||||
"-DWITH_DEBUG_CRYPTO=OFF"
|
|
||||||
"-DWITH_DEBUG_CALLTRACE=OFF"
|
|
||||||
"-DWITH_GCRYPT=${if cryptoStr == "libgcrypt" then "ON" else "OFF"}"
|
|
||||||
"-DWITH_PCAP=ON"
|
|
||||||
"-DWITH_INTERNAL_DOC=OFF"
|
|
||||||
"-DWITH_TESTING=OFF"
|
|
||||||
"-DWITH_CLIENT_TESTING=OFF"
|
|
||||||
"-DWITH_BENCHMARKS=OFF"
|
|
||||||
"-DWITH_EXAMPLES=OFF"
|
|
||||||
"-DWITH_NACL=${if optLibsodium != null then "ON" else "OFF"}"
|
|
||||||
] ++ stdenv.lib.optionals (optLibsodium != null) [
|
|
||||||
"-DNACL_LIBRARY=${optLibsodium}/lib/libsodium.so"
|
|
||||||
"-DNACL_INCLUDE_DIR=${optLibsodium}/include"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig cmake ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
buildInputs = [ optHeimdal optZlib optLibsodium crypto ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "SSH client library";
|
description = "SSH client library";
|
||||||
license = licenses.lgpl2Plus;
|
license = licenses.lgpl2Plus;
|
||||||
maintainers = with maintainers; [ sander urkud wkennington ];
|
maintainers = with maintainers; [ sander urkud ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user