From da377b7242bf573209c8be2a0bd4ae89f8b9511c Mon Sep 17 00:00:00 2001
From: nfg <sonnysighed@e.email>
Date: Sun, 6 Aug 2023 17:32:07 +0000
Subject: [PATCH] upgpkg: 5.15.10+kde+r147-2

---
 version/5.15.10+kde+r147-2/PKGBUILD           | 199 ++++++++++++++++++
 .../5.15.10+kde+r147-2/qt5-base-cflags.patch  |  46 ++++
 .../5.15.10+kde+r147-2/qt5-base-nostrip.patch |  13 ++
 3 files changed, 258 insertions(+)
 create mode 100644 version/5.15.10+kde+r147-2/PKGBUILD
 create mode 100644 version/5.15.10+kde+r147-2/qt5-base-cflags.patch
 create mode 100644 version/5.15.10+kde+r147-2/qt5-base-nostrip.patch

diff --git a/version/5.15.10+kde+r147-2/PKGBUILD b/version/5.15.10+kde+r147-2/PKGBUILD
new file mode 100644
index 0000000..e7c812c
--- /dev/null
+++ b/version/5.15.10+kde+r147-2/PKGBUILD
@@ -0,0 +1,199 @@
+# 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+r147
+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="e24dc54b2b4054413650904288aa7a363eee23a7"
+source=(
+    "git+https://invent.kde.org/qt/qt/${pkgbase/5-/}#${track}=${target}"
+    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 < ../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)
+
+sha512sums=('')
diff --git a/version/5.15.10+kde+r147-2/qt5-base-cflags.patch b/version/5.15.10+kde+r147-2/qt5-base-cflags.patch
new file mode 100644
index 0000000..3325016
--- /dev/null
+++ b/version/5.15.10+kde+r147-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+r147-2/qt5-base-nostrip.patch b/version/5.15.10+kde+r147-2/qt5-base-nostrip.patch
new file mode 100644
index 0000000..9aead7f
--- /dev/null
+++ b/version/5.15.10+kde+r147-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
-- 
GitLab