aboutsummaryrefslogtreecommitdiffstats
path: root/testing/rust/alpine-allow-crt-static.patch
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2017-04-16 15:56:18 +0000
committerJakub Jirutka <jakub@jirutka.cz>2017-04-21 01:44:33 +0200
commit3db351aa5647eb4a482e9e008bedcf1a5be51302 (patch)
treefe64ea58b55936fc2da3f78eaa48c1703ec6bcf6 /testing/rust/alpine-allow-crt-static.patch
parente4cc4b79b548e043d635ff35c3e9f2e832be1202 (diff)
downloadaports-3db351aa5647eb4a482e9e008bedcf1a5be51302.tar.bz2
aports-3db351aa5647eb4a482e9e008bedcf1a5be51302.tar.xz
testing/rust: reorganize patches
This divides up the patches in three logical categories: - musl-*.patch: musl support patches intended for upstreaming; - alpine-*.patch: Alpine-specific patches that are likely not upstreamable; - *.patch: functionality patch that may make it upstream.
Diffstat (limited to 'testing/rust/alpine-allow-crt-static.patch')
-rw-r--r--testing/rust/alpine-allow-crt-static.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/rust/alpine-allow-crt-static.patch b/testing/rust/alpine-allow-crt-static.patch
new file mode 100644
index 0000000000..5e81671f60
--- /dev/null
+++ b/testing/rust/alpine-allow-crt-static.patch
@@ -0,0 +1,41 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sat, 08 Aug 2016 14:49:00 +0200
+Subject: [PATCH] Allow to use -C target-feature=+crt-static on stable rustc
+
+Rust links system libraries statically on musl by default, but we want to
+link dynamically. At the same time we want to allow users to optionally
+use static linking.
+
+rustc already provides codegen option to change linking, but currently it's
+allowed only for nightly builds. This patch just removes this check and so
+allows to use it even on stable build.
+
+Build staticaly linked binary with rustc or cargo:
+
+ $ rustc -C target-feature=+crt-static hello_world.rs
+ $ RUSTFLAGS="-C target-feature=+crt-static" cargo build
+
+--- a/src/librustc/session/mod.rs
++++ b/src/librustc/session/mod.rs
+@@ -401,9 +401,9 @@
+ // If we switched from the default then that's only allowed on nightly, so
+ // gate that here.
+ if (found_positive || found_negative) && (!is_nightly || !unstable_options) {
+- self.fatal("specifying the `crt-static` target feature is only allowed \
+- on the nightly channel with `-Z unstable-options` passed \
+- as well");
++ //self.fatal("specifying the `crt-static` target feature is only allowed \
++ // on the nightly channel with `-Z unstable-options` passed \
++ // as well");
+ }
+
+ return crt_static;
+--- a/src/test/compile-fail/crt-static-gated.rs
++++ b/src/test/compile-fail/crt-static-gated.rs
+@@ -10,5 +10,6 @@
+
+ // compile-flags:-C target-feature=+crt-static
+ // error-pattern: specifying the `crt-static` target feature is only allowed
++// ignore-test we just want this feature and no one will stop us!
+
+ fn main() {}