diff options
author | William Hubbs <williamh@gentoo.org> | 2012-07-30 18:49:38 +0000 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2012-07-30 18:49:38 +0000 |
commit | b3f7e97459bf9cecd5b66f73b65b78d18e2618fd (patch) | |
tree | 9b48d6ef04f9c3a4007c1c43038dec6c1b0acd68 /dev-lang | |
parent | Cleanup. (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lang/go/Manifest | 17 | ||||
-rw-r--r-- | dev-lang/go/files/go-1.0.2-hardened.patch | 44 | ||||
-rw-r--r-- | dev-lang/go/go-1.0.2.ebuild | 132 | ||||
-rw-r--r-- | dev-lang/go/go-9999.ebuild | 13 |
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 |