summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2024-03-29 00:38:17 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2024-03-30 23:09:06 -0400
commitf3f11db015d965c1464a91486f4b0120d3bff445 (patch)
tree377c55390b3d5df0675c8a4c3b2476167281b6c6
parent59d66cb1d251924e03d65bf3c0baf49dce54f320 (diff)
pyside6: add blacklist replacement v6.6.2 (x86_64 and armv7h)
-rw-r--r--libre/pyside6/PKGBUILD127
-rw-r--r--libre/pyside6/designer-plugin-install-dir.patch10
-rw-r--r--libre/pyside6/fix-build.patch14
3 files changed, 102 insertions, 49 deletions
diff --git a/libre/pyside6/PKGBUILD b/libre/pyside6/PKGBUILD
index 95d6f4429..1a94e9637 100644
--- a/libre/pyside6/PKGBUILD
+++ b/libre/pyside6/PKGBUILD
@@ -5,48 +5,70 @@
# parabola changes and rationale:
# - remove 'qt6-webengine' dependency
-# - add support for i686
-
-
-# NOTE: this PKGBUILD is for i686 only
-# the diff against the current arch PKGBUILD is substantial
-# the following commit will replace this one without i686 support
-# until arch32 rolls forward
+# - add support for armv7h and i686
pkgbase=pyside6
-pkgname=(shiboken6 pyside6 pyside6-tools)
-_qtver=6.4.2
-_clangver=15.0.7
+pkgname=(pyside6
+ pyside6-tools
+ shiboken6)
+_qtver=6.6.2
+_clangver=17.0.6
pkgver=${_qtver/-/}
-pkgrel=5
-arch=(i686)
+pkgrel=2
+_pkgver_i686=6.4.2
+_pkgrel_i686=5.0
+eval "[[ -v _pkgver_${CARCH} ]] && pkgver=\$_pkgver_${CARCH}" # our different arches do not
+eval "[[ -v _pkgrel_${CARCH} ]] && pkgrel=\$_pkgrel_${CARCH}" # always roll at the same speed
+arch=(x86_64)
+arch+=(armv7h i686)
url='https://www.qt.io'
license=(LGPL)
-makedepends=(cmake ninja clang llvm python-setuptools vulkan-headers python-numpy
- qt6-tools qt6-svg qt6-3d qt6-scxml qt6-datavis3d qt6-charts qt6-multimedia qt6-quick3d
- qt6-positioning qt6-networkauth qt6-remoteobjects qt6-sensors qt6-serialport qt6-connectivity
- qt6-webchannel qt6-webengine qt6-websockets qt6-shadertools qt6-speech qt6-httpserver)
+makedepends=(clang
+ cmake
+ llvm
+ ninja
+ python-numpy
+ python-setuptools
+ qt6-3d
+ qt6-charts
+ qt6-connectivity
+ qt6-datavis3d
+ qt6-graphs
+ qt6-httpserver
+ qt6-location
+ qt6-multimedia
+ qt6-networkauth
+ qt6-positioning
+ qt6-quick3d
+ qt6-remoteobjects
+ qt6-scxml
+ qt6-sensors
+ qt6-serialbus
+ qt6-serialport
+ qt6-shadertools
+ qt6-speech
+ qt6-svg
+ qt6-tools
+ qt6-webchannel
+ qt6-webengine
+ qt6-websockets)
makedepends=( ${makedepends[*]/qt6-webengine/} )
-_pkgfn=pyside-setup-opensource-src-$_qtver
+_pkgfn=pyside-setup-everywhere-src-$_qtver
source=(https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-$pkgver-src/${_pkgfn}.tar.xz
- designer-plugin-install-dir.patch
- pyside-2183.patch::https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=196ec4c5)
-sha256sums=('1ec9d0936332efd229650cf10fed36cadddff7a613a2ea6e897de4d504c1b505'
- '66e895e07d5b01c64a94092353854c946fd7fc445b6181068dca290b5a3887e0'
- '9f796e791cf2a684353d44af2455af30e46116dcb7fff5afa239181faf5dd9c8')
-# apparently, pyside-2183.patch has changed since arch and arch32 built this
-sha256sums[2]='debcb196fe5df181f117d56358f17a8c4da06ee3e5e29021fa0427de58835697'
+ fix-build.patch)
+sha256sums=('14620b694d7af4c978443016292d3d2108ba5dc105f4170e3b71eadcaf04c9f0'
+ '77b83cb164ea87d826259864f6a81fb33199510e1948d6daaf5c8d5ab55735a7')
prepare() {
- patch -d $_pkgfn -p1 < designer-plugin-install-dir.patch # Fix designer plugin install dir
- patch -d $_pkgfn -p1 < pyside-2183.patch # Fix installing support module
+ patch -d $_pkgfn -p1 < fix-build.patch
}
build() {
cmake -B build -S $_pkgfn -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
+ -DSHIBOKEN_PYTHON_LIBRARIES=`pkgconf python3-embed --libs` \
-DBUILD_TESTS=OFF \
-DNO_QT_TOOLS=yes
PYTHONPATH="$PWD"/build/sources \
@@ -55,7 +77,14 @@ build() {
package_shiboken6() {
pkgdesc='Generates bindings for C++ libraries using CPython source code'
- depends=(clang=$_clangver llvm libxslt qt6-base)
+ depends=(clang=$_clangver
+ gcc-libs
+ glibc
+ libxml2
+ libxslt
+ llvm
+ python
+ qt6-base)
optdepends=('python: Python bindings')
DESTDIR="$pkgdir" cmake --install build/sources/shiboken6
@@ -72,23 +101,35 @@ package_shiboken6() {
package_pyside6() {
pkgdesc='Enables the use of Qt6 APIs in Python applications'
- depends=(qt6-declarative shiboken6)
- optdepends=('qt6-tools: QtHelp, QtUiTools bindings'
- 'qt6-svg: QtSvg bindings'
- 'qt6-3d: Qt3D bindings'
- 'qt6-quick3d: QtQuick3D bindings'
- 'qt6-scxml: QtScxml bindings'
- 'qt6-datavis3d: QtDataVisualization bindings'
+ depends=(gcc-libs
+ glibc
+ python
+ qt6-base
+ qt6-declarative
+ shiboken6)
+ optdepends=('qt6-3d: Qt3D bindings'
'qt6-charts: QtCharts bindings'
+ 'qt6-connectivity: QtBluetooth and QtNfc bindings'
+ 'qt6-datavis3d: QtDataVisualization bindings'
+ 'qt6-graphs: QtGraphs bindings'
'qt6-httpserver: QtHttpServer bindings'
+ 'qt6-location: QtLocation bindings'
'qt6-multimedia: QtMultimedia bindings'
+ 'qt6-networkauth: QtNetworkAuth bindings'
+ 'qt6-positioning: QtPositioning bindings'
+ 'qt6-quick3d: QtQuick3D bindings'
+ 'qt6-remoteobjects: QtRemoteObjects bindings'
+ 'qt6-scxml: QtScxml bindings'
+ 'qt6-sensors: QtSensors bindings'
+ 'qt6-serialbus: QtSerialBus bindings'
'qt6-serialport: QtSerialPort bindings'
'qt6-speech: QtTextToSpeech bindings'
+ 'qt6-svg: QtSvg bindings'
+ 'qt6-tools: QtHelp, QtUiTools bindings'
+ 'qt6-webchannel: QtWebChannel bindings'
#'qt6-webengine: QtWebEngine bindings'
- 'qt6-remoteobjects: QtRemoteObjects bindings'
- 'qt6-sensors: QtSensors bindings'
- 'qt6-websockets: QtWebSockets bindings'
- 'qt6-networkauth: QtNetworkAuth bindings')
+ 'qt6-websockets: QtWebSockets bindings')
+ provides=(qt6-python-bindings)
DESTDIR="$pkgdir" cmake --install build/sources/pyside6
@@ -105,7 +146,15 @@ package_pyside6() {
package_pyside6-tools() {
pkgdesc='Tools for pyside6'
- depends=(pyside6)
+ depends=(pyside6
+ python)
+ optdepends=('nuitka: for deploy.py')
DESTDIR="$pkgdir" cmake --install build/sources/pyside-tools
+
+# Add convenience pyside6-designer wrapper
+# Entry points in /usr/bin are not installed in the cmake build. This is the only one that does anything besides wrapping the Qt executable
+ echo "export LD_PRELOAD="`python -c "from sysconfig import get_config_var; print(get_config_var('LDLIBRARY'))"` > pyside6-designer
+ echo "exec designer6 \$@" >> pyside6-designer
+ install -Dm755 pyside6-designer -t "$pkgdir"/usr/bin
}
diff --git a/libre/pyside6/designer-plugin-install-dir.patch b/libre/pyside6/designer-plugin-install-dir.patch
deleted file mode 100644
index 62b9b8231..000000000
--- a/libre/pyside6/designer-plugin-install-dir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/sources/pyside6/plugins/designer/CMakeLists.txt b/sources/pyside6/plugins/designer/CMakeLists.txt
-index 50074be51..5d6064606 100644
---- a/sources/pyside6/plugins/designer/CMakeLists.txt
-+++ b/sources/pyside6/plugins/designer/CMakeLists.txt
-@@ -53,4 +53,4 @@ target_link_libraries(PySidePlugin PRIVATE
- Qt::Widgets
- ${SHIBOKEN_PYTHON_LIBRARIES})
-
--install(TARGETS PySidePlugin LIBRARY DESTINATION "plugins/designer")
-+install(TARGETS PySidePlugin LIBRARY DESTINATION "lib/qt6/plugins/designer")
diff --git a/libre/pyside6/fix-build.patch b/libre/pyside6/fix-build.patch
new file mode 100644
index 000000000..bb3f763ef
--- /dev/null
+++ b/libre/pyside6/fix-build.patch
@@ -0,0 +1,14 @@
+diff --git a/sources/pyside6/qtexampleicons/CMakeLists.txt b/sources/pyside6/qtexampleicons/CMakeLists.txt
+index 1562f7b27..58ecc7c17 100644
+--- a/sources/pyside6/qtexampleicons/CMakeLists.txt
++++ b/sources/pyside6/qtexampleicons/CMakeLists.txt
+@@ -32,6 +32,9 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
+ target_compile_definitions(QtExampleIcons PRIVATE "-DNDEBUG")
+ endif()
+
++get_property(SHIBOKEN_PYTHON_LIBRARIES GLOBAL PROPERTY shiboken_python_libraries)
++get_property(SHIBOKEN_PYTHON_INCLUDE_DIRS GLOBAL PROPERTY shiboken_python_include_dirs)
++
+ target_include_directories(QtExampleIcons PRIVATE ${SHIBOKEN_PYTHON_INCLUDE_DIRS})
+
+ get_property(SHIBOKEN_PYTHON_LIBRARIES GLOBAL PROPERTY shiboken_python_libraries)