Subject: [alpine-aports] [PATCH] community/go: update to go 1.6

From: Nathan Johnson <[email-masked]>
Date: Fri, 19 Feb 2016 22:39:25 +0000

---
 community/go/APKBUILD                          | 28 ++++++-------
 community/go/default-sc-getpw-r-size-max.patch | 57 --------------------------
 community/go/no-pic.patch                      |  2 +-
 3 files changed, 13 insertions(+), 74 deletions(-)
 delete mode 100644 community/go/default-sc-getpw-r-size-max.patch

diff --git a/community/go/APKBUILD b/community/go/APKBUILD
index 7db7178..bdc53d5 100644
--- a/community/go/APKBUILD
+++ b/community/go/APKBUILD
@@ -1,9 +1,9 @@
 # Contributor: Sören Tempel <[email-masked]>
 # Maintainer: Eivind Uggedal <[email-masked]>
 pkgname=go
-pkgver=1.5.3
+pkgver=1.6
 # This should be the latest commit on the corresponding release branch
-_toolsver="d02228d1857b9f49cd0252788516ff5584266eb6"
+_toolsver="c887be1b2ebd11663d4bf2fbca508c449172339e"
 pkgrel=0
 pkgdesc="Go programming language compiler"
 url="http://www.golang.org/"
@@ -17,8 +17,7 @@ install=""
 subpackages="$pkgname-doc $pkgname-tools $pkgname-cross"
 source="http://golang.org/dl/go${pkgver}.src.tar.gz
 	$pkgname-tools-$pkgver.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz
-	no-pic.patch
-	default-sc-getpw-r-size-max.patch"
+	no-pic.patch"
 
 # NOTE: building go for x86 with grsec kernel requires:
 #           sysctl -w kernel.modify_ldt=1
@@ -136,15 +135,12 @@ cross() {
 	done
 }
 
