summaryrefslogtreecommitdiff
path: root/rust/Pkgfile
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 }

Generated by cgit