diff --git a/mingw-w64-rust/PKGBUILD b/mingw-w64-rust/PKGBUILD index 8ec6e7d28679e..93cdf7de1dd3d 100644 --- a/mingw-w64-rust/PKGBUILD +++ b/mingw-w64-rust/PKGBUILD @@ -19,8 +19,8 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" $([[ ${CARCH} == i686 ]] || echo "${MINGW_PACKAGE_PREFIX}-rust-wasm") "${MINGW_PACKAGE_PREFIX}-rust-src") -pkgver=1.80.0 -pkgrel=4 +pkgver=1.80.1 +pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64' 'clang32') @@ -56,10 +56,10 @@ source=("${rust_dist_server}/${_realname}c-${pkgver}-src.tar.gz"{,.asc} "0011-disable-uac-for-installer.patch" "0012-vendor-embed-manifest.patch") noextract=(${_realname}c-${pkgver}-src.tar.gz) -sha256sums=('6f606c193f230f6b2cae4576f7b24d50f5f9b25dff11dbf9b22f787d3521d672' +sha256sums=('2c0b8f643942dcb810cbcc50f292564b1b6e44db5d5f45091153996df95d2dc4' 'SKIP' '24ef6d949c0b5b1940c1d6a7aad78d86012152fb8845a1644bc939350d7b75e2' - '829d72862663cb2002f57aee3471b496137f9093e3330ed8f5db80f37663eaf7' + '6c8130d4b1fe89609d37952a36a626a23902c70073d6d0751f2488d88920dbf8' '7cb1773c288ffb1c1e751edc49b1890c84bf9c362742bc5225d19d474edb73a0' '56882f1a0f1404c10c7726d6cc37444f2b343e72b969badfcb43760f80db0f32' '7d1c4e49524b835a8eadc961b39f5594b12a522a1e24368999be2c7e85399e4e' @@ -185,6 +185,7 @@ build() { export RUST_BACKTRACE=1 + # substitute the values in config.toml local _prefix="$(cygpath -m ${MINGW_PREFIX})" cp -f "${srcdir}/config.toml" "${srcdir}/${_realname}c-${pkgver}-src" sed -i "s|%PREFIX%|${_prefix}|g" "${srcdir}/${_realname}c-${pkgver}-src/config.toml" @@ -194,14 +195,14 @@ build() { if [ "${_bootstrapping}" = "no" ]; then sed -i "/^\[build\]/a rustc = \"${_prefix}/bin/rustc.exe\"\ncargo = \"${_prefix}/bin/cargo.exe\"" "${srcdir}/${_realname}c-${pkgver}-src/config.toml" fi - # generating debug info causes OOMing on i686 - if [ "${CARCH}" != i686 ]; then - sed -i '/^\[rust\]/a debuginfo-level = 1\ndebuginfo-level-std = 2' "${srcdir}/${_realname}c-${pkgver}-src/config.toml" + # generate debuginfo only for non-i686 targets + if check_option "debug" "y" && [ "${CARCH}" != i686 ]; then + sed -i '/^\[rust\]/a debug = true\ndebuginfo-level-std = 2' "${srcdir}/${_realname}c-${pkgver}-src/config.toml" fi # Add target wasm32-* if [[ ${CARCH} != i686 ]]; then - sed -i '/target = \[/a\ "wasm32-wasip1", "wasm32-wasip1-threads", "wasm32-wasip2",' "${srcdir}/${_realname}c-${pkgver}-src/config.toml" + sed -i '/target = \[/a\ "wasm32-unknown-unknown", "wasm32-wasip1", "wasm32-wasip1-threads", "wasm32-wasip2",' "${srcdir}/${_realname}c-${pkgver}-src/config.toml" fi # Building out of tree is not officially supported so we have to workaround some things like vendored deps @@ -218,6 +219,11 @@ build() { DEP_Z_ROOT=${MINGW_PREFIX} \ DESTDIR="$PWD"/dest-rust ${MINGW_PREFIX}/bin/python ../${_realname}c-${pkgver}-src/x.py install "${_rust_build[@]}" + # remove self-contained directory for all targets + for _target in $OSTYPE wasm32-unknown-unknown wasm32-wasip1 wasm32-wasip1-threads wasm32-wasip2; do + rm -rf dest-rust/${MINGW_PREFIX}/lib/rustlib/${_target}/lib/self-contained + done + if [[ ${CARCH} != i686 ]]; then # move wasm32-* targets out of the way for splitting mkdir -p dest-wasm/${MINGW_PREFIX}/lib/rustlib @@ -226,8 +232,6 @@ build() { # move src out of the way for splitting mv dest-rust/${MINGW_PREFIX}/lib/rustlib/src dest-src - - rm -f dest-rust/${MINGW_PREFIX}/lib/rustlib/$OSTYPE/lib/self-contained/* } check() { @@ -249,8 +253,6 @@ package_rust() { cd "${srcdir}/${MSYSTEM}" cp -a dest-rust/* "$pkgdir" - install -Dm644 ${srcdir}/${_realname}c-${pkgver}-src/LICENSE-APACHE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE-APACHE" - install -Dm644 ${srcdir}/${_realname}c-${pkgver}-src/LICENSE-MIT "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE-MIT" # delete unnecessary files, e.g. components and manifest files only used for the uninstall script cd "$pkgdir"/${MINGW_PREFIX}/lib/rustlib @@ -265,7 +267,10 @@ package_rust-wasm() { pkgdesc="WebAssembly targets for Rust" depends=("${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-rust" - "${MINGW_PACKAGE_PREFIX}-wasm-component-ld") + "${MINGW_PACKAGE_PREFIX}-wasm-component-ld" + "${MINGW_PACKAGE_PREFIX}-wasi-libc") + # stripping files fail + options=('!strip') cd "${srcdir}/${MSYSTEM}" @@ -282,8 +287,8 @@ package_rust-src() { install -Dm644 "${srcdir}"/${_realname}c-${pkgver}-src/LICENSE-APACHE "${pkgdir}${MINGW_PREFIX}/share/licenses/$pkgname/LICENSE-APACHE" install -Dm644 "${srcdir}"/${_realname}c-${pkgver}-src/LICENSE-MIT "${pkgdir}${MINGW_PREFIX}/share/licenses/$pkgname/LICENSE-MIT" - install -d "${pkgdir}/${MINGW_PREFIX}/lib/rustlib/" - cp -a dest-src "${pkgdir}/${MINGW_PREFIX}/lib/rustlib/src" + install -d "${pkgdir}${MINGW_PREFIX}/lib/rustlib/" + cp -a dest-src "${pkgdir}${MINGW_PREFIX}/lib/rustlib/src" } # template start; name=mingw-w64-splitpkg-wrappers; version=1.0; diff --git a/mingw-w64-rust/config.toml b/mingw-w64-rust/config.toml index f74918f30a1ac..bdbb6acddb12a 100644 --- a/mingw-w64-rust/config.toml +++ b/mingw-w64-rust/config.toml @@ -42,9 +42,11 @@ codegen-units-std = 1 channel = "stable" description = "Rev%PKGREL%, Built by MSYS2 project" rpath = false +frame-pointers = true codegen-tests = false deny-warnings = false backtrace-on-ice = true +control-flow-guard = true [dist] compression-formats = ["gz"]