From db75d2d09b268f7d636d6d6dc70f25de91ccee99 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 6 Aug 2024 09:04:47 +0200 Subject: [PATCH] mingw-w64-cross-tools: convert to split package --- mingw-w64-cross-tools/PKGBUILD | 87 ++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 30 deletions(-) diff --git a/mingw-w64-cross-tools/PKGBUILD b/mingw-w64-cross-tools/PKGBUILD index 166142af..6e47940a 100644 --- a/mingw-w64-cross-tools/PKGBUILD +++ b/mingw-w64-cross-tools/PKGBUILD @@ -3,15 +3,15 @@ _realname=tools _mingw_suff=mingw-w64-cross -pkgname=("${_mingw_suff}-${_realname}") -provides=("${_mingw_suff}-${_realname}-git") -conflicts=("${_mingw_suff}-${_realname}-git") -replaces=("${_mingw_suff}-${_realname}-git") +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=12.0.0.r0.g819a6ec2e -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') -url="https://mingw-w64.sourceforge.io/" +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") @@ -25,40 +25,67 @@ msys2_references=( ) _tools="gendef genidl genpeimg" #widl -_targets="x86_64-w64-mingw32ucrt i686-w64-mingw32 x86_64-w64-mingw32" - pkgver() { cd "${srcdir}/mingw-w64" git describe --long ${_commit} | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//g' } -prepare() { - cd "${srcdir}/mingw-w64" +_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 _target in ${_targets}; do - 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 + 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() { - for _target in ${_targets}; do - msg "Installing ${_target} tools" - for cur in ${_tools}; do - cd ${srcdir}/${cur}-${_target} - make DESTDIR=${pkgdir} install - done - 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" }