From 40fccbe35b439ad689e7345d3aba72e77108615b82aab8d2acab025e93b6bd47 Mon Sep 17 00:00:00 2001 From: Graham Anderson Date: Wed, 15 May 2013 03:38:25 +0000 Subject: [PATCH] Accepting request 175683 from devel:languages:go:unstable OBS-URL: https://build.opensuse.org/request/show/175683 OBS-URL: https://build.opensuse.org/package/show/devel:languages:go/go?expand=0&rev=165 --- VERSION | 1 + go.changes | 32 ++++++++++++++++++++++++++++++++ go.spec | 29 +++++++++++++++++------------ go1.0.3.src.tar.gz | 3 --- go1.1.src.tar.gz | 3 +++ macros.go | 2 +- verbose-build.patch | 18 +++++++++++++----- 7 files changed, 67 insertions(+), 21 deletions(-) create mode 100644 VERSION delete mode 100644 go1.0.3.src.tar.gz create mode 100644 go1.1.src.tar.gz diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..63abf9e --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.1rc1 diff --git a/go.changes b/go.changes index 85d9f8c..45a33b8 100644 --- a/go.changes +++ b/go.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Tue May 14 09:03:19 UTC 2013 - graham@andtech.eu + +- Package changes + - macros.go: update go version macro to cut trailing characters + added by new style of "go version" identifier string + - Update openSUSE specific patches to cleanly apply against Go 1.1 + +- Update package source and version to Go 1.1 +- Full release notes for Go 1.1 can be found online here: + http://golang.org/doc/go1.1 +- There are too many bug fixes to list individually; details of all + bugs fixed can be found on the issue tracker tagged with Go1.1 + http://code.google.com/p/go/issues/list?can=1&q=label%3AGo1.1 +- Language changes which may affect your existing programmes + - Integer division by zero: http://golang.org/doc/go1.1#divzero + - Surrogates in unicode literals: http://golang.org/doc/go1.1#unicode_literals + - Method values: http://golang.org/doc/go1.1#method_values + - Return requirements: http://golang.org/doc/go1.1#return + +- The majority of improvements in this release are performance related + with optimizations in the compiler and linker, garbage collection, + goroutine scheduler, map/hashmap implementation and numerous speedups + in the standard library. Please see the full release notes for details. + +- One noteworthy addition to the toolchain is the addition of a race + detector. This should help improve the memory safety and accuracy of + your concurrent Go programmes. Race detection versions of the standard + library are included in this package update. You can find instructions + for building librarys and programmes with race detection in the manual: + http://golang.org/doc/articles/race_detector.html + ------------------------------------------------------------------- Fri Mar 22 15:33:35 UTC 2013 - hrvoje.senjan@gmail.com diff --git a/go.spec b/go.spec index 27fc17b..aeeeca5 100644 --- a/go.spec +++ b/go.spec @@ -18,7 +18,7 @@ Name: go -Version: 1.0.3 +Version: 1.1 Release: 0 Summary: A compiled, garbage-collected, concurrent programming language License: BSD-3-Clause @@ -32,17 +32,20 @@ Source4: godoc.service Source6: go-wiki-gadget.xml Source5: README-openSUSE # PATCH-FIX-OPENSUSE adjust documentation paths for API/doc server -Patch1: godoc-path-locations.patch +#Patch1: godoc-path-locations.patch # PATCH-FIX-OPENSUSE add -s flag to 'go install' (don't rebuild/install std libs) Patch3: go-build-dont-reinstall-stdlibs.patch # PATCH-FIX-OPENSUSE re-enable build binary only packages (we are binary distro) # see http://code.google.com/p/go/issues/detail?id=2775 & also issue 3268 Patch4: allow-binary-only-packages.patch +#PATCH-FIX-OPENSUSE use -x verbose build output for qemu-arm builders Patch5: verbose-build.patch # PATCH-FIX-OPENSUSE BNC#776058 Patch6: go-install-dont-reinstall-stdlibs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: rpm %if 0%{?suse_version} >= 1210 +BuildRequires: mercurial BuildRequires: systemd %endif %if 0%{?suse_version} >= 1100 @@ -58,11 +61,6 @@ ExclusiveArch: %ix86 x86_64 %arm %systemd_requires %endif -# fc pukes on the debug info in the command binaries -%if 0%{?fedora} -%define debug_package %{nil} -%endif - %description Go is an expressive, concurrent, garbage collected systems programming language that is type safe and memory safe. It has pointers but no pointer arithmetic. @@ -96,7 +94,7 @@ Emacs syntax highlighting scheme for the Go programming language. %prep %setup -q -n %{name} -%patch1 -p1 +#%patch1 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 @@ -124,18 +122,24 @@ export GOROOT_FINAL=%{_libdir}/go export GOBIN="$GOROOT/bin" mkdir -p "$GOBIN" cd src -export GDB_PRINTER="%{gdb_printer}" HOST_EXTRA_CFLAGS="%{optflags} -Wno-error" ./make.bash +%ifarch x86_64 +# Install race detection version of std libraries (amd64 only) +cd ../ +bin/go install -race std +%endif + %install export GOROOT="%{buildroot}%{_libdir}/%{name}" -install -Dm644 misc/bash/go %{buildroot}%{_sysconfdir}/bash_completion.d/go +# bash completion seems broken +#install -Dm644 misc/bash/go %%{buildroot}%%{_sysconfdir}/bash_completion.d/go.sh install -Dm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/go.sh install -Dm644 misc/emacs/go-mode-load.el %{buildroot}%{_datadir}/emacs/site-lisp/go-mode-load.el install -Dm644 misc/emacs/go-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/go-mode.el install -Dm644 misc/vim/autoload/go/complete.vim %{buildroot}%{_datadir}/vim/site/autoload/go/complete.vim install -d %{buildroot}%{_datadir}/vim/site/ftplugin/go -install -Dm644 misc/vim/ftplugin/go/{fmt,godoc,import}.vim %{buildroot}%{_datadir}/vim/site/ftplugin/go/ +install -Dm644 misc/vim/ftplugin/go/{fmt,import}.vim %{buildroot}%{_datadir}/vim/site/ftplugin/go/ install -Dm644 misc/vim/indent/go.vim %{buildroot}%{_datadir}/vim/site/indent/go.vim install -Dm644 misc/vim/plugin/godoc.vim %{buildroot}%{_datadir}/vim/site/plugin/godoc.vim install -Dm644 misc/vim/syntax/godoc.vim %{buildroot}%{_datadir}/vim/site/syntax/godoc.vim @@ -231,7 +235,8 @@ ln -s %{_datadir}/go/src/pkg/runtime/{cgocall,runtime}.h %{buildroot}%{_libdir}/ %{_datadir}/go/ %{_bindir}/go* %{_libdir}/go/ -%config %{_sysconfdir}/bash_completion.d/go +# bash completion seems broken +#%%config %{_sysconfdir}/bash_completion.d/go.sh %config %{_sysconfdir}/profile.d/go.sh %config %{_sysconfdir}/rpm/macros.go %if 0%{?suse_version} >= 1210 || 0%{?fedora} >= 16 diff --git a/go1.0.3.src.tar.gz b/go1.0.3.src.tar.gz deleted file mode 100644 index 651d270..0000000 --- a/go1.0.3.src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7fba3533d172f13629d3d8a79e57c620632b0bd075abe11d7698b338be0ae3df -size 7404849 diff --git a/go1.1.src.tar.gz b/go1.1.src.tar.gz new file mode 100644 index 0000000..341cbaf --- /dev/null +++ b/go1.1.src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf1d057d8386e840f9cd3f787252e26d8ee196852e9232a6f9ce762337b19cb6 +size 9041413 diff --git a/macros.go b/macros.go index 5f707f2..9f1b6a1 100644 --- a/macros.go +++ b/macros.go @@ -6,7 +6,7 @@ %go_ver %(LC_ALL=C rpm -q --qf '%%{epoch}:%%{version}\\n' go | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") %go_arch GOARCH -%go_build_ver %(go version | sed 's/^go version //' | tr -d ' ') +%go_build_ver %(go version | sed 's/^go version //' | sed 's:\/::g' | tr -d ' ' | cut -c 1-5 ) %go_dir %{_libdir}/go %go_sitedir %{_libdir}/go/pkg diff --git a/verbose-build.patch b/verbose-build.patch index 07ccf6c..d7eb8df 100644 --- a/verbose-build.patch +++ b/verbose-build.patch @@ -1,11 +1,19 @@ ---- go/src/make.bash.orig 2012-05-29 18:30:57.734377736 +0200 -+++ go/src/make.bash 2012-05-29 18:30:59.922377826 +0200 -@@ -127,7 +127,7 @@ +diff --git a/src/make.bash b/src/make.bash +index 8d0f6eb..905ec04 100755 +--- a/src/make.bash ++++ b/src/make.bash +@@ -140,12 +140,12 @@ echo + if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then + echo "# Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH." + GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \ +- "$GOTOOLDIR"/go_bootstrap install -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std ++ "$GOTOOLDIR"/go_bootstrap install -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std + echo fi echo "# Building packages and commands for $GOOS/$GOARCH." --"$GOTOOLDIR"/go_bootstrap install -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std -+"$GOTOOLDIR"/go_bootstrap install -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std +-"$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std ++"$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v -x std echo rm -f "$GOTOOLDIR"/go_bootstrap