diff options
Diffstat (limited to 'extra/rust')
-rw-r--r-- | extra/rust/PKGBUILD | 53 | ||||
-rw-r--r-- | extra/rust/config.toml.patch | 36 |
2 files changed, 63 insertions, 26 deletions
diff --git a/extra/rust/PKGBUILD b/extra/rust/PKGBUILD index 80af53ec..418aa7fb 100644 --- a/extra/rust/PKGBUILD +++ b/extra/rust/PKGBUILD @@ -6,7 +6,7 @@ # see https://github.com/rust-lang/rust/issues/60294 source+=(config.toml.patch) -sha256sums+=('c6d2fe4d0fab22194029a926e7c4efe55546a3dfbc85328cabba44e44126129f') +sha256sums+=('a8b42b5f47c0eaebafbb2cd1f39d2f944945cbb55e87d4dc21c7bd5b1b8964d8') eval "$( declare -f prepare | \ @@ -19,7 +19,7 @@ eval "$( eval "$( declare -f build | \ sed ' - s/-j"$(nproc)"/-j1/ + s/-j "$(nproc)"/-j1/ ' )" @@ -27,43 +27,58 @@ if [ "${CARCH}" != 'pentium4' ]; then eval "$( declare -f prepare | \ sed ' - $ i sed -i "s/pentium4/pentium3/g" "$srcdir/rustc-$pkgver-src/vendor/rustc-ap-rustc_target/spec/i686_unknown_linux_gnu.rs" - $ i sed -i "s/pentium4/pentium3/g" "$srcdir/rustc-$pkgver-src/src/librustc_target/spec/i686_unknown_linux_gnu.rs" - $ i sed -i "s/7dd6e3219a9d324f6f44dc230261df116995de5a02d0d12770490eb3e7b4df75/21c1ae9e514c828baae1b8b723d06515eb60289d02f390e6a38c2c9d6fc3bde0/g" "$srcdir/rustc-$pkgver-src/vendor/rustc-ap-rustc_target/.cargo-checksum.json" + $ i sed -i "s/pentium4/pentium3/g" "$srcdir/rustc-$pkgver-src/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs" ' )" fi # Don't move lib32 support into rust32-lib, we are on 32-bit in the end # and don't draw a symlink to 64-bit libraries (but to 32-bit instead) - -pkgname=( - $( - printf '%s\n' "${pkgname[@]}" | \ - grep -v '^lib32-rust-libs' - ) -) +# move rust-musl though, also patch architecture for musl accordingly +eval "$( + declare -f build | \ + sed ' + /mkdir.*usr\/lib32/d + /ln.*x86_64.*/d + /ln.*i686-unknown-linux-gnu.*/d + /_pick.*dest-i686.*/d + s/x86_64-unknown-linux-musl/i686-unknown-linux-musl/ + ' +)" eval "$( declare -f package_rust | \ sed ' - /mv.*i686-unknown-linux-gnu.*/d /ln /s/x86_64-unknown-linux-gnu/i686-unknown-linux-gnu/g ' )" eval "$( - declare -f build | \ + declare -f package_rust-musl | \ sed ' - /mv.*i686-unknown-linux-gnu.*/d - /ln /s/x86_64-unknown-linux-gnu/i686-unknown-linux-gnu/g + s/x86_64-unknown-linux-musl/i686-unknown-linux-musl/ ' )" +# remove 32-bit stuff (shouldn't that be removed automatically?) +pkgname=( + $( + printf '%s\n' "${pkgname[@]}" | \ + grep -v '^lib32-rust-libs' + ) +) +makedepends=(${makedepends[@]//lib32-gcc-libs/}) + +# Enable on demand, if your previous rust is broken use previous version +# from build-support (this is preferable to using rust-bin below, but +# requires all intermediate versions of rust to be built +#makedepends=(${makedepends[@]//rust/}) +#makedepends+=('rust148') + # Enable on demand, if your previous rust is broken use previous version # from build-support #makedepends=(${makedepends[@]//rust/}) -#makedepends+=('rust-bin') +#makedepends+=('rust159-bin') -# rust 1.41 is built against llvm 9.0, so force that in as a make dependency -#makedepends+=('llvm9-libs') +# rust 1.56 is built against llvm12.0, so force that in as a make dependency +#makedepends+=('llvm12-libs') diff --git a/extra/rust/config.toml.patch b/extra/rust/config.toml.patch index 3fd6f43b..e262d277 100644 --- a/extra/rust/config.toml.patch +++ b/extra/rust/config.toml.patch @@ -1,17 +1,39 @@ diff -rauN a/config.toml b/config.toml ---- a/config.toml 2020-08-01 10:50:30.352304826 +0200 -+++ b/config.toml 2020-08-01 10:51:38.355820332 +0200 -@@ -22,11 +22,11 @@ - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 +--- a/config.toml 2021-12-09 10:47:47.487749605 +0100 ++++ b/config.toml 2021-12-09 11:12:50.904278715 +0100 +@@ -6,11 +6,10 @@ + [build] + target = [ +- "x86_64-unknown-linux-gnu", + "i686-unknown-linux-gnu", +- "x86_64-unknown-linux-musl", ++ "i686-unknown-linux-musl", + "wasm32-unknown-unknown", +- "wasm32-wasi", ++ "wasm32-wasi" + ] + cargo = "/usr/bin/cargo" + rustc = "/usr/bin/rustc" +@@ -28,7 +27,7 @@ + prefix = "/usr" + + [rust] -debuginfo-level-std = 2 +debuginfo-level-std = 0 - channel = "stable" - + description = "Arch Linux $pkgbase $epoch:$pkgver-$pkgrel" rpath = false +@@ -45,10 +44,10 @@ + [dist] + compression-formats = ["gz"] -[target.x86_64-unknown-linux-gnu] +[target.i686-unknown-linux-gnu] llvm-config = "/usr/bin/llvm-config" + +-[target.x86_64-unknown-linux-musl] ++[target.i686-unknown-linux-musl] + sanitizers = false + musl-root = "/usr/lib/musl" + |