summary refs log tree commit diff
path: root/pkgs/development/go-modules
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2019-04-23 16:15:45 +0200
committerBas van Dijk <v.dijk.bas@gmail.com>2019-07-28 13:28:27 +0200
commit8d6fbef92a3684d5de4c09535b98d6e93be2f669 (patch)
tree7aa9d9190870ff534a44c513daa36a591892e0b0 /pkgs/development/go-modules
parentdf1eb63ae59bcf01af237ca909ccf17539cfaa65 (diff)
downloadnixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar.gz
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar.bz2
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar.lz
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar.xz
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.tar.zst
nixpkgs-8d6fbef92a3684d5de4c09535b98d6e93be2f669.zip
buildGoModule: support overriding the go-modules derivation
Diffstat (limited to 'pkgs/development/go-modules')
-rw-r--r--pkgs/development/go-modules/generic/default.nix9
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index cd98aa1fa9a..55fda78b03e 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -7,6 +7,9 @@
 , passthru ? {}
 , patches ? []
 
+# A function to override the go-modules derivation
+, overrideModAttrs ? (_oldAttrs : {})
+
 # modSha256 is the sha256 of the vendored dependencies
 , modSha256
 
@@ -27,13 +30,13 @@
 with builtins;
 
 let
-  args = removeAttrs args' [ "modSha256" "disabled" ];
+  args = removeAttrs args' [ "overrideModAttrs" "modSha256" "disabled" ];
 
   removeReferences = [ ] ++ lib.optional (!allowGoReference) go;
 
   removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}'';
 
-  go-modules = go.stdenv.mkDerivation {
+  go-modules = go.stdenv.mkDerivation (let modArgs = {
     name = "${name}-go-modules";
 
     nativeBuildInputs = [ go git cacert ];
@@ -79,7 +82,7 @@ let
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
     outputHash = modSha256;
-  };
+  }; in modArgs // overrideModAttrs modArgs);
 
   package = go.stdenv.mkDerivation (args // {
     nativeBuildInputs = [ removeReferencesTo go ] ++ nativeBuildInputs;