From d63d593dfdc5fb7dd1256663daac7b978aa892af Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Mon, 24 Oct 2016 00:26:05 -0500 Subject: dev-lang/rust: fix network-less builds When building without a network connection or FEATURES=network-sandbox the build would fail due to the build process reaching out to the internet to fetch down some files that the package manager already got for it. This neuters that network access and uses the existing files. Signed-off-by: Doug Goldstein --- .../rust-1.12.0-disable-fetching-stage0.patch | 36 ++++++++++++++++++++++ dev-lang/rust/rust-1.12.0.ebuild | 2 ++ dev-lang/rust/rust-1.12.1.ebuild | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 dev-lang/rust/files/rust-1.12.0-disable-fetching-stage0.patch (limited to 'dev-lang/rust') diff --git a/dev-lang/rust/files/rust-1.12.0-disable-fetching-stage0.patch b/dev-lang/rust/files/rust-1.12.0-disable-fetching-stage0.patch new file mode 100644 index 000000000000..14d0b321e051 --- /dev/null +++ b/dev-lang/rust/files/rust-1.12.0-disable-fetching-stage0.patch @@ -0,0 +1,36 @@ +From b6a4c78ef7b4bc6c32145f27e8a679d5baf36f90 Mon Sep 17 00:00:00 2001 +From: Doug Goldstein +Date: Mon, 24 Oct 2016 00:01:37 -0500 +Subject: [PATCH] disable fetching stage0 and use whats there + +In Gentoo and Yocto alike we do not allow build environments network +access and as a result the package manager is responsible for fetching +down all the files necessary. In both they are configured to fetch down +the compiler and unpack it and place the stage0 tarball inside of the +'dl' directory for the build system to use. Unfortunately it +unconditionally attempts to fetch down the files and ignores what is +already available so this avoids that behavior and just uses what's in +the 'dl' directory. + +Upstream-Status: Not upstreamable +Signed-off-by: Doug Goldstein +--- + src/etc/get-stage0.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/etc/get-stage0.py b/src/etc/get-stage0.py +index 127251c..2889c07 100644 +--- a/src/etc/get-stage0.py ++++ b/src/etc/get-stage0.py +@@ -31,7 +31,7 @@ def main(triple): + filename = 'rustc-{}-{}.tar.gz'.format(channel, triple) + url = 'https://static.rust-lang.org/dist/{}/{}'.format(date, filename) + dst = dl_dir + '/' + filename +- bootstrap.get(url, dst) ++ #bootstrap.get(url, dst) + + stage0_dst = triple + '/stage0' + if os.path.exists(stage0_dst): +-- +2.7.3 + diff --git a/dev-lang/rust/rust-1.12.0.ebuild b/dev-lang/rust/rust-1.12.0.ebuild index ca00a6b2a937..e608fbde2b38 100644 --- a/dev-lang/rust/rust-1.12.0.ebuild +++ b/dev-lang/rust/rust-1.12.0.ebuild @@ -55,6 +55,8 @@ PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425" S="${WORKDIR}/${MY_P}" +PATCHES=("${FILESDIR}/rust-1.12.0-disable-fetching-stage0.patch") + src_unpack() { unpack "rustc-${PV}-src.tar.gz" || die mkdir "${MY_P}/dl" || die diff --git a/dev-lang/rust/rust-1.12.1.ebuild b/dev-lang/rust/rust-1.12.1.ebuild index ca00a6b2a937..e608fbde2b38 100644 --- a/dev-lang/rust/rust-1.12.1.ebuild +++ b/dev-lang/rust/rust-1.12.1.ebuild @@ -55,6 +55,8 @@ PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425" S="${WORKDIR}/${MY_P}" +PATCHES=("${FILESDIR}/rust-1.12.0-disable-fetching-stage0.patch") + src_unpack() { unpack "rustc-${PV}-src.tar.gz" || die mkdir "${MY_P}/dl" || die -- cgit v1.2.3-65-gdbad