summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/compilers/go/1.7.nix6
-rw-r--r--pkgs/development/compilers/go/creds-test.patch14
2 files changed, 19 insertions, 1 deletions
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 16de9b0edbf5..c33e45c2983e 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -101,7 +101,11 @@ stdenv.mkDerivation rec {
     sed -i '1 a\exit 0' misc/cgo/errors/test.bash
   '';
 
-  patches = [ ./remove-tools-1.7.patch ./cacert-1.7.patch ];
+  patches =
+    [ ./remove-tools-1.7.patch
+      ./cacert-1.7.patch
+      ./creds-test.patch
+    ];
 
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
diff --git a/pkgs/development/compilers/go/creds-test.patch b/pkgs/development/compilers/go/creds-test.patch
new file mode 100644
index 000000000000..09f78959ff9c
--- /dev/null
+++ b/pkgs/development/compilers/go/creds-test.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' ./result/src/syscall/creds_test.go go-go1.7.4-src/src/syscall/creds_test.go
+--- ./result/src/syscall/creds_test.go	1970-01-01 01:00:01.000000000 +0100
++++ go-go1.7.4-src/src/syscall/creds_test.go	2016-12-21 14:06:39.559932164 +0100
+@@ -62,8 +62,8 @@
+ 		if sys, ok := err.(*os.SyscallError); ok {
+ 			err = sys.Err
+ 		}
+-		if err != syscall.EPERM {
+-			t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
++		if err != syscall.EPERM && err != syscall.EINVAL {
++			t.Fatalf("WriteMsgUnix failed with %v, want EPERM or EINVAL", err)
+ 		}
+ 	}
+