diff --git a/builder/default.nix b/builder/default.nix index 90ef1d0..7ce54a3 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -172,6 +172,8 @@ let dontConfigure = true; dontInstall = true; + CGO_ENABLED = attrs.CGO_ENABLED or go.CGO_ENABLED; + propagatedBuildInputs = [ go ]; GO_NO_VENDOR_CHECKS = "1"; @@ -253,6 +255,7 @@ let inherit (go) GOOS GOARCH; GO_NO_VENDOR_CHECKS = "1"; + CGO_ENABLED = attrs.CGO_ENABLED or go.CGO_ENABLED; GO111MODULE = "on"; GOFLAGS = [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ]; diff --git a/generic.nix b/generic.nix index 92de832..1af764b 100644 --- a/generic.nix +++ b/generic.nix @@ -9,13 +9,11 @@ , makeWrapper , installShellFiles , fetchFromGitHub +, buildGoApplication ? (callPackage ./builder { }).buildGoApplication +, mkGoEnv ? (callPackage ./builder { }).buildGoApplication }: -let - builder = callPackage ./builder { }; - -in -builder.buildGoApplication { +buildGoApplication { pname = "gomod2nix"; inherit version modules src go; @@ -25,13 +23,15 @@ builder.buildGoApplication { nativeBuildInputs = [ makeWrapper installShellFiles ]; - passthru = builder; + passthru = { + inherit buildGoApplication mkGoEnv; + }; postInstall = lib.optionalString (stdenv.buildPlatform == stdenv.targetPlatform) '' - $out/bin/gomod2nix completion bash > gomod2nix.bash - $out/bin/gomod2nix completion fish > gomod2nix.fish - $out/bin/gomod2nix completion zsh > _gomod2nix - installShellCompletion gomod2nix.{bash,fish} _gomod2nix + installShellCompletion --cmd gomod2nix \ + --bash <($out/bin/gomod2nix completion bash) \ + --fish <($out/bin/gomod2nix completion fish) \ + --zsh <($out/bin/gomod2nix completion zsh) '' + '' wrapProgram $out/bin/gomod2nix --prefix PATH : ${lib.makeBinPath [ go ]} '';