summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2012-07-30 18:49:38 +0000
committerWilliam Hubbs <williamh@gentoo.org>2012-07-30 18:49:38 +0000
commitb3f7e97459bf9cecd5b66f73b65b78d18e2618fd (patch)
tree9b48d6ef04f9c3a4007c1c43038dec6c1b0acd68 /dev-lang
parentCleanup. (diff)
downloadhistorical-b3f7e97459bf9cecd5b66f73b65b78d18e2618fd.tar.gz
historical-b3f7e97459bf9cecd5b66f73b65b78d18e2618fd.tar.bz2
historical-b3f7e97459bf9cecd5b66f73b65b78d18e2618fd.zip
Add go version 1.0.2 to the tree and sync live ebuild.
This also includes a patch from upstream to add the pax flags header to binaries. Package-Manager: portage-2.2.0_alpha120/cvs/Linux i686
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/go/ChangeLog10
-rw-r--r--dev-lang/go/Manifest17
-rw-r--r--dev-lang/go/files/go-1.0.2-hardened.patch44
-rw-r--r--dev-lang/go/go-1.0.2.ebuild132
-rw-r--r--dev-lang/go/go-9999.ebuild13
5 files changed, 203 insertions, 13 deletions
diff --git a/dev-lang/go/ChangeLog b/dev-lang/go/ChangeLog
index 1277b5a9de5d..20188f4bbcde 100644
--- a/dev-lang/go/ChangeLog
+++ b/dev-lang/go/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-lang/go
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/go/ChangeLog,v 1.3 2012/06/12 22:24:11 williamh Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/go/ChangeLog,v 1.4 2012/07/30 18:49:38 williamh Exp $
+
+*go-1.0.2 (30 Jul 2012)
+
+ 30 Jul 2012; William Hubbs <williamh@gentoo.org> +go-1.0.2.ebuild,
+ +files/go-1.0.2-hardened.patch, go-9999.ebuild:
+ Version bump and sync live ebuild.
+ This also includes a patch from upstream to add the pax flags header to
+ binaries.
12 Jun 2012; William Hubbs <williamh@gentoo.org> go-1.0.1.ebuild,
go-9999.ebuild:
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 4be4eac9280d..cf7fa6c5584e 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,6 +1,19 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX go-1.0.1-hardened.patch 1503 SHA256 decdc5ae8cf875bab581a279ef3602262de6530275f5ac48ab40965d5660f378 SHA512 35f8a3cf96ada15e195299290eba7d837e60100cef3b26c7db8d727ad4f71ceb64951a1c3281d289610c379a48ebb8081ee71415d54027feed9a8ace6d2c66e0 WHIRLPOOL 8c0603f226a890becac7bd892c724d8c42243ef65af88007199b7820ac716b1dd2d9f70cd8fcfc3dc8472d755450da083c5f138dc0315710b9c8350b42db234a
+AUX go-1.0.2-hardened.patch 1306 SHA256 793f3b25c8fdcaa39415388ee534aabeceb48c2c08ce1f59d7fa16abaf1034d2 SHA512 d31a11157884e6ea03d21c8bfab03087264f458ef120250e4e919a7eb595f30fbde913bb970918b0cb3af86ea6aefa59ab254af84a9295ab933f045a60e31085 WHIRLPOOL dcafb608fc2e1a2e4d72dfca7d0a58543f8a05a6f99502f74e4558764be33536392bbc63ef1c7c7fe21b7cf8e26b3cea46feee3d2d376bf4458f3ce6d16691ee
DIST go1.0.1.src.tar.gz 9617092 SHA256 29cdba7bc909df7091d81f52049de023502b5b3351cd206094f2c2d9961c0315 SHA512 b3d9c8ec5f3324f31e5ee9fb97dc6c1fdd31cb98d37b2ad180666c78ad2de55a1ee42edf45822ce9e9031203557f0881f18e0dc78cb6f9aa51e74a7d9bead091 WHIRLPOOL 16701e1779877b3e12b4f44e766dd80e8846b66f9e4369e32f0ef4e6a00777f7089faa9a0b570bdf8086abcde1ba959a372511f30acd034c20f9d93f72ddaa1e
+DIST go1.0.2.src.tar.gz 9676404 SHA256 70fcfb455087c14cc59b7a65c78003fcd1323d73f9b991c1e52db535d6bc95a8 SHA512 ca91a5985236f78c90bda9a1ec652b2b34c2cde3048c0b0c8c0a466ee85b1174d399184a25267959262b8388f51e3eaf2dd39909ec3474765b2c14006c970a23 WHIRLPOOL a6a2ea7971b2283b0aa52877b8d85357d59912e35b3968bb4ecd3a0470bb57638174a28b993e74b0fa6238a49360dcab53807ec84855f4f50122f2feebcc6c33
EBUILD go-1.0.1.ebuild 3327 SHA256 f98bc06947d1301864d6a2206ffa12ee92013b450f03c34d4d5dd8643a64f5b2 SHA512 059590d36a17b4b6d3285f2d83236c63d0c5220882871b09a869ee7fcd1af1dd926782ff2f469ef6e143ce57b345cea8e825cdad909a7c1cb8939f71e6502d7c WHIRLPOOL b21ba224c2864bed2c3400dbe28b2510399748ec0e255971f1a8a2c842da15e70819c3249a89504e08b3d94e4563da5bb45cae9349012e0ad7118bab9a3a2e33
-EBUILD go-9999.ebuild 3326 SHA256 adde3c68b419e04d0933256eb83c19cb494fbccfd8df8c64d98feb8d09f4442f SHA512 23ea2d9d7b8883625087938e4e541636e550d561460b573ab52949653bf296db26f3a33c6bd5767c8a45aea4e33f09781d0f7a00f66019735f5b90068fb27734 WHIRLPOOL 71b99281da529a92fa517ad5bdc377294a00d426d9718fb4790c02aae13f36c034ac4cd33d62add19ebe0472e02b10d21e3d4882cd7e607e505c53aaa352f32e
-MISC ChangeLog 954 SHA256 cfe56113617b48c562468bce09d500395e6d4f0dff777b20573138f956a1c0d1 SHA512 90310a04dc8bd78c8f32254ecd3494ebd7e3838cdbcd6bd6fd69314df895c7ea74788c2285fbd4779f952f16e398cc9b31ec811898b8bde70712175467c82f79 WHIRLPOOL 6263e8810cccbab292f61d37b018e1d0d3e3218639ff8df31bcca5576941eb4a018a3ce48b175e9d6cdd4333a7bcde2ad191f5d06bbc299f15786cae265a29b9
+EBUILD go-1.0.2.ebuild 3151 SHA256 f5e729a7828abd521176bbffb39fe5bec34ba0deb1b1b961e021d15509df01c1 SHA512 3d53f2e98a841695498602cd7796ad8ae5e755dd531a874bc7f2082fad93f5cebfaf94ad9d33e75e0fde856bbd946d21764a3f928976a8789497cfb53d9128bb WHIRLPOOL 54eb5287c8fa9b24a496136341541d469f3093617de87f046d40f76c5307f2c667d3d03925822efef420d90a53fc4c9c4de8ee68d76f9ca4d46f31e3c9059673
+EBUILD go-9999.ebuild 3150 SHA256 8320d3467d468918fe2a0b7d3aacdede0f723e36b10a3e21d875d151373dfbb9 SHA512 82a2df60d1814843c133d464337b3e09bcf30d38f197dde8d16718e599bdf666548819116e6c3b3d2b97752ed557e28bb3f307729d129737f9a3fed104271752 WHIRLPOOL ca5ef30776bd70311a991f66f58985827f9c447e916e35b1a347f76d3762232fe82c551257462988ffb929884dd6bad7704be718310455dea5c6ed08419f0941
+MISC ChangeLog 1222 SHA256 6dec4e2e70062cf81c293ddec24511560d238e28aa7411a2f1e9430041bb325a SHA512 ec092cc811f2b798bb26d72528bf3c1eadc77341fbb1c2ee4d023ffc379ff4ac8b19a778749e3014531e2101f259681ee7b813004961eb66b1082e66fcc76bb8 WHIRLPOOL 84c9bfecf9c59c959e33c9102b3358e6f23062a4d769e994d9926d2f4a2412ffe89c24426b9335122d58c696f06220f58d284e6ca5e03ac65f0dda48b9b36333
MISC metadata.xml 543 SHA256 cd941b060081d57159d3e44b171ad76f6fdf56545d58b9577963ed1d20278fe7 SHA512 36cf9ada725c66b1c1350dafe216509bb6f1f0ffcadba195d68f474c1490f5a8150d830dc9c3c80e24b7f95649ea4b4c80a8d95b3e50748db9787e544e59cfa3 WHIRLPOOL 77bec0ea6e92863e617f79b6b437e632a584e7210cef33012d8ebdedeeb6613d51793694b9d934fdd1e00cab05ca20f7344206c90df6f778130f81085b67ba8e
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.19 (GNU/Linux)
+
+iEYEAREIAAYFAlAW12cACgkQblQW9DDEZTj3yACgtc2rbvxk3avB1VtYHS+PUwLU
+0h0AmwauKfzCYuZqEEPsEi9AIMThLB8U
+=H9zh
+-----END PGP SIGNATURE-----
diff --git a/dev-lang/go/files/go-1.0.2-hardened.patch b/dev-lang/go/files/go-1.0.2-hardened.patch
new file mode 100644
index 000000000000..39e9ccb44c84
--- /dev/null
+++ b/dev-lang/go/files/go-1.0.2-hardened.patch
@@ -0,0 +1,44 @@
+Index: src/cmd/6l/asm.c
+===================================================================
+--- a/src/cmd/6l/asm.c
++++ b/src/cmd/6l/asm.c
+@@ -1082,6 +1082,11 @@
+ ph->type = PT_GNU_STACK;
+ ph->flags = PF_W+PF_R;
+ ph->align = 8;
++
++ ph = newElfPhdr();
++ ph->type = PT_PAX_FLAGS;
++ ph->flags = 0x2a00; // mprotect, randexec, emutramp disabled
++ ph->align = 8;
+
+ sh = newElfShstrtab(elfstr[ElfStrShstrtab]);
+ sh->type = SHT_STRTAB;
+Index: src/cmd/8l/asm.c
+===================================================================
+--- a/src/cmd/8l/asm.c
++++ b/src/cmd/8l/asm.c
+@@ -1127,6 +1127,11 @@
+ ph->flags = PF_W+PF_R;
+ ph->align = 4;
+
++ ph = newElfPhdr();
++ ph->type = PT_PAX_FLAGS;
++ ph->flags = 0x2a00; // mprotect, randexec, emutramp disabled
++ ph->align = 8;
++
+ sh = newElfShstrtab(elfstr[ElfStrShstrtab]);
+ sh->type = SHT_STRTAB;
+ sh->addralign = 1;
+Index: src/cmd/ld/elf.h
+===================================================================
+--- a/src/cmd/ld/elf.h
++++ b/src/cmd/ld/elf.h
+@@ -251,6 +251,7 @@
+ #define PT_LOPROC 0x70000000 /* First processor-specific type. */
+ #define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
+ #define PT_GNU_STACK 0x6474e551
++#define PT_PAX_FLAGS 0x65041580
+
+ /* Values for p_flags. */
+ #define PF_X 0x1 /* Executable. */
diff --git a/dev-lang/go/go-1.0.2.ebuild b/dev-lang/go/go-1.0.2.ebuild
new file mode 100644
index 000000000000..98173439404b
--- /dev/null
+++ b/dev-lang/go/go-1.0.2.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/go/go-1.0.2.ebuild,v 1.1 2012/07/30 18:49:38 williamh Exp $
+
+EAPI=4
+
+EHG_REPO_URI="https://go.googlecode.com/hg"
+
+[[ ${PV} == 9999 ]] && vcs=mercurial
+
+inherit $vcs bash-completion-r1 elisp-common eutils
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="http://go.googlecode.com/files/go${PV}.src.tar.gz"
+ # Upstream only supports go on amd64, arm and x86 architectures.
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="A concurrent garbage collected and typesafe programming language"
+HOMEPAGE="http://www.golang.org"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="bash-completion emacs vim-syntax zsh-completion"
+
+DEPEND="sys-apps/ed
+ ${COMMON_DEPEND}"
+RDEPEND="bash-completion? ( app-shells/bash-completion )
+ emacs? ( virtual/emacs )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+ zsh-completion? ( app-shells/zsh-completion )
+ ${COMMON_DEPEND}"
+
+ # The go language stores binary data for packages in *.a files.
+ # These are _NOT_ libraries, and should not be stripped.
+STRIP_MASK="/usr/lib/go/pkg/linux*/*.a"
+
+[[ ${PV} == 9999 ]] || S="${WORKDIR}"/go
+
+src_prepare()
+{
+ if [[ ${PV} != 9999 ]]; then
+ epatch "${FILESDIR}"/${P}-hardened.patch
+ fi
+ epatch_user
+}
+
+src_compile()
+{
+ export HOST_EXTRA_CFLAGS="${CFLAGS}"
+ export HOST_EXTRA_LDFLAGS="${LDFLAGS}"
+ export GOROOT_FINAL=/usr/lib/go
+ export GOROOT="$(pwd)"
+ export GOBIN="${GOROOT}/bin"
+
+ cd src
+ ./make.bash || die "build failed"
+ cd ..
+
+ if use emacs; then
+ elisp-compile misc/emacs/*.el
+ fi
+}
+
+src_test()
+{
+ cd src
+ PATH="$GOBIN:${PATH}" ./run.bash --no-rebuild --banner || die "tests failed"
+}
+
+src_install()
+{
+ dobin bin/*
+ dodoc AUTHORS CONTRIBUTORS PATENTS README
+
+ dodir /usr/lib/go
+ insinto /usr/lib/go
+
+ # There is a known issue which requires the source tree to be installed [1].
+ # Once this is fixed, we can consider using the doc use flag to control
+ # installing the doc and src directories.
+ # [1] http://code.google.com/p/go/issues/detail?id=2775
+ doins -r doc lib pkg src
+
+ if use bash-completion; then
+ dobashcomp misc/bash/go
+ fi
+
+ if use emacs; then
+ elisp-install ${PN} misc/emacs/*.el misc/emacs/*.elc
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/ftdetect
+ doins -r misc/vim/ftplugin
+ doins -r misc/vim/syntax
+ doins -r misc/vim/plugin
+ doins -r misc/vim/indent
+ fi
+
+ if use zsh-completion; then
+ insinto /usr/share/zsh/site-functions
+ doins misc/zsh/go
+ fi
+
+ fperms -R +x /usr/lib/go/pkg/tool
+}
+
+pkg_postinst()
+{
+ if use emacs; then
+ elisp-site-regen
+ fi
+
+ # If the go tool sees a package file timestamped older than a dependancy it
+ # will rebuild that file. So, in order to stop go from rebuilding lots of
+ # packages for every build we need to fix the timestamps. The compiler and
+ # linker are also checked - so we need to fix them too.
+ ebegin "fixing timestamps to avoid unnecessary rebuilds"
+ tref="usr/lib/go/pkg/*/runtime.a"
+ find "${ROOT}"usr/lib/go/pkg -type f \
+ -exec touch -r "${ROOT}"${tref} {} \;
+ eend $?
+}
+
+pkg_postrm()
+{
+ if use emacs; then
+ elisp-site-regen
+ fi
+}
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index ca1390cf5813..46adc42870d9 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/go/go-9999.ebuild,v 1.4 2012/06/12 22:24:11 williamh Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/go/go-9999.ebuild,v 1.5 2012/07/30 18:49:38 williamh Exp $
EAPI=4
@@ -23,11 +23,6 @@ LICENSE="BSD"
SLOT="0"
IUSE="bash-completion emacs vim-syntax zsh-completion"
-if [[ ${PV} != 9999 ]]; then
- IUSE="${IUSE} pax_kernel"
- COMMON_DEPEND="pax_kernel? ( sys-apps/paxctl )"
-fi
-
DEPEND="sys-apps/ed
${COMMON_DEPEND}"
RDEPEND="bash-completion? ( app-shells/bash-completion )
@@ -47,6 +42,7 @@ src_prepare()
if [[ ${PV} != 9999 ]]; then
epatch "${FILESDIR}"/${P}-hardened.patch
fi
+ epatch_user
}
src_compile()
@@ -57,11 +53,8 @@ src_compile()
export GOROOT="$(pwd)"
export GOBIN="${GOROOT}/bin"
- if [[ ${PV} != 9999 ]]; then
- use pax_kernel && opts="--pax-kernel"
- fi
cd src
- ./make.bash $opts || die "build failed"
+ ./make.bash || die "build failed"
cd ..
if use emacs; then