From e0f6d12fab2f1667c2f8fa2b196fb4f4cfbbd3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= Date: Thu, 5 Jan 2023 17:35:05 +0100 Subject: [PATCH] qt5: update to 5.15.8 - Part2 --- ...1-disable-qtlocation-mapboxgl-plugin.patch | 11 ++ mingw-w64-qt5-location/PKGBUILD | 118 ++++++++++++++++++ .../001-fix-static-build-big-resources.patch | 10 ++ mingw-w64-qt5-quick3d/PKGBUILD | 116 +++++++++++++++++ mingw-w64-qt5-script/PKGBUILD | 93 ++++++++++++++ 5 files changed, 348 insertions(+) create mode 100644 mingw-w64-qt5-location/001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch create mode 100644 mingw-w64-qt5-location/PKGBUILD create mode 100644 mingw-w64-qt5-quick3d/001-fix-static-build-big-resources.patch create mode 100644 mingw-w64-qt5-quick3d/PKGBUILD create mode 100644 mingw-w64-qt5-script/PKGBUILD diff --git a/mingw-w64-qt5-location/001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch b/mingw-w64-qt5-location/001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch new file mode 100644 index 0000000000..4aecd70be3 --- /dev/null +++ b/mingw-w64-qt5-location/001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch @@ -0,0 +1,11 @@ +--- a/src/plugins/geoservices/geoservices.pro 2019-05-23 15:20:43.000000000 +0300 ++++ b/src/plugins/geoservices/geoservices.pro 2019-06-15 16:03:54.523835200 +0300 +@@ -8,7 +8,7 @@ + qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay + qtConfig(geoservices_osm): SUBDIRS += osm + +-qtConfig(geoservices_mapboxgl) { ++qtConfig(geoservices_mapboxgl):!mingw { + !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) { + warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.") + } else { diff --git a/mingw-w64-qt5-location/PKGBUILD b/mingw-w64-qt5-location/PKGBUILD new file mode 100644 index 0000000000..29f615822b --- /dev/null +++ b/mingw-w64-qt5-location/PKGBUILD @@ -0,0 +1,118 @@ +# Contibutor: Mehdi Chinoune + +_realname=qt5-location +pkgbase="mingw-w64-${_realname}" +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" + "${MINGW_PACKAGE_PREFIX}-${_realname}-debug") +_qtver=5.15.8 +pkgver=${_qtver}+kde+r3 +pkgrel=1 +_commit=f991e28cb0a670597f1955585c76ce8a26ce9e4b +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +pkgdesc="Provides access to position, satellite and area monitoring classes (mingw-w64)" +url='https://www.qt.io/' +license=('GPL3' 'LGPL' 'FDL' 'custom') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-qt5-base" + "${MINGW_PACKAGE_PREFIX}-qt5-declarative" + "git" + "rsync") +options=('!strip') +_pkgfn="${_realname/5-/}" +source=(git+https://invent.kde.org/qt/qt/$_pkgfn#commit=$_commit + 001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch) +sha256sums=('SKIP' + '8601d8d67647ac2c3a4043171ff29ef18ae5ba9d92cc72f529582c6bfd3658e1') + +# Helper macros to help make tasks easier # +apply_patch_with_msg() { + for _patch in "$@" + do + msg2 "Applying ${_patch}" + patch -Nbp1 -i "${srcdir}/${_patch}" + done +} + +pkgver() { + cd $_pkgfn + echo "${_qtver}+kde+r"`git rev-list --count v${_qtver}-lts-lgpl..$_commit` +} + +prepare() { + cd "${srcdir}"/${_pkgfn} + apply_patch_with_msg \ + 001-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch +} +build() { + [[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM} + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} + + qmake ../${_pkgfn} + + make +} + +check() { + cd build-${MSYSTEM} + make check -j1 -k +} + +package_qt5-location() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-declarative") + groups=("${MINGW_PACKAGE_PREFIX}-qt5") + + cd build-${MSYSTEM} + + # Fix Makefiles + local PREFIX_WIN=$(cygpath -am ${MINGW_PREFIX}) + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|${PREFIX_WIN:0:2}\$(INSTALL_ROOT|\$(INSTALL_ROOT|g" {} \; + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|)${PREFIX_WIN:2}|)${MINGW_PREFIX}|g" {} \; + + make INSTALL_ROOT="${pkgdir}" install + + install -d "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + install -Dm644 $srcdir/${_pkgfn}/LICENSE* -t "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + + # Seperate debug-info files + mv -f "${pkgdir}${MINGW_PREFIX}/lib"/*.debug "${pkgdir}${MINGW_PREFIX}/bin"/ || true + rsync -armR --remove-source-files --include="*/" --include="*.debug" --exclude="*" --prune-empty-dirs ${pkgdir}/.${MINGW_PREFIX} ${srcdir}/${MSYSTEM}-debug/ + + # Fix paths in *.pri, *prl and *.pc files: + # $(cygpath -m ${MINGW_PREFIX}) -> $(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local PKGDIR_PREFIX_WIN=$(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local FAKE_PREFIX_FOR_REPLACE="@@QT_REAL_PREFIX/dir@@" + + find "${pkgdir}${MINGW_PREFIX}/share/qt5" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PKGDIR_PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; +} + +package_qt5-location-debug() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-declarative-debug" + "${MINGW_PACKAGE_PREFIX}-qt5-location") + groups=("${MINGW_PACKAGE_PREFIX}-qt5-debug") + + cp -rf ${srcdir}/${MSYSTEM}-debug${MINGW_PREFIX} "${pkgdir}"/ +} + +# template start; name=mingw-w64-splitpkg-wrappers; version=1.0; +# vim: set ft=bash : + +# generate wrappers +for _name in "${pkgname[@]}"; do + _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}" + _func="$(declare -f "${_short}")" + eval "${_func/#${_short}/package_${_name}}" +done +# template end; diff --git a/mingw-w64-qt5-quick3d/001-fix-static-build-big-resources.patch b/mingw-w64-qt5-quick3d/001-fix-static-build-big-resources.patch new file mode 100644 index 0000000000..ffd2b588e7 --- /dev/null +++ b/mingw-w64-qt5-quick3d/001-fix-static-build-big-resources.patch @@ -0,0 +1,10 @@ +--- a/src/imports/materiallib/plugin.pro 2020-03-20 14:35:20.514180400 +0300 ++++ b/src/imports/materiallib/plugin.pro 2020-03-20 14:35:29.698282300 +0300 +@@ -1,6 +1,7 @@ + CXX_MODULE = qml + TARGET = qtquick3dmaterialplugin + TARGETPATH = QtQuick3D/Materials ++CONFIG += resources_big + QT += quick qml quick3d-private + IMPORT_VERSION = 1.$$QT_MINOR_VERSION + QML_FILES = \ diff --git a/mingw-w64-qt5-quick3d/PKGBUILD b/mingw-w64-qt5-quick3d/PKGBUILD new file mode 100644 index 0000000000..d3dc7e9d4c --- /dev/null +++ b/mingw-w64-qt5-quick3d/PKGBUILD @@ -0,0 +1,116 @@ +# Contibutor: Mehdi Chinoune + +_realname=qt5-quick3d +pkgbase="mingw-w64-${_realname}" +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" + "${MINGW_PACKAGE_PREFIX}-${_realname}-debug") +pkgver=5.15.8 +pkgrel=1 +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +pkgdesc="Qt module and API for defining 3D content in Qt Quick (mingw-w64)" +url='https://www.qt.io/' +license=('GPL3' 'LGPL' 'FDL' 'custom') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-qt5-base" + "${MINGW_PACKAGE_PREFIX}-qt5-declarative" + "${MINGW_PACKAGE_PREFIX}-assimp" + "rsync") +options=('!strip') +_pkgfn="${_realname/5-/}-everywhere-opensource-src-${pkgver}" +source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgfn.tar.xz" + 001-fix-static-build-big-resources.patch + 002-fix-build-with-system-assimp.patch::https://invent.kde.org/qt/qt/qtquick3d/-/commit/47defc8b3.patch) +sha256sums=('1dfe98c5ec69f7a282c8d6bf129cdcc6153873bd2f1b2bf2ca20568dea3a692c' + 'c0b2ed679d9938e10a0791f0cbb6242880d9d852c4879064613d6831e0e9b079' + '6bd3f2456261ddbee67b675686c7188993fa92feb5bc1f2dd4f16b48a9bb6048') + +# Helper macros to help make tasks easier # +apply_patch_with_msg() { + for _patch in "$@" + do + msg2 "Applying ${_patch}" + patch -Nbp1 -i "${srcdir}/${_patch}" + done +} + +prepare() { + cd ${srcdir}/${_pkgfn/opensource-/} + apply_patch_with_msg \ + 001-fix-static-build-big-resources.patch \ + 002-fix-build-with-system-assimp.patch +} + +build() { + [[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM} + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} + + qmake ../${_pkgfn/opensource-/} + + make +} + +check() { + cd build-${MSYSTEM} + make check -j1 -k +} + +package_qt5-quick3d() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-declarative") + optdepends=("${MINGW_PACKAGE_PREFIX}-assimp") + groups=("${MINGW_PACKAGE_PREFIX}-qt5") + + cd build-${MSYSTEM} + + # Fix Makefiles + local PREFIX_WIN=$(cygpath -am ${MINGW_PREFIX}) + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|${PREFIX_WIN:0:2}\$(INSTALL_ROOT|\$(INSTALL_ROOT|g" {} \; + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|)${PREFIX_WIN:2}|)${MINGW_PREFIX}|g" {} \; + + make INSTALL_ROOT="${pkgdir}" install + + install -d "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + install -Dm644 $srcdir/${_pkgfn/opensource-/}/LICENSE* -t "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + + # Seperate debug-info files + mv -f "${pkgdir}${MINGW_PREFIX}/lib"/*.debug "${pkgdir}${MINGW_PREFIX}/bin"/ || true + rsync -armR --remove-source-files --include="*/" --include="*.debug" --exclude="*" --prune-empty-dirs ${pkgdir}/.${MINGW_PREFIX} ${srcdir}/${MSYSTEM}-debug/ + + # Fix paths in *.pri, *prl and *.pc files: + # $(cygpath -m ${MINGW_PREFIX}) -> $(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local PKGDIR_PREFIX_WIN=$(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local FAKE_PREFIX_FOR_REPLACE="@@QT_REAL_PREFIX/dir@@" + + find "${pkgdir}${MINGW_PREFIX}/share/qt5" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PKGDIR_PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; +} + +package_qt5-quick3d-debug() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-declarative-debug" + "${MINGW_PACKAGE_PREFIX}-${_realname}") + groups=("${MINGW_PACKAGE_PREFIX}-qt5-debug") + + cp -rf ${srcdir}/${MSYSTEM}-debug${MINGW_PREFIX} "${pkgdir}"/ +} + +# template start; name=mingw-w64-splitpkg-wrappers; version=1.0; +# vim: set ft=bash : + +# generate wrappers +for _name in "${pkgname[@]}"; do + _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}" + _func="$(declare -f "${_short}")" + eval "${_func/#${_short}/package_${_name}}" +done +# template end; diff --git a/mingw-w64-qt5-script/PKGBUILD b/mingw-w64-qt5-script/PKGBUILD new file mode 100644 index 0000000000..64cca4c5ac --- /dev/null +++ b/mingw-w64-qt5-script/PKGBUILD @@ -0,0 +1,93 @@ +# Contibutor: Mehdi Chinoune + +_realname=qt5-script +pkgbase="mingw-w64-${_realname}" +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" + "${MINGW_PACKAGE_PREFIX}-${_realname}-debug") +pkgver=5.15.8 +pkgrel=1 +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +pkgdesc="Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility (mingw-w64)" +url='https://www.qt.io/' +license=('GPL3' 'LGPL' 'FDL' 'custom') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-qt5-base" + "rsync") +options=('!strip') +_pkgfn="${_realname/5-/}-everywhere-opensource-src-${pkgver}" +source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgfn.tar.xz") +sha256sums=('9ad546f081d479c73dbdd16c567076dc8763d4ef3a7e0b3e06b87107ec0d5266') + +build() { + [[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM} + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} + + qmake ../${_pkgfn/opensource-/} + + make +} + +check() { + cd build-${MSYSTEM} + make check -j1 -k +} + +package_qt5-script() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-base") + groups=("${MINGW_PACKAGE_PREFIX}-qt5") + + cd build-${MSYSTEM} + + # Fix Makefiles + local PREFIX_WIN=$(cygpath -am ${MINGW_PREFIX}) + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|${PREFIX_WIN:0:2}\$(INSTALL_ROOT|\$(INSTALL_ROOT|g" {} \; + find "${srcdir}/build-${MSYSTEM}" -type f \( -name 'Makefile*' \) \ + -exec sed -i -e "s|)${PREFIX_WIN:2}|)${MINGW_PREFIX}|g" {} \; + + make INSTALL_ROOT="${pkgdir}" install + + install -d "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + install -Dm644 $srcdir/${_pkgfn/opensource-/}/LICENSE* -t "$pkgdir${MINGW_PREFIX}"/share/licenses/${_realname} + + # Seperate debug-info files + mv -f "${pkgdir}${MINGW_PREFIX}/lib"/*.debug "${pkgdir}${MINGW_PREFIX}/bin"/ || true + rsync -armR --remove-source-files --include="*/" --include="*.debug" --exclude="*" --prune-empty-dirs ${pkgdir}/.${MINGW_PREFIX} ${srcdir}/${MSYSTEM}-debug/ + + # Fix paths in *.pri, *prl and *.pc files: + # $(cygpath -m ${MINGW_PREFIX}) -> $(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local PKGDIR_PREFIX_WIN=$(cygpath -m ${pkgdir}${MINGW_PREFIX}) + local FAKE_PREFIX_FOR_REPLACE="@@QT_REAL_PREFIX/dir@@" + + find "${pkgdir}${MINGW_PREFIX}/share/qt5" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib" -type f \( -name '*.pri' -o -name '*.prl' \) \ + -exec sed -i -e "s|${PREFIX_WIN}|${FAKE_PREFIX_FOR_REPLACE}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; + + find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \ + -exec sed -i -e "s|${PKGDIR_PREFIX_WIN}|${MINGW_PREFIX}|g" {} \; +} + +package_qt5-script-debug() { + depends=("${MINGW_PACKAGE_PREFIX}-qt5-base-debug" + "${MINGW_PACKAGE_PREFIX}-${_realname}") + groups=("${MINGW_PACKAGE_PREFIX}-qt5-debug") + + cp -rf ${srcdir}/${MSYSTEM}-debug${MINGW_PREFIX} "${pkgdir}"/ +} + +# template start; name=mingw-w64-splitpkg-wrappers; version=1.0; +# vim: set ft=bash : + +# generate wrappers +for _name in "${pkgname[@]}"; do + _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}" + _func="$(declare -f "${_short}")" + eval "${_func/#${_short}/package_${_name}}" +done +# template end;