From 693449ae420109457264f954771e7a9f2975b54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 18 Feb 2025 13:43:27 +0100 Subject: [PATCH] delve: unbreak `go version -m dlv` This is used by vscode to determine the go version the tool was compiled with. --- pkgs/by-name/de/delve/disable-fortify.diff | 13 +++++++++++++ pkgs/by-name/de/delve/package.nix | 11 ++++------- 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 pkgs/by-name/de/delve/disable-fortify.diff diff --git a/pkgs/by-name/de/delve/disable-fortify.diff b/pkgs/by-name/de/delve/disable-fortify.diff new file mode 100644 index 000000000000..5ba22e8bc043 --- /dev/null +++ b/pkgs/by-name/de/delve/disable-fortify.diff @@ -0,0 +1,13 @@ +diff --git a/cmd/dlv/main.go b/cmd/dlv/main.go +index 2207708e..a7e8a3c2 100644 +--- a/cmd/dlv/main.go ++++ b/cmd/dlv/main.go +@@ -21,6 +21,8 @@ func main() { + version.DelveVersion.Build = Build + } + ++ os.Setenv("disableHardening", "fortify "+os.Getenv("disableHardening")) ++ + const cgoCflagsEnv = "CGO_CFLAGS" + if os.Getenv(cgoCflagsEnv) == "" { + os.Setenv(cgoCflagsEnv, "-O0 -g") diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix index 64ec08acd798..7bbc9a3ab985 100644 --- a/pkgs/by-name/de/delve/package.nix +++ b/pkgs/by-name/de/delve/package.nix @@ -2,7 +2,6 @@ lib, buildGoModule, fetchFromGitHub, - makeWrapper, stdenv, }: @@ -17,12 +16,14 @@ buildGoModule rec { hash = "sha256-R1MTMRAIceHv9apKTV+k4d8KoBaRJSZCflxqhgfQWu4="; }; + patches = [ + ./disable-fortify.diff + ]; + vendorHash = null; subPackages = [ "cmd/dlv" ]; - nativeBuildInputs = [ makeWrapper ]; - hardeningDisable = [ "fortify" ]; preCheck = '' @@ -38,10 +39,6 @@ buildGoModule rec { doCheck = !stdenv.hostPlatform.isDarwin; postInstall = '' - # fortify source breaks build since delve compiles with -O0 - wrapProgram $out/bin/dlv \ - --prefix disableHardening " " fortify - # add symlink for vscode golang extension # https://github.com/golang/vscode-go/blob/master/docs/debugging.md#manually-installing-dlv-dap ln $out/bin/dlv $out/bin/dlv-dap