1 |
commit: e6d632b3e0c1aa62f7e076131347c1f6bf6cff24 |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Feb 2 21:15:18 2017 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Feb 2 21:15:18 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6d632b3 |
7 |
|
8 |
sys-apps/guix: make ebuild FEATURES=network-sandbox friendly, bug #607988 |
9 |
|
10 |
In order to shrink tarball size guix does not ship |
11 |
prebuilt guile for supported targets. Instead it |
12 |
downloaded those binaries and verified hashes in |
13 |
gnu/local.mk file. |
14 |
|
15 |
Fix it by pulling all external dependencies into SRC_URI. |
16 |
|
17 |
Found by Toralf Förster on a tinderbox with FEATURES=network-sandbox |
18 |
|
19 |
While at it disabled parallel builds as it occasionally |
20 |
causes guile to run bad code. |
21 |
|
22 |
Reported-by: Toralf Förster |
23 |
Bug: https://bugs.gentoo.org/607988 |
24 |
|
25 |
Package-Manager: Portage-2.3.3, Repoman-2.3.1 |
26 |
|
27 |
sys-apps/guix/Manifest | 4 ++++ |
28 |
sys-apps/guix/guix-0.12.0-r1.ebuild | 42 ++++++++++++++++++++++++++++++++++++- |
29 |
2 files changed, 45 insertions(+), 1 deletion(-) |
30 |
|
31 |
diff --git a/sys-apps/guix/Manifest b/sys-apps/guix/Manifest |
32 |
index 1cef361..e4df132 100644 |
33 |
--- a/sys-apps/guix/Manifest |
34 |
+++ b/sys-apps/guix/Manifest |
35 |
@@ -1 +1,5 @@ |
36 |
DIST guix-0.12.0.tar.gz 15823786 SHA256 6201e21186a7098af256d97562662d95353b1047799b9b216e1dd6e7692dfec9 SHA512 d61cb289d3773977400fa3c49869f30a3feb5e0364368017b9b8eaadee814c5c31897be398d6ff142349337334eb51cb6d0354bee27c0365de69ce1a09e858d3 WHIRLPOOL 9515967a05a449f24da49e95340a60fb91cc471fcc532ce6cfaaea82c9161e3a65a1adc4d95e9997f019565243ca385845edc484981adfc5956112092687a0ec |
37 |
+DIST guix-bootstrap-armhf-linux-20150101-guile-2.0.11.tar.xz.bootstrap 2717576 SHA256 e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6 SHA512 d546e2c0f676a49af482caae6f5575c7937647a81d37e49ad8be6fe12d58989cb825b5e12f2da28aff4649ee1a198ffb8f4a0beea65835a60aefaa905e87e337 WHIRLPOOL c8aa4c4743768477d3a495fbdbe9d4818e9860411f4df73843a149c8659105f921501d0a5dfc2d121fa872a23f543174c84f864dce1eff69d175c456bdb5efb9 |
38 |
+DIST guix-bootstrap-i686-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2656076 SHA256 b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846 SHA512 f2b257e5b10dcd7421273d8d04782a2bd733781094dd963bf5bd8294604dbd158ea25cbc383a227edce84de968a962ec834226ebdd137a2e1857e2191bfada8c WHIRLPOOL 270f3602e8ea10f28ab003aed28b3d19ab971c69029d1d71f7fe9601d5120222baf245e3e48910dbeedf1469227d59beb8190f23bdd2ef070390467e3f49b8c9 |
39 |
+DIST guix-bootstrap-mips64el-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2734180 SHA256 994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b SHA512 8c4be098a31f63d56e7d35c174ce4095ba8317662c365d44c005980b38ba499461926754a4659e699ab271bb841c9da514f1a36b812d881c212a5f12177d73c0 WHIRLPOOL f247e65cc558057ba65aa7c554f07d9ec76de2fcc4828038b1d1d89b8c5449a803fd7942812e85fced8200f1af5d981b5cff7fa53cd026335c0ba906ced251f4 |
40 |
+DIST guix-bootstrap-x86_64-linux-20131110-guile-2.0.9.tar.xz.bootstrap 2885996 SHA256 037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0 SHA512 96efc583f42f6c7647bc026e2d2a96d603e7bea12ca02f6bcc65e819b9966082ac4c9f7e42f64536ff42a988e4766e695d87a82c73dd97d80745975a05badb23 WHIRLPOOL 61b623c961dc3b9f4c59f4d208c1302ea98d640b915cc53dce90551c3f48f9844381bb674d4d835421a44a71d903dc90c38a0f7a17ccc049ec388a4e948239b6 |
41 |
|
42 |
diff --git a/sys-apps/guix/guix-0.12.0-r1.ebuild b/sys-apps/guix/guix-0.12.0-r1.ebuild |
43 |
index 104b21d..1cdbf8f 100644 |
44 |
--- a/sys-apps/guix/guix-0.12.0-r1.ebuild |
45 |
+++ b/sys-apps/guix/guix-0.12.0-r1.ebuild |
46 |
@@ -9,7 +9,40 @@ inherit autotools readme.gentoo-r1 user |
47 |
DESCRIPTION="GNU package manager (nix sibling)" |
48 |
HOMEPAGE="https://www.gnu.org/software/guix/" |
49 |
|
50 |
-SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz" |
51 |
+# taken from gnu/local.mk |
52 |
+BOOT_GUILE=( |
53 |
+ "armhf-linux 20150101 guile-2.0.11.tar.xz" |
54 |
+ "i686-linux 20131110 guile-2.0.9.tar.xz" |
55 |
+ "mips64el-linux 20131110 guile-2.0.9.tar.xz" |
56 |
+ "x86_64-linux 20131110 guile-2.0.9.tar.xz" |
57 |
+) |
58 |
+ |
59 |
+binary_src_uris() { |
60 |
+ local system_date_guilep uri |
61 |
+ for system_date_guilep in "${BOOT_GUILE[@]}"; do |
62 |
+ # $1 $2 $3 |
63 |
+ # "armhf-linux 20150101 guile-2.0.11.tar.xz" |
64 |
+ set -- ${system_date_guilep} |
65 |
+ uri="mirror://gnu-alpha/${PN}/bootstrap/$1/$2/$3" |
66 |
+ # ${uri} -> guix-bootstrap-armhf-linux-20150101-guile-2.0.11.tar.xz.bootstrap |
67 |
+ echo "${uri} -> guix-bootstrap-$1-$2-$3.bootstrap" |
68 |
+ done |
69 |
+} |
70 |
+ |
71 |
+# copy bootstrap binaries from DISTDIR to ${S} |
72 |
+copy_boot_guile_binaries() { |
73 |
+ local system_date_guilep |
74 |
+ for system_date_guilep in "${BOOT_GUILE[@]}"; do |
75 |
+ # $1 $2 $3 |
76 |
+ # "armhf-linux 20150101 guile-2.0.11.tar.xz" |
77 |
+ set -- ${system_date_guilep} |
78 |
+ cp "${DISTDIR}"/guix-bootstrap-$1-$2-$3.bootstrap gnu/packages/bootstrap/$1/$3 || die |
79 |
+ done |
80 |
+} |
81 |
+ |
82 |
+SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz |
83 |
+ $(binary_src_uris)" |
84 |
+ |
85 |
LICENSE="GPL-3" |
86 |
SLOT="0" |
87 |
KEYWORDS="~amd64 ~x86" |
88 |
@@ -65,11 +98,18 @@ pkg_setup() { |
89 |
} |
90 |
|
91 |
src_prepare() { |
92 |
+ copy_boot_guile_binaries |
93 |
+ |
94 |
default |
95 |
|
96 |
eautoreconf |
97 |
} |
98 |
|
99 |
+src_compile() { |
100 |
+ # guile occasionally fails with 'bad address' |
101 |
+ emake -j1 |
102 |
+} |
103 |
+ |
104 |
src_install() { |
105 |
# TODO: emacs highlighter |
106 |
default |