Package Details: mingw-w64-qt5-base 5.15.2-1

Git Clone URL: (read-only, click to copy)
Package Base: mingw-w64-qt5-base
Description: A cross-platform application and UI framework, native OpenGL backend (mingw-w64)
Upstream URL:
Licenses: custom, GPL3, LGPL3, FDL
Groups: mingw-w64-qt5
Submitter: Martchus
Maintainer: Martchus
Last Packager: Martchus
Votes: 19
Popularity: 0.000086
First Submitted: 2016-08-30 21:28
Last Updated: 2020-11-21 15:59

Sources (32)

Pinned Comments

Martchus commented on 2020-09-13 11:42

Notes regarding 5.15.1 update

  • With this update I finally splitted all static libraries from further Qt repositories into their own packages as well. So now there's not only mingw-w64-qt5-base-static but also mingw-w64-qt5-svg-static, mingw-w64-qt5-declarative-static and so on. The static version is still sharing files with the shared version and as such depends on the shared packages. However, this change allows to avoid building all the static libraries if only shared libraries are required. If you've so far used static libraries from further Qt modules be sure to install the additional *-static packages.
  • Otherwise there were not much build system changes on the Qt side so I don't think this update broke much.
  • As stated in the sticky comment I'm thinking about Qt 6 packaging but this also means I'm not going to take much effort to address any outstanding bugs/limitations for the Qt 5 packages anymore (broken ANGLE build, build Qt WebEngine, …).
  • This is the last official release of the 5.x. Let's see whether further updates for the 5.x branch will be made available by the community. If the regular qt5-base packages picks up such commits I could update this package here as well.

Martchus commented on 2020-06-09 10:33

Notes regarding Qt 6 packaging

