diff --git a/extra/qt5-base/PKGBUILD b/extra/qt5-base/PKGBUILD index ae348554c..5874fd9ca 100644 --- a/extra/qt5-base/PKGBUILD +++ b/extra/qt5-base/PKGBUILD @@ -8,18 +8,18 @@ pkgbase=qt5-base pkgname=(qt5-base qt5-xcb-private-headers) -_qtver=5.9.3 +_qtver=5.10.0 pkgver=${_qtver/-/} pkgrel=1 arch=('x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL3' 'FDL' 'custom') pkgdesc='A cross-platform application and UI framework' -depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' +depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' 'xdg-utils' 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu' 'pcre2' - 'tslib' 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'openssl-1.0' 'double-conversion') + 'tslib' 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'double-conversion') makedepends=('libfbclient' 'libmariadbclient' 'sqlite' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs' - 'gtk3' 'libpulse' 'cups' 'freetds') + 'gtk3' 'libpulse' 'cups' 'freetds' 'vulkan-headers') optdepends=('qt5-svg: to use SVG icon themes' 'postgresql-libs: PostgreSQL driver' 'libmariadbclient: MariaDB driver' @@ -29,11 +29,11 @@ optdepends=('qt5-svg: to use SVG icon themes' 'gtk3: GTK platform plugin') conflicts=('qtchooser') groups=('qt' 'qt5') -_pkgfqn="${pkgbase/5-/}-opensource-src-${_qtver}" +_pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}" source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" - harmony-fix.diff) -sha256sums=('9e7c44005e7691dc7c85165bd4510282c47f0163521f4973eab71dbdb39a9982' - '8451c0a86e887492b706950ce533c616e687b790c54e86fb1f405dc2074737a3') + qt-no-statx.patch) +sha256sums=('fd5578cd320a13617c12cf2b19439386b203d6d45548e855f94e07be9829f762' + '5cd1d90622cc53609806a3ce0b2811b28f0e6e20eb835861de4492dddeef6e52') prepare() { cd ${_pkgfqn} @@ -52,16 +52,13 @@ prepare() { # Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417 sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' -i mkspecs/features/create_cmake.prf - # Freetype 2.8.1 - patch -p1 -i ../harmony-fix.diff + # Don't use the statx syscall https://bugs.archlinux.org/task/56289 https://bugreports.qt.io/browse/QTBUG-64490 + patch -p1 -i ../qt-no-statx.patch } build() { cd ${_pkgfqn} - echo "INCLUDEPATH += /usr/include/openssl-1.0" >> src/network/network.pro - export OPENSSL_LIBS='-L/usr/lib/openssl-1.0 -lssl -lcrypto' - PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource -v \ -prefix /usr \ -docdir /usr/share/doc/qt \ diff --git a/extra/qt5-base/harmony-fix.diff b/extra/qt5-base/harmony-fix.diff deleted file mode 100644 index bd3d00107..000000000 --- a/extra/qt5-base/harmony-fix.diff +++ /dev/null @@ -1,76 +0,0 @@ -diff -u -r qtbase-opensource-src-5.9.1/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp qtbase-opensource-src-5.9.1-ftharmony/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp ---- qtbase-opensource-src-5.9.1/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp 2017-06-28 11:54:29.000000000 +0200 -+++ qtbase-opensource-src-5.9.1-ftharmony/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp 2017-09-19 21:31:27.803755180 +0200 -@@ -786,6 +786,7 @@ - m_subPixelPositionCount = 4; - forceAutoHint = false; - stemDarkeningDriver = false; -+ hasLcdRendering = false; - } - - QFontEngineFT::~QFontEngineFT() -@@ -909,6 +910,15 @@ - } - #endif - -+ FT_Int amajor = 0, aminor = 0, apatch = 0; -+ FT_Library_Version(qt_getFreetype(), &amajor, &aminor, &apatch); -+ if (amajor > 2 || amajor == 2 && (aminor > 8 || aminor == 8 && apatch >= 1)) -+ hasLcdRendering = true; -+#if defined(QT_USE_FREETYPE_LCDFILTER) -+ else if (FT_Library_SetLcdFilter(qt_getFreetype(), FT_LCD_FILTER_NONE) == FT_Err_Ok) -+ hasLcdRendering = true; -+#endif -+ - fontDef.styleName = QString::fromUtf8(face->style_name); - - if (!freetype->hbFace) { -@@ -1165,21 +1175,19 @@ - - int glyph_buffer_size = 0; - QScopedArrayPointer<uchar> glyph_buffer; -+ if (hasLcdRendering && slot->format == FT_GLYPH_FORMAT_OUTLINE && (hsubpixel || vfactor != 1)) { - #if defined(QT_USE_FREETYPE_LCDFILTER) -- bool useFreetypeRenderGlyph = false; -- if (slot->format == FT_GLYPH_FORMAT_OUTLINE && (hsubpixel || vfactor != 1)) { -- err = FT_Library_SetLcdFilter(slot->library, (FT_LcdFilter)lcdFilterType); -- if (err == FT_Err_Ok) -- useFreetypeRenderGlyph = true; -- } -+ FT_Library_SetLcdFilter(slot->library, (FT_LcdFilter)lcdFilterType); -+#endif - -- if (useFreetypeRenderGlyph) { - err = FT_Render_Glyph(slot, hsubpixel ? FT_RENDER_MODE_LCD : FT_RENDER_MODE_LCD_V); - - if (err != FT_Err_Ok) - qWarning("render glyph failed err=%x face=%p, glyph=%d", err, face, glyph); - -+#if defined(QT_USE_FREETYPE_LCDFILTER) - FT_Library_SetLcdFilter(slot->library, FT_LCD_FILTER_NONE); -+#endif - - info.height = slot->bitmap.rows / vfactor; - info.width = hsubpixel ? slot->bitmap.width / 3 : slot->bitmap.width; -@@ -1193,9 +1201,7 @@ - convertRGBToARGB(slot->bitmap.buffer, (uint *)glyph_buffer.data(), info.width, info.height, slot->bitmap.pitch, subpixelType != Subpixel_RGB, false); - else if (vfactor != 1) - convertRGBToARGB_V(slot->bitmap.buffer, (uint *)glyph_buffer.data(), info.width, info.height, slot->bitmap.pitch, subpixelType != Subpixel_VRGB, false); -- } else --#endif -- { -+ } else { - int left = slot->metrics.horiBearingX; - int right = slot->metrics.horiBearingX + slot->metrics.width; - int top = slot->metrics.horiBearingY; -diff -u -r qtbase-opensource-src-5.9.1/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h qtbase-opensource-src-5.9.1-ftharmony/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h ---- qtbase-opensource-src-5.9.1/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h 2017-06-28 11:54:29.000000000 +0200 -+++ qtbase-opensource-src-5.9.1-ftharmony/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h 2017-09-19 21:27:52.433263233 +0200 -@@ -311,6 +311,7 @@ - bool cacheEnabled; - bool forceAutoHint; - bool stemDarkeningDriver; -+ bool hasLcdRendering; - - private: - friend class QFontEngineFTRawFont; diff --git a/extra/qt5-base/qt-no-statx.patch b/extra/qt5-base/qt-no-statx.patch new file mode 100644 index 000000000..56150f73e --- /dev/null +++ b/extra/qt5-base/qt-no-statx.patch @@ -0,0 +1,11 @@ +--- qtbase-everywhere-src-5.10.0-beta4/src/corelib/io/qfilesystemengine_unix.cpp.orig 2017-11-14 12:10:28.156094557 +0000 ++++ qtbase-everywhere-src-5.10.0-beta4/src/corelib/io/qfilesystemengine_unix.cpp 2017-11-14 12:10:46.156136206 +0000 +@@ -95,7 +95,7 @@ + { return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); } + # endif + +-# if !QT_CONFIG(statx) && defined(SYS_statx) && QT_HAS_INCLUDE(<linux/stat.h>) ++# if 0 + # include <linux/stat.h> + static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf) + { return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); } diff --git a/extra/qt5-base/rebuild.list b/extra/qt5-base/rebuild.list index 5429bfe4a..fd5874da9 100644 --- a/extra/qt5-base/rebuild.list +++ b/extra/qt5-base/rebuild.list @@ -1,20 +1,22 @@ -fcitx-qt5 * -plasma-integration -gcin +### Rebuild only for minor version updates calibre -akonadi * -skrooge * +gcin kwin lxqt-qtplugin -pyqt5 * -qt5-styleplugins * -deepin-qt5dxcb-plugin * -deepin-qt5integration * -deepin-file-manager * -deepin-dock * -dtkwidget * -dtkwm * +plasma-integration +qqc2-desktop-style qt5ct - -libqtxdg * -* - Also need rebuild for patch Qt version updates +### Rebuild for minor and patch version updates +akonadi +deepin-dock +deepin-file-manager +deepin-qt5integration +deepin-qt5dxcb-plugin +dtkwidget +dtkwm +fcitx-qt5 +libqtxdg +pyqt5 +qt5-styleplugins +qt5-webkit +skrooge