diff --git a/pkgs/tools/security/dumpasn1/configpath.patch b/pkgs/tools/security/dumpasn1/configpath.patch new file mode 100644 index 000000000000..4578faafc350 --- /dev/null +++ b/pkgs/tools/security/dumpasn1/configpath.patch @@ -0,0 +1,28 @@ +From ab8bd63b32b963ddc7346a2dabfd39fba8bfba72 Mon Sep 17 00:00:00 2001 +From: Paul Meyer <49727155+katexochen@users.noreply.github.com> +Date: Sun, 13 Aug 2023 14:13:21 +0200 +Subject: [PATCH] make config path injectable during build + +This way a config path can be added to the list during build by +defining the makro. + +Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> +--- + dumpasn1.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/dumpasn1.c b/dumpasn1.c +index e7bf268..94f1582 100644 +--- a/dumpasn1.c ++++ b/dumpasn1.c +@@ -451,6 +451,10 @@ static const char *configPaths[] = { + /* General environment-based paths */ + "$DUMPASN1_PATH/", + ++ #ifdef DUMPASN1_CONFIG_PATH ++ DUMPASN1_CONFIG_PATH, ++ #endif /* DUMPASN1_CONFIG_PATH */ ++ + NULL + }; + #endif /* OS-specific search paths */ diff --git a/pkgs/tools/security/dumpasn1/default.nix b/pkgs/tools/security/dumpasn1/default.nix new file mode 100644 index 000000000000..d224531940a7 --- /dev/null +++ b/pkgs/tools/security/dumpasn1/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitHub +}: +stdenv.mkDerivation (finalAttrs: { + pname = "dumpasn1"; + version = "20230207.0.0"; + + src = fetchFromGitHub { + owner = "katexochen"; + repo = "dumpasn1"; + rev = "v${finalAttrs.version}"; + hash = "sha256-r40czSLdjCYbt73zK7exCoP/kMq6+pyJfz9LKJLLaXM="; + }; + + CFLAGS = ''-DDUMPASN1_CONFIG_PATH='"$(out)/etc/"' ''; + + makeFlags = [ "prefix=$(out)" ]; + + patches = [ + # Allow adding a config file path during build via makro. + # Used to add the store path of the included config file through CFLAGS. + # This won't be merged upstream. + ./configpath.patch + ]; + + meta = with lib; { + description = "Display and debug ASN.1 data"; + homepage = "https://github.com/katexochen/dumpasn1"; + license = licenses.bsd2; + maintainers = with maintainers; [ katexochen ]; + platforms = platforms.linux ++ platforms.darwin; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdccfbd1df83..940417f36ac2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7438,6 +7438,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + dumpasn1 = callPackage ../tools/security/dumpasn1 { }; + dumptorrent = callPackage ../tools/misc/dumptorrent { }; duo-unix = callPackage ../tools/security/duo-unix { };