diff --git a/pkgbuilds/flea/PKGBUILD b/pkgbuilds/flea/PKGBUILD index 2808c60c..a8cd3fdc 100644 --- a/pkgbuilds/flea/PKGBUILD +++ b/pkgbuilds/flea/PKGBUILD @@ -2,7 +2,7 @@ pkgname=flea pkgver=0.3.1 -pkgrel=1 +pkgrel=2 pkgdesc='Fast, keyboard-first file manager for Omarchy' arch=('x86_64' 'aarch64') url='https://github.com/thisisgm/flea' @@ -64,7 +64,13 @@ build() { check() { cd "$pkgname-$pkgver" - export CARGO_TARGET_DIR=target + # Upstream's release profile uses fat LTO, whose final link runs on one + # thread. build() keeps it for the shipped binary; the test harness is a + # throwaway second compile, so build it in parallel in its own target + # directory. + export CARGO_TARGET_DIR=target-check + export CARGO_PROFILE_RELEASE_LTO=thin + export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 local -a test_args=() if ! /usr/bin/prlimit --cpu=30 --as=1073741824 \ diff --git a/pkgbuilds/strata/PKGBUILD b/pkgbuilds/strata/PKGBUILD index 11cbbd10..4b6a14b9 100644 --- a/pkgbuilds/strata/PKGBUILD +++ b/pkgbuilds/strata/PKGBUILD @@ -1,6 +1,6 @@ pkgname=strata pkgver=0.19.0 -pkgrel=1 +pkgrel=2 pkgdesc='Fast, keyboard-first file manager for modern Linux desktops' arch=('x86_64' 'aarch64') url='https://github.com/lgse/strata' @@ -69,7 +69,16 @@ build() { check() { cd "$pkgname-$pkgver" - export CARGO_TARGET_DIR=target + # Upstream's release profile is fat LTO with one codegen unit, which + # compiles the final crate on a single thread. That is the right trade + # for the binary users run, and build() keeps it. The test harness is a + # second compile of the same crate under the same profile, thrown away + # afterwards; build it in parallel, in its own target directory so the + # shipped binary is untouched. Measured on the x86_64 builder: 708 s + # serial, 223 s with thin LTO and 16 units. + export CARGO_TARGET_DIR=target-check + export CARGO_PROFILE_RELEASE_LTO=thin + export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 export STRATA_BUILD_COMMIT STRATA_BUILD_COMMIT=$(<.build-commit) export STRATA_RELEASE_TAG="v$pkgver"