From 7c7d89b4163ba808c8ad9372d06b40284916ddc3 Mon Sep 17 00:00:00 2001 From: Georges Date: Wed, 17 Aug 2022 21:03:00 +0200 Subject: [PATCH 1/3] doggo: init at 0.5.4 --- pkgs/tools/networking/doggo/default.nix | 48 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 50 insertions(+) create mode 100644 pkgs/tools/networking/doggo/default.nix diff --git a/pkgs/tools/networking/doggo/default.nix b/pkgs/tools/networking/doggo/default.nix new file mode 100644 index 00000000000..713cc38edf1 --- /dev/null +++ b/pkgs/tools/networking/doggo/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + runCommand, + installShellFiles, +}: let + buildDate = "2022-08-15T21:36:49"; + buildCommit = "2cf9e7b"; +in + with lib; + buildGoModule rec { + pname = "doggo"; + version = "0.5.4"; + vendorSha256 = "sha256-pyzu89HDFrMQqYJZC2vdqzOc6PiAbqhaTgYakmN0qj8="; + src = fetchFromGitHub { + owner = "mr-karan"; + repo = "doggo"; + rev = "v0.5.4"; + sha256 = "sha256-6jNs8vigrwKk47Voe42J9QYMTP7KnNAtJ5vFZTUW680="; + }; + + nativeBuildInputs = [installShellFiles]; + subPackages = ["cmd/doggo"]; + + ldflags = [ + "-w -s" + "-X main.buildVersion=${buildCommit}" + "-X main.buildDate=${buildDate}" + ]; + + postInstall = '' + installShellCompletion --cmd doggo --fish --name doggo.fish completions/doggo.fish + installShellCompletion --cmd doggo --zsh --name _doggo completions/doggo.zsh + ''; + + meta = { + homepage = "https://github.com/mr-karan/doggo"; + description = "Command-line DNS Client for Humans. Written in Golang"; + longDescription = '' + doggo is a modern command-line DNS client (like dig) written in Golang. + It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well + ''; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [georgesalkhouri]; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7524e08d3e..7319d220411 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5602,6 +5602,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + doggo = callPackage ../tools/networking/doggo { }; + dosfstools = callPackage ../tools/filesystems/dosfstools { }; dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { }; From bf177162aeb98b71c30d784a90fb2e718d4df398 Mon Sep 17 00:00:00 2001 From: Georges Date: Wed, 17 Aug 2022 21:04:51 +0200 Subject: [PATCH 2/3] maintainers: add georgesalkhouri --- maintainers/maintainer-list.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8ef00b74cc2..466149e0f8d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4682,6 +4682,15 @@ fingerprint = "386E D1BF 848A BB4A 6B4A 3C45 FC83 907C 125B C2BC"; }]; }; + georgesalkhouri = { + name = "Georges Alkhouri"; + email = "incense.stitch_0w@icloud.com"; + github = "GeorgesAlkhouri"; + githubId = 6077574; + keys = [{ + fingerprint = "1608 9E8D 7C59 54F2 6A7A 7BD0 8BD2 09DC C54F D339"; + }]; + }; georgewhewell = { email = "georgerw@gmail.com"; github = "georgewhewell"; From 397ad93dd379d33205f7a6522dc3088a135f2ce2 Mon Sep 17 00:00:00 2001 From: Georges Date: Thu, 18 Aug 2022 07:30:48 +0200 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Mostly Void Co-authored-by: Dee Anzorge Co-authored-by: Sandro --- pkgs/tools/networking/doggo/default.nix | 84 ++++++++++++------------- 1 file changed, 40 insertions(+), 44 deletions(-) diff --git a/pkgs/tools/networking/doggo/default.nix b/pkgs/tools/networking/doggo/default.nix index 713cc38edf1..9b8bf0fb2ce 100644 --- a/pkgs/tools/networking/doggo/default.nix +++ b/pkgs/tools/networking/doggo/default.nix @@ -1,48 +1,44 @@ -{ - lib, - buildGoModule, - fetchFromGitHub, - runCommand, - installShellFiles, -}: let - buildDate = "2022-08-15T21:36:49"; - buildCommit = "2cf9e7b"; -in - with lib; - buildGoModule rec { - pname = "doggo"; - version = "0.5.4"; - vendorSha256 = "sha256-pyzu89HDFrMQqYJZC2vdqzOc6PiAbqhaTgYakmN0qj8="; - src = fetchFromGitHub { - owner = "mr-karan"; - repo = "doggo"; - rev = "v0.5.4"; - sha256 = "sha256-6jNs8vigrwKk47Voe42J9QYMTP7KnNAtJ5vFZTUW680="; - }; +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +}: - nativeBuildInputs = [installShellFiles]; - subPackages = ["cmd/doggo"]; +buildGoModule rec { + pname = "doggo"; + version = "0.5.4"; - ldflags = [ - "-w -s" - "-X main.buildVersion=${buildCommit}" - "-X main.buildDate=${buildDate}" - ]; + src = fetchFromGitHub { + owner = "mr-karan"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-6jNs8vigrwKk47Voe42J9QYMTP7KnNAtJ5vFZTUW680="; + }; - postInstall = '' - installShellCompletion --cmd doggo --fish --name doggo.fish completions/doggo.fish - installShellCompletion --cmd doggo --zsh --name _doggo completions/doggo.zsh - ''; + vendorSha256 = "sha256-pyzu89HDFrMQqYJZC2vdqzOc6PiAbqhaTgYakmN0qj8="; + nativeBuildInputs = [ installShellFiles ]; + subPackages = [ "cmd/doggo" ]; - meta = { - homepage = "https://github.com/mr-karan/doggo"; - description = "Command-line DNS Client for Humans. Written in Golang"; - longDescription = '' - doggo is a modern command-line DNS client (like dig) written in Golang. - It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well - ''; - license = licenses.gpl3Only; - platforms = platforms.linux; - maintainers = with maintainers; [georgesalkhouri]; - }; - } + ldflags = [ + "-w -s" + "-X main.buildVersion=v${version}" + ]; + + postInstall = '' + installShellCompletion --cmd doggo \ + --fish --name doggo.fish completions/doggo.fish \ + --zsh --name _doggo completions/doggo.zsh + ''; + + meta = with lib; { + homepage = "https://github.com/mr-karan/doggo"; + description = "Command-line DNS Client for Humans. Written in Golang"; + longDescription = '' + doggo is a modern command-line DNS client (like dig) written in Golang. + It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well + ''; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ georgesalkhouri ]; + }; +}