blob: 3fdd2c34d112224946d118db996d01b955a6375b [file] [log] [blame]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Maintainer: Ray Donnelly <mingw.android@gmail.com>
# The patches for this package are developed inside the -git package.
# This is for three reasons:
# 1. Upstreaming is easier.
# 2. The Qt devs often forget to release Qbs at the same time as Qt Creator.
# 3. Commit messages are retained (though efforts are made for that via git init)
# TODO :: Patch this for clang support:
# qbs setup-toolchains --type clang /mingw64/bin/clang.exe clang
# .. will add a profile to %AppData%/QtProject/qbs.ini that contains:
# qt-project\qbs\profiles\clang\qbs\toolchain=clang, llvm, gcc
# .. but is missing:
# qt-project\qbs\profiles\clang\qbs\targetOS=windows
# then in share/qbs/modules/cpp/windows-mingw.qbs we need to change
# condition: qbs.targetOS.contains("windows") && qbs.toolchain.contains("mingw")
# .. to:
# condition: qbs.targetOS.contains("windows") \
# && (qbs.toolchain.contains("mingw") || qbs.toolchain.contains("gcc"))
_realname=qbs
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.18.0
pkgrel=2
_pkgfqn="${_realname}-src-${pkgver}"
pkgdesc="Qt Build Suite (mingw-w64)"
url='https://www.qt.io/'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
license=('LGPL')
depends=("${MINGW_PACKAGE_PREFIX}-qt5")
makedepends=("${MINGW_PACKAGE_PREFIX}-clang" "git") # clang for qdoc
options=('docs' 'staticlibs') # '!strip' 'debug')
source=("https://download.qt.io/official_releases/qbs/${pkgver}/${_pkgfqn}.tar.gz"
#${_pkgfqn}::git://code.qt.io/qbs/qbs.git#tag="v${pkgver}"
"manifest"
"0003-add-generator-header-installs.1.4.patch"
"0004-Use-.dll.a-instead-of-.a-for-mingw-import-librar.1.4.patch"
"0005-setup-toolchains-Pretend-msys-is-mingw.1.4.patch"
"0006-Add-some-missing-files.1.4.patch"
"0008-add-many-files-to-installed-headers.1.4.patch")
sha256sums=('3d0211e021bea3e56c4d5a65c789d11543cc0b6e88f1bfe23c2f8ebf0f89f8d4'
'838098b25a8044176b3139b4003594570c62a8d64f5470fbbd769f3bf44e0855'
'540ff56b72e56d6ede1420e66f94e1ea0348ce172bf71f153b7381632a19a305'
'b6d51c58e96ac4fd957ccedcff7812de6f84ccfc9f996e30cf2e75fb5b4e5f02'
'320c57d7989038203998957962840e9a66698e7419238017c8c73c6e0dfd3da9'
'6c8285f0e274ccede48d7e2f9bead02d1ef34225753a627974b32dce68b6d28d'
'95306d788a375935bcd5227eefbd73850b9c2554edd1b1757090f6a59c608e88')
prepare() {
cd ${_pkgfqn}
#[[ -d src/plugins/generator ]] && rm -rf src/plugins/generator
#rm -rf src/lib/corelib/api/generator.*
rm -rf src/lib/corelib/tools/generat*
patch -p1 -i "${srcdir}"/0003-add-generator-header-installs.1.4.patch
patch -p1 -i "${srcdir}"/0004-Use-.dll.a-instead-of-.a-for-mingw-import-librar.1.4.patch
patch -p1 -i "${srcdir}"/0005-setup-toolchains-Pretend-msys-is-mingw.1.4.patch
patch -p1 -i "${srcdir}"/0006-Add-some-missing-files.1.4.patch
patch -p1 -i "${srcdir}"/0008-add-many-files-to-installed-headers.1.4.patch
}
build() {
local _config
if check_option "debug" "n"; then
_config="release"
else
_config="debug"
fi
cd ${srcdir}
[[ -d build-${CARCH} ]] && rm -rf build-${CARCH}
mkdir build-${CARCH}
cd build-${CARCH}
export MSYS2_ARG_CONV_EXCL="QBS_INSTALL_PREFIX="
${MINGW_PREFIX}/bin/qmake.exe \
QBS_INSTALL_PREFIX="${MINGW_PREFIX}" \
CONFIG+=${_config} \
CONFIG+=qbs_enable_project_file_updates \
../${_pkgfqn}/qbs.pro
# Because xcodeprojectgenerator has a build order problem.
make
make docs
}
package() {
cd ${srcdir}/build-${CARCH}
export MSYS2_ARG_CONV_EXCL="QBS_INSTALL_PREFIX="
make INSTALL_ROOT=${pkgdir} install
make INSTALL_ROOT=${pkgdir} install_docs
rm -f ${pkgdir}${MINGW_PREFIX}/lib/*.dll
for ff in qbs-setup-toolchains qbs-setup-qt; do
cp ${srcdir}/manifest ${pkgdir}${MINGW_PREFIX}/bin/${ff}.exe.manifest
done
cp ${srcdir}/${_pkgfqn}/VERSION ${pkgdir}${MINGW_PREFIX}/include/qbs
}