Skip to content

Commit

Permalink
mingw-w64-cross-headers: convert to split package
Browse files Browse the repository at this point in the history
Same as #4807
  • Loading branch information
lazka committed Aug 4, 2024
1 parent 059b423 commit 90f410c
Showing 1 changed file with 60 additions and 38 deletions.
98 changes: 60 additions & 38 deletions mingw-w64-cross-headers/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@

_realname=headers
_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}"
pkgname=("${_mingw_suff}-${_realname}" "${_mingw_suff}-ucrt64-${_realname}" "${_mingw_suff}-mingw32-${_realname}" "${_mingw_suff}-mingw64-${_realname}")
pkgver=12.0.0.r0.g819a6ec2e
pkgrel=1
pkgrel=2
pkgdesc="MinGW-w64 headers for cross-compiler"
arch=('i686' 'x86_64')
url="https://mingw-w64.sourceforge.io/"
Expand All @@ -24,50 +22,74 @@ msys2_references=(
'cpe: cpe:/a:mingw-w64:mingw-w64'
)

_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
unset CC CXX

if [[ "${_target}" == "x86_64-w64-mingw32ucrt" ]]; then
_default_msvcrt=ucrt
_default_win32_winnt=0x603 # Windows 8.1
else
_default_msvcrt=msvcrt
_default_win32_winnt=0x601 # Windows 7
fi

msg "Configuring ${_target} headers"
mkdir -p ${srcdir}/headers-${_target} && cd ${srcdir}/headers-${_target}
${srcdir}/mingw-w64/mingw-w64-headers/configure \
--build=${CHOST} \
--host=${_target} \
--prefix=/opt/${_target} \
--enable-sdk=all \
--with-default-win32-winnt=${_default_win32_winnt} \
--with-default-msvcrt=${_default_msvcrt}
}

_package() {
_target=$1
msg "Installing ${_target} headers"
cd ${srcdir}/headers-${_target}
make DESTDIR=${pkgdir} install

rm ${pkgdir}/opt/${_target}/include/pthread_signal.h
rm ${pkgdir}/opt/${_target}/include/pthread_time.h
rm ${pkgdir}/opt/${_target}/include/pthread_unistd.h
}

build() {
unset CC CXX
for _target in ${_targets}; do
_build "x86_64-w64-mingw32ucrt"
_build "i686-w64-mingw32"
_build "x86_64-w64-mingw32"
}

if [[ "${_target}" == "x86_64-w64-mingw32ucrt" ]]; then
_default_msvcrt=ucrt
_default_win32_winnt=0x603 # Windows 8.1
else
_default_msvcrt=msvcrt
_default_win32_winnt=0x601 # Windows 7
fi

msg "Configuring ${_target} headers"
mkdir -p ${srcdir}/headers-${_target} && cd ${srcdir}/headers-${_target}
${srcdir}/mingw-w64/mingw-w64-headers/configure \
--build=${CHOST} \
--host=${_target} \
--prefix=/opt/${_target} \
--enable-sdk=all \
--with-default-win32-winnt=${_default_win32_winnt} \
--with-default-msvcrt=${_default_msvcrt}
done
package_mingw-w64-cross-headers() {
provides=("${_mingw_suff}-${_realname}-git")
conflicts=("${_mingw_suff}-${_realname}-git")
replaces=("${_mingw_suff}-${_realname}-git")
depends=(
"${_mingw_suff}-ucrt64-${_realname}"
"${_mingw_suff}-mingw32-${_realname}"
"${_mingw_suff}-mingw64-${_realname}"
)
}

package() {
for _target in ${_targets}; do
msg "Installing ${_target} headers"
cd ${srcdir}/headers-${_target}
make DESTDIR=${pkgdir} install
package_mingw-w64-cross-ucrt64-headers() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32ucrt"
}

package_mingw-w64-cross-mingw32-headers() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "i686-w64-mingw32"
}

rm ${pkgdir}/opt/${_target}/include/pthread_signal.h
rm ${pkgdir}/opt/${_target}/include/pthread_time.h
rm ${pkgdir}/opt/${_target}/include/pthread_unistd.h
done
package_mingw-w64-cross-mingw64-headers() {
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
_package "x86_64-w64-mingw32"
}

0 comments on commit 90f410c

Please sign in to comment.