Improve and add more mingw-w64-qt6-*-static packages

* Add mingw-w64-cmake-static as a separate package
* Fix linker errors (FREETYPE_DEPENDENCIES really must include `-lfreetype`
  itself due to the cyclic dependency between FreeType2 and Harfbuzz
* Add patch to fix static compilation of qt6-tools
This commit is contained in:
Martchus 2020-11-07 00:36:08 +01:00
parent 6d092d928c
commit 6f91588d12
77 changed files with 792 additions and 95 deletions

View File

@ -0,0 +1,31 @@
pkgname=mingw-w64-cmake-static
pkgver=1
pkgrel=1
arch=('any')
pkgdesc='CMake wrapper for MinGW (mingw-w64, static)'
depends=('mingw-w64-cmake')
license=("GPL")
url='https://github.com/martchus/pkgbuilds'
source=(mingw-cmake-static.sh
toolchain-mingw-static.cmake)
sha256sums=('SKIP' 'SKIP')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
build() {
for _arch in ${_architectures}; do
for _variant in '' '-static'; do
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw-static.cmake > toolchain-${_arch}-static.cmake
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake-static.sh > ${_arch}-cmake-static
done
done
}
package() {
install -d "${pkgdir}"/usr/bin
install -d "${pkgdir}"/usr/share/mingw
for _arch in ${_architectures}; do
install -m 644 toolchain-${_arch}-static.cmake "${pkgdir}"/usr/share/mingw/
install -m 755 ${_arch}-cmake-static "${pkgdir}"/usr/bin/
done
}

View File

@ -1,15 +1,26 @@
# This toolchain file helps building a fully statically linked executable (besides DLLs from Windows itself) by
# defining certain variables. It is mainly focusing on dependencies used by Qt.
# build this on top of the regular toolchain file
include("/usr/share/mingw/toolchain-@TRIPLE@.cmake")
# prefer libraries from "static" sub-prefix
set(CMAKE_FIND_ROOT_PATH "/usr/@TRIPLE@/static;${CMAKE_FIND_ROOT_PATH}")
# prefer static libraries
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.lib")
# note: It is of no use to set the real variable CMAKE_FIND_LIBRARY_SUFFIXES here because it gets overridden by CMake
# after loading the toolchain file. The project needs to make the actual override if enforcing static libraries
# is required.
set(CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE ".a;.lib")
set(CMAKE_EXE_LINKER_FLAGS "$ENV{LDFLAGS} -static -static-libgcc -static-libstdc++" CACHE STRING "linker flags for static builds" FORCE)
set(OPENSSL_USE_STATIC_LIBS ON)
set(BOOST_USE_STATIC_LIBS ON)
# force-use the shared Vulkan library because there's no static one
# note: The library is not used anyways but required for Vulkan to be considered installed and enabled.
set(Vulkan_LIBRARY "/usr/@TRIPLE@/lib/libvulkan.dll.a" CACHE FILEPATH "shared Vulkan IDC library")
# workaround limitations in upstream pkg-config files and CMake find modules
set(MySQL_LIBRARIES "/usr/@TRIPLE@/lib/libmariadbclient.a" CACHE INTERNAL "static MariaDB client library")
set(pkgcfg_lib_libbrotlicommon_brotlicommon "/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlicommon")
set(pkgcfg_lib_libbrotlienc_brotlienc "/usr/@TRIPLE@/lib/libbrotlienc-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotliend")
set(pkgcfg_lib_libbrotlidec_brotlidec "/usr/@TRIPLE@/lib/libbrotlidec-static.a;/usr/@TRIPLE@/lib/libbrotlicommon-static.a" CACHE INTERNAL "static libbrotlidec")
@ -18,12 +29,13 @@ set(libbrotlienc_STATIC_LDFLAGS "${pkgcfg_lib_libbrotlienc_brotlienc}" CACHE INT
set(libbrotlidec_STATIC_LDFLAGS "${pkgcfg_lib_libbrotlidec_brotlidec}" CACHE INTERNAL "static libbrotlidec")
# define dependencies of various static libraries as CMake doesn't pull them reliably automatically
# TODO: Deduce these dependencies via pkg-config where possible.
# note: It would be possible to deduce the dependencies via pkg-config. However, for simplicity I'm hard-coding the dependencies for now.
# In some cases the pkg-config file wouldn't work anyways because it is only covering the shared version (despite use of `-static`).
set(OPENSSL_DEPENDENCIES "-lws2_32;-lgdi32;-lcrypt32" CACHE INTERNAL "dependencies of static OpenSSL libraries")
set(POSTGRESQL_DEPENDENCIES "-lpgcommon;-lpgport;-lintl;-lssl;-lcrypto;-lshell32;-lws2_32;-lsecur32;-liconv" CACHE INTERNAL "dependencies of static PostgreSQL libraries")
set(MYSQL_DEPENDENCIES "-lssl;-lcrypto;-lshlwapi;-lgdi32;-lws2_32;-lpthread;-lz;-lm" CACHE INTERNAL "dependencies of static MySQL/MariaDB libraries")
set(LIBPNG_DEPENDENCIES "-lz" CACHE INTERNAL "dependencies of static libpng")
set(GLIB2_DEPENDENCIES "-lintl;-lws2_32;-lole32;-lwinmm;-lshlwapi;-lm" CACHE INTERNAL "dependencies of static Glib2")
set(FREETYPE_DEPENDENCIES "-lbz2;-lharfbuzz" CACHE INTERNAL "dependencies of static FreeType2 library")
set(FREETYPE_DEPENDENCIES "-lbz2;-lharfbuzz;-lfreetype" CACHE INTERNAL "dependencies of static FreeType2 library")
set(HARFBUZZ_DEPENDENCIES "-lglib-2.0;${GLIB2_DEPENDENCIES};-lintl;-lm;-lfreetype;-lgraphite2" CACHE INTERNAL "dependencies of static HarfBuzz library")
set(DBUS1_DEPENDENCIES "-lws2_32;-liphlpapi;-ldbghelp" CACHE INTERNAL "dependencies of static D-Bus1 library")

View File

@ -1,33 +1,22 @@
pkgname=mingw-w64-cmake
pkgver=1
pkgrel=35
pkgrel=35.1
arch=('any')
pkgdesc="CMake wrapper for MinGW (mingw-w64)"
depends=('cmake' 'mingw-w64-gcc' 'mingw-w64-pkg-config' 'mingw-w64-environment')
optdepends=('mingw-w64-wine: runtime support')
license=("GPL")
url="http://fedoraproject.org/wiki/MinGW"
source=(mingw-cmake{,-static}.sh
mingw-cmake-py.sh
toolchain-mingw{,-static}.cmake)
sha256sums=('457f4bac0a21b280a27bab349f0d5d04371e97ba003e384806735f8e6762cc4e'
'1622b4899df8dbeb406ec3771fa48f65e30d58c2e1ab5add9ba190099bd2870f'
'c161a6d8d49599d3798fba6fb9f5d45f304acd29e7cf2b96315841adb06e42ae'
'ca46564e7c0e1525d1ec44da4781939f1791c70cd18acac5fc10d62d9d465dde'
'f0c3f65cf2ce802647f7c3b0e0884f00c2962d5a8cfb8fa8fee781f9551d4b86')
source=("mingw-cmake.sh"
"toolchain-mingw.cmake")
sha256sums=('SKIP' 'SKIP')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_python_versions="27 36 37 38"
build() {
for _arch in ${_architectures}; do
for _variant in '' '-static'; do
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw${_variant}.cmake > toolchain-${_arch}${_variant}.cmake
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake${_variant}.sh > ${_arch}-cmake${_variant}
done
for _pyver in ${_python_versions}; do
sed "s|@TRIPLE@|${_arch}|g;s|@PYMAJMIN@|${_pyver}|g" mingw-cmake-py.sh > ${_arch}-cmake-py${_pyver}
done
sed "s|@TRIPLE@|${_arch}|g;s|@PROCESSOR@|${_arch::-12}|g" toolchain-mingw.cmake > toolchain-${_arch}.cmake
sed "s|@TRIPLE@|${_arch}|g" mingw-cmake.sh > ${_arch}-cmake
done
}
@ -35,11 +24,8 @@ package() {
install -d "${pkgdir}"/usr/bin
install -d "${pkgdir}"/usr/share/mingw
for _arch in ${_architectures}; do
install -m 644 toolchain-${_arch}{,-static}.cmake "${pkgdir}"/usr/share/mingw/
install -m 755 ${_arch}-cmake{,-static} "${pkgdir}"/usr/bin/
for _pyver in ${_python_versions}; do
install -m 755 ${_arch}-cmake-py${_pyver} "${pkgdir}"/usr/bin/
done
install -m 644 toolchain-${_arch}.cmake "${pkgdir}"/usr/share/mingw/
install -m 755 ${_arch}-cmake "${pkgdir}"/usr/bin/
done
}

View File

@ -1,8 +0,0 @@
#!/bin/sh
mingw_prefix=/usr/@TRIPLE@
@TRIPLE@-cmake \
-DPYTHON_INCLUDE_DIR=${mingw_prefix}/include/python@PYMAJMIN@ \
-DPYTHON_LIBRARY=${mingw_prefix}/lib/libpython@PYMAJMIN@.dll.a \
-DPYTHON_EXECUTABLE=/usr/bin/@TRIPLE@-python@PYMAJMIN@-bin \
"$@"

View File

@ -18,6 +18,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
# Make sure Qt can be detected by CMake
set (QT_BINARY_DIR /usr/@TRIPLE@/bin /usr/bin)
set (QT_INCLUDE_DIRS_NO_SYSTEM ON)
set (QT_HOST_PATH "/usr" CACHE PATH "host path for Qt")
# set the resource compiler (RHBZ #652435)
set (CMAKE_RC_COMPILER @TRIPLE@-windres)
@ -31,9 +32,4 @@ set (CMAKE_Fortran_COMPILER @TRIPLE@-gfortran)
set (CMAKE_AR:FILEPATH @TRIPLE@-ar)
set (CMAKE_RANLIB:FILEPATH @TRIPLE@-ranlib)
# make sure Qt finds host tools
set(QT_HOST_PATH "/usr" CACHE PATH "host path for Qt")
# workaround limitations in CMake's find modules
set(MySQL_LIBRARIES "/usr/@TRIPLE@/lib/libmariadb.dll.a" CACHE INTERNAL "MariaDB client library")
set(MySQL_INCLUDE_DIRS "/usr/@TRIPLE@/include/mariadb" CACHE INTERNAL "MariaDB client library")

View File

@ -152,6 +152,7 @@ for my $top_level_dir (@$top_level_dirs) {
qt_module => $qt_module,
qt_module_sha256 => $qt_module_sha256,
static_variant => $is_static_variant,
static_suffix => $is_static_variant ? '-static' : '',
static_deps => undef,
static_makedeps => undef,
shared_config => !$is_static_variant,

View File

@ -24,7 +24,7 @@ pkgdesc='A cross-platform application and UI framework (mingw-w64)'
depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
'mingw-w64-brotli' 'mingw-w64-pcre2' 'mingw-w64-zstd')
makedepends=('mingw-w64-cmake>=1-35' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
makedepends=('mingw-w64-cmake<%= $static_suffix %>' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-pkg-config'
'qt6-base' 'ninja')
optdepends=('mingw-w64-postgresql: PostgreSQL driver'
@ -58,7 +58,7 @@ prepare () {
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake<%== $static_variant ? '-static' : '' %> -G Ninja -B build-$_arch -S $_pkgfqn \\
$_arch-cmake<%== $static_suffix %> -G Ninja -B build-$_arch -S $_pkgfqn \\
% if ($static_variant) {
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \\
% }

View File

@ -5,7 +5,7 @@
# you also find the URL of a binary repository.
<%== content_for 'comment_header' %>\
pkgname=mingw-w64-qt6-<%== $qt_module %><%== $static_variant ? '-static' : '' %>
pkgname=mingw-w64-qt6-<%== $qt_module %><%== $static_suffix %>
<%== content %>\
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
@ -41,7 +41,7 @@ build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
<%== content_for 'before_build_config' %>\
$_arch-cmake<%== $static_variant ? '-static' : '' %> -G Ninja -B build-$_arch -S $_pkgfqn \\
$_arch-cmake<%== $static_suffix %> -G Ninja -B build-$_arch -S $_pkgfqn \\
% if ($static_variant) {
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \\
% }
@ -77,5 +77,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-<%== $qt_module %>
ln -s /usr/share/licenses/mingw-w64-qt6-base<%== $static_variant ? '-static' : '' %> "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1,50 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-3d-static
_qtver=6.0.0-alpha
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)'
depends=('mingw-w64-qt6-declarative-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
'qt6-shadertools' 'qt6-declarative' 'ninja')
optdepends=('mingw-w64-assimp: Import from assimp'
'mingw-w64-qt6-shadertools-static: RHI renderer')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qt3d-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('3362d01c7542af0e902908d2d339374feda1a037552ea625b900278982375c27')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
3362d01c7542af0e902908d2d339374feda1a037552ea625b900278982375c27

View File

@ -53,5 +53,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-3d
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,7 +8,7 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)'
depends=(<%== qt6deps qw(declarative) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
'qt6-shadertools' 'qt6-declarative' 'ninja')
optdepends=('mingw-w64-assimp: Import from assimp'
<%== qt6optdeps shadertools => 'RHI renderer' %>)

View File

@ -0,0 +1,47 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-5compat-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Module that contains unsupported Qt 5 APIs (mingw-w64)'
depends=('mingw-w64-qt6-base-static')
makedepends=('mingw-w64-cmake-static' 'qt6-base' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qt5compat-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('94cb49919d875e05e6fc8286dbe63131b819ed05add0265619fe9abd7a32efab')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
94cb49919d875e05e6fc8286dbe63131b819ed05add0265619fe9abd7a32efab

View File

@ -50,5 +50,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-5compat
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Module that contains unsupported Qt 5 APIs (mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' 'qt6-base' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'qt6-base' 'ninja')

View File

@ -1,7 +1,7 @@
From 8073b269bb69ab091bb29600c1f7a493f3543a83 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 22:08:10 +0100
Subject: [PATCH 1/5] Use CMake's default import library suffix
Subject: [PATCH 1/7] Use CMake's default import library suffix
Change-Id: Iedc6a7ee8982a62ddd56ad0bf25ba0b8752a666a
---

View File

@ -1,7 +1,7 @@
From 5c192c74f9f5fd7369742a413fe26bdd67ed677f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 7 Oct 2020 12:13:37 +0200
Subject: [PATCH 2/5] Fix finding D-Bus
Subject: [PATCH 2/7] Fix finding D-Bus
Change-Id: Ie21eb9cbc6b1b5d9c8b34eea46f54718e5926986
---

View File

@ -1,7 +1,7 @@
From 084aa1b73f9f33096c4a5f34cba773545da3ae33 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:13:19 +0100
Subject: [PATCH 3/5] Fix using static PCRE2 and DBus-1
Subject: [PATCH 3/7] Fix using static PCRE2 and DBus-1
When making a static build of Qt we're using the static version of these
libraries and must define the corresponding macros.

View File

@ -1,7 +1,7 @@
From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:59:33 +0100
Subject: [PATCH 4/5] Fix transitive dependencies (of static libraries)
Subject: [PATCH 4/7] Fix transitive dependencies (of static libraries)
The dependencies of these libraries are not reliably picked up by their
corresponding find modules. This change allows adding the required

View File

@ -1,7 +1,7 @@
From 0f92aeca18858e11ddaa25b7cdad7d89303052ea Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Mon, 2 Nov 2020 13:47:45 +0100
Subject: [PATCH 5/5] Fix libjpeg workaround for conflict with rpcndr.h
Subject: [PATCH 5/7] Fix libjpeg workaround for conflict with rpcndr.h
Otherwise it won't compile against mingw-w64-libjpeg-turbo. This version of
libjpeg seems to take care of the conflict already as long as jconfig.h is

View File

@ -0,0 +1,30 @@
From 757964d9bf2e3d2f315f4210cedd7be6cac54c3f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:33:12 +0100
Subject: [PATCH 6/7] Support finding MariaDB
Change-Id: I3f95a7c3aabc734e1c6c5ce00957ab9814200232
---
cmake/FindMySQL.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
index 7575386338..df1d848cf6 100644
--- a/cmake/FindMySQL.cmake
+++ b/cmake/FindMySQL.cmake
@@ -24,10 +24,10 @@ pkg_check_modules(PC_MySQL QUIET mysqlclient)
find_path(MySQL_INCLUDE_DIRS
NAMES mysql.h
HINTS ${PC_MySQL_INCLUDEDIR}
- PATH_SUFFIXES mysql)
+ PATH_SUFFIXES mariadb mysql)
find_library(MySQL_LIBRARIES
- NAMES mysqlclient
+ NAMES mariadb mariadbclient mysqlclient
HINTS ${PC_MySQL_LIBDIR}
)
--
2.29.2

View File

@ -0,0 +1,37 @@
From 9bae5f17b9371f03d5075f596bc3d5e50018759d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:34:09 +0100
Subject: [PATCH 7/7] Allow overriding CMAKE_FIND_LIBRARY_SUFFIXES to prefer
static libraries
Change-Id: Ic29b64b999ed9b5888a8dc1b0961a76009c5e75c
---
cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
index 56e7e99d63..e3025fb2c0 100644
--- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
@@ -2,6 +2,10 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
message(FATAL_ERROR "Qt requires at least CMake version 3.1.0")
endif()
+if (CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE}")
+endif ()
+
######################################
#
# Macros for building Qt modules
@@ -220,6 +224,7 @@ macro(qt_prepare_standalone_project)
endmacro()
macro(qt_build_repo_begin)
+
qt_build_internals_set_up_private_api()
qt_enable_cmake_languages()
--
2.29.2

View File

@ -21,7 +21,7 @@ pkgdesc='A cross-platform application and UI framework (mingw-w64)'
depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
'mingw-w64-brotli' 'mingw-w64-pcre2' 'mingw-w64-zstd')
makedepends=('mingw-w64-cmake>=1-35' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
makedepends=('mingw-w64-cmake-static' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-pkg-config'
'qt6-base' 'ninja')
optdepends=('mingw-w64-postgresql: PostgreSQL driver'
@ -35,13 +35,17 @@ source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/s
'0002-Fix-finding-D-Bus.patch'
'0003-Fix-using-static-PCRE2-and-DBus-1.patch'
'0004-Fix-transitive-dependencies-of-static-libraries.patch'
'0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch')
'0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch'
'0006-Support-finding-MariaDB.patch'
'0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch')
sha256sums=('37a97e30cf769b8deaa65aff585968ffb78bda20409177fe46959cb591a53268'
'7efec2be97836e6b6a2566e297650765db36af4812f10d98702b97f29e40de91'
'4135f261ee759744549c2c6dc42180a8394235f96b750cca82d98a0d5884d6c7'
'0d6ea42b1c302fb3b219dbd9be854045070cf9c67e039a7d248c6e632750e446'
'fb2a34d4557abb4dae23f2926914322d1fddecc2668ed970aad461b5ead01ab6'
'875c6065b1b53753d8e481a972b07027c093e8e84ed550fe34df8d6fd91c4643')
'272d7231b65b6af60c897ff9ac645929976f75c30a9229670da98333fa598811'
'f95f407ce4ec738ee98b9219e197d4c1e0926cca35f63179114d598b2591e80a'
'cb8f9ef03daf86444572f21e38b514794aa23e4419983edde1118e93287750bf'
'399b81b9fd5bedfe135f60b1e91721a8edbaf267539754e27849532130b7077b'
'4311c05baf1da78f5acec304dbc53c402542aaa81268939251bda81cc004afd0'
'1200b9c57290fcb9e54e0bddf88536fe58b39ae2a24a3e2fd802cd16c7bfeb62'
'45201209696cce59d9e4f0358889eafb68c8e10b314892fac05692b24c301db7')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -1,7 +1,7 @@
From 8073b269bb69ab091bb29600c1f7a493f3543a83 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 22:08:10 +0100
Subject: [PATCH 1/5] Use CMake's default import library suffix
Subject: [PATCH 1/7] Use CMake's default import library suffix
Change-Id: Iedc6a7ee8982a62ddd56ad0bf25ba0b8752a666a
---

View File

@ -1,7 +1,7 @@
From 5c192c74f9f5fd7369742a413fe26bdd67ed677f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 7 Oct 2020 12:13:37 +0200
Subject: [PATCH 2/5] Fix finding D-Bus
Subject: [PATCH 2/7] Fix finding D-Bus
Change-Id: Ie21eb9cbc6b1b5d9c8b34eea46f54718e5926986
---

View File

@ -1,7 +1,7 @@
From 084aa1b73f9f33096c4a5f34cba773545da3ae33 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:13:19 +0100
Subject: [PATCH 3/5] Fix using static PCRE2 and DBus-1
Subject: [PATCH 3/7] Fix using static PCRE2 and DBus-1
When making a static build of Qt we're using the static version of these
libraries and must define the corresponding macros.

View File

@ -1,7 +1,7 @@
From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 5 Nov 2020 21:59:33 +0100
Subject: [PATCH 4/5] Fix transitive dependencies (of static libraries)
Subject: [PATCH 4/7] Fix transitive dependencies (of static libraries)
The dependencies of these libraries are not reliably picked up by their
corresponding find modules. This change allows adding the required

View File

@ -1,7 +1,7 @@
From 0f92aeca18858e11ddaa25b7cdad7d89303052ea Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Mon, 2 Nov 2020 13:47:45 +0100
Subject: [PATCH 5/5] Fix libjpeg workaround for conflict with rpcndr.h
Subject: [PATCH 5/7] Fix libjpeg workaround for conflict with rpcndr.h
Otherwise it won't compile against mingw-w64-libjpeg-turbo. This version of
libjpeg seems to take care of the conflict already as long as jconfig.h is

View File

@ -0,0 +1,30 @@
From 757964d9bf2e3d2f315f4210cedd7be6cac54c3f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:33:12 +0100
Subject: [PATCH 6/7] Support finding MariaDB
Change-Id: I3f95a7c3aabc734e1c6c5ce00957ab9814200232
---
cmake/FindMySQL.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
index 7575386338..df1d848cf6 100644
--- a/cmake/FindMySQL.cmake
+++ b/cmake/FindMySQL.cmake
@@ -24,10 +24,10 @@ pkg_check_modules(PC_MySQL QUIET mysqlclient)
find_path(MySQL_INCLUDE_DIRS
NAMES mysql.h
HINTS ${PC_MySQL_INCLUDEDIR}
- PATH_SUFFIXES mysql)
+ PATH_SUFFIXES mariadb mysql)
find_library(MySQL_LIBRARIES
- NAMES mysqlclient
+ NAMES mariadb mariadbclient mysqlclient
HINTS ${PC_MySQL_LIBDIR}
)
--
2.29.2

View File

@ -0,0 +1,37 @@
From 9bae5f17b9371f03d5075f596bc3d5e50018759d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 00:34:09 +0100
Subject: [PATCH 7/7] Allow overriding CMAKE_FIND_LIBRARY_SUFFIXES to prefer
static libraries
Change-Id: Ic29b64b999ed9b5888a8dc1b0961a76009c5e75c
---
cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
index 56e7e99d63..e3025fb2c0 100644
--- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
@@ -2,6 +2,10 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
message(FATAL_ERROR "Qt requires at least CMake version 3.1.0")
endif()
+if (CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE}")
+endif ()
+
######################################
#
# Macros for building Qt modules
@@ -220,6 +224,7 @@ macro(qt_prepare_standalone_project)
endmacro()
macro(qt_build_repo_begin)
+
qt_build_internals_set_up_private_api()
qt_enable_cmake_languages()
--
2.29.2

View File

@ -21,7 +21,7 @@ pkgdesc='A cross-platform application and UI framework (mingw-w64)'
depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
'mingw-w64-brotli' 'mingw-w64-pcre2' 'mingw-w64-zstd')
makedepends=('mingw-w64-cmake>=1-35' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
makedepends=('mingw-w64-cmake' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-pkg-config'
'qt6-base' 'ninja')
optdepends=('mingw-w64-postgresql: PostgreSQL driver'
@ -35,13 +35,17 @@ source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/s
'0002-Fix-finding-D-Bus.patch'
'0003-Fix-using-static-PCRE2-and-DBus-1.patch'
'0004-Fix-transitive-dependencies-of-static-libraries.patch'
'0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch')
'0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch'
'0006-Support-finding-MariaDB.patch'
'0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch')
sha256sums=('37a97e30cf769b8deaa65aff585968ffb78bda20409177fe46959cb591a53268'
'7efec2be97836e6b6a2566e297650765db36af4812f10d98702b97f29e40de91'
'4135f261ee759744549c2c6dc42180a8394235f96b750cca82d98a0d5884d6c7'
'0d6ea42b1c302fb3b219dbd9be854045070cf9c67e039a7d248c6e632750e446'
'fb2a34d4557abb4dae23f2926914322d1fddecc2668ed970aad461b5ead01ab6'
'875c6065b1b53753d8e481a972b07027c093e8e84ed550fe34df8d6fd91c4643')
'272d7231b65b6af60c897ff9ac645929976f75c30a9229670da98333fa598811'
'f95f407ce4ec738ee98b9219e197d4c1e0926cca35f63179114d598b2591e80a'
'cb8f9ef03daf86444572f21e38b514794aa23e4419983edde1118e93287750bf'
'399b81b9fd5bedfe135f60b1e91721a8edbaf267539754e27849532130b7077b'
'4311c05baf1da78f5acec304dbc53c402542aaa81268939251bda81cc004afd0'
'1200b9c57290fcb9e54e0bddf88536fe58b39ae2a24a3e2fd802cd16c7bfeb62'
'45201209696cce59d9e4f0358889eafb68c8e10b314892fac05692b24c301db7')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -0,0 +1,48 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-declarative-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Classes for QML and JavaScript languages (mingw-w64)'
depends=('mingw-w64-qt6-base-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja' 'python')
optdepends=('qt6-declarative: development tools')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtdeclarative-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('fe9a05ad73f988f512ed977e0da18164a41c9ee79249b6c63e835a7c5552d279')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
fe9a05ad73f988f512ed977e0da18164a41c9ee79249b6c63e835a7c5552d279

