159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
55 lines
1.4 KiB
Nix
55 lines
1.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, openssl
|
|
, zlib
|
|
, windows
|
|
|
|
# for passthru.tests
|
|
, aria2
|
|
, curl
|
|
, libgit2
|
|
, mc
|
|
, vlc
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libssh2";
|
|
version = "1.11.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.libssh2.org/download/libssh2-${version}.tar.gz";
|
|
sha256 = "sha256-NzYWHkHiaTMk3rOMJs/cPv5iCdY0ukJY2xzs/2pa1GE=";
|
|
};
|
|
|
|
patches = [
|
|
# fetchpatch cannot be used due to infinite recursion
|
|
# https://github.com/libssh2/libssh2/commit/d34d9258b8420b19ec3f97b4cc5bf7aa7d98e35a
|
|
./CVE-2023-48795.patch
|
|
];
|
|
|
|
# this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
|
|
# necessary for FreeBSD code path in configure
|
|
postPatch = ''
|
|
substituteInPlace ./config.guess --replace-fail /usr/bin/uname uname
|
|
'';
|
|
|
|
outputs = [ "out" "dev" "devdoc" ];
|
|
|
|
propagatedBuildInputs = [ openssl ]; # see Libs: in libssh2.pc
|
|
buildInputs = [ zlib ]
|
|
++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64;
|
|
|
|
passthru.tests = {
|
|
inherit aria2 libgit2 mc vlc;
|
|
curl = (curl.override { scpSupport = true; }).tests.withCheck;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Client-side C library implementing the SSH2 protocol";
|
|
homepage = "https://www.libssh2.org";
|
|
platforms = platforms.all;
|
|
license = with licenses; [ bsd3 ];
|
|
maintainers = with maintainers; [ SuperSandro2000 ];
|
|
};
|
|
}
|