summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-02-02 21:15:18 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-02-02 21:15:18 +0000
commite6d632b3e0c1aa62f7e076131347c1f6bf6cff24 (patch)
tree7d7d16f64fe2eb05c13b3570ef79c4d9d04c7074 /sys-apps/guix
parentdev-lang/rust-bin: version bump to 1.15.0 (diff)
downloadgentoo-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/guix')
-rw-r--r--sys-apps/guix/Manifest4
-rw-r--r--sys-apps/guix/guix-0.12.0-r1.ebuild42
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