add bootstrap packages
This commit is contained in:
		
							parent
							
								
									4de0af80de
								
							
						
					
					
						commit
						fb7ee2330b
					
				
					 3 changed files with 88 additions and 0 deletions
				
			
		
							
								
								
									
										49
									
								
								bootstrap/rust/boot.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								bootstrap/rust/boot.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,49 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| ARCH=aarch64 | ||||
| CHAN=beta | ||||
| LIBUNWIND=/usr/lib/libunwind.so.1 | ||||
| 
 | ||||
| mkdir -p build | ||||
| 
 | ||||
| echo 'Downloading rust tar' | ||||
| stat build/rust.tar > /dev/null 2> /dev/null \ | ||||
| || curl "https://static.rust-lang.org/dist/rust-$CHAN-$ARCH-unknown-linux-musl.tar.gz" -o build/rust.tar | ||||
| 
 | ||||
| echo 'Extracting rust tar' | ||||
| stat build/rust-$CHAN-$ARCH-unknown-linux-musl > /dev/null 2> /dev/null \ | ||||
| || tar -xf build/rust.tar -C build | ||||
| 
 | ||||
| echo 'Building libgcc_s.so' | ||||
| stat build/libgcc_s.so > /dev/null 2> /dev/null \ | ||||
| || clang -shared -o build/libgcc_s.so \ | ||||
| -Wl,--allow-multiple-definition -Wl,--whole-archive \ | ||||
| $(clang -print-libgcc-file-name) | ||||
| 
 | ||||
| mkdir -p build/rust-root | ||||
| 
 | ||||
| echo 'Installing rust to rust-root' | ||||
| 
 | ||||
| stat build/rust-root/lib/rustlib/uninstall.sh > /dev/null 2> /dev/null \ | ||||
| || ./build/rust-$CHAN-$ARCH-unknown-linux-musl/install.sh \ | ||||
| --disable-ldconfig \ | ||||
| --destdir=$(pwd)/build/rust-root \ | ||||
| --prefix=/ | ||||
| 
 | ||||
| # Can't just symlink here 'cause rustc needs __clear_cache which isn't exposed | ||||
| # by libunwind | ||||
| echo 'Copying libgcc_s shim' | ||||
| stat $(pwd)/build/rust-root/lib/libgcc_s.so.1 > /dev/null 2> /dev/null \ | ||||
| || cp $(pwd)/build/libgcc_s.so $(pwd)/build/rust-root/lib/libgcc_s.so.1 | ||||
| 
 | ||||
| # Symlink libunwind for dynamic builds to link to | ||||
| echo 'Symlinking libunwind' | ||||
| stat $(pwd)/build/rust-root/lib/rustlib/aarch64-unknown-linux-musl/lib/libgcc_s.so > /dev/null 2> /dev/null \ | ||||
| || ln -sr $LIBUNWIND $(pwd)/build/rust-root/lib/rustlib/aarch64-unknown-linux-musl/lib/libgcc_s.so | ||||
| 
 | ||||
| export RUSTC=$(pwd)/build/rust-root/bin/rustc | ||||
| 
 | ||||
| echo "Checking Sanity" | ||||
| 
 | ||||
| $RUSTC sanity.rs -C target-feature=-crt-static -o build/sanity | ||||
| ./build/sanity | ||||
							
								
								
									
										36
									
								
								bootstrap/rust/build.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								bootstrap/rust/build.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| pkgname=rust | ||||
| pkgver=beta | ||||
| 
 | ||||
| fetch() { | ||||
| 	stat rust.tar.gz > /dev/null 2> /dev/null \ | ||||
| 	|| curl "https://static.rust-lang.org/dist/rust-$pkgver-$ARCH-unknown-linux-musl.tar.gz" -o rust.tar.gz | ||||
| 
 | ||||
| 	stat rust-$pkgver-$ARCH-unknown-linux-musl > /dev/null 2> /dev/null \ | ||||
| 	|| tar -xf rust.tar.gz | ||||
| } | ||||
| 
 | ||||
| build() { | ||||
| 	stat libgcc_s.so > /dev/null 2> /dev/null \ | ||||
| 	|| clang -shared -o libgcc_s.so \ | ||||
| 	-Wl,--allow-multiple-definition -Wl,--whole-archive \ | ||||
| 	$(clang -print-libgcc-file-name) | ||||
| } | ||||
| 
 | ||||
| package() { | ||||
| 	stat $pkgdir/opt/rust/lib/rustlib/uninstall.sh > /dev/null 2> /dev/null \ | ||||
| 	|| ./rust-$pkgver-$ARCH-unknown-linux-musl/install.sh \ | ||||
| 	--disable-ldconfig \ | ||||
| 	--destdir=$pkgdir \ | ||||
| 	--prefix=/opt/rust | ||||
| 
 | ||||
| 	stat $pkgdir/opt/rust/lib/libgcc_s.so \ | ||||
| 	|| cp ./libgcc_s.so $pkgdir/opt/rust/lib/libgcc_s.so | ||||
| } | ||||
| 
 | ||||
| backup() { | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| license() { | ||||
| 	return | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue