diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-02-02 21:15:18 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-02-02 21:15:18 +0000 |
commit | e6d632b3e0c1aa62f7e076131347c1f6bf6cff24 (patch) | |
tree | 7d7d16f64fe2eb05c13b3570ef79c4d9d04c7074 /sys-apps | |
parent | dev-lang/rust-bin: version bump to 1.15.0 (diff) | |
download | gentoo-e6d632b3e0c1aa62f7e076131347c1f6bf6cff24.tar.gz gentoo-e6d632b3e0c1aa62f7e076131347c1f6bf6cff24.tar.bz2 gentoo-e6d632b3e0c1aa62f7e076131347c1f6bf6cff24.zip |
sys-apps/guix: make ebuild FEATURES=network-sandbox friendly, bug #607988
In order to shrink tarball size guix does not ship
prebuilt guile for supported targets. Instead it
downloaded those binaries and verified hashes in
gnu/local.mk file.
Fix it by pulling all external dependencies into SRC_URI.
Found by Toralf Förster on a tinderbox with FEATURES=network-sandbox
While at it disabled parallel builds as it occasionally
causes guile to run bad code.
Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/607988
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/guix/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/guix/guix-0.12.0-r1.ebuild | 42 |
2 files changed, 45 insertions, 1 deletions
diff --git a/sys-apps/guix/Manifest b/sys-apps/guix/Manifest index 1cef3614d9dd..e4df13299838 100644 --- a/sys-apps/guix/Manifest +++ b/sys-apps/guix/Manifest @@ -1 +1,5 @@ DIST guix-0.12.0.tar.gz 15823786 SHA256 6201e21186a7098af256d97562662d95353b1047799b9b216e1dd6e7692dfec9 SHA512 d61cb289d3773977400fa3c49869f30a3feb5e0364368017b9b8eaadee814c5c31897be398d6ff142349337334eb51cb6d0354bee27c0365de69ce1a09e858d3 WHIRLPOOL 9515967a05a449f24da49e95340a60fb91cc471fcc532ce6cfaaea82c9161e3a65a1adc4d95e9997f019565243ca385845edc484981adfc5956112092687a0ec +DIST guix-bootstrap-armhf-linux-20150101-guile-2.0.11.tar.xz.bootstrap 2717576 SHA256 e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6 SHA512 d546e2c0f676a49af482caae6f5575c7937647a81d37e49ad8be6fe12d58989cb825b5e12f2da28aff4649ee1a198ffb8f4a0beea65835a60aefaa905e87e337 WHIRLPOOL c8aa4c4743768477d3a495fbdbe9d4818e9860411f4df73843a149c8659105f921501d0a5dfc2d121fa872a23f543174c84f864dce1eff69d175c456bdb5efb9 +DIST guix-bootstrap-i686-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2656076 SHA256 b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846 SHA512 f2b257e5b10dcd7421273d8d04782a2bd733781094dd963bf5bd8294604dbd158ea25cbc383a227edce84de968a962ec834226ebdd137a2e1857e2191bfada8c WHIRLPOOL 270f3602e8ea10f28ab003aed28b3d19ab971c69029d1d71f7fe9601d5120222baf245e3e48910dbeedf1469227d59beb8190f23bdd2ef070390467e3f49b8c9 +DIST guix-bootstrap-mips64el-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2734180 SHA256 994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b SHA512 8c4be098a31f63d56e7d35c174ce4095ba8317662c365d44c005980b38ba499461926754a4659e699ab271bb841c9da514f1a36b812d881c212a5f12177d73c0 WHIRLPOOL f247e65cc558057ba65aa7c554f07d9ec76de2fcc4828038b1d1d89b8c5449a803fd7942812e85fced8200f1af5d981b5cff7fa53cd026335c0ba906ced251f4 +DIST guix-bootstrap-x86_64-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2885996 SHA256 037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0 SHA512 96efc583f42f6c7647bc026e2d2a96d603e7bea12ca02f6bcc65e819b9966082ac4c9f7e42f64536ff42a988e4766e695d87a82c73dd97d80745975a05badb23 WHIRLPOOL 61b623c961dc3b9f4c59f4d208c1302ea98d640b915cc53dce90551c3f48f9844381bb674d4d835421a44a71d903dc90c38a0f7a17ccc049ec388a4e948239b6 diff --git a/sys-apps/guix/guix-0.12.0-r1.ebuild b/sys-apps/guix/guix-0.12.0-r1.ebuild index 104b21d98f37..1cdbf8f1567f 100644 --- a/sys-apps/guix/guix-0.12.0-r1.ebuild +++ b/sys-apps/guix/guix-0.12.0-r1.ebuild @@ -9,7 +9,40 @@ inherit autotools readme.gentoo-r1 user DESCRIPTION="GNU package manager (nix sibling)" HOMEPAGE="https://www.gnu.org/software/guix/" -SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz" +# taken from gnu/local.mk +BOOT_GUILE=( + "armhf-linux 20150101 guile-2.0.11.tar.xz" + "i686-linux 20131110 guile-2.0.9.tar.xz" + "mips64el-linux 20131110 guile-2.0.9.tar.xz" + "x86_64-linux 20131110 guile-2.0.9.tar.xz" +) + +binary_src_uris() { + local system_date_guilep uri + for system_date_guilep in "${BOOT_GUILE[@]}"; do + # $1 $2 $3 + # "armhf-linux 20150101 guile-2.0.11.tar.xz" + set -- ${system_date_guilep} + uri="mirror://gnu-alpha/${PN}/bootstrap/$1/$2/$3" + # ${uri} -> guix-bootstrap-armhf-linux-20150101-guile-2.0.11.tar.xz.bootstrap + echo "${uri} -> guix-bootstrap-$1-$2-$3.bootstrap" + done +} + +# copy bootstrap binaries from DISTDIR to ${S} +copy_boot_guile_binaries() { + local system_date_guilep + for system_date_guilep in "${BOOT_GUILE[@]}"; do + # $1 $2 $3 + # "armhf-linux 20150101 guile-2.0.11.tar.xz" + set -- ${system_date_guilep} + cp "${DISTDIR}"/guix-bootstrap-$1-$2-$3.bootstrap gnu/packages/bootstrap/$1/$3 || die + done +} + +SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz + $(binary_src_uris)" + LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" @@ -65,11 +98,18 @@ pkg_setup() { } src_prepare() { + copy_boot_guile_binaries + default eautoreconf } +src_compile() { + # guile occasionally fails with 'bad address' + emake -j1 +} + src_install() { # TODO: emacs highlighter default |