summaryrefslogtreecommitdiff
path: root/extra/rust/PKGBUILD
blob: 1871ee85093586583cc3090312d5cad449a4acfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# enable i686-unknown-linux-gnu target
# and replace pentium4 (SSE2) with pentium3 (no SSE2) in the compiler spec file
#
# Also trying to reduce memory usage by building with
# -debuginfo-level-std=1
# see https://github.com/rust-lang/rust/issues/60294

source+=(config.toml.patch)
sha256sums+=('fcd8125f57295537a4f775c5b1966e548d9ac453fce513061d39957a1d0cfa45')

eval "$(
  declare -f prepare | \
    sed '
      $ i patch -p1 -i "$srcdir/config.toml.patch"
    '
)"

# stop insanity of nproc (see FS#62952)
eval "$(
  declare -f build | \
    sed '
      s/-j"$(nproc)"/-j1/
    '
)"

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/254a116e0cfbce81d1d38ddd59e1086228332746ae8916647b990dd8226079d3/30594a90c83b496630d0b8d80ce2f93671ab6afedadcdc79afd832f4dfe499fd/g" "$srcdir/rustc-$pkgver-src/vendor/rustc-ap-rustc_target/.cargo-checksum.json"
      '
  )"
fi

# use binary rust-bin instead of rust (till we can bootstrap rust on IA-32)
# rust is ok on pentium4 but broken on i686 in bootstrap!
makedepends=(${makedepends[@]//rust/})
makedepends+=('rust-bin')