-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgo-fetch
executable file
·36 lines (26 loc) · 1.31 KB
/
go-fetch
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
#!/bin/sh
set -e
export LLVM_CMAKE_OPTS=-j8
mkdir -p inputs
echo "********** Clone rust"
[ -e inputs/rust ] || (cd inputs && git clone https://github.com/rust-lang/rust.git)
(cd inputs/rust && git checkout 0ade339411587887bf01bcfa2e9ae4414c8900d4 && git reset --hard && git clean -xdf)
echo "********** Clone mrustc"
[ -e inputs/mrustc ] || (cd inputs && git clone https://github.com/thepowersgang/mrustc.git)
(cd inputs/mrustc && git checkout 854ffd1878578cdd4431c6335d41ee16a4a505c7 && git reset --hard && git clean -xdf)
echo "********** Creating clean work directories from inputs"
rm -rf mrustc rust
cp -a inputs/mrustc mrustc
cp -a inputs/rust rust
echo "********** FIXME getting vendored crates from rustc tarball"
# Should be vendored by us instead
[ -e inputs/rustc-1.19.0-src.tar.gz ] || (cd inputs && curl https://static.rust-lang.org/dist/rustc-1.19.0-src.tar.gz > .temp && mv .temp rustc-1.19.0-src.tar.gz)
sha256sum -c sums
(cd inputs && tar xzf rustc-1.19.0-src.tar.gz rustc-1.19.0-src/src/vendor)
cp -a inputs/rustc-1.19.0-src/src/vendor rust/src/vendor
echo "********** Fetch rust git submodules"
(cd rust && git submodule init && git submodule update --init)
echo "********** Patching mrustc"
(cd mrustc && patch -p1 < ../mrustc.patch)
echo "********** Patching rust"
(cd rust && patch -p1 < ../rustc.patch)