2025-06-08 09:35:29 +02:00

92 lines
2.8 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Martell Malone <martellmalone@gmail.com>
_realname=tools
_mingw_suff=mingw-w64-cross
pkgbase="${_mingw_suff}-${_realname}"
_targetpkgs=("${_mingw_suff}-ucrt64-${_realname}" "${_mingw_suff}-mingw32-${_realname}" "${_mingw_suff}-mingw64-${_realname}")
pkgname=("${_mingw_suff}-${_realname}" "${_targetpkgs[@]}")
pkgdesc="MinGW-w64 headers for cross-compiler"
pkgver=13.0.0.r1.gb45abfec4
pkgrel=1
arch=('i686' 'x86_64')
url="https://www.mingw-w64.org/"
msys2_repository_url="https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-tools"
license=('custom')
groups=("${_mingw_suff}-toolchain" "${_mingw_suff}")
makedepends=('git' 'autotools' "${_mingw_suff}-gcc" "${_mingw_suff}-binutils")
options=('!strip' '!libtool' '!emptydirs' '!buildflags')
_commit='b45abfec4e116b33620de597b99b1f0af3ab6a6a'
source=("mingw-w64"::"git+https://git.code.sf.net/p/mingw-w64/mingw-w64#commit=$_commit")
sha256sums=('38cb5bc2209c942f76acad3c5d7083782b1cceb64878ba24a4c876ea053d40b9')
msys2_references=(
# doesn't exist in arch, this is the next best thing
'archlinux: mingw-w64-headers'
)
_tools="gendef genidl genpeimg" #widl
pkgver() {
cd "${srcdir}/mingw-w64"
git describe --long ${_commit} | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//g'
}
_build() {
_target=$1
msg "Configuring ${_target} tools"
for cur in ${_tools}; do
mkdir -p ${srcdir}/${cur}-${_target} && cd ${srcdir}/${cur}-${_target}
unset CC
${srcdir}/mingw-w64/mingw-w64-tools/${cur}/configure \
--build=${CHOST} \
--host=${_target} \
--prefix=/opt/${_target}
make
done
}
_package() {
_target=$1
msg "Installing ${_target} tools"
for cur in ${_tools}; do
cd ${srcdir}/${cur}-${_target}
make DESTDIR=${pkgdir} install
done
}
build() {
for _pkg in "${_targetpkgs[@]}"; do
case "$_pkg" in
"${_mingw_suff}-ucrt64-${_realname}") _build "x86_64-w64-mingw32ucrt" ;;
"${_mingw_suff}-mingw32-${_realname}") _build "i686-w64-mingw32" ;;
"${_mingw_suff}-mingw64-${_realname}") _build "x86_64-w64-mingw32" ;;
esac
done
}
package_mingw-w64-cross-tools() {
pkgdesc+=" (meta package, for backward compatibility)"
depends=("${_targetpkgs[@]}")
provides=("${_mingw_suff}-${_realname}-git")
conflicts=("${_mingw_suff}-${_realname}-git")
replaces=("${_mingw_suff}-${_realname}-git")
}
package_mingw-w64-cross-ucrt64-tools() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32ucrt"
}
package_mingw-w64-cross-mingw32-tools() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "i686-w64-mingw32"
}
package_mingw-w64-cross-mingw64-tools() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32"
}