diff --git a/cmake/mingw-w64-static/PKGBUILD b/cmake/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..cb0ed8ef --- /dev/null +++ b/cmake/mingw-w64-static/PKGBUILD @@ -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 +} + diff --git a/cmake/mingw-w64/mingw-cmake-static.sh b/cmake/mingw-w64-static/mingw-cmake-static.sh similarity index 100% rename from cmake/mingw-w64/mingw-cmake-static.sh rename to cmake/mingw-w64-static/mingw-cmake-static.sh diff --git a/cmake/mingw-w64/toolchain-mingw-static.cmake b/cmake/mingw-w64-static/toolchain-mingw-static.cmake similarity index 64% rename from cmake/mingw-w64/toolchain-mingw-static.cmake rename to cmake/mingw-w64-static/toolchain-mingw-static.cmake index ec4abf57..ee5cffad 100644 --- a/cmake/mingw-w64/toolchain-mingw-static.cmake +++ b/cmake/mingw-w64-static/toolchain-mingw-static.cmake @@ -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") diff --git a/cmake/mingw-w64/PKGBUILD b/cmake/mingw-w64/PKGBUILD index 26a30f88..50e60a8b 100644 --- a/cmake/mingw-w64/PKGBUILD +++ b/cmake/mingw-w64/PKGBUILD @@ -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 } diff --git a/cmake/mingw-w64/mingw-cmake-py.sh b/cmake/mingw-w64/mingw-cmake-py.sh deleted file mode 100644 index 641c9c30..00000000 --- a/cmake/mingw-w64/mingw-cmake-py.sh +++ /dev/null @@ -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 \ - "$@" diff --git a/cmake/mingw-w64/toolchain-mingw.cmake b/cmake/mingw-w64/toolchain-mingw.cmake index 644f8a07..c99b33e5 100644 --- a/cmake/mingw-w64/toolchain-mingw.cmake +++ b/cmake/mingw-w64/toolchain-mingw.cmake @@ -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") diff --git a/devel/generator/generate.pl b/devel/generator/generate.pl index c9ba5ae2..48f11fbe 100755 --- a/devel/generator/generate.pl +++ b/devel/generator/generate.pl @@ -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, diff --git a/devel/generator/templates/layouts/mingw-w64-qt6-base.sh.ep b/devel/generator/templates/layouts/mingw-w64-qt6-base.sh.ep index 44a38085..77b57aad 100644 --- a/devel/generator/templates/layouts/mingw-w64-qt6-base.sh.ep +++ b/devel/generator/templates/layouts/mingw-w64-qt6-base.sh.ep @@ -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" \\ % } diff --git a/devel/generator/templates/layouts/mingw-w64-qt6-module.sh.ep b/devel/generator/templates/layouts/mingw-w64-qt6-module.sh.ep index d87d82e2..3d20aa85 100644 --- a/devel/generator/templates/layouts/mingw-w64-qt6-module.sh.ep +++ b/devel/generator/templates/layouts/mingw-w64-qt6-module.sh.ep @@ -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 + } diff --git a/qt6-3d/mingw-w64-static/PKGBUILD b/qt6-3d/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..2802c450 --- /dev/null +++ b/qt6-3d/mingw-w64-static/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-3d/mingw-w64-static/PKGBUILD.sh.ep b/qt6-3d/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-3d/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-3d/mingw-w64-static/qt3d-sha256.txt b/qt6-3d/mingw-w64-static/qt3d-sha256.txt new file mode 100644 index 00000000..3184e09d --- /dev/null +++ b/qt6-3d/mingw-w64-static/qt3d-sha256.txt @@ -0,0 +1 @@ +3362d01c7542af0e902908d2d339374feda1a037552ea625b900278982375c27 diff --git a/qt6-3d/mingw-w64/PKGBUILD b/qt6-3d/mingw-w64/PKGBUILD index 2b391ebd..1025f177 100644 --- a/qt6-3d/mingw-w64/PKGBUILD +++ b/qt6-3d/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-3d/mingw-w64/PKGBUILD.sh.ep b/qt6-3d/mingw-w64/PKGBUILD.sh.ep index fc35d96c..09e5473a 100644 --- a/qt6-3d/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-3d/mingw-w64/PKGBUILD.sh.ep @@ -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' %>) diff --git a/qt6-5compat/mingw-w64-static/PKGBUILD b/qt6-5compat/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..41427128 --- /dev/null +++ b/qt6-5compat/mingw-w64-static/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-5compat/mingw-w64-static/PKGBUILD.sh.ep b/qt6-5compat/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-5compat/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-5compat/mingw-w64-static/qt5compat-sha256.txt b/qt6-5compat/mingw-w64-static/qt5compat-sha256.txt new file mode 100644 index 00000000..c0cf1170 --- /dev/null +++ b/qt6-5compat/mingw-w64-static/qt5compat-sha256.txt @@ -0,0 +1 @@ +94cb49919d875e05e6fc8286dbe63131b819ed05add0265619fe9abd7a32efab diff --git a/qt6-5compat/mingw-w64/PKGBUILD b/qt6-5compat/mingw-w64/PKGBUILD index 792e75a5..c3952481 100644 --- a/qt6-5compat/mingw-w64/PKGBUILD +++ b/qt6-5compat/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-5compat/mingw-w64/PKGBUILD.sh.ep b/qt6-5compat/mingw-w64/PKGBUILD.sh.ep index a7addb15..976f907f 100644 --- a/qt6-5compat/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-5compat/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-base/mingw-w64-static/0001-Use-CMake-s-default-import-library-suffix.patch b/qt6-base/mingw-w64-static/0001-Use-CMake-s-default-import-library-suffix.patch index e00b80b2..6df14894 100644 --- a/qt6-base/mingw-w64-static/0001-Use-CMake-s-default-import-library-suffix.patch +++ b/qt6-base/mingw-w64-static/0001-Use-CMake-s-default-import-library-suffix.patch @@ -1,7 +1,7 @@ From 8073b269bb69ab091bb29600c1f7a493f3543a83 Mon Sep 17 00:00:00 2001 From: Martchus 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 --- diff --git a/qt6-base/mingw-w64-static/0002-Fix-finding-D-Bus.patch b/qt6-base/mingw-w64-static/0002-Fix-finding-D-Bus.patch index 819d44be..28c24248 100644 --- a/qt6-base/mingw-w64-static/0002-Fix-finding-D-Bus.patch +++ b/qt6-base/mingw-w64-static/0002-Fix-finding-D-Bus.patch @@ -1,7 +1,7 @@ From 5c192c74f9f5fd7369742a413fe26bdd67ed677f Mon Sep 17 00:00:00 2001 From: Martchus 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 --- diff --git a/qt6-base/mingw-w64-static/0003-Fix-using-static-PCRE2-and-DBus-1.patch b/qt6-base/mingw-w64-static/0003-Fix-using-static-PCRE2-and-DBus-1.patch index 1eafb5f6..d8a3748a 100644 --- a/qt6-base/mingw-w64-static/0003-Fix-using-static-PCRE2-and-DBus-1.patch +++ b/qt6-base/mingw-w64-static/0003-Fix-using-static-PCRE2-and-DBus-1.patch @@ -1,7 +1,7 @@ From 084aa1b73f9f33096c4a5f34cba773545da3ae33 Mon Sep 17 00:00:00 2001 From: Martchus 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. diff --git a/qt6-base/mingw-w64-static/0004-Fix-transitive-dependencies-of-static-libraries.patch b/qt6-base/mingw-w64-static/0004-Fix-transitive-dependencies-of-static-libraries.patch index 39fc04a5..3e4cbd99 100644 --- a/qt6-base/mingw-w64-static/0004-Fix-transitive-dependencies-of-static-libraries.patch +++ b/qt6-base/mingw-w64-static/0004-Fix-transitive-dependencies-of-static-libraries.patch @@ -1,7 +1,7 @@ From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001 From: Martchus 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 diff --git a/qt6-base/mingw-w64-static/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch b/qt6-base/mingw-w64-static/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch index 9b3baf06..b528b949 100644 --- a/qt6-base/mingw-w64-static/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch +++ b/qt6-base/mingw-w64-static/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch @@ -1,7 +1,7 @@ From 0f92aeca18858e11ddaa25b7cdad7d89303052ea Mon Sep 17 00:00:00 2001 From: Martchus 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 diff --git a/qt6-base/mingw-w64-static/0006-Support-finding-MariaDB.patch b/qt6-base/mingw-w64-static/0006-Support-finding-MariaDB.patch new file mode 100644 index 00000000..ab1defa7 --- /dev/null +++ b/qt6-base/mingw-w64-static/0006-Support-finding-MariaDB.patch @@ -0,0 +1,30 @@ +From 757964d9bf2e3d2f315f4210cedd7be6cac54c3f Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-base/mingw-w64-static/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch b/qt6-base/mingw-w64-static/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch new file mode 100644 index 00000000..c1013acb --- /dev/null +++ b/qt6-base/mingw-w64-static/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch @@ -0,0 +1,37 @@ +From 9bae5f17b9371f03d5075f596bc3d5e50018759d Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-base/mingw-w64-static/PKGBUILD b/qt6-base/mingw-w64-static/PKGBUILD index 911d5e40..ac07f6a8 100644 --- a/qt6-base/mingw-w64-static/PKGBUILD +++ b/qt6-base/mingw-w64-static/PKGBUILD @@ -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' diff --git a/qt6-base/mingw-w64/0001-Use-CMake-s-default-import-library-suffix.patch b/qt6-base/mingw-w64/0001-Use-CMake-s-default-import-library-suffix.patch index e00b80b2..6df14894 100644 --- a/qt6-base/mingw-w64/0001-Use-CMake-s-default-import-library-suffix.patch +++ b/qt6-base/mingw-w64/0001-Use-CMake-s-default-import-library-suffix.patch @@ -1,7 +1,7 @@ From 8073b269bb69ab091bb29600c1f7a493f3543a83 Mon Sep 17 00:00:00 2001 From: Martchus 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 --- diff --git a/qt6-base/mingw-w64/0002-Fix-finding-D-Bus.patch b/qt6-base/mingw-w64/0002-Fix-finding-D-Bus.patch index 819d44be..28c24248 100644 --- a/qt6-base/mingw-w64/0002-Fix-finding-D-Bus.patch +++ b/qt6-base/mingw-w64/0002-Fix-finding-D-Bus.patch @@ -1,7 +1,7 @@ From 5c192c74f9f5fd7369742a413fe26bdd67ed677f Mon Sep 17 00:00:00 2001 From: Martchus 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 --- diff --git a/qt6-base/mingw-w64/0003-Fix-using-static-PCRE2-and-DBus-1.patch b/qt6-base/mingw-w64/0003-Fix-using-static-PCRE2-and-DBus-1.patch index 1eafb5f6..d8a3748a 100644 --- a/qt6-base/mingw-w64/0003-Fix-using-static-PCRE2-and-DBus-1.patch +++ b/qt6-base/mingw-w64/0003-Fix-using-static-PCRE2-and-DBus-1.patch @@ -1,7 +1,7 @@ From 084aa1b73f9f33096c4a5f34cba773545da3ae33 Mon Sep 17 00:00:00 2001 From: Martchus 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. diff --git a/qt6-base/mingw-w64/0004-Fix-transitive-dependencies-of-static-libraries.patch b/qt6-base/mingw-w64/0004-Fix-transitive-dependencies-of-static-libraries.patch index 39fc04a5..3e4cbd99 100644 --- a/qt6-base/mingw-w64/0004-Fix-transitive-dependencies-of-static-libraries.patch +++ b/qt6-base/mingw-w64/0004-Fix-transitive-dependencies-of-static-libraries.patch @@ -1,7 +1,7 @@ From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001 From: Martchus 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 diff --git a/qt6-base/mingw-w64/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch b/qt6-base/mingw-w64/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch index 9b3baf06..b528b949 100644 --- a/qt6-base/mingw-w64/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch +++ b/qt6-base/mingw-w64/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch @@ -1,7 +1,7 @@ From 0f92aeca18858e11ddaa25b7cdad7d89303052ea Mon Sep 17 00:00:00 2001 From: Martchus 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 diff --git a/qt6-base/mingw-w64/0006-Support-finding-MariaDB.patch b/qt6-base/mingw-w64/0006-Support-finding-MariaDB.patch new file mode 100644 index 00000000..ab1defa7 --- /dev/null +++ b/qt6-base/mingw-w64/0006-Support-finding-MariaDB.patch @@ -0,0 +1,30 @@ +From 757964d9bf2e3d2f315f4210cedd7be6cac54c3f Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-base/mingw-w64/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch b/qt6-base/mingw-w64/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch new file mode 100644 index 00000000..c1013acb --- /dev/null +++ b/qt6-base/mingw-w64/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch @@ -0,0 +1,37 @@ +From 9bae5f17b9371f03d5075f596bc3d5e50018759d Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-base/mingw-w64/PKGBUILD b/qt6-base/mingw-w64/PKGBUILD index 9fe97e63..92d567c0 100644 --- a/qt6-base/mingw-w64/PKGBUILD +++ b/qt6-base/mingw-w64/PKGBUILD @@ -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' diff --git a/qt6-declarative/mingw-w64-static/PKGBUILD b/qt6-declarative/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..10ad7573 --- /dev/null +++ b/qt6-declarative/mingw-w64-static/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-declarative/mingw-w64-static/PKGBUILD.sh.ep b/qt6-declarative/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-declarative/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-declarative/mingw-w64-static/qtdeclarative-sha256.txt b/qt6-declarative/mingw-w64-static/qtdeclarative-sha256.txt new file mode 100644 index 00000000..b5875011 --- /dev/null +++ b/qt6-declarative/mingw-w64-static/qtdeclarative-sha256.txt @@ -0,0 +1 @@ +fe9a05ad73f988f512ed977e0da18164a41c9ee79249b6c63e835a7c5552d279 diff --git a/qt6-declarative/mingw-w64/PKGBUILD b/qt6-declarative/mingw-w64/PKGBUILD index f23bbffc..3c908fd0 100644 --- a/qt6-declarative/mingw-w64/PKGBUILD +++ b/qt6-declarative/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-declarative/mingw-w64/PKGBUILD.sh.ep b/qt6-declarative/mingw-w64/PKGBUILD.sh.ep index 94d8bb0f..6fc382e9 100644 --- a/qt6-declarative/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-declarative/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-imageformats/mingw-w64-static/PKGBUILD b/qt6-imageformats/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..17d5eae5 --- /dev/null +++ b/qt6-imageformats/mingw-w64-static/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-imageformats/mingw-w64-static/PKGBUILD.sh.ep b/qt6-imageformats/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-imageformats/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-imageformats/mingw-w64-static/qtimageformats-sha256.txt b/qt6-imageformats/mingw-w64-static/qtimageformats-sha256.txt new file mode 100644 index 00000000..cc2ecb63 --- /dev/null +++ b/qt6-imageformats/mingw-w64-static/qtimageformats-sha256.txt @@ -0,0 +1 @@ +SKIP diff --git a/qt6-imageformats/mingw-w64/PKGBUILD b/qt6-imageformats/mingw-w64/PKGBUILD index 4eeef6b0..7c89764c 100644 --- a/qt6-imageformats/mingw-w64/PKGBUILD +++ b/qt6-imageformats/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-imageformats/mingw-w64/PKGBUILD.sh.ep b/qt6-imageformats/mingw-w64/PKGBUILD.sh.ep index 6e3ce038..d332eb5c 100644 --- a/qt6-imageformats/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-imageformats/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-quick3d/mingw-w64-static/PKGBUILD b/qt6-quick3d/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..0a41e76e --- /dev/null +++ b/qt6-quick3d/mingw-w64-static/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-quick3d/mingw-w64-static/PKGBUILD.sh.ep b/qt6-quick3d/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-quick3d/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-quick3d/mingw-w64-static/qtquick3d-sha256.txt b/qt6-quick3d/mingw-w64-static/qtquick3d-sha256.txt new file mode 100644 index 00000000..28b32c3c --- /dev/null +++ b/qt6-quick3d/mingw-w64-static/qtquick3d-sha256.txt @@ -0,0 +1 @@ +dc9c01ca7a88e4fe274fa6f8aa08736821dc5663538e8250038dacffbf9ddd39 diff --git a/qt6-quick3d/mingw-w64/PKGBUILD b/qt6-quick3d/mingw-w64/PKGBUILD index d39339b1..2d3b250b 100644 --- a/qt6-quick3d/mingw-w64/PKGBUILD +++ b/qt6-quick3d/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-quick3d/mingw-w64/PKGBUILD.sh.ep b/qt6-quick3d/mingw-w64/PKGBUILD.sh.ep index d5d6f6f9..2962cc75 100644 --- a/qt6-quick3d/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-quick3d/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-quickcontrols2/mingw-w64-static/PKGBUILD b/qt6-quickcontrols2/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..173e326e --- /dev/null +++ b/qt6-quickcontrols2/mingw-w64-static/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-quickcontrols2/mingw-w64-static/PKGBUILD.sh.ep b/qt6-quickcontrols2/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-quickcontrols2/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-quickcontrols2/mingw-w64-static/qtquickcontrols2-sha256.txt b/qt6-quickcontrols2/mingw-w64-static/qtquickcontrols2-sha256.txt new file mode 100644 index 00000000..91876223 --- /dev/null +++ b/qt6-quickcontrols2/mingw-w64-static/qtquickcontrols2-sha256.txt @@ -0,0 +1 @@ +7a36413613b6173ec92b42ef012f33b16686333c39fd5e064482774a17111846 diff --git a/qt6-quickcontrols2/mingw-w64/PKGBUILD b/qt6-quickcontrols2/mingw-w64/PKGBUILD index b493f3e0..95f611f0 100644 --- a/qt6-quickcontrols2/mingw-w64/PKGBUILD +++ b/qt6-quickcontrols2/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-quickcontrols2/mingw-w64/PKGBUILD.sh.ep b/qt6-quickcontrols2/mingw-w64/PKGBUILD.sh.ep index 6c953ada..dddde640 100644 --- a/qt6-quickcontrols2/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-quickcontrols2/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-quicktimeline/mingw-w64-static/PKGBUILD b/qt6-quicktimeline/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..287ce0d7 --- /dev/null +++ b/qt6-quicktimeline/mingw-w64-static/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-quicktimeline/mingw-w64-static/PKGBUILD.sh.ep b/qt6-quicktimeline/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-quicktimeline/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-quicktimeline/mingw-w64-static/qtquicktimeline-sha256.txt b/qt6-quicktimeline/mingw-w64-static/qtquicktimeline-sha256.txt new file mode 100644 index 00000000..cca246dc --- /dev/null +++ b/qt6-quicktimeline/mingw-w64-static/qtquicktimeline-sha256.txt @@ -0,0 +1 @@ +7c98beed81d17f153e997448be264d20453fc1eafa3f3fbbdb1080b3e3e07e89 diff --git a/qt6-quicktimeline/mingw-w64/PKGBUILD b/qt6-quicktimeline/mingw-w64/PKGBUILD index 83240ae1..29507384 100644 --- a/qt6-quicktimeline/mingw-w64/PKGBUILD +++ b/qt6-quicktimeline/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-quicktimeline/mingw-w64/PKGBUILD.sh.ep b/qt6-quicktimeline/mingw-w64/PKGBUILD.sh.ep index 767698df..6852262b 100644 --- a/qt6-quicktimeline/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-quicktimeline/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-shadertools/mingw-w64-static/PKGBUILD b/qt6-shadertools/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..ed360751 --- /dev/null +++ b/qt6-shadertools/mingw-w64-static/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-shadertools/mingw-w64-static/PKGBUILD.sh.ep b/qt6-shadertools/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-shadertools/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-shadertools/mingw-w64-static/qtshadertools-sha256.txt b/qt6-shadertools/mingw-w64-static/qtshadertools-sha256.txt new file mode 100644 index 00000000..bbf880c5 --- /dev/null +++ b/qt6-shadertools/mingw-w64-static/qtshadertools-sha256.txt @@ -0,0 +1 @@ +19b0aad551711bacca19bd8184128ab38b62c62768ec694f5fa22e0e068d1728 diff --git a/qt6-shadertools/mingw-w64/PKGBUILD b/qt6-shadertools/mingw-w64/PKGBUILD index 51d8e020..e4784a13 100644 --- a/qt6-shadertools/mingw-w64/PKGBUILD +++ b/qt6-shadertools/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-shadertools/mingw-w64/PKGBUILD.sh.ep b/qt6-shadertools/mingw-w64/PKGBUILD.sh.ep index 14797650..56a2b9fc 100644 --- a/qt6-shadertools/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-shadertools/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-svg/mingw-w64-static/PKGBUILD b/qt6-svg/mingw-w64-static/PKGBUILD index df2fecb5..bb35d8ae 100644 --- a/qt6-svg/mingw-w64-static/PKGBUILD +++ b/qt6-svg/mingw-w64-static/PKGBUILD @@ -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 + } diff --git a/qt6-svg/mingw-w64/PKGBUILD b/qt6-svg/mingw-w64/PKGBUILD index e519197f..cbfa5749 100644 --- a/qt6-svg/mingw-w64/PKGBUILD +++ b/qt6-svg/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-svg/mingw-w64/PKGBUILD.sh.ep b/qt6-svg/mingw-w64/PKGBUILD.sh.ep index 2813e23b..358645a6 100644 --- a/qt6-svg/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-svg/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-tools/mingw-w64-static/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch b/qt6-tools/mingw-w64-static/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch new file mode 100644 index 00000000..0ce2aad9 --- /dev/null +++ b/qt6-tools/mingw-w64-static/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch @@ -0,0 +1,25 @@ +From 60a7db7b539515ba8f0fcff6cbc31435797f4b86 Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-tools/mingw-w64-static/PKGBUILD b/qt6-tools/mingw-w64-static/PKGBUILD new file mode 100644 index 00000000..df0d5731 --- /dev/null +++ b/qt6-tools/mingw-w64-static/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Martchus + +# 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 + +} + diff --git a/qt6-tools/mingw-w64-static/PKGBUILD.sh.ep b/qt6-tools/mingw-w64-static/PKGBUILD.sh.ep new file mode 100644 index 00000000..87756da4 --- /dev/null +++ b/qt6-tools/mingw-w64-static/PKGBUILD.sh.ep @@ -0,0 +1 @@ +%= include "$default_package_name/mingw-w64/PKGBUILD"; diff --git a/qt6-tools/mingw-w64-static/qttools-sha256.txt b/qt6-tools/mingw-w64-static/qttools-sha256.txt new file mode 100644 index 00000000..06b3bacb --- /dev/null +++ b/qt6-tools/mingw-w64-static/qttools-sha256.txt @@ -0,0 +1 @@ +8409de28939c79dc3eb2d1bb8bac085f35f3dcc35df107633b474733aa33bba8 diff --git a/qt6-tools/mingw-w64/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch b/qt6-tools/mingw-w64/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch new file mode 100644 index 00000000..0ce2aad9 --- /dev/null +++ b/qt6-tools/mingw-w64/0001-windeployqt-Fix-name-of-qt6CoreName-variable.patch @@ -0,0 +1,25 @@ +From 60a7db7b539515ba8f0fcff6cbc31435797f4b86 Mon Sep 17 00:00:00 2001 +From: Martchus +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 + diff --git a/qt6-tools/mingw-w64/PKGBUILD b/qt6-tools/mingw-w64/PKGBUILD index 762eef60..e6364469 100644 --- a/qt6-tools/mingw-w64/PKGBUILD +++ b/qt6-tools/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-tools/mingw-w64/PKGBUILD.sh.ep b/qt6-tools/mingw-w64/PKGBUILD.sh.ep index 49073c01..fc5906e2 100644 --- a/qt6-tools/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-tools/mingw-w64/PKGBUILD.sh.ep @@ -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') diff --git a/qt6-translations/mingw-w64/PKGBUILD b/qt6-translations/mingw-w64/PKGBUILD index a4eab7ec..f3020af6 100644 --- a/qt6-translations/mingw-w64/PKGBUILD +++ b/qt6-translations/mingw-w64/PKGBUILD @@ -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 + } diff --git a/qt6-translations/mingw-w64/PKGBUILD.sh.ep b/qt6-translations/mingw-w64/PKGBUILD.sh.ep index 895cd9b9..a567005b 100644 --- a/qt6-translations/mingw-w64/PKGBUILD.sh.ep +++ b/qt6-translations/mingw-w64/PKGBUILD.sh.ep @@ -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')