diff options
Diffstat (limited to 'bootstrap/rust-1.64/APKBUILD')
-rw-r--r-- | bootstrap/rust-1.64/APKBUILD | 307 |
1 files changed, 307 insertions, 0 deletions
diff --git a/bootstrap/rust-1.64/APKBUILD b/bootstrap/rust-1.64/APKBUILD new file mode 100644 index 000000000..c7ee41793 --- /dev/null +++ b/bootstrap/rust-1.64/APKBUILD @@ -0,0 +1,307 @@ +# Maintainer: Samuel Holland <samuel@sholland.org> +pkgname=rust +pkgver=1.64.0 +_bootver=1.63.0-r0 +_llvmver=14 +pkgrel=0 +pkgdesc="The Rust Programming Language" +url="https://www.rust-lang.org" +arch="all" +#options="!check" # Failures on aarch64 and ppc64. +license="(Apache-2.0 OR MIT) AND (NCSA OR MIT) AND BSD-2-Clause AND BSD-3-Clause" +depends="$pkgname-std=$pkgver-r$pkgrel gcc musl-dev" +makedepends=" + curl-dev + llvm$_llvmver-dev + llvm$_llvmver-test-utils + openssl-dev + python3 + cargo-bootstrap=$_bootver + rust-bootstrap=$_bootver + rustfmt-bootstrap=$_bootver + zlib-dev + " +provides="$pkgname-bootstrap=$pkgver-r$pkgrel" +subpackages=" + $pkgname-dbg + $pkgname-std + $pkgname-analysis + $pkgname-doc + $pkgname-gdb::noarch + $pkgname-lldb::noarch + $pkgname-src::noarch + cargo + cargo-clippy:_cargo_clippy + cargo-fmt:_cargo_fmt + cargo-doc:_cargo_doc:noarch + cargo-bash-completion:_cargo_bashcomp:noarch + cargo-zsh-completion:_cargo_zshcomp:noarch + rls + rustfmt + " +source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.xz + 0001-Fix-LLVM-build.patch + 0002-Fix-linking-to-zlib-when-cross-compiling.patch + 0003-Fix-rustdoc-when-cross-compiling-on-musl.patch + 0004-Use-static-native-libraries-when-linking-static-exec.patch + 0005-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch + 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch + 0007-Link-libssp_nonshared.a-on-all-musl-targets.patch + 0008-test-failed-doctest-output-Fix-normalization.patch + 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch + 0010-test-use-extern-for-plugins-Don-t-assume-multilib.patch + 0011-Ignore-broken-and-non-applicable-tests.patch + 0012-Link-stage-2-tools-dynamically-to-libstd.patch + 0013-Move-debugger-scripts-to-usr-share-rust.patch + 0014-Add-foxkit-target-specs.patch + 0015-Use-OpenPOWER-ABI-on-BE-PowerPC-64-musl.patch + 0040-rls-atomics.patch + powerpc-atomics.patch + " +builddir="$srcdir/rustc-$pkgver-src" +_rlibdir="/usr/lib/rustlib/$CTARGET/lib" + +build() { + cat > config.toml <<- EOF + changelog-seen = 2 + [build] + doc-stage = 2 + build-stage = 2 + test-stage = 2 + build = "$CBUILD" + host = [ "$CHOST" ] + target = [ "$CTARGET" ] + cargo = "/usr/bin/cargo" + rustc = "/usr/bin/rustc" + rustfmt = "/usr/bin/rustfmt" + docs = true + compiler-docs = false + submodules = false + python = "python3" + locked-deps = true + vendor = true + extended = true + tools = [ "analysis", "cargo", "clippy", "rls", "rustfmt", "src" ] + verbose = 1 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "/usr" + [rust] + optimize = true + debug = false + codegen-units = 1 + debuginfo-level = 2 + debuginfo-level-rustc = 0 + debuginfo-level-tests = 0 + backtrace = true + incremental = false + parallel-compiler = false + channel = "stable" + description = "Adelie ${pkgver}-r${pkgrel}" + rpath = false + verbose-tests = true + optimize-tests = true + codegen-tests = true + dist-src = false + lld = false + use-lld = false + llvm-tools = false + backtrace-on-ice = true + remap-debuginfo = false + jemalloc = false + llvm-libunwind = "no" + new-symbol-mangling = true + [target.$CTARGET] + cc = "$CTARGET-gcc" + cxx = "$CTARGET-g++" + ar = "ar" + ranlib = "ranlib" + linker = "$CTARGET-gcc" + llvm-config = "/usr/lib/llvm$_llvmver/bin/llvm-config" + crt-static = false + [dist] + src-tarball = false + compression-formats = [ "xz" ] + EOF + + LLVM_LINK_SHARED=1 \ + RUST_BACKTRACE=1 \ + python3 x.py dist -j ${JOBS:-2} +} + +check() { + LLVM_LINK_SHARED=1 \ + python3 x.py test -j ${JOBS:-2} --no-doc --no-fail-fast || true +} + +package() { + cd "$builddir"/build/dist + + tar xf rust-$pkgver-$CTARGET.tar.xz + rust-$pkgver-$CTARGET/install.sh \ + --destdir="$pkgdir" \ + --prefix=/usr \ + --sysconfdir="$pkgdir"/etc \ + --disable-ldconfig + tar xf rust-src-$pkgver.tar.xz + rust-src-$pkgver/install.sh \ + --destdir="$pkgdir" \ + --prefix=/usr \ + --disable-ldconfig + + rm "$pkgdir"/usr/lib/rustlib/components \ + "$pkgdir"/usr/lib/rustlib/install.log \ + "$pkgdir"/usr/lib/rustlib/manifest-* \ + "$pkgdir"/usr/lib/rustlib/rust-installer-version \ + "$pkgdir"/usr/lib/rustlib/uninstall.sh +} + +std() { + pkgdesc="Standard library for Rust" + depends="musl-utils" + + _mv "$pkgdir"$_rlibdir/*.so "$subpkgdir"$_rlibdir + + mkdir -p "$subpkgdir"/etc/ld.so.conf.d + echo "$_rlibdir" > "$subpkgdir"/etc/ld.so.conf.d/$pkgname.conf +} + +analysis() { + pkgdesc="Compiler analysis data for the Rust standard library" + depends="$pkgname=$pkgver-r$pkgrel $pkgname-std=$pkgver-r$pkgrel" + + _mv "$pkgdir"${_rlibdir%/*}/analysis "$subpkgdir"${_rlibdir%/*} +} + +gdb() { + pkgdesc="GDB pretty printers for Rust" + license="Apache-2.0 OR MIT" + depends="$pkgname gdb" + install_if="$pkgname=$pkgver-r$pkgrel gdb" + + _mv "$pkgdir"/usr/bin/rust-gdb "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/bin/rust-gdbgui "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/share/rust/gdb_*.py "$subpkgdir"/usr/share/rust +} + +lldb() { + pkgdesc="LLDB pretty printers for Rust" + license="Apache-2.0 OR MIT" + depends="$pkgname lldb py3-lldb" + install_if="$pkgname=$pkgver-r$pkgrel lldb" + + _mv "$pkgdir"/usr/bin/rust-lldb "$subpkgdir"/usr/bin + _mv "$pkgdir"/usr/share/rust/lldb_*.py "$subpkgdir"/usr/share/rust +} + +src() { + pkgdesc="$pkgdesc (source code)" + depends="" + + _mv "$pkgdir"/usr/lib/rustlib/src/rust "$subpkgdir"/usr/src + rmdir -p "$pkgdir"/usr/lib/rustlib/src 2>/dev/null || true + + mkdir -p "$subpkgdir"/usr/lib/rustlib/src + ln -s ../../../src/rust "$subpkgdir"/usr/lib/rustlib/src/rust +} + +cargo() { + pkgdesc="The Rust package manager" + provides="cargo-bootstrap=$pkgver-r$pkgrel" + depends="$pkgname-std=$pkgver-r$pkgrel $pkgname" + + _mv "$pkgdir"/usr/bin/cargo "$subpkgdir"/usr/bin +} + +_cargo_clippy() { + pkgdesc="A collection of Rust lints (cargo plugin)" + depends="$pkgname-std=$pkgver-r$pkgrel cargo" + + _mv "$pkgdir"/usr/bin/cargo-clippy \ + "$pkgdir"/usr/bin/clippy-driver \ + "$subpkgdir"/usr/bin +} + +_cargo_fmt() { + pkgdesc="Format Rust code (cargo plugin)" + depends="$pkgname-std=$pkgver-r$pkgrel cargo rustfmt" + install_if="cargo=$pkgver-r$pkgrel rustfmt=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/cargo-fmt "$subpkgdir"/usr/bin +} + +_cargo_bashcomp() { + pkgdesc="Bash completion for cargo" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel bash-completion" + + _mv "$pkgdir"/etc/bash_completion.d/cargo \ + "$subpkgdir"/usr/share/bash-completion/completions + rmdir -p "$pkgdir"/etc/bash_completion.d 2>/dev/null || true +} + +_cargo_zshcomp() { + pkgdesc="ZSH completion for cargo" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel zsh" + + _mv "$pkgdir"/usr/share/zsh/site-functions/_cargo \ + "$subpkgdir"/usr/share/zsh/site-functions/_cargo + rmdir -p "$pkgdir"/usr/share/zsh/site-functions 2>/dev/null || true +} + +_cargo_doc() { + pkgdesc="The Rust package manager (documentation)" + license="Apache-2.0 OR MIT" + depends="" + install_if="cargo=$pkgver-r$pkgrel docs" + + # XXX: This is hackish! + _mv "$pkgdir"/../$pkgname-doc/usr/share/man/man1/cargo* \ + "$subpkgdir"/usr/share/man/man1 +} + +rls() { + pkgdesc="The Rust language server" + license="Apache-2.0 OR MIT" + depends="$pkgname-std=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/rls "$subpkgdir"/usr/bin +} + +rustfmt() { + pkgdesc="Format Rust code" + provides="rustfmt-bootstrap=$pkgver-r$pkgrel" + depends="$pkgname-std=$pkgver-r$pkgrel" + + _mv "$pkgdir"/usr/bin/rustfmt "$subpkgdir"/usr/bin +} + +_mv() { + local dest; for dest; do true; done # get last argument + mkdir -p "$dest" + mv "$@" +} + +sha512sums="919f40acd8c6eaaef399aa3248503bea19feb96697ab221aaede9ee789ce340b47cb899d1e0e41a31e5d7756653968a10d2faaa4aee83294c9f1243949b43516 rustc-1.64.0-src.tar.xz +5365df6b12998295525c9e27fd0184f650f842f4440174a69893e0019d69927bcd00ea9ce34d64156ea25631f845ff2b8a5741996452a661778f7006d3eebc02 0001-Fix-LLVM-build.patch +eaa1f1380ab3d76eba557fa65b6127248b2506e0c3291d814b774e952046a2c0a9f1c70ccf7f59101415bc34e9db546ef6260910e521ee958c99acbecf80426f 0002-Fix-linking-to-zlib-when-cross-compiling.patch +30992ee8b8def58bb1c226539b1eebe210c20ad8f9067a3aa01bac0bee9c56eb2310fe95e299b7341251ecd3aa7917bece29f8051dc0b846e7dc5420e3aa046a 0003-Fix-rustdoc-when-cross-compiling-on-musl.patch +6253ffcf264fa1c360ced90e0a1b9a993e27ec60d622258bbf6a32e860b72f687242dd813500f7e0aebf9e243508fc7dd2cbdeffdec1974c5c4c6790e5b38598 0004-Use-static-native-libraries-when-linking-static-exec.patch +6d47a835526696e9598e9fb10449d8441354855648dc39e75ae873e4cc5f3574fe77ec1e52048a448b1c1e95644cde618953eda4d8fe3eeca6e17d0f5e25c17b 0005-Remove-musl_root-and-CRT-fallback-from-musl-targets.patch +56d12d6f04e67f1c4fc0e0ef3f7a05172e3476db0112b64152c13c929649387a47c14c70e01b9e3805820d5a1f093ee38f7c4931db27f7a751f558451a02d54a 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch +8a500ba447662e8b271461506627f1c931e247c1b1478482b72859c40e5a7e12dc1dd1cc8e9b21bd5b5bef74f810ed83323190f7135d2fd9e29aabb7b8d84d2f 0007-Link-libssp_nonshared.a-on-all-musl-targets.patch +801caf594b5df06c2540542947622f9e98db79c8f0c43733a3b4532b2917b2192c81431d8d2bff2bc77c271bf257b59965b279ee52ff3cba67d8037a066b737f 0008-test-failed-doctest-output-Fix-normalization.patch +45bcce759138df475f8fbeb8089420bd38a399f5a018ebdf6d5a79e7c714c9ec770c765c32dda0ab4e368c5dd226f474b6894d70b14e41bea57284eeeb1a2f58 0009-test-sysroot-crates-are-unstable-Fix-test-when-rpath.patch +23f622841ba2030b02f52ed560c4be6800469e8021aa71842a702860c97b90edadf5de593ea4f6b9a158d7d0e4c83b52b419f770a8dac2b69633d643468c54d5 0010-test-use-extern-for-plugins-Don-t-assume-multilib.patch +73282af6c50155a29c2c98117a1ce6d28be42d04c25dc8ea2388de6923361fb7ae44d16bb81c57bb3d326d434f11ae6cdf72b8a0293421e8d0eaa931398e52d3 0011-Ignore-broken-and-non-applicable-tests.patch +93c7de0ed8e842c6fbc7510cb407df3d0650b4c99d3eb52ee8b1b7470a8a4c203c8706f96450b4f7af7b6987eff16079d43ffa112aae710ee4249c8382d5546c 0012-Link-stage-2-tools-dynamically-to-libstd.patch +f522045164be93fccaa711d7d8852c73fe8b205d806cd4ead3b17f1c63b9b813d5bf177e0016d9812fc8b14ae5f24d4b357f0b4c0086cd8f66d7842f5883be3b 0013-Move-debugger-scripts-to-usr-share-rust.patch +63c995cf444e822246b2d57e2996c6bdc8f612eca1786677c1cefb8fa391f432b3829db7c8757f44f727a5793ffc4d02f231cc23ee6bdeef1c48f7c331f97791 0014-Add-foxkit-target-specs.patch +7fee0667793d5d5ee5cb600e24129c81de50511814e8f1a2f16bb47350087c5f42a01671415b10b01e414e9ff03008892a35c6cb616737175217bdccd1fa3f1e 0015-Use-OpenPOWER-ABI-on-BE-PowerPC-64-musl.patch +a2a05a64ca57dcde23c11ed8bd6ce530d80b99464c895c256b4e9cba02997121205a091de43f516563d5d618ea522d89639507ba94961807ada743a3099fe8d8 0040-rls-atomics.patch +25fef880bc94a38625c5dc666f0f06f34939f54ad9023425724a6f5c346ae38d51ba6d7e8c36cf81739fb2618e9f5b8a091087aed48e522e9a41787ddad489d0 powerpc-atomics.patch" |