Skip to content

buildGoPackage: add overrideGoAttrs#47425

Closed
alyssais wants to merge 1 commit intoNixOS:masterfrom
alyssais:overrideGoAttrs
Closed

buildGoPackage: add overrideGoAttrs#47425
alyssais wants to merge 1 commit intoNixOS:masterfrom
alyssais:overrideGoAttrs

Conversation

@alyssais
Copy link
Member

@alyssais alyssais commented Sep 27, 2018

Motivation for this change

This allows, eg, patches that require extraSrcs to be applied to Go packages. It's similar to overridePythonAttrs, and to the overrideRustAttrs function I propose in #46842.

Example:

hub.overrideGoAttrs (oldAttrs: {
  patches = [
    (fetchpatch {
      url = https://github.com/alyssais/hub/commit/e23a9027669e179a93437ff731b0e43691bb272d.patch;
      sha256 = "19i3sy06vqdmrqvngq8wxnwksa9h65kc4bwjmsn0pwj71asvvhp3";
    })
  ];
  extraSrcs = [
    {
      goPackagePath = "github.com/keybase/go-keychain";
      src = fetchFromGitHub {
        owner = "keybase";
        repo = "go-keychain";
        rev = "15d3657f24fc7e290714ab795239c5bb33b091ea";
        sha256 = "1357drs3pdkz92whdlrh8f6k905rb5dshvq4amajn393vwgpm2bw";
      };
    }
  ];
})
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

This allows, eg, patches that require extraSrcs to be applied to Go
packages. It's similar to `overridePythonAttrs`, and to the
`overrideRustAttrs` function I propose in
NixOS#46842.
@GrahamcOfBorg GrahamcOfBorg added 6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Sep 27, 2018
@alyssais
Copy link
Member Author

Superseded by #46842.

@alyssais alyssais closed this Oct 21, 2018
@alyssais alyssais deleted the overrideGoAttrs branch October 21, 2018 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants