diff --git a/pkgs/by-name/do/dogedns/package.nix b/pkgs/by-name/do/dogedns/package.nix new file mode 100644 index 000000000000..5903dc5568ca --- /dev/null +++ b/pkgs/by-name/do/dogedns/package.nix @@ -0,0 +1,47 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +, stdenv +, pkg-config +, openssl +, pandoc +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "dogedns"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "Dj-Codeman"; + repo = "doge"; + rev = "6dd0383f31c096bfe2b6918c36b6e2c48414e753"; + hash = "sha256-cvqDSTHFf/le2jItGTSkAGURj64WRvOmMRI+vFH0/50="; + }; + + cargoHash = "sha256-v9AuX7FZfy18yu4P9ovHsL5AQIYhPa8NEsMziEeHCJ8="; + + patches = [ + # remove date info to make the build reproducible + # remove commit hash to avoid dependency on git and the need to keep `.git` + ./remove-date-info.patch + ]; + + nativeBuildInputs = [ installShellFiles pandoc ] + ++ lib.optionals stdenv.isLinux [ pkg-config ]; + buildInputs = lib.optionals stdenv.isLinux [ openssl ] + ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; + + postInstall = '' + installShellCompletion completions/doge.{bash,fish,zsh} + installManPage ./target/man/*.1 + ''; + + meta = with lib; { + description = "Reviving A command-line DNS client"; + homepage = "https://github.com/Dj-Codeman/doge"; + license = licenses.eupl12; + mainProgram = "doge"; + }; +} diff --git a/pkgs/by-name/do/dogedns/remove-date-info.patch b/pkgs/by-name/do/dogedns/remove-date-info.patch new file mode 100644 index 000000000000..0495ec4db461 --- /dev/null +++ b/pkgs/by-name/do/dogedns/remove-date-info.patch @@ -0,0 +1,11 @@ +--- a/build.rs ++++ b/build.rs +@@ -34,7 +34,7 @@ fn main() -> io::Result<()> { + format!("{}\nv{} \\1;31m(beta debug build!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url) + } + else if is_development_version() { +- format!("{}\nv{} [{}] built on {} \\1;31m(beta-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), git_hash(), build_date(), url) ++ format!("{}\nv{} [nixpkgs] \\1;31m(beta-release!)\\0m\n\\1;4;34m{}\\0m", tagline, version_string(), url) + } + else { + format!("{}\nv{}\n\\1;4;34m{}\\0m", tagline, version_string(), url)