diff --git a/mingw-w64-wasm-component-ld/PKGBUILD b/mingw-w64-wasm-component-ld/PKGBUILD new file mode 100644 index 0000000000..401749d241 --- /dev/null +++ b/mingw-w64-wasm-component-ld/PKGBUILD @@ -0,0 +1,54 @@ +_realname=wasm-component-ld +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=0.5.4 +pkgrel=1 +pkgdesc="Command line linker for creating WebAssembly components (mingw-w64)" +arch=('any') +mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') +url="https://github.com/bytecodealliance/wasm-component-ld" +msys2_references=( + 'archlinux: wasm-component-ld' +) +license=('Apache-2.0 WITH LLVM-exception AND Apache-2.0 AND MIT') +depends=( + "${MINGW_PACKAGE_PREFIX}-gcc-libs" + "${MINGW_PACKAGE_PREFIX}-lld" +) +makedepends=( + "${MINGW_PACKAGE_PREFIX}-rust" + 'git' +) +# checkdepends=("${MINGW_PACKAGE_PREFIX}-rust-wasm") +source=("git+$url#tag=v$pkgver") +b2sums=('dc70ca61ca0832729a9ceee9ab584d73f3cd3cfda275bd40fe81a5bb138e2fd288dcd5feaf6e330f7186e5c6cda7d84e9a11878db4d00bb097ea15d2de458242') + +prepare() { + cd "${_realname}" + + cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" +} + +build() { + cd "${_realname}" + + # Use debug + export CARGO_PROFILE_RELEASE_DEBUG=2 + + # Use LTO + export CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 + + cargo build --release --frozen --all-targets +} + +package() { + cd "${_realname}" + + install -D target/release/wasm-component-ld -t "${pkgdir}${MINGW_PREFIX}/bin" + + # Package doc + install -Dm644 README.md -t "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}" + + # Package licenses + install -Dm644 LICENSE* -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}" +}