diff options
author | Emery Hemingway <ehmry@posteo.net> | 2021-06-05 17:21:31 +0200 |
---|---|---|
committer | ehmry <ehmry@posteo.net> | 2021-12-25 12:07:06 +0100 |
commit | b679d2d97d63ea4d0dfe6646153f85eedf26454b (patch) | |
tree | 64e3ef1516960787c3df14936d91d07514c3bade /pkgs/development/libraries/getdns | |
parent | caec9da44d25de7ef460f41b4aaba8a727456b3e (diff) | |
download | nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar.gz nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar.bz2 nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar.lz nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar.xz nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.tar.zst nixpkgs-b679d2d97d63ea4d0dfe6646153f85eedf26454b.zip |
getdns, stubby: update 1.6.0 -> 1.7.0, 0.3.0 -> 0.4.0
Diffstat (limited to 'pkgs/development/libraries/getdns')
-rw-r--r-- | pkgs/development/libraries/getdns/default.nix | 112 |
1 files changed, 81 insertions, 31 deletions
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix index edf0ac27ea9..1db1c3737bc 100644 --- a/pkgs/development/libraries/getdns/default.nix +++ b/pkgs/development/libraries/getdns/default.nix @@ -1,37 +1,87 @@ -{ lib, stdenv, fetchurl, unbound, libidn2, openssl, doxygen, cmake }: - -stdenv.mkDerivation rec { - pname = "getdns"; - version = "1.6.0"; - versionRewrite = builtins.splitVersion version; - - src = fetchurl { - url = "https://getdnsapi.net/releases/${pname}-${ - builtins.concatStringsSep "-" versionRewrite - }/${pname}-${version}.tar.gz"; - sha256 = "0jhg7258wz287kjymimvdvv04n69lwxdc3sb62l2p453f5s77ra0"; - }; +# Getdns and Stubby are released together, see https://getdnsapi.net/releases/ - nativeBuildInputs = [ cmake ]; - - buildInputs = [ unbound libidn2 openssl doxygen ]; - - meta = with lib; { - description = "A modern asynchronous DNS API"; - longDescription = '' - getdns is an implementation of a modern asynchronous DNS API; the - specification was originally edited by Paul Hoffman. It is intended to make all - types of DNS information easily available to application developers and non-DNS - experts. DNSSEC offers a unique global infrastructure for establishing and - enhancing cryptographic trust relations. With the development of this API the - developers intend to offer application developers a modern and flexible - interface that enables end-to-end trust in the DNS architecture, and which will - inspire application developers to implement innovative security solutions in - their applications. - ''; - homepage = "https://getdnsapi.net"; +{ lib, stdenv, fetchurl, cmake, darwin, doxygen, libidn2, libyaml, openssl +, systemd, unbound, yq }: +let + metaCommon = with lib; { maintainers = with maintainers; [ leenaars ehmry ]; license = licenses.bsd3; platforms = platforms.all; }; +in rec { + + getdns = stdenv.mkDerivation rec { + pname = "getdns"; + version = "1.7.0"; + outputs = [ "out" "dev" "lib" "man" ]; + + src = fetchurl { + url = "https://getdnsapi.net/releases/${pname}-${ + with builtins; + concatStringsSep "-" (splitVersion version) + }/${pname}-${version}.tar.gz"; + sha256 = "sha256-6ocTzl4HesdrFBjOtq/SXm1OOelgD29egdOjoTpg9lI="; + }; + + nativeBuildInputs = [ cmake doxygen ]; + + buildInputs = [ libidn2 openssl unbound ]; + + postInstall = "rm -r $out/share/doc"; + + meta = with lib; + metaCommon // { + description = "A modern asynchronous DNS API"; + longDescription = '' + getdns is an implementation of a modern asynchronous DNS API; the + specification was originally edited by Paul Hoffman. It is intended to make all + types of DNS information easily available to application developers and non-DNS + experts. DNSSEC offers a unique global infrastructure for establishing and + enhancing cryptographic trust relations. With the development of this API the + developers intend to offer application developers a modern and flexible + interface that enables end-to-end trust in the DNS architecture, and which will + inspire application developers to implement innovative security solutions in + their applications. + ''; + homepage = "https://getdnsapi.net"; + }; + }; + + stubby = stdenv.mkDerivation rec { + pname = "stubby"; + version = "0.4.0"; + outputs = [ "out" "man" "stubbyExampleJson" ]; + + inherit (getdns) src; + sourceRoot = "${getdns.name}/stubby"; + + nativeBuildInputs = [ cmake doxygen yq ]; + + buildInputs = [ getdns libyaml openssl systemd ] + ++ lib.optionals stdenv.isDarwin [ darwin.Security ]; + + postInstall = '' + rm -r $out/share/doc + yq \ + < $NIX_BUILD_TOP/$sourceRoot/stubby.yml.example \ + > $stubbyExampleJson + ''; + + passthru.settingsExample = with builtins; + fromJSON (readFile stubby.stubbyExampleJson); + + meta = with lib; + metaCommon // { + description = "A local DNS Privacy stub resolver (using DNS-over-TLS)"; + longDescription = '' + Stubby is an application that acts as a local DNS Privacy stub + resolver (using RFC 7858, aka DNS-over-TLS). Stubby encrypts DNS + queries sent from a client machine (desktop or laptop) to a DNS + Privacy resolver increasing end user privacy. Stubby is developed by + the getdns team. + ''; + homepage = "https://dnsprivacy.org/wiki/x/JYAT"; + }; + }; + } |