about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-12-12T23·27+0000
committerVincent Ambo <mail@tazj.in>2019-12-13T00·39+0000
commit0dfa5d15fae5b8f5992625f03586ba6043bcd475 (patch)
tree575bfdfeee0b401068ea2b3b71c77ce87a870cc5
parent875628a0978937d708ce9365c9cc2061f39b0bca (diff)
fix(buildGo): Update buildGo.proto for compatibility with external
Changes in the structure of buildGo.external meant that the package
layout for the protobuf library is now slightly different.

`proto` has been amended to work with the new structure. Callers of
buildGo.proto do not need to be updated (i.e. the example still
works).
-rw-r--r--buildGo.nix8
-rw-r--r--proto.nix4
2 files changed, 4 insertions, 8 deletions
diff --git a/buildGo.nix b/buildGo.nix
index a470c1db5f03..0df3c955aef1 100644
--- a/buildGo.nix
+++ b/buildGo.nix
@@ -76,8 +76,8 @@ let
   # directory that follows the standard Go layout and was not built
   # with buildGo.nix.
   #
-  # The derivation for each actual dependency will reside in an
-  # attribute named "gopkg".
+  # The derivation for each actual package will reside in an attribute
+  # named "gopkg", and an attribute named "gobin" for binaries.
   external = import ./external { inherit pkgs program package; };
 
   # Import support libraries needed for protobuf & gRPC support
@@ -88,10 +88,10 @@ let
   # Build a Go library out of the specified protobuf definition.
   proto = { name, proto, path ? name, extraDeps ? [] }: (makeOverridable package) {
     inherit name path;
-    deps = [ protoLibs'.protobuf ] ++ extraDeps;
+    deps = [ protoLibs.goProto.proto.gopkg ] ++ extraDeps;
     srcs = lib.singleton (runCommand "goproto-${name}.pb.go" {} ''
       cp ${proto} ${baseNameOf proto}
-      ${protobuf}/bin/protoc --plugin=${protoLibs.goProto}/bin/protoc-gen-go \
+      ${protobuf}/bin/protoc --plugin=${protoLibs.goProto.protoc-gen-go.gopkg}/bin/protoc-gen-go \
         --go_out=plugins=grpc,import_path=${baseNameOf path}:. ${baseNameOf proto}
       mv *.pb.go $out
     '');
diff --git a/proto.nix b/proto.nix
index e773af031873..dd40def0ff1f 100644
--- a/proto.nix
+++ b/proto.nix
@@ -19,7 +19,6 @@ in rec {
 
   xnet = external {
     path = "golang.org/x/net";
-    srcOnly = true;
     deps = [ xtext ];
     src = fetchGit {
       url = "https://go.googlesource.com/net";
@@ -29,7 +28,6 @@ in rec {
 
   xsys = external {
     path = "golang.org/x/sys";
-    srcOnly = true;
     src = fetchGit {
       url = "https://go.googlesource.com/sys";
       rev = "bd437916bb0eb726b873ee8e9b2dcf212d32e2fd";
@@ -38,7 +36,6 @@ in rec {
 
   xtext = external {
     path = "golang.org/x/text";
-    srcOnly = true;
     src = fetchGit {
       url = "https://go.googlesource.com/text";
       rev = "cbf43d21aaebfdfeb81d91a5f444d13a3046e686";
@@ -47,7 +44,6 @@ in rec {
 
   genproto = external {
     path = "google.golang.org/genproto";
-    srcOnly = true;
     src = fetchGit {
       url = "https://github.com/google/go-genproto";
       rev = "83cc0476cb11ea0da33dacd4c6354ab192de6fe6";