I plan to package Qt 6 as well (see for a WIP version), so here are the changes I expect I'll have to make:

  1. The mingw-w64-qt5-* packages stay mainly as-is.
    1. Of course I'll be updating the patch version. If a community fork for minor version updates is created and picked up by the regular qt5-* packages it would make sense to do the same for mingw-w64-qt5-* packages.
    2. As a "final improvement" for the Qt 5 packaging I could also apply the shared vs. static splitting for all modules. Currently it is a bit weird to have a separate *-static package for the base repository but not for other repositories.
    3. ANGLE seems to be completely abandoned by Qt 6 in favor of platform-specific backends. That means I'm not going to take any effort anymore in fixing the currently broken ANGLE variant.
  2. I'll create mingw-w64-qt6-* packages for Qt 6.
    1. CMake will be the only supported build system for building Qt itself so I'll switch to that.
    2. All "host tools" need to come from the regular qt6-* packages. I consider that an improvement because it takes out complexity from the build system and also avoids redundancy. It is also more consistent with other packages, e.g. if some package needs Python to generate something during the build we also don't try to bootstrap a minimal version of Python during the build but instead simply depend on the python package.
      1. That also affects qmake. When I understand it correctly, that means all qmake-based projects will need to depend on the regular package which will provide the qmake binary. Likely it makes sense to create a package called mingw-w64-qt6-qmake which would be similar to mingw-w64-cmake so not every package would have to sort out the correct usage individually.
      2. I'll delay building the mingw-w64-qt6-* packages until the corresponding qt6-* are available because I suppose using older tools might not generally work.
      3. Not sure how we'll have to built the deployment tool or generally other Windows specific tools. They will likely not be available within the regular GNU/Linux packages but are still host tools. Maybe one simply builds these in a separate CMake/make invocation using some special parameters.
    3. I'll drop my patches for supporting installing the shared and static version within the same prefix. These patches actually came from the previous maintainer who took them from Fedora. I kept these patches so far because why change a running system. However, now I'd likely need to rewrite the patches completely so it makes more sense to get rid of them. That means I'll use a nested install prefix for the static version similar to the MSYS2 packaging. That means you will no longer be able to use the shared and the static version of Qt within the same CMake project. This was a nice feature but I don't think the benefit is worth the maintenance effort anymore.
    4. Cross compilation for the mingw-w64 target is still not officially supported. So I'll expect to run into problems and I don't expect that Qt 6 packages will be ready immediately after its release (although I'll likely try out beta versions).
    5. Some Qt modules will be moved out to the market place (e.g. Qt Multimedia). This mainly affects the repository URL and decouples these modules from the regular Qt release cycle. I think it makes actually sense because this way we can likely avoid frequent rebuilds of modules which don't change anyways (unless they are using private Qt APIs).

Feel free to comment if you have any ideas or suggestions. Of course we're quite constrained to how upstream plans to do things.

Martchus commented on 2018-05-29 08:29

Before upgrading, be sure to remove the old version of the package from your system. Preferably, build the package in a clean chroot using makechrootpkg.

Also, please read the other comments and issues on GitHub for known bugs and limitations.

There also exist a binary repository:,

Martchus commented on 2018-03-11 20:19

@theone74 It is currently not possible to use the MariaDB plugin with the static version of Qt because mariadb-connector-c comes with its own pthread implementation which has conflicting symbols with the pthread library Qt uses. Since some PostgreSQL update the same is true for the PostgreSQL plugin.

So you have to disable the plugin. When using CMake, plugins are not be automatically added so you should not run into the issue by default. When using qmake you need to disable the plugin manually, eg. you can add the following arguments to enable only the plugins which actually work:

CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlodbc CONFIG+=static


Martchus commented on 2016-07-10 19:47

All my packages are managed at GitHub where you can also contribute directly:

Patches for this package are managed at:
if you like to contribute to patches, read this:

If you would like to contribute, here is a list of known bugs and things needing improvement:

  • The linker library search paths for applications which need to be build for the host architecture aren't set correctly. Hence those paths are currently set manually which is quite hacky. Affected packages are mingw-w64-qt5-declarative and mingw-w64-qt5-tools and (also the apple-darwin versions).
  • Compiling QtAV using the ANGLE version doesn't work. I don't know whether other applications/libs using OpenGL via Qt are also affected but it is very likely.
  • Updating mingw-w64-qt5-webkit to ng version.
  • See also

Also note the comments about the different variants inside the PKGBUILD itself.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 ... Next › Last »

Martchus commented on 2019-02-03 23:06

I'm currently in the process of updating to 5.12.1.

Seems they added some changes to the build system which conflict with my effort for making a fully statically linked executable relying on "system libraries" rather than bundles ones. I suppose most of my patches are adapted now. Some workarounds even might be no longer necessary but I also had to add new workarounds. At least it seems not totally messed up so far. I could do a static build of all the tools from the qttools repo (qmake) and of my Syncthing Tray application (CMake).

I noticed that a recent update of the mingw-w64-postgresql package apparently broke the static PostgreSQL plugin. The reason for the breakage seems the same as for the static MySQL plugin. (See pinned comment.)

And I had to fix windeployqt. It seems upstream really doesn't care about cross-compilation for Windows. But at least that patch might be upstream-able.

Martchus commented on 2018-09-21 09:07

Update to 5.11.2 is delayed by

Martchus commented on 2018-09-01 15:02

@alexzk The dependency structure is not different from the regular qt5-base package in that regard. Don't use stupid AUR helper - at least not here. To ease bootstrapping I created mingw-w64-freetype2. There's also my binary repository if you don't want to care about bootstrapping at all.

alexzk commented on 2018-09-01 13:01

It does circular dependency somewhere in harfbuzz/freetype2 etc. Just tries install stuff in loop.

adsun commented on 2018-08-25 10:37

@Martchus No. I just manually compare the version of mingw-w64 packages with the latest upstream version. Thanks for the patch!

Martchus commented on 2018-08-25 10:04

@adsun Added the patch. Btw, do you have a script to flag mingw-w64 packages (just because you flag my packages so often/fast)?

adsun commented on 2018-08-24 15:31

The build now fails during the qmake build with glibc version 2.28. The native linux qt5 package has a patch that fixes this problem.

Martchus commented on 2018-06-13 12:16

@luntik2012 "Before upgrading, be sure to remove the old version of the package from your system. Preferably, build the package in a clean chroot using makechrootpkg." Did you follow this instruction?

luntik2012 commented on 2018-06-13 12:13

i686-w64-mingw32-g++ -g -shared -Wl,-subsystem,windows -Wl,--out-implib,/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/build-i686-w64-mingw32/lib/libQt5Gui.dll.a -o ../../lib/Qt5Gui.dll object_script.Qt5Gui.Release -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -ladvapi32 -ljpeg -lpng -L/usr/i686-w64-mingw32/lib -lharfbuzz -lfreetype -lglu32 -lopengl32 -lgdi32 -luser32 -L/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/build-i686-w64-mingw32/lib /usr/i686-w64-mingw32/lib/libQt5Core.dll.a -lpng -lharfbuzz -lz ./.obj/release/qtextengine.o:/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/include/QtCore/../../src/corelib/tools/qstringview.h:270: undefined reference to `_imp___ZN9QtPrivate13isRightToLeftE11QStringView' collect2: error: ld returned 1 exit status make[3]: [Makefile.Release:1183: ../../lib/Qt5Gui.dll] Error 1 make[3]: Leaving directory '/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/build-i686-w64-mingw32/src/gui' make[2]: [Makefile:36: release] Error 2 make[2]: Leaving directory '/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/build-i686-w64-mingw32/src/gui' make[1]: [Makefile:523: sub-gui-make_first] Error 2 make[1]: Leaving directory '/tmp/yaourt-tmp-nick/aur-mingw-w64-qt5-base/src/build-i686-w64-mingw32/src' make: [Makefile:45: sub-src-make_first] Error 2 ==> ERROR: A failure occurred in build().

Martchus commented on 2018-05-29 08:29

Before upgrading, be sure to remove the old version of the package from your system. Preferably, build the package in a clean chroot using makechrootpkg.

Also, please read the other comments and issues on GitHub for known bugs and limitations.

There also exist a binary repository:,