go1.5: Fix pcre and port the remove-tools patch
This commit is contained in:
parent
15a7e0ab71
commit
d730646832
@ -1,11 +1,9 @@
|
|||||||
{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl
|
{ stdenv, lib, fetchurl, tzdata, iana_etc, go_1_4, runCommand
|
||||||
, go_1_4, runCommand, which, patch
|
, perl, which, pkgconfig, patch
|
||||||
|
, pcre
|
||||||
, Security }:
|
, Security }:
|
||||||
|
|
||||||
let
|
let
|
||||||
loader386 = "${glibc}/lib/ld-linux.so.2";
|
|
||||||
loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
|
|
||||||
loaderArm = "${glibc}/lib/ld-linux.so.3";
|
|
||||||
goBootstrap = runCommand "go-bootstrap" {} ''
|
goBootstrap = runCommand "go-bootstrap" {} ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
cp -rf ${go_1_4}/* $out/
|
cp -rf ${go_1_4}/* $out/
|
||||||
@ -25,9 +23,8 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# perl is used for testing go vet
|
# perl is used for testing go vet
|
||||||
buildInputs = [ bison bash makeWrapper perl which patch ]
|
nativeBuildInputs = [ perl which pkgconfig patch ];
|
||||||
++ lib.optionals stdenv.isLinux [ glibc ];
|
buildInputs = [ pcre ];
|
||||||
|
|
||||||
propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
|
propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||||
@ -59,9 +56,14 @@ stdenv.mkDerivation rec {
|
|||||||
sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
|
sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
|
||||||
# Disable the hostname test
|
# Disable the hostname test
|
||||||
sed -i '/TestHostname/areturn' src/os/os_test.go
|
sed -i '/TestHostname/areturn' src/os/os_test.go
|
||||||
sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go
|
|
||||||
# ParseInLocation fails the test
|
# ParseInLocation fails the test
|
||||||
sed -i '/TestParseInSydney/areturn' src/time/format_test.go
|
sed -i '/TestParseInSydney/areturn' src/time/format_test.go
|
||||||
|
# Remove the api check as it never worked
|
||||||
|
sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
|
||||||
|
# Remove the coverage test as we have removed this utility
|
||||||
|
sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go
|
||||||
|
|
||||||
|
sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go
|
||||||
'' + lib.optionalString stdenv.isLinux ''
|
'' + lib.optionalString stdenv.isLinux ''
|
||||||
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
|
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
@ -73,9 +75,9 @@ stdenv.mkDerivation rec {
|
|||||||
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
|
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# TODO: port tools patch
|
|
||||||
patches = [
|
patches = [
|
||||||
./cacert-1.5.patch
|
./cacert-1.5.patch
|
||||||
|
./remove-tools-1.5.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
GOOS = if stdenv.isDarwin then "darwin" else "linux";
|
GOOS = if stdenv.isDarwin then "darwin" else "linux";
|
||||||
|
60
pkgs/development/compilers/go/remove-tools-1.5.patch
Normal file
60
pkgs/development/compilers/go/remove-tools-1.5.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go
|
||||||
|
index 61e3d8d..f8475f4 100644
|
||||||
|
--- a/src/cmd/go/pkg.go
|
||||||
|
+++ b/src/cmd/go/pkg.go
|
||||||
|
@@ -665,7 +665,7 @@ var goTools = map[string]targetDir{
|
||||||
|
"cmd/asm": toTool,
|
||||||
|
"cmd/compile": toTool,
|
||||||
|
"cmd/cgo": toTool,
|
||||||
|
- "cmd/cover": toTool,
|
||||||
|
+ "nixos.org/x/tools/cmd/cover": toTool,
|
||||||
|
"cmd/dist": toTool,
|
||||||
|
"cmd/doc": toTool,
|
||||||
|
"cmd/fix": toTool,
|
||||||
|
@@ -676,9 +676,9 @@ var goTools = map[string]targetDir{
|
||||||
|
"cmd/pack": toTool,
|
||||||
|
"cmd/pprof": toTool,
|
||||||
|
"cmd/trace": toTool,
|
||||||
|
- "cmd/vet": toTool,
|
||||||
|
+ "nixos.org/x/tools/cmd/vet": toTool,
|
||||||
|
"cmd/yacc": toTool,
|
||||||
|
- "golang.org/x/tools/cmd/godoc": toBin,
|
||||||
|
+ "nixos.org/x/tools/cmd/godoc": toBin,
|
||||||
|
"code.google.com/p/go.tools/cmd/cover": stalePath,
|
||||||
|
"code.google.com/p/go.tools/cmd/godoc": stalePath,
|
||||||
|
"code.google.com/p/go.tools/cmd/vet": stalePath,
|
||||||
|
diff --git a/src/go/build/build.go b/src/go/build/build.go
|
||||||
|
index 496fe11..8c81dbd 100644
|
||||||
|
--- a/src/go/build/build.go
|
||||||
|
+++ b/src/go/build/build.go
|
||||||
|
@@ -1388,7 +1388,7 @@ func init() {
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToolDir is the directory containing build tools.
|
||||||
|
-var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
|
||||||
|
+var ToolDir = runtime.GOTOOLDIR()
|
||||||
|
|
||||||
|
// IsLocalImport reports whether the import path is
|
||||||
|
// a local import path, like ".", "..", "./foo", or "../foo".
|
||||||
|
diff --git a/src/runtime/extern.go b/src/runtime/extern.go
|
||||||
|
index d346362..fb22b6e 100644
|
||||||
|
--- a/src/runtime/extern.go
|
||||||
|
+++ b/src/runtime/extern.go
|
||||||
|
@@ -194,6 +194,17 @@ func GOROOT() string {
|
||||||
|
return defaultGoroot
|
||||||
|
}
|
||||||
|
|
||||||
|
+// GOTOOLDIR returns the root of the Go tree.
|
||||||
|
+// It uses the GOTOOLDIR environment variable, if set,
|
||||||
|
+// or else the root used during the Go build.
|
||||||
|
+func GOTOOLDIR() string {
|
||||||
|
+ s := gogetenv("GOTOOLDIR")
|
||||||
|
+ if s != "" {
|
||||||
|
+ return s
|
||||||
|
+ }
|
||||||
|
+ return GOROOT() + "/pkg/tool/" + GOOS + "_" + GOARCH
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
// Version returns the Go tree's version string.
|
||||||
|
// It is either the commit hash and date at the time of the build or,
|
||||||
|
// when possible, a release tag like "go1.3".
|
Loading…
x
Reference in New Issue
Block a user