Skip to content

Commit

Permalink
Update go package
Browse files Browse the repository at this point in the history
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
hartzell committed Nov 19, 2016
1 parent 397fc68 commit 2d83b2c
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 4 deletions.
11 changes: 11 additions & 0 deletions var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch
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)
16 changes: 12 additions & 4 deletions var/spack/repos/builtin/packages/go/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,12 @@
class Go(Package):
"""The golang compiler and build environment"""
homepage = "https://golang.org"
url = "https://go.googlesource.com/go"
url='https://storage.googleapis.com/golang/go1.7.3.src.tar.gz'

extendable = True

version('1.6.2', git='https://go.googlesource.com/go', tag='go1.6.2')
version('1.5.4', git='https://go.googlesource.com/go', tag='go1.5.4')
version('1.4.2', git='https://go.googlesource.com/go', tag='go1.4.2')
version('1.7.3', '83d1b7bd4281479ab7d153e5152c9fc9')
version('1.6.2', 'd1b50fa98d9a71eeee829051411e6207')

variant('test', default=True, description='Build and run tests as part of the build.')

Expand All @@ -49,6 +48,12 @@ class Go(Package):
# should be a dep on external go compiler
depends_on('go-bootstrap', type='build')

# https://github.com/golang/go/issues/17545
patch('time_test.patch', when='@1.6.2:1.7.3')

# https://github.com/golang/go/issues/17986
patch('misc-cgo-testcshared.patch', level=0, when='@1.6.2:1.7.3')

# NOTE: Older versions of Go attempt to download external files that have
# since been moved while running the test suite. This patch modifies the
# test files so that these tests don't cause false failures.
Expand All @@ -65,6 +70,9 @@ def patch(self):
def patch(self):
pass

def url_for_version(self, version):
return "https://storage.googleapis.com/golang/go{0}.src.tar.gz".format(version)

def install(self, spec, prefix):
bash = which('bash')
with working_dir('src'):
Expand Down
18 changes: 18 additions & 0 deletions var/spack/repos/builtin/packages/go/time_test.patch
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)
}
}

0 comments on commit 2d83b2c

Please sign in to comment.