feee7e0357
[trust-dns](https://github.com/bluejekyll/trust-dns/) is a Rust-based DNS client/server/resolver. the server uses .zone files that are largely compatible with bind. i've had a server deployed to `ns{1,2}.uninsane.org` for about a week using this derivation: seems to be stable enough for casual use. this package also ships a DNS client and a resolver. BIND also ships a dig-like client but lives in pkgs/servers/dns. so i'm replicating that convention.
33 lines
822 B
Nix
33 lines
822 B
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, openssl
|
|
, pkg-config
|
|
, rustPlatform
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "trust-dns";
|
|
version = "0.22.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "bluejekyll";
|
|
repo = "trust-dns";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-b9tK1JbTwB3ZuRPh0wb3cOFj9dMW7URXIaFzUq0Yipw=";
|
|
};
|
|
cargoHash = "sha256-mpobdeTRWJzIEmhwtcM6UE66qRD5ot/0yLeQM6Tec+0=";
|
|
|
|
buildInputs = [ openssl ];
|
|
nativeBuildInputs = [ pkg-config ];
|
|
|
|
# tests expect internet connectivity to query real nameservers like 8.8.8.8
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "A Rust based DNS client, server, and resolver";
|
|
homepage = "https://trust-dns.org/";
|
|
maintainers = with maintainers; [ colinsane ];
|
|
platforms = platforms.linux;
|
|
license = with licenses; [ asl20 mit ];
|
|
};
|
|
}
|