cue/load: Unix-related fixes related to 5a3cce060

The new implementation did not work for the
Kubernets test (using temp directories) on
Linux.

Also updated package golang.org/x/tools,
as the old version did not work correctly
on this same Linux system.

Change-Id: I062cf179fbb1bfcd24bf3b5b0d09de9be9c53afb
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2743
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/cue/load/import.go b/cue/load/import.go
index 7fe1df1..cc7c9b8 100644
--- a/cue/load/import.go
+++ b/cue/load/import.go
@@ -235,9 +235,14 @@
 }
 
 func normPrefix(root, path string, isLocal bool) string {
-	path, err := filepath.Rel(root, path)
-	if err == nil && isLocal {
-		path = "." + string(filepath.Separator) + path
+	root = filepath.Clean(root)
+	prefix := ""
+	if isLocal {
+		prefix = "." + string(filepath.Separator)
+	}
+	if !strings.HasSuffix(root, string(filepath.Separator)) &&
+		strings.HasPrefix(path, root) {
+		path = prefix + path[len(root)+1:]
 	}
 	return path
 }
diff --git a/go.mod b/go.mod
index 407c130..700fb7f 100644
--- a/go.mod
+++ b/go.mod
@@ -16,7 +16,7 @@
 	golang.org/x/net v0.0.0-20190311183353-d8887717615a
 	golang.org/x/sync v0.0.0-20190423024810-112230192c58
 	golang.org/x/text v0.3.2
-	golang.org/x/tools v0.0.0-20181210225255-6a3e9aa2ab77
+	golang.org/x/tools v0.0.0-20190328211700-ab21143f2384
 	golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373
 	gopkg.in/yaml.v2 v2.2.2 // indirect
 )
diff --git a/go.sum b/go.sum
index 4df0f8d..ca25770 100644
--- a/go.sum
+++ b/go.sum
@@ -63,6 +63,7 @@
 golang.org/x/tools v0.0.0-20181210225255-6a3e9aa2ab77/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384 h1:TFlARGu6Czu1z7q93HTxcP1P+/ZFC/IKythI5RzrnRg=
 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190807164442-cae9aa543496 h1:wn6ujVyYPLpzl5zx7DCA9OFqjQiRyO7ll2KNAuwUl2A=
 golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373 h1:PPwnA7z1Pjf7XYaBP9GL1VAMZmcIWyFz7QCMSIIa3Bg=
 golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=