about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/go-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/go-modules')
-rw-r--r--nixpkgs/pkgs/development/go-modules/generic/default.nix9
1 files changed, 6 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/development/go-modules/generic/default.nix b/nixpkgs/pkgs/development/go-modules/generic/default.nix
index 7ff86466a9ad..8a7deff2e730 100644
--- a/nixpkgs/pkgs/development/go-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-modules/generic/default.nix
@@ -9,6 +9,9 @@ let
     , passthru ? {}
     , patches ? []
 
+    # A function to override the go-modules derivation
+    , overrideModAttrs ? (_oldAttrs : {})
+
     # modSha256 is the sha256 of the vendored dependencies
     , modSha256
 
@@ -29,13 +32,13 @@ let
     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 ];
@@ -81,7 +84,7 @@ let
         outputHashMode = "recursive";
         outputHashAlgo = "sha256";
         outputHash = modSha256;
-      };
+      }; in modArgs // overrideModAttrs modArgs);
 
       package = go.stdenv.mkDerivation (args // {
         nativeBuildInputs = [ removeReferencesTo go ] ++ nativeBuildInputs;