From 350f27dc07e3fa294ff5ba1c04c31ca74dfb4a52 Mon Sep 17 00:00:00 2001 From: nfg <sonnysighed@e.email> Date: Wed, 20 Sep 2023 23:17:51 +0000 Subject: [PATCH] upgpkg: 5.15.10+kde+r158-2 --- version/5.15.10+kde+r158-2/PKGBUILD | 204 ++++++++++++++++++ .../5.15.10+kde+r158-2/qt5-base-cflags.patch | 46 ++++ .../5.15.10+kde+r158-2/qt5-base-nostrip.patch | 13 ++ .../work-around-pyside2-brokenness.patch | 138 ++++++++++++ 4 files changed, 401 insertions(+) create mode 100644 version/5.15.10+kde+r158-2/PKGBUILD create mode 100644 version/5.15.10+kde+r158-2/qt5-base-cflags.patch create mode 100644 version/5.15.10+kde+r158-2/qt5-base-nostrip.patch create mode 100644 version/5.15.10+kde+r158-2/work-around-pyside2-brokenness.patch diff --git a/version/5.15.10+kde+r158-2/PKGBUILD b/version/5.15.10+kde+r158-2/PKGBUILD new file mode 100644 index 0000000..6c769f9 --- /dev/null +++ b/version/5.15.10+kde+r158-2/PKGBUILD @@ -0,0 +1,204 @@ +# Copyright : Obarun +#------------------------ +# Maintainer : Eric Vidal <eric@obarun.org> +# Maintainer : Jean-Michel T.Dydak <jean-michel@obarun.org> +#---------------- +# Pkgbuild Src : https://git.obarun.org/pkg/obextra/qt5-base +#-------------------------------------------------------------- +# DESCRIPTION ] + +pkgbase=qt5-base +_basever=5.15.10 +pkgver=5.15.10+kde+r158 +pkgrel=2 +pkgdesc="A cross-platform application and UI framework" +url='https://www.qt.io' + +pkgname=( + 'qt5-base' + 'qt5-xcb-private-headers' +) + +track="commit" +target="74917690e8cded41b087acfe6c58fcd3674864a4" +source=( + "git+https://invent.kde.org/qt/qt/${pkgbase/5-/}#${track}=${target}" + work-around-pyside2-brokenness.patch + qt5-base-cflags.patch + qt5-base-nostrip.patch +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'libfbclient' + 'mariadb-libs' + 'unixodbc' + 'postgresql-libs' + 'alsa-lib' + 'gst-plugins-base-libs' + 'gtk3' + 'libpulse' + 'cups' + 'freetds' + 'vulkan-headers' + 'git' +) + +#options=('debug') + +#------------------------ +# INSTALL CONFIGURATION ] + +depends=( + 'libjpeg-turbo' + 'xcb-util-keysyms' + 'xcb-util-renderutil' + 'libgl' + 'fontconfig' + 'xdg-utils' + 'shared-mime-info' + 'xcb-util-wm' + 'libxrender' + 'libxi' + 'sqlite' + 'xcb-util-image' + 'mesa' + 'tslib' + 'libinput' + 'libxkbcommon-x11' + 'libproxy' + 'libcups' + 'double-conversion' + 'md4c' +) + +optdepends=( + 'qt5-svg: to use SVG icon themes' + 'qt5-wayland: to run Qt applications in a Wayland session' + 'postgresql-libs: PostgreSQL driver' + 'mariadb-libs: MariaDB driver' + 'unixodbc: ODBC driver' + 'libfbclient: Firebird/iBase driver' + 'freetds: MS SQL driver' + 'gtk3: GTK platform plugin' + 'perl: for fixqt4hearders and syncqt' +) + +groups=( + 'qt' + 'qt5' +) + +conflicts=( + 'qtchooser' +) + +#-------------------- +# BUILD PREPARATION ] + +pkgver() { + cd ${pkgbase/5-} + echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$target` | sed -e 's|+kde+r0||' +} + +prepare() { + cd ${pkgbase/5-} + + patch -p1 < ../work-around-pyside2-brokenness.patch + patch -p1 < ../qt5-base-cflags.patch ## Use system CFLAGS in qmake + patch -p1 < ../qt5-base-nostrip.patch ## Don't strip binaries with qmake +} + +#-------- +# BUILD ] + +build() { + cd ${pkgbase/5-} + + local configure_options=( + -confirm-license -opensource -v + -prefix /usr + -docdir /usr/share/doc/qt + -headerdir /usr/include/qt + -archdatadir /usr/lib/qt + -datadir /usr/share/qt + -sysconfdir /etc/xdg + -examplesdir /usr/share/doc/qt/examples + -plugin-sql-sqlite + -plugin-sql-mysql + -plugin-sql-psql + -plugin-sql-odbc + -plugin-sql-ibase + -system-sqlite + -openssl-linked + -nomake examples + -no-rpath + -dbus-linked + -system-harfbuzz + -libproxy + -no-mimetype-database + -no-use-gold-linker + -no-reduce-relocations + -no-strip + -ltcg + ) + + ./configure "${configure_options[@]}" + + ## No configure flag for fat static libs with lto + bin/qmake CONFIG+=fat-static-lto -- -redo + + make +} + +#---------- +# PACKAGE ] + +package_qt5-base() { + pkgdesc="A cross-platform application and UI framework" + depends+=( + 'qt5-translations' + ) + + cd ${pkgbase/5-} + make INSTALL_ROOT="$pkgdir" install + + install -Dm644 LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase + + ## Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir"/usr/lib -type f -name '*.prl' \ + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; + + ## Fix wrong qmake path in pri file + sed -i "s|$srcdir/${pkgbase/5-}|/usr|" \ + "$pkgdir"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri + + ## Symlinks for backwards compatibility + for b in "$pkgdir"/usr/bin/*; do + ln -s $(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5 + done +} + +package_qt5-xcb-private-headers() { + pkgdesc="Private headers for Qt5 Xcb" + depends=( + "qt5-base=$pkgver" + ) + + cd ${pkgbase/5-} + install -d -m755 "$pkgdir"/usr/include/qtxcb-private + cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/ +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(GPL3 LGPL3 FDL custom) + +sha256sums=('SKIP' + 'fbc72a7b90f104c50020879884636614e169669fc66a1705b3df6dd28ad8e5bb' + '5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78' + '957ff2f27b64a1358f8de1273d2e2691ce9edf2ab7acef35ad8dbdd66d2a1d58') diff --git a/version/5.15.10+kde+r158-2/qt5-base-cflags.patch b/version/5.15.10+kde+r158-2/qt5-base-cflags.patch new file mode 100644 index 0000000..3325016 --- /dev/null +++ b/version/5.15.10+kde+r158-2/qt5-base-cflags.patch @@ -0,0 +1,46 @@ +diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf +index a493cd5984..41342f5020 100644 +--- a/mkspecs/common/g++-unix.conf ++++ b/mkspecs/common/g++-unix.conf +@@ -10,5 +10,6 @@ + + include(g++-base.conf) + +-QMAKE_LFLAGS_RELEASE += -Wl,-O1 ++SYSTEM_LDFLAGS = $$(LDFLAGS) ++!isEmpty(SYSTEM_LDFLAGS) { eval(QMAKE_LFLAGS_RELEASE += $$(LDFLAGS)) } else { QMAKE_LFLAGS_RELEASE += -Wl,-O1 } + QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 1f919d270a..7ef6046326 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -40,9 +40,11 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + QMAKE_CFLAGS_DEPS += -M + QMAKE_CFLAGS_WARN_ON += -Wall -Wextra + QMAKE_CFLAGS_WARN_OFF += -w +-QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE +-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g +-QMAKE_CFLAGS_DEBUG += -g ++SYSTEM_CFLAGS = $$(CFLAGS) ++SYSTEM_DEBUG_CFLAGS = $$(DEBUG_CFLAGS) ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE += $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CFLAGS) { eval(QMAKE_CFLAGS_DEBUG += $$(DEBUG_CFLAGS)) } else { QMAKE_CFLAGS_DEBUG += -g } + QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC + QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC +@@ -59,9 +61,11 @@ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS + QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON + QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG ++SYSTEM_CXXFLAGS = $$(CXXFLAGS) ++SYSTEM_DEBUG_CXXFLAGS = $$(DEBUG_CXXFLAGS) ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE += $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE } ++!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g } ++!isEmpty(SYSTEM_DEBUG_CXXFLAGS) { eval(QMAKE_CXXFLAGS_DEBUG += $$(DEBUG_CXXFLAGS)) } else { QMAKE_CXXFLAGS_DEBUG += -g } + QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB + QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB + QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP diff --git a/version/5.15.10+kde+r158-2/qt5-base-nostrip.patch b/version/5.15.10+kde+r158-2/qt5-base-nostrip.patch new file mode 100644 index 0000000..9aead7f --- /dev/null +++ b/version/5.15.10+kde+r158-2/qt5-base-nostrip.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index 99d77156fd..fc840fe9f6 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -31,6 +31,8 @@ + # you can use the manual test in tests/manual/mkspecs. + # + ++CONFIG += nostrip ++ + QMAKE_CFLAGS_OPTIMIZE = -O2 + QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 + QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og diff --git a/version/5.15.10+kde+r158-2/work-around-pyside2-brokenness.patch b/version/5.15.10+kde+r158-2/work-around-pyside2-brokenness.patch new file mode 100644 index 0000000..ee959bb --- /dev/null +++ b/version/5.15.10+kde+r158-2/work-around-pyside2-brokenness.patch @@ -0,0 +1,138 @@ +# Patch from OpenMandriva: +# https://github.com/OpenMandrivaAssociation/qt5-qtbase/commit/20f97a4b#diff-c548550538903adec7a57251150fb23c61089ec82748fae900869f550aefc8f6R161 + +diff -up qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h.5~ qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h +--- qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h.5~ 2023-03-23 20:06:47.000000000 +0100 ++++ qtbase-everywhere-src-5.15.9/src/gui/kernel/qevent.h 2023-04-15 23:23:40.599956996 +0200 +@@ -104,15 +104,15 @@ protected: + class Q_GUI_EXPORT QMouseEvent : public QInputEvent + { + public: +- QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton button, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, + Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers); +- QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, ++ QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, + Qt::MouseButton button, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source); + ~QMouseEvent(); +@@ -154,7 +154,7 @@ protected: + class Q_GUI_EXPORT QHoverEvent : public QInputEvent + { + public: +- QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); ++ QHoverEvent(QEvent::Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + ~QHoverEvent(); + + #ifndef QT_NO_INTEGER_EVENT_COORDINATES +@@ -282,12 +282,12 @@ public: + #if QT_DEPRECATED_SINCE(5, 15) + // Actually deprecated since 5.4, in docs + QT_DEPRECATED_VERSION_X_5_15("Use the other QTabletEvent constructor") +- QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, ++ QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, + int device, int pointerType, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers keyState, qint64 uniqueID); // ### remove in Qt 6 + #endif +- QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, ++ QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, + int device, int pointerType, qreal pressure, int xTilt, int yTilt, + qreal tangentialPressure, qreal rotation, int z, + Qt::KeyboardModifiers keyState, qint64 uniqueID, +@@ -377,9 +377,9 @@ protected: + class Q_GUI_EXPORT QKeyEvent : public QInputEvent + { + public: +- QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), ++ QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), + bool autorep = false, ushort count = 1); +- QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, ++ QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, + quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, + const QString &text = QString(), bool autorep = false, ushort count = 1); + ~QKeyEvent(); +@@ -399,7 +399,7 @@ public: + + // Functions for the extended key event information + #if QT_DEPRECATED_SINCE(5, 0) +- static inline QKeyEvent *createExtendedKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, ++ static inline QKeyEvent *createExtendedKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, + quint32 nativeScanCode, quint32 nativeVirtualKey, + quint32 nativeModifiers, + const QString& text = QString(), bool autorep = false, +@@ -682,7 +682,7 @@ class Q_GUI_EXPORT QDragMoveEvent : publ + { + public: + QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, +- Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove); ++ Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = QEvent::DragMove); + ~QDragMoveEvent(); + + inline QRect answerRect() const { return rect; } +diff -up qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h.5~ qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h +--- qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h.5~ 2023-03-23 20:06:47.000000000 +0100 ++++ qtbase-everywhere-src-5.15.9/src/widgets/graphicsview/qgraphicssceneevent.h 2023-04-15 23:22:38.038387091 +0200 +@@ -82,7 +82,7 @@ class QGraphicsSceneMouseEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneMouseEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneMouseEvent(Type type = None); ++ explicit QGraphicsSceneMouseEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneMouseEvent(); + + QPointF pos() const; +@@ -136,7 +136,7 @@ class QGraphicsSceneWheelEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneWheelEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneWheelEvent(Type type = None); ++ explicit QGraphicsSceneWheelEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneWheelEvent(); + + QPointF pos() const; +@@ -171,7 +171,7 @@ class Q_WIDGETS_EXPORT QGraphicsSceneCon + public: + enum Reason { Mouse, Keyboard, Other }; + +- explicit QGraphicsSceneContextMenuEvent(Type type = None); ++ explicit QGraphicsSceneContextMenuEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneContextMenuEvent(); + + QPointF pos() const; +@@ -198,7 +198,7 @@ class QGraphicsSceneHoverEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneHoverEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneHoverEvent(Type type = None); ++ explicit QGraphicsSceneHoverEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneHoverEvent(); + + QPointF pos() const; +@@ -231,7 +231,7 @@ class QGraphicsSceneHelpEventPrivate; + class Q_WIDGETS_EXPORT QGraphicsSceneHelpEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneHelpEvent(Type type = None); ++ explicit QGraphicsSceneHelpEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneHelpEvent(); + + QPointF scenePos() const; +@@ -249,7 +249,7 @@ class QGraphicsSceneDragDropEventPrivate + class Q_WIDGETS_EXPORT QGraphicsSceneDragDropEvent : public QGraphicsSceneEvent + { + public: +- explicit QGraphicsSceneDragDropEvent(Type type = None); ++ explicit QGraphicsSceneDragDropEvent(QEvent::Type type = QEvent::None); + ~QGraphicsSceneDragDropEvent(); + + QPointF pos() const; + -- GitLab