[build] always use the boringssl go module

Change-Id: I0a6982a12bcca9c9450239c62087b1194ba19c40
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f58aaa5..2dd3990 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,9 @@
 
 ## [Unreleased]
 
+- `build.rs` no longer respects `$GOPATH`, instead it always uses the
+  `go.mod` from the vendored boringssl.
+
 ## [0.3.0] - 2019-02-20
 
 ### Added
diff --git a/build.rs b/build.rs
index dfc95b4..4f5c438 100644
--- a/build.rs
+++ b/build.rs
@@ -93,13 +93,15 @@
     // 'go run' requires that we're cd'd into a subdirectory of the Go module
     // root in order for Go modules to work
     let orig = env::current_dir().expect("could not get current directory");
-    env::set_current_dir(&format!("{}/util", &abs_boringssl_src))
+    env::set_current_dir(&format!("{}", &abs_boringssl_src))
         .expect("could not set current directory");
+    // GOPATH should not be respected; we want the borringssl go.mod.
+    env::remove_var("GOPATH");
     run(
         "go",
         &[
             "run",
-            "read_symbols.go",
+            "util/read_symbols.go",
             "-out",
             &abs_symbol_file,
             &format!("{}/crypto/libcrypto.a", &abs_build_dir_1),