!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

226 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.46 Servers

Load older messages


SenderMessageTime
6 Feb 2024
@katexochen:matrix.orgPaul Meyer (katexochen)https://github.com/bazelbuild/rules_go/blob/07317c7ce2ae6e6cda269c0c3ec7eac171363936/go/tools/builders/compilepkg.go#L538-L56016:34:07
@msanft:matrix.orgMoritz Sanft set a profile picture.17:17:54
@sandro:supersandro.deSandro 🐧Bazel also thought it would be a good idea to vendor all kinds of libraries and copy their build systems...17:40:41
@sandro:supersandro.deSandro 🐧and fetch archives against GitHub recommendations in the docs and completely breaking when they updated git-archive17:41:17
@katexochen:matrix.orgPaul Meyer (katexochen) Sandro 🐧: not sure how that is related to their mechanism of building Go code. 18:12:52
@katexochen:matrix.orgPaul Meyer (katexochen)I think if you really want to break up Go builds into multiple derivations (which is nothing I propose here), the Bazel approach sounds more reasonable and correct to me than somehow injecting build cache.18:16:15
8 Feb 2024
@symys:dailyaslbot.twilightparadox.comsymys joined the room.18:50:55
10 Feb 2024
@anthr76:mozilla.organthr76 joined the room.14:32:02
@anthr76:mozilla.organthr76 Hi All! I have a question. I'm trying to build some internal private go projects in nix for my teammates. Is anyone able to point me on how to pass a ~/.netrc to the nix build sandbox? I'm using buildGoModule 14:34:50
@qbit:tapenet.org@qbit:tapenet.org You’d probably need to make it during post patch or similar phase.. but you won’t have network access 17:12:47
12 Feb 2024
@luncht1me:matrix.orglunchtime joined the room.02:13:35
@lunchtime:envs.net@lunchtime:envs.net joined the room.10:46:21
13 Feb 2024
@anthr76:mozilla.organthr76
In reply to @qbit:tapenet.org
You’d probably need to make it during post patch or similar phase.. but you won’t have network access
Do you have an example or bit of documentation?
18:54:28
@qbit:tapenet.org@qbit:tapenet.orghttps://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#tested-using-sandboxing18:56:39
@qbit:tapenet.org@qbit:tapenet.orgfo rthe sandbox info18:56:46
@anthr76:mozilla.organthr76Also an option can be vendoring when it's pulling down the source tarball18:58:06
@anthr76:mozilla.organthr76but I'm not sure that's even possible18:58:13
@qbit:tapenet.org@qbit:tapenet.org for the postPatch you could just do : export HOME=$(mktemp -d); cd $HOME; echo some netrc string > .netrc 18:58:20
@qbit:tapenet.org@qbit:tapenet.org anthr76: is this all go deps? 18:58:36
@anthr76:mozilla.organthr76Yes it is18:58:44
@qbit:tapenet.org@qbit:tapenet.org buildGoModule does vendoring of any deps and what not 18:58:52
@qbit:tapenet.org@qbit:tapenet.org vendorHash 18:59:02
@qbit:tapenet.org@qbit:tapenet.org grep -r buildGoModule in nixpkgs and you will find plenty of examples 19:00:40
@anthr76:mozilla.organthr76
{ lib, buildGoModule }:

buildGoModule rec {
  pname = "foo";
  version = "1.13.0";
  GOPRIVATE = "github.com/foo/*";

  src = builtins.fetchGit {
    url = "git@github.com:foo/bar.git";
    ref = "refs/tags/v${version}";
    rev = "f993f922c88345604fdea284b624a97b9a1ee604";
  };

  vendorHash = "sha256-/lx2D2sdfeyRMK/097M4SQKRlmqtPTvbFo1dwbThJ5Fs=";

  ldflags = [
    "-s"
    "-w"
    "-X"
    "github.com/foo/bar/cmd.version=${version}"
  ];

}

I have this but it doesn't seem to vendor? The vendor has is incorrect as I was hopping to get it out during the build but instead it fails because it can't access the repos

19:00:54
@anthr76:mozilla.organthr76let me take another look19:01:03
@qbit:tapenet.org@qbit:tapenet.org unset the vendorHash and run the build 19:01:24
@qbit:tapenet.org@qbit:tapenet.orgit should print the hash for the derivation of the go-modules it generates19:01:38
@anthr76:mozilla.organthr76

It just bailed out

error: buildGoModule: vendorHash is missing
19:02:12
@anthr76:mozilla.organthr76let me try lib.fakeSha25619:02:52
@qbit:tapenet.org@qbit:tapenet.orgoh, make it empty19:03:07

Show newer messages


Back to Room ListRoom Version: 9