forked from spack/spack
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bugfix/update go packages (spack#2369)
* Update go-bootstrap package The last C based Go src tree was the 1.4 series. For a while they were cutting new releases so that people could bootstrap from a C only system. Now they're recommending that you either use the release-1.4 branch or that you use a date-stamped tarball that they'll produce on an as-needed basis. There are several issues that keep 1.4.2 from building on a CentOS 7 system. I've switched to the date based tarball. The cgo bits were also mis-behaving, but they're not needed for the bootstrapping task so I've set an environment variable that disables them. Details [on the install-from-source page](https://golang.org/doc/install/source#go14) and these issues: - golang/go#17545 - golang/go#16352. * Update go package Switched from pulling from the git repository to using the source tarballs and added digest values. Added support for 1.7.3, continued supporting 1.6.2, including patches for a couple of problems (details in [17545](golang/go#17545) and [17986](golang/go#17986). Dropped support for 1.5.4 and 1.4.2 because they no longer pass their tests and the patches above to not apply.
- Loading branch information
Showing
4 changed files
with
49 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,14 +41,17 @@ class GoBootstrap(Package): | |
|
||
extendable = True | ||
|
||
# NOTE: [email protected].2 is the only supported bootstrapping compiler because all | ||
# NOTE: [email protected].x is the only supported bootstrapping compiler because all | ||
# later versions require a Go compiler to build. | ||
# See: https://golang.org/doc/install/source | ||
version('1.4.2', git='https://go.googlesource.com/go', tag='go1.4.2') | ||
# See: https://golang.org/doc/install/source#go14 and | ||
# https://github.com/golang/go/issues/17545 and | ||
# https://github.com/golang/go/issues/16352 | ||
version('1.4-bootstrap-20161024', '76e42c8152e8560ded880a6d1d1f53cb', | ||
url='https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz') | ||
|
||
variant('test', default=True, description='Build and run tests as part of the build.') | ||
|
||
provides('golang@:1.4.2') | ||
provides('golang@:1.4-bootstrap-20161024') | ||
|
||
depends_on('git', type='alldeps') | ||
|
||
|
@@ -69,6 +72,7 @@ def patch(self): | |
pass | ||
|
||
def install(self, spec, prefix): | ||
env['CGO_ENABLED'] = '0' | ||
bash = which('bash') | ||
with working_dir('src'): | ||
bash('{0}.bash'.format('all' if '+test' in spec else 'make')) | ||
|
11 changes: 11 additions & 0 deletions
11
var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- misc/cgo/testcshared/test.bash.orig 2016-11-19 00:00:11.917000000 +0000 | ||
+++ misc/cgo/testcshared/test.bash 2016-11-19 00:00:22.081000000 +0000 | ||
@@ -107,7 +107,7 @@ | ||
|
||
# test0: exported symbols in shared lib are accessible. | ||
# TODO(iant): using _shared here shouldn't really be necessary. | ||
-$(go env CC) ${GOGCCFLAGS} -I ${installdir} -o testp main0.c libgo.$libext | ||
+$(go env CC) ${GOGCCFLAGS} -I ${installdir} -o testp main0.c ./libgo.$libext | ||
binpush testp | ||
|
||
output=$(run LD_LIBRARY_PATH=. ./testp) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
diff --git a/src/time/time_test.go b/src/time/time_test.go | ||
index 68236fd..2e47d08 100644 | ||
--- a/src/time/time_test.go | ||
+++ b/src/time/time_test.go | ||
@@ -943,8 +943,11 @@ func TestLoadFixed(t *testing.T) { | ||
// but Go and most other systems use "east is positive". | ||
// So GMT+1 corresponds to -3600 in the Go zone, not +3600. | ||
name, offset := Now().In(loc).Zone() | ||
- if name != "GMT+1" || offset != -1*60*60 { | ||
- t.Errorf("Now().In(loc).Zone() = %q, %d, want %q, %d", name, offset, "GMT+1", -1*60*60) | ||
+ // The zone abbreviation is "-01" since tzdata-2016g, and "GMT+1" | ||
+ // on earlier versions; we accept both. (Issue #17276). | ||
+ if !(name == "GMT+1" || name == "-01") || offset != -1*60*60 { | ||
+ t.Errorf("Now().In(loc).Zone() = %q, %d, want %q or %q, %d", | ||
+ name, offset, "GMT+1", "-01", -1*60*60) | ||
} | ||
} | ||
|