1
0
mirror of https://github.com/termux/termux-packages synced 2024-06-20 12:17:07 +00:00

Add rustc and cargo

This commit is contained in:
Kevin Cotugno 2018-10-20 17:05:12 -07:00 committed by Fredrik Fornwall
parent 60767d4367
commit 429729e682
4 changed files with 91 additions and 0 deletions

37
packages/rust/build.sh Normal file
View File

@ -0,0 +1,37 @@
TERMUX_PKG_HOMEPAGE=https://www.rust-lang.org/
TERMUX_PKG_DESCRIPTION="Systems programming language focused on safety, speed and concurrency"
TERMUX_PKG_VERSION=1.29.2
TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-$TERMUX_PKG_VERSION-src.tar.gz
TERMUX_PKG_SHA256=5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9
TERMUX_PKG_DEPENDS="clang, openssl"
termux_step_configure () {
termux_setup_cmake
if [ "$TERMUX_ARCH" = "arm" ]; then
TRIPLE="armv7-linux-androideabi"
else
TRIPLE="$TERMUX_HOST_PLATFORM"
fi
sed "s%\\@TERMUX_PREFIX\\@%$TERMUX_PREFIX%g" \
$TERMUX_PKG_BUILDER_DIR/config.toml \
| sed "s%\\@TERMUX_STANDALONE_TOOLCHAIN\\@%$TERMUX_STANDALONE_TOOLCHAIN%g" \
| sed "s%\\@TERMUX_STANDALONE_TOOLCHAIN\\@%$TERMUX_STANDALONE_TOOLCHAIN%g" \
| sed "s%\\@TRIPLE\\@%$TRIPLE%g" \
> config.toml
export LD_LIBRARY_PATH=$TERMUX_PKG_BUILDDIR/build/x86_64-unknown-linux-gnu/llvm/lib
export OPENSSL_DIR=$TERMUX_PREFIX
unset CC CXX CPP LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
}
termux_step_make () {
$TERMUX_PKG_SRCDIR/x.py dist
}
termux_step_make_install () {
$TERMUX_PKG_SRCDIR/x.py install
}

33
packages/rust/config.toml Normal file
View File

@ -0,0 +1,33 @@
[llvm]
link-shared = true
[build]
host = ["@TRIPLE@"]
target = ["@TRIPLE@"]
python = "python2.7"
extended = true
sanitizers = false
[install]
prefix = "@TERMUX_PREFIX@"
sysconfdir = "etc"
[rust]
codegen-units = 1
use-jemalloc = false
debuginfo = true
debuginfo-lines = true
channel = "stable"
rpath = false
[target.@TRIPLE@]
android-ndk = "@TERMUX_STANDALONE_TOOLCHAIN@"
llvm-config = "@TERMUX_PREFIX@/bin/llvm-config"
[dist]
src-tarball = false

View File

@ -0,0 +1,10 @@
--- ../rustc-1.29.2-src/src/bootstrap/config.rs 2018-10-05 15:19:57.000000000 -0700
+++ ./src/bootstrap/config.rs 2018-10-19 14:18:14.000000000 -0700
@@ -416,7 +416,6 @@
let build = toml.build.clone().unwrap_or(Build::default());
// set by bootstrap.py
- config.hosts.push(config.build.clone());
for host in build.host.iter() {
let host = INTERNER.intern_str(host);
if !config.hosts.contains(&host) {

View File

@ -0,0 +1,11 @@
--- ../rustc-1.29.2-src/src/libstd/sys/unix/os.rs 2018-10-19 14:12:31.000000000 -0700
+++ ./src/libstd/sys/unix/os.rs 2018-10-19 14:11:20.000000000 -0700
@@ -488,7 +488,7 @@
pub fn temp_dir() -> PathBuf {
::env::var_os("TMPDIR").map(PathBuf::from).unwrap_or_else(|| {
if cfg!(target_os = "android") {
- PathBuf::from("/data/local/tmp")
+ PathBuf::from("/data/data/com.termux/files/usr/tmp")
} else {
PathBuf::from("/tmp")
}