aboutsummaryrefslogtreecommitdiff
path: root/repos/extra/rust/abuild
blob: 27083d62ec82fe78d8a88d29cfa97257a233d4bf (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name=rust
version=1.78.0

##cat src/stage0.txt
export _date=2024-03-21
export _rustc=1.77.0
export _cargo=$_rustc
##

release=1
source="https://static.rust-lang.org/dist/${name}c-$version-src.tar.xz
	https://static.rust-lang.org/dist/$_date/rust-std-$_rustc-x86_64-unknown-linux-musl.tar.xz::noextract
	https://static.rust-lang.org/dist/$_date/rustc-$_rustc-x86_64-unknown-linux-musl.tar.xz::noextract
	https://static.rust-lang.org/dist/$_date/cargo-$_cargo-x86_64-unknown-linux-musl.tar.xz::noextract
	fix-curl.patch"
build_dir=${name}c-$version-src
keep_static=1
no_strip=1

build() {
	mkdir -p build/cache/$_date
	
	_tuplet=x86_64-unknown-linux-musl
	cp $SRC/rust-std-$_rustc-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
	cp $SRC/rustc-$_rustc-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
	cp $SRC/cargo-$_cargo-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
	
	sed -i 's/\(crt_static_default = \)true/\1false/' compiler/rustc_target/src/spec/base/linux_musl.rs
	sed -i 's/\("files":{\)[^}]*/\1/' vendor/curl-sys/.cargo-checksum.json
		
	cat > config.toml <<EOF
	[llvm]
	link-shared = true
	
	[build]
	build     = "$_tuplet"
	host      = [ "$_tuplet" ]
	target    = [ "$_tuplet" ]
	
	docs           = false
	compiler-docs  = false
	extended       = true
	submodules     = false
	python         = "python3"
	locked-deps    = true
	vendor         = true
	tools          = [ "cargo", "rustfmt" ]
	sanitizers     = false
	profiler       = false
	full-bootstrap = false
	
	[install]
	prefix = "/usr"
	
	[target.$_tuplet]
	llvm-config = "/usr/bin/llvm-config"
	crt-static  = false
	sanitizers  = false
	
	[dist]
	src-tarball = false
	
	[rust]
	backtrace         = false
	channel           = "stable"
	codegen-tests     = false
	codegen-units-std = 1
	codegen-units     = 0
	debug             = false
	debug-assertions  = false
	debuginfo-level   = 0
	incremental       = false
	jemalloc          = false
	rpath             = false
	dist-src          = false
	EOF
	
	mkdir "$SRC/rust"
	export RUST_BACKTRACE=1
	
	python x.py build
	python x.py install
	
	rm -rf $PKG/usr/lib/rustlib/src/ \
		$PKG/usr/share/zsh \
		$PKG/usr/lib/rustlib/uninstall.sh
}