Merge pull request #4810 from lazka/cross-winpthreads-split

mingw-w64-cross-winpthreads: convert to split package
This commit is contained in:
Christoph Reiter 2024-08-06 08:10:42 +02:00 committed by GitHub
commit c652f3c973
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,19 +2,18 @@
_realname=winpthreads _realname=winpthreads
_mingw_suff=mingw-w64-cross _mingw_suff=mingw-w64-cross
pkgname="${_mingw_suff}-${_realname}" pkgbase="${_mingw_suff}-${_realname}"
provides=("${_mingw_suff}-${_realname}-git") _targetpkgs=("${_mingw_suff}-ucrt64-${_realname}" "${_mingw_suff}-mingw32-${_realname}" "${_mingw_suff}-mingw64-${_realname}")
conflicts=("${_mingw_suff}-${_realname}-git") pkgname=("${_mingw_suff}-${_realname}" "${_targetpkgs[@]}")
replaces=("${_mingw_suff}-${_realname}-git")
pkgver=12.0.0.r0.g819a6ec2e pkgver=12.0.0.r0.g819a6ec2e
pkgrel=1 pkgrel=2
pkgdesc="MinGW-w64 winpthreads library for cross-compiler" pkgdesc="MinGW-w64 winpthreads library for cross-compiler"
arch=('i686' 'x86_64') 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-libraries/winpthreads"
license=('custom') license=('custom')
groups=("${_mingw_suff}-toolchain" "${_mingw_suff}") groups=("${_mingw_suff}-toolchain" "${_mingw_suff}")
makedepends=("git" "${_mingw_suff}-gcc" "${_mingw_suff}-binutils" "${_mingw_suff}-crt" "${_mingw_suff}-headers" 'autotools') makedepends=("git" "${_mingw_suff}-gcc" "${_mingw_suff}-binutils" "${_mingw_suff}-crt" "${_mingw_suff}-headers" 'autotools')
depends=("${_mingw_suff}-crt")
optdepends=() optdepends=()
backup=() backup=()
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs' '!buildflags') options=('!strip' '!buildflags' 'staticlibs' '!emptydirs' '!buildflags')
@ -28,8 +27,6 @@ msys2_references=(
'cpe: cpe:/a:mingw-w64:mingw-w64' 'cpe: cpe:/a:mingw-w64:mingw-w64'
) )
_targets="x86_64-w64-mingw32ucrt i686-w64-mingw32 x86_64-w64-mingw32"
pkgver() { pkgver() {
cd "$srcdir/mingw-w64" cd "$srcdir/mingw-w64"
@ -43,23 +40,60 @@ prepare() {
autoreconf -vfi autoreconf -vfi
} }
_build() {
_target=$1
mkdir -p ${srcdir}/winpthreads-build-${_target} && cd ${srcdir}/winpthreads-build-${_target}
unset CC
${srcdir}/mingw-w64/mingw-w64-libraries/winpthreads/configure \
--prefix=/opt/${_target} \
--build=${CHOST} \
--host=${_target} \
--enable-static \
--enable-shared
make
}
_package() {
_target=$1
cd ${srcdir}/winpthreads-build-${_target}
make DESTDIR=${pkgdir} install
}
build() { build() {
for _target in ${_targets}; do for _pkg in "${_targetpkgs[@]}"; do
mkdir -p ${srcdir}/winpthreads-build-${_target} && cd ${srcdir}/winpthreads-build-${_target} case "$_pkg" in
unset CC "${_mingw_suff}-ucrt64-${_realname}") _build "x86_64-w64-mingw32ucrt" ;;
${srcdir}/mingw-w64/mingw-w64-libraries/winpthreads/configure \ "${_mingw_suff}-mingw32-${_realname}") _build "i686-w64-mingw32" ;;
--prefix=/opt/${_target} \ "${_mingw_suff}-mingw64-${_realname}") _build "x86_64-w64-mingw32" ;;
--build=${CHOST} \ esac
--host=${_target} \
--enable-static \
--enable-shared
make
done done
} }
package() { package_mingw-w64-cross-winpthreads() {
for _target in ${_targets}; do pkgdesc+=" (meta package, for backward compatibility)"
cd ${srcdir}/winpthreads-build-${_target} depends=("${_targetpkgs[@]}")
make DESTDIR=${pkgdir} install provides=("${_mingw_suff}-${_realname}-git")
done conflicts=("${_mingw_suff}-${_realname}-git")
replaces=("${_mingw_suff}-${_realname}-git")
}
package_mingw-w64-cross-ucrt64-winpthreads() {
depends=("${_mingw_suff}-ucrt64-crt")
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32ucrt"
}
package_mingw-w64-cross-mingw32-winpthreads() {
depends=("${_mingw_suff}-mingw32-crt")
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "i686-w64-mingw32"
}
package_mingw-w64-cross-mingw64-winpthreads() {
depends=("${_mingw_suff}-mingw64-crt")
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32"
} }