View File

@ -51,5 +51,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-declarative
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,5 +8,5 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Classes for QML and JavaScript languages (mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja' 'python')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja' 'python')
optdepends=('qt6-declarative: development tools')

View File

@ -0,0 +1,50 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-imageformats-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
#pkgdesc='Plugins for additional image formats: TIFF, MNG, TGA, WBMP (mingw-w64)'
#depends=('mingw-w64-qt6-base-static' 'mingw-w64-jasper' 'mingw-w64-libmng' 'mingw-w64-libwebp')
# FIXME: It doesn't actually build with MNG support at this point.
pkgdesc='Plugins for additional image formats: TIFF, TGA, WBMP (mingw-w64)'
depends=('mingw-w64-qt6-base-static' 'mingw-w64-jasper' 'mingw-w64-libwebp')
makedepends=('mingw-w64-cmake-static' 'qt6-base' 'ninja' 'git')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtimageformats-everywhere-src-${_qtver}"
source=("$_pkgfqn::git://code.qt.io/qt/qtimageformats.git#commit=c98a77599e01b14064277a2da4c26322bd750f54")
sha256sums=('SKIP')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
SKIP

View File

@ -53,5 +53,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-imageformats
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -11,4 +11,4 @@ license=(GPL3 LGPL3 FDL custom)
# FIXME: It doesn't actually build with MNG support at this point.
pkgdesc='Plugins for additional image formats: TIFF, TGA, WBMP (mingw-w64)'
depends=(<%== qt6deps qw(base) %> 'mingw-w64-jasper' 'mingw-w64-libwebp')
makedepends=('mingw-w64-cmake' 'qt6-base' 'ninja' 'git')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'qt6-base' 'ninja' 'git')

