Merge #188383: ngtcp2-gnutls: init at 0.7.0 and use in knot-dns

+54
+51
pkgs/development/libraries/ngtcp2/gnutls.nix
··· 1 + { lib, stdenv, fetchFromGitHub 2 + , autoreconfHook, pkg-config 3 + , gnutls 4 + , cunit, ncurses 5 + }: 6 + 7 + stdenv.mkDerivation rec { 8 + pname = "ngtcp2"; 9 + version = "0.7.0"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "ngtcp2"; 13 + repo = "ngtcp2"; 14 + rev = "v${version}"; 15 + sha256 = "sha256-REAN5TW0miWXI3HFxtW3znTKTrhsBbNqu1VfjC2w0no="; 16 + }; 17 + 18 + outputs = [ "out" "dev" ]; 19 + 20 + nativeBuildInputs = [ autoreconfHook pkg-config ]; 21 + buildInputs = [ gnutls ]; 22 + 23 + configureFlags = [ "--with-gnutls=yes" ]; 24 + enableParallelBuilding = true; 25 + 26 + doCheck = true; 27 + checkInputs = [ cunit ] 28 + ++ lib.optional stdenv.isDarwin ncurses; 29 + 30 + meta = with lib; { 31 + homepage = "https://github.com/ngtcp2/ngtcp2"; 32 + description = "an effort to implement RFC9000 QUIC protocol."; 33 + license = licenses.mit; 34 + platforms = platforms.unix; 35 + maintainers = with maintainers; [ vcunat/* for knot-dns */ ]; 36 + }; 37 + } 38 + 39 + /* 40 + Why split from ./default.nix? 41 + 42 + ngtcp2 libs contain helpers to plug into various crypto libs (gnutls, patched openssl, ...). 43 + Building multiple of them while keeping closures separable would be relatively complicated. 44 + Separating the builds is easier for now; the missed opportunity to share the 0.3--0.4 MB 45 + library isn't such a big deal. 46 + 47 + Moreover upstream still commonly does incompatible changes, so agreeing 48 + on a single version might be hard sometimes. That's why it seemed simpler 49 + to completely separate the nix expressions, too. 50 + */ 51 +
+2
pkgs/servers/dns/knot-dns/default.nix
··· 1 1 { lib, stdenv, fetchurl, pkg-config, gnutls, liburcu, lmdb, libcap_ng, libidn2, libunistring 2 2 , systemd, nettle, libedit, zlib, libiconv, libintl, libmaxminddb, libbpf, nghttp2, libmnl 3 + , ngtcp2-gnutls 3 4 , autoreconfHook, nixosTests, knot-resolver 4 5 , fetchpatch 5 6 }: ··· 39 40 nettle libedit 40 41 libiconv lmdb libintl 41 42 nghttp2 # DoH support in kdig 43 + ngtcp2-gnutls # DoQ support in kdig (and elsewhere but not much use there yet) 42 44 libmaxminddb # optional for geoip module (it's tiny) 43 45 # without sphinx &al. for developer documentation 44 46 # TODO: add dnstap support?
+1
pkgs/top-level/all-packages.nix
··· 20570 20570 nghttp3 = callPackage ../development/libraries/nghttp3 { }; 20571 20571 20572 20572 ngtcp2 = callPackage ../development/libraries/ngtcp2 { }; 20573 + ngtcp2-gnutls = callPackage ../development/libraries/ngtcp2/gnutls.nix { }; 20573 20574 20574 20575 nix-plugins = callPackage ../development/libraries/nix-plugins { }; 20575 20576