-md5sums="80a0eac7ab750b01b3f7096a1d4667b8  go1.5.3.src.tar.gz
-c64b28ba5df8499bcc19adc995da991a  go-tools-1.5.3.tar.gz
-b303cb36017c5f1303b1567b31b48de3  no-pic.patch
-12a36502180b9801f8d9e60824563c92  default-sc-getpw-r-size-max.patch"
-sha256sums="754e06dab1c31ab168fc9db9e32596734015ea9e24bc44cae7f237f417ce4efe  go1.5.3.src.tar.gz
-80db6fc563df50eb924dbf4f96cef287fc6b89cc8b98595c1dac3c80a118f290  go-tools-1.5.3.tar.gz
-973144c68d10cdc740501ad814841912bae7c3936480fabb3f7fe092ba82ba7f  no-pic.patch
-70f8f9b3ad6b8639db2b401ae14747a6e8d762443ca054c358a5aa4815df7d1f  default-sc-getpw-r-size-max.patch"
-sha512sums="b348832ea7cb095cf793960cf9f4da5e9f6ca8de7b5262bb819de97efea4835643e30a18efd4a82d01ea3854a1905af9e134271716c4b68c9d2a8f6e15f65ff0  go1.5.3.src.tar.gz
-80813c2da74c7b25fa2cfd15b2505757e7f466469ac701cb22d190dc83a607f091c4dea207a2e371e53d7a1f5459e7b53e5eea53c95565e958a6eb7fcb212359  go-tools-1.5.3.tar.gz
-e21084dc07a74c7b6437ae22034b62e3a255692d32dba767c15efdb123d3159c03a02437a41350e512eaa2478a7afbd8b409317a779c56ee4939512d060d57fa  no-pic.patch
-d59c977341b9ab15664b4b0c4f3df9e74ce48ffbd59594a7abb5a0907469f9d362c4e558606dd4b7cd102c165dd53027bae6aa1c48623c2105461dcad4cee14d  default-sc-getpw-r-size-max.patch"
+md5sums="e67833ea37fbc002fbe38efe6c1bcd98  go1.6.src.tar.gz
+733a96b59562ed84ff552542f16a3ab3  go-tools-1.6.tar.gz
+efa8ac40fa8429f7cd6f23eca05a0a0f  no-pic.patch"
+sha256sums="a96cce8ce43a9bf9b2a4c7d470bc7ee0cb00410da815980681c8353218dcf146  go1.6.src.tar.gz
+955e5a119babad356d9cf00cdaaf3c27648d4451109b467c872fad8cc94d5b56  go-tools-1.6.tar.gz
+1eb60ded9035e9692e4c17b2bb6e9c073e21261eaafa56ee0528d5d2c43a936d  no-pic.patch"
+sha512sums="59e9d72a80558fd5e3f176e068897a45333b36e35f6c00393647941a70e741168e65941b6059397378020c3b78ec3471a48809682f7efd97cf33eec6325fc3e8  go1.6.src.tar.gz
+955def7cc3e5ceb5d8e47477400007d32c25f3bc2764f04a0451bd0235af507e63a0966d201a345f51ac764471da8620b5357d1099ec39e2422bd04d25fd71b8  go-tools-1.6.tar.gz
+51e4c3ee0cda98090db5d00468072bcbf5f0a1a429dd8dedddccaa1467b285f724b012be96d329566b195470bea0aaf4b464e8ba6d2029b0dd42678a7a14b663  no-pic.patch"
diff --git a/community/go/default-sc-getpw-r-size-max.patch b/community/go/default-sc-getpw-r-size-max.patch
deleted file mode 100644
index 77be27d..0000000
--- a/community/go/default-sc-getpw-r-size-max.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From cb867d2fd64adc851f82be3c6eb6e38ec008930b Mon Sep 17 00:00:00 2001
-From: Dominik Honnef <[email-masked]>
-Date: Sun, 21 Jun 2015 20:07:29 +0200
-Subject: [PATCH] os/user: don't depend on _SC_GETPW_R_SIZE_MAX on Linux
-
-Even Linux systems may not have _SC_GETPW_R_SIZE_MAX if using a
-different libc than glibc (e.g. musl). Instead of having special-cases
-for the BSDs, handle -1 correctly by always using a default buffer size.
-
-Fixes #11319.
-
-Change-Id: I8b1b260eb9830e6dbe7667f3f33d115ae4de4ce8
-Reviewed-on: https://go-review.googlesource.com/13772
-Reviewed-by: Brad Fitzpatrick <[email-masked]>
-Run-TryBot: Brad Fitzpatrick <[email-masked]>
----
- src/os/user/lookup_unix.go | 19 ++++++++-----------
- 1 file changed, 8 insertions(+), 11 deletions(-)
-
-diff --git a/src/os/user/lookup_unix.go b/src/os/user/lookup_unix.go
-index f4f603e..e8a1eb1 100644
---- a/src/os/user/lookup_unix.go
-+++ b/src/os/user/lookup_unix.go
-@@ -9,7 +9,6 @@ package user
- 
- import (
- 	"fmt"
--	"runtime"
- 	"strconv"
- 	"strings"
- 	"syscall"
-@@ -55,17 +54,15 @@ func lookupUnix(uid int, username string, lookupByName bool) (*User, error) {
- 	var pwd C.struct_passwd
- 	var result *C.struct_passwd
- 
--	var bufSize C.long
--	if runtime.GOOS == "dragonfly" || runtime.GOOS == "freebsd" {
--		// DragonFly and FreeBSD do not have _SC_GETPW_R_SIZE_MAX
--		// and just return -1.  So just use the same
--		// size that Linux returns.
-+	bufSize := C.sysconf(C._SC_GETPW_R_SIZE_MAX)
-+	if bufSize == -1 {
-+		// DragonFly and FreeBSD do not have _SC_GETPW_R_SIZE_MAX.
-+		// Additionally, not all Linux systems have it, either. For
-+		// example, the musl libc returns -1.
- 		bufSize = 1024
--	} else {
--		bufSize = C.sysconf(C._SC_GETPW_R_SIZE_MAX)
--		if bufSize <= 0 || bufSize > 1<<20 {
--			return nil, fmt.Errorf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize)
--		}
-+	}
-+	if bufSize <= 0 || bufSize > 1<<20 {
-+		return nil, fmt.Errorf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize)
- 	}
- 	buf := C.malloc(C.size_t(bufSize))
- 	defer C.free(buf)
diff --git a/community/go/no-pic.patch b/community/go/no-pic.patch
index 5a4e396..db1f809 100644
--- a/community/go/no-pic.patch
+++ b/community/go/no-pic.patch
@@ -2,7 +2,7 @@ diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
 index 8ccbec9dd634..4e96bfadc260 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1071,6 +1071,11 @@ func hostlink() {
+@@ -1194,6 +1194,11 @@ func hostlink() {
  		argv = append(argv, peimporteddlls()...)
  	}
  
-- 
2.6.4

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Timo Teras <[email-masked]>
Date: Mon, 22 Feb 2016 17:02:41 +0200

Hi,

I applied but reverted it. Seems it does not work properly on x86, but
the build fails. Perhaps go now needs pax marking on x86? Or it's
something else? Any ideas?

I also added Michael to cc as almost similar patch came from him.
Perhaps you can rework this together, or coordinate who looks at this?

Additionally, is there some difference in the 1.6 and 1.6.0 tarballs?

Thanks,
Timo

On Fri, 19 Feb 2016 22:39:25 +0000
Nathan Johnson <[email-masked]> wrote:

> community/go/no-pic.patch                      |  2 +- 3 files
> changed, 13 insertions(+), 74 deletions(-) delete mode 100644
> community/go/default-sc-getpw-r-size-max.patch
> 
>  # This should be the latest commit on the corresponding release
> branch -_toolsver="d02228d1857b9f49cd0252788516ff5584266eb6"
> +51e4c3ee0cda98090db5d00468072bcbf5f0a1a429dd8dedddccaa1467b285f724b012be96d329566b195470bea0aaf4b464e8ba6d2029b0dd42678a7a14b663
> no-pic.patch" diff --git
> a/community/go/default-sc-getpw-r-size-max.patch
> b/community/go/default-sc-getpw-r-size-max.patch deleted file mode
> 100644 index 77be27d..0000000 ---
> a/community/go/default-sc-getpw-r-size-max.patch +++ /dev/null @@
> -1,57 +0,0 @@ -From cb867d2fd64adc851f82be3c6eb6e38ec008930b Mon Sep
> 17 00:00:00 2001 -From: Dominik Honnef <[email-masked]> -Date:
> Sun, 21 Jun 2015 20:07:29 +0200 -Subject: [PATCH] os/user: don't
> depend on _SC_GETPW_R_SIZE_MAX on Linux - -Even Linux systems may not
> have _SC_GETPW_R_SIZE_MAX if using a -different libc than glibc (e.g.
> musl). Instead of having special-cases -for the BSDs, handle -1
> correctly by always using a default buffer size. - -Fixes #11319. -
> -Change-Id: I8b1b260eb9830e6dbe7667f3f33d115ae4de4ce8 -Reviewed-on:
> https://go-review.googlesource.com/13772 -Reviewed-by: Brad
> Fitzpatrick <[email-masked]> -Run-TryBot: Brad Fitzpatrick
> <[email-masked]> ----
> --	if runtime.GOOS == "dragonfly" || runtime.GOOS ==
> "freebsd" { --		// DragonFly and FreeBSD do not have
> _SC_GETPW_R_SIZE_MAX --		// and just return -1.  So
> just use the same --		// size that Linux returns.
> -+		// DragonFly and FreeBSD do not have
> _SC_GETPW_R_SIZE_MAX. -+		// Additionally, not all
> Linux systems have it, either. For -+		// example, the
> musl libc returns -1.
> - 		bufSize = 1024
> --	} else {
> --			return nil, fmt.Errorf("user: unreasonable
> _SC_GETPW_R_SIZE_MAX of %d", bufSize) --		}
> -+	}
> @@ -2,7 +2,7 @@ diff --git a/src/cmd/link/internal/ld/lib.go
> b/src/cmd/link/internal/ld/lib.go index 8ccbec9dd634..4e96bfadc260
> 100644 --- a/src/cmd/link/internal/ld/lib.go

---