blob: 951b6a8187f60f039b01da387173c2a27e66af11 (
plain)
1 # Description: The Rust language with Cargo included.
2 # URL: http://www.rust-lang.org/
3 # Maintainer: Danny Rawlins, crux at romster dot me
4 # Depends on: llvm python3
5 # Optional: sccache llvm-32
6
7 name=rust
8 version=1.34.2
9 ##cat src/stage0.txt
10 _date=2019-02-28
11 _rustc=1.33.0
12 _cargo=0.34.0
13 ##
14
15 release=1
16 source=(
17 https://static.rust-lang.org/dist/${name}c-$version-src.tar.gz
18 https://static.rust-lang.org/dist/$_date/rust-std-$_rustc-x86_64-unknown-linux-gnu.tar.gz
19 https://static.rust-lang.org/dist/$_date/rustc-$_rustc-x86_64-unknown-linux-gnu.tar.gz
20 https://static.rust-lang.org/dist/$_date/cargo-$_cargo-x86_64-unknown-linux-gnu.tar.gz
21 )
22
23 build() {
24 cd "${name}c-$version-src"
25
26 mkdir -p build/cache/$_date
27 cp $PKGMK_SOURCE_DIR/rust-std-$_rustc-x86_64-unknown-linux-gnu.tar.gz build/cache/$_date/
28 cp $PKGMK_SOURCE_DIR/rustc-$_rustc-x86_64-unknown-linux-gnu.tar.gz build/cache/$_date/
29 cp $PKGMK_SOURCE_DIR/cargo-$_cargo-x86_64-unknown-linux-gnu.tar.gz build/cache/$_date/
30
31 if [ -n "$(pkginfo -i | grep '^sccache ')" ]; then
32 export RUSTC_WRAPPER=/usr/bin/sccache
33 fi
34
35 cat <<- EOF > $SRC/config.toml
36 [llvm]
37 ninja = true
38 targets = "X86"
39 experimental-targets = ""
40 link-shared = true
41
42 [install]
43 prefix = "/usr"
44
45 [rust]
46 channel = "stable"
47 rpath = false
48 codegen-tests = false
49 backtrace-on-ice = true
50
51 [build]
52 docs = false
53 extended = true
54 python = "python3"
55 EOF
56 # part of [build] options
57 if [ -e '/usr/bin/rustc' ]; then
58 cat <<- EOF >> $SRC/config.toml
59 cargo = "/usr/bin/cargo"
60 rustc = "/usr/bin/rustc"
61 EOF
62 fi
63
64 cat <<- EOF >> $SRC/config.toml
65 [target.x86_64-unknown-linux-gnu]
66 llvm-config = "/usr/bin/llvm-config"
67 EOF
68
69 if [ -e '/usr/bin/llvm-config-32' ]; then
70 cat <<- EOF >> $SRC/config.toml
71 [target.i686-unknown-linux-gnu]
72 llvm-config = "/usr/bin/llvm-config-32"
73 EOF
74 fi
75
76 cat $SRC/config.toml
77
78 mkdir "$PKGMK_SOURCE_DIR/rust" || true
79 export CARGO_HOME="$PKGMK_SOURCE_DIR/rust"
80
81 export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"
82 /usr/bin/python3 ./x.py build --config="${SRC}"/config.toml --exclude src/tools/miri -j ${JOBS-1}
83
84 export LIBSSH2_SYS_USE_PKG_CONFIG=1
85 DESTDIR=$PKG /usr/bin/python3 ./x.py --config="${SRC}"/config.toml install
86 unset LIBSSH2_SYS_USE_PKG_CONFIG
87
88 #cleanup
89 rm -r $PKG/usr/share/doc
90 rm -r $PKG/usr/share/zsh
91 rm -r $PKG/etc
92 rm $PKG/usr/lib/rustlib/{components,manifest-rustc,rust-installer-version,uninstall.sh}
93 }
|