View File

@ -0,0 +1,48 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-quick3d-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Qt module and API for defining 3D content in Qt Quick (mingw-w64)'
depends=('mingw-w64-qt6-declarative-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
'mingw-w64-qt6-shadertools-static' 'qt6-quick3d' 'qt6-shadertools' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtquick3d-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('dc9c01ca7a88e4fe274fa6f8aa08736821dc5663538e8250038dacffbf9ddd39')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
dc9c01ca7a88e4fe274fa6f8aa08736821dc5663538e8250038dacffbf9ddd39

View File

@ -51,5 +51,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-quick3d
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,5 +8,5 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Qt module and API for defining 3D content in Qt Quick (mingw-w64)'
depends=(<%== qt6deps qw(declarative) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-assimp'
<%== qt6deps qw(shadertools) %> 'qt6-quick3d' 'qt6-shadertools' 'ninja')

View File

@ -0,0 +1,47 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-quickcontrols2-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Next generation user interface controls based on Qt Quick (mingw-w64)'
depends=('mingw-w64-qt6-declarative-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtquickcontrols2-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('7a36413613b6173ec92b42ef012f33b16686333c39fd5e064482774a17111846')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
7a36413613b6173ec92b42ef012f33b16686333c39fd5e064482774a17111846

View File

@ -50,5 +50,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-quickcontrols2
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Next generation user interface controls based on Qt Quick (mingw-w64)'
depends=(<%== qt6deps qw(declarative) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')

View File

@ -0,0 +1,47 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-quicktimeline-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Qt module for keyframe-based timeline construction (mingw-w64)'
depends=('mingw-w64-qt6-declarative-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtquicktimeline-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('7c98beed81d17f153e997448be264d20453fc1eafa3f3fbbdb1080b3e3e07e89')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
7c98beed81d17f153e997448be264d20453fc1eafa3f3fbbdb1080b3e3e07e89

View File

@ -50,5 +50,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-quicktimeline
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Qt module for keyframe-based timeline construction (mingw-w64)'
depends=(<%== qt6deps qw(declarative) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-declarative' 'ninja')

View File

@ -0,0 +1,48 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-shadertools-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Experimental module providing APIs and a host tool to host tool to perform graphics and compute shader conditioning for the upcoming Qt graphics abstraction layer (mingw-w64)'
depends=('mingw-w64-qt6-base-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-shadertools' 'ninja')
optdepends=('qt6-shadertools: development tools')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtshadertools-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('19b0aad551711bacca19bd8184128ab38b62c62768ec694f5fa22e0e068d1728')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
19b0aad551711bacca19bd8184128ab38b62c62768ec694f5fa22e0e068d1728

View File

@ -51,5 +51,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-shadertools
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,5 +8,5 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Experimental module providing APIs and a host tool to host tool to perform graphics and compute shader conditioning for the upcoming Qt graphics abstraction layer (mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-shadertools' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'qt6-shadertools' 'ninja')
optdepends=('qt6-shadertools: development tools')

View File

@ -12,7 +12,7 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Classes for displaying the contents of SVG files (mingw-w64)'
depends=('mingw-w64-qt6-base-static')
makedepends=('mingw-w64-cmake' 'qt6-base' 'ninja')
makedepends=('mingw-w64-cmake-static' 'qt6-base' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qtsvg-everywhere-src-${_qtver}"
@ -41,6 +41,7 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-svg
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -50,5 +50,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-svg
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Classes for displaying the contents of SVG files (mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' 'qt6-base' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'qt6-base' 'ninja')

View File

@ -0,0 +1,25 @@
From 60a7db7b539515ba8f0fcff6cbc31435797f4b86 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 17:10:15 +0100
Subject: [PATCH] windeployqt: Fix name of qt6CoreName variable
---
src/windeployqt/main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 21321457..1b331024 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -1461,7 +1461,7 @@ static DeployResult deploy(const Options &options,
}
if (options.patchQt && !options.dryRun) {
- const QString qt5CoreName = QFileInfo(libraryPath(libraryLocation, "Qt6Core", qtLibInfix,
+ const QString qt6CoreName = QFileInfo(libraryPath(libraryLocation, "Qt6Core", qtLibInfix,
options.platform, result.isDebug)).fileName();
#ifndef QT_RELOCATABLE
if (!patchQtCore(targetPath + QLatin1Char('/') + qt6CoreName, errorMessage)) {
--
2.29.2

View File

@ -0,0 +1,59 @@
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
pkgname=mingw-w64-qt6-tools-static
_qtver=6.0.0-beta3
pkgver=${_qtver/-/}
pkgrel=1
arch=(any)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='A cross-platform application and UI framework (tools, mingw-w64)'
depends=('mingw-w64-qt6-base-static')
makedepends=('mingw-w64-cmake-static' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-qt6-declarative-static' 'qt6-declarative' 'qt6-tools' 'ninja')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qttools-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
'0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch')
sha256sums=('8409de28939c79dc3eb2d1bb8bac085f35f3dcc35df107633b474733aa33bba8'
'03ed0cf3fb604d773cae1de19c862e65e8a44a8245db0bfba750557e541f5620')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
prepare () {
cd $_pkgfqn
# apply patches; further descriptions can be found in patch files itself
for patch in "$srcdir/"*.patch; do
msg2 "Applying patch $patch"
patch -p1 -i "$patch"
done
}
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
$_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
-DFEATURE_pkg_config=ON
cmake --build build-$_arch
done
}
package() {
for _arch in ${_architectures}; do
DESTDIR="$pkgdir" cmake --install build-$_arch
find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base-static "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -0,0 +1 @@
%= include "$default_package_name/mingw-w64/PKGBUILD";

View File

@ -0,0 +1 @@
8409de28939c79dc3eb2d1bb8bac085f35f3dcc35df107633b474733aa33bba8

View File

@ -0,0 +1,25 @@
From 60a7db7b539515ba8f0fcff6cbc31435797f4b86 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 8 Nov 2020 17:10:15 +0100
Subject: [PATCH] windeployqt: Fix name of qt6CoreName variable
---
src/windeployqt/main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 21321457..1b331024 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -1461,7 +1461,7 @@ static DeployResult deploy(const Options &options,
}
if (options.patchQt && !options.dryRun) {
- const QString qt5CoreName = QFileInfo(libraryPath(libraryLocation, "Qt6Core", qtLibInfix,
+ const QString qt6CoreName = QFileInfo(libraryPath(libraryLocation, "Qt6Core", qtLibInfix,
options.platform, result.isDebug)).fileName();
#ifndef QT_RELOCATABLE
if (!patchQtCore(targetPath + QLatin1Char('/') + qt6CoreName, errorMessage)) {
--
2.29.2

View File

@ -16,11 +16,23 @@ makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
groups=(mingw-w64-qt6)
_pkgfqn="qttools-everywhere-src-${_qtver}"
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
sha256sums=('8409de28939c79dc3eb2d1bb8bac085f35f3dcc35df107633b474733aa33bba8')
source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
'0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch')
sha256sums=('8409de28939c79dc3eb2d1bb8bac085f35f3dcc35df107633b474733aa33bba8'
'03ed0cf3fb604d773cae1de19c862e65e8a44a8245db0bfba750557e541f5620')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
prepare () {
cd $_pkgfqn
# apply patches; further descriptions can be found in patch files itself
for patch in "$srcdir/"*.patch; do
msg2 "Applying patch $patch"
patch -p1 -i "$patch"
done
}
build() {
for _arch in ${_architectures}; do
export PKG_CONFIG=/usr/bin/$_arch-pkg-config
@ -50,5 +62,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-tools
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='A cross-platform application and UI framework (tools, mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' <%== qt6deps qw(declarative) %> 'qt6-declarative' 'qt6-tools' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' <%== qt6deps qw(declarative) %> 'qt6-declarative' 'qt6-tools' 'ninja')

View File

@ -40,5 +40,6 @@ package() {
done
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/mingw-w64-qt6-translations
ln -s /usr/share/licenses/mingw-w64-qt6-base "$pkgdir"/usr/share/licenses/$pkgname
}

View File

@ -8,4 +8,4 @@ url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='A cross-platform application and UI framework (Translations, mingw-w64)'
depends=(<%== qt6deps qw(base) %>)
makedepends=('mingw-w64-cmake' <%== qt6deps qw(tools) %> 'qt6-tools' 'ninja')
makedepends=('mingw-w64-cmake<%== $static_suffix %>' <%== qt6deps qw(tools) %> 'qt6-tools' 'ninja')