diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2024-03-29 00:38:17 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2024-03-30 23:09:06 -0400 |
commit | f3f11db015d965c1464a91486f4b0120d3bff445 (patch) | |
tree | 377c55390b3d5df0675c8a4c3b2476167281b6c6 | |
parent | 59d66cb1d251924e03d65bf3c0baf49dce54f320 (diff) |
pyside6: add blacklist replacement v6.6.2 (x86_64 and armv7h)
-rw-r--r-- | libre/pyside6/PKGBUILD | 127 | ||||
-rw-r--r-- | libre/pyside6/designer-plugin-install-dir.patch | 10 | ||||
-rw-r--r-- | libre/pyside6/fix-build.patch | 14 |
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) |