[neon/snap-packaging/kde-pyside6-core-sdk/work.core24] /: pyside 6.9.3 for the snap store
Carlos De Maine
null at kde.org
Mon Nov 10 13:05:44 GMT 2025
Git commit 13f7fde2ad3597d1325ac02ffd147f89b362d2c9 by Carlos De Maine.
Committed on 10/11/2025 at 13:05.
Pushed by carlosdem into branch 'work.core24'.
pyside 6.9.3 for the snap store
A +18 -0 patches/0002-disable-qtexampleicons.patch
A +34 -0 patches/0005-Fix-numpy-header-detection.patch
A +28 -0 patches/0010-Fix-python-module-paths-in-CMake.patch
A +32 -0 patches/Always-link-to-python-libraries.patch
A +4 -0 patches/series
M +88 -47 snapcraft.yaml
https://invent.kde.org/neon/snap-packaging/kde-pyside6-core-sdk/-/commit/13f7fde2ad3597d1325ac02ffd147f89b362d2c9
diff --git a/patches/0002-disable-qtexampleicons.patch b/patches/0002-disable-qtexampleicons.patch
new file mode 100644
index 0000000..17f3c1e
--- /dev/null
+++ b/patches/0002-disable-qtexampleicons.patch
@@ -0,0 +1,18 @@
+From: Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>
+Date: Fri, 3 May 2024 16:47:57 +1000
+Subject: disable-qtexampleicons
+
+---
+ sources/pyside6/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt
+index f45c071..fbb55a6 100644
+--- a/sources/pyside6/CMakeLists.txt
++++ b/sources/pyside6/CMakeLists.txt
+@@ -42,4 +42,4 @@ endif()
+
+ add_subdirectory(doc)
+
+-add_subdirectory(qtexampleicons)
++# add_subdirectory(qtexampleicons)
diff --git a/patches/0005-Fix-numpy-header-detection.patch b/patches/0005-Fix-numpy-header-detection.patch
new file mode 100644
index 0000000..c0f5cc9
--- /dev/null
+++ b/patches/0005-Fix-numpy-header-detection.patch
@@ -0,0 +1,34 @@
+From: Stuart Prescott <stuart at debian.org>
+Date: Sun, 16 Feb 2025 01:27:09 +1100
+Subject: Fix numpy header detection
+
+Existing code makes assumptions about site-packages/dist-packages
+and fails to find the headers; numpy has an explicit function for this
+---
+ build_scripts/utils.py | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/build_scripts/utils.py b/build_scripts/utils.py
+index 29f2545..d5c1063 100644
+--- a/build_scripts/utils.py
++++ b/build_scripts/utils.py
+@@ -77,17 +77,8 @@ def update_env_path(newpaths):
+
+
+ def get_numpy_location():
+- for p in sys.path:
+- if 'site-' in p:
+- numpy = Path(p).resolve() / 'numpy'
+- if numpy.is_dir():
+- candidate = numpy / '_core' / 'include' # Version 2
+- if not candidate.is_dir():
+- candidate = numpy / 'core' / 'include' # Version 1
+- if candidate.is_dir():
+- return os.fspath(candidate)
+- log.warning(f"Cannot find numpy include dir under {numpy}")
+- return None
++ import numpy
++ return numpy.get_include()
+
+
+ def platform_cmake_options(as_tuple_list=False):
diff --git a/patches/0010-Fix-python-module-paths-in-CMake.patch b/patches/0010-Fix-python-module-paths-in-CMake.patch
new file mode 100644
index 0000000..22a1b6d
--- /dev/null
+++ b/patches/0010-Fix-python-module-paths-in-CMake.patch
@@ -0,0 +1,28 @@
+From: Stuart Prescott <stuart at debian.org>
+Date: Tue, 18 Feb 2025 00:50:57 +1100
+Subject: Fix python module paths in CMake
+
+---
+ sources/shiboken6/cmake/ShibokenHelpers.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sources/shiboken6/cmake/ShibokenHelpers.cmake b/sources/shiboken6/cmake/ShibokenHelpers.cmake
+index 9c47770..fa61aed 100644
+--- a/sources/shiboken6/cmake/ShibokenHelpers.cmake
++++ b/sources/shiboken6/cmake/ShibokenHelpers.cmake
+@@ -125,13 +125,13 @@ macro(shiboken_internal_set_python_site_packages)
+ if sys.platform == 'win32':
+ lib_path = sysconfig.get_path('purelib')
+ else:
+- lib_path = sysconfig.get_path('purelib', scheme='posix_prefix')
++ lib_path = sysconfig.get_path('purelib', scheme='deb_system')
+
+ # /home/qt/dev/env
+ if sys.platform == 'win32':
+ data_path = sysconfig.get_path('data')
+ else:
+- data_path = sysconfig.get_path('data', scheme='posix_prefix')
++ data_path = sysconfig.get_path('data', scheme='deb_system')
+
+ # /lib/python3.9/site-packages
+ rel_path = lib_path.replace(data_path, '')
diff --git a/patches/Always-link-to-python-libraries.patch b/patches/Always-link-to-python-libraries.patch
new file mode 100644
index 0000000..9147337
--- /dev/null
+++ b/patches/Always-link-to-python-libraries.patch
@@ -0,0 +1,32 @@
+From e9591e27db4ae3412d4504a69a8afebee9a1b83e Mon Sep 17 00:00:00 2001
+From: Christophe Giboudeaux <christophe at krop.fr>
+Date: Tue, 27 Jul 2021 14:54:00 +0200
+Subject: [PATCH] Always link to python libraries.
+
+Change-Id: I687191431adaff55927de353db8f81dfa30ba1b1
+---
+ sources/shiboken6/cmake/ShibokenHelpers.cmake | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/sources/shiboken6/cmake/ShibokenHelpers.cmake b/sources/shiboken6/cmake/ShibokenHelpers.cmake
+index 27ee333..4be2ad1 100644
+--- a/sources/shiboken6/cmake/ShibokenHelpers.cmake
++++ b/sources/shiboken6/cmake/ShibokenHelpers.cmake
+@@ -425,13 +425,9 @@ macro(shiboken_compute_python_libraries)
+ "SHIBOKEN_COMPUTE_LIBS" "shiboken_compute_python_libraries"
+ "IS_CALLED_FROM_EXPORT" "" "" ${ARGN})
+
+- if (NOT SHIBOKEN_PYTHON_LIBRARIES)
+- set(SHIBOKEN_PYTHON_LIBRARIES "")
+- endif()
+-
+- if(WIN32 AND NOT SHIBOKEN_PYTHON_LIBRARIES)
+- set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES})
+- endif()
++ # Always link to python libraries.
++ message(STATUS "Linking shiboken to ${Python_LIBRARIES}")
++ set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES})
+
+ # If the resulting variable
+ # contains a "debug;X;optimized;Y" list like described in shiboken_check_if_limited_api,
+
diff --git a/patches/series b/patches/series
new file mode 100644
index 0000000..f085fba
--- /dev/null
+++ b/patches/series
@@ -0,0 +1,4 @@
+0002-disable-qtexampleicons.patch
+0005-Fix-numpy-header-detection.patch
+0010-Fix-python-module-paths-in-CMake.patch
+Always-link-to-python-libraries.patch
diff --git a/snapcraft.yaml b/snapcraft.yaml
index 361559d..3a067db 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -1,6 +1,6 @@
name: kde-pyside6-core24-sdk
base: core24
-version: 6.9.1
+version: 6.9.3
summary: KDE fork Qt Pyside6 SDK for core24
description: |
Qt is a cross-platform application development framework widely used
@@ -36,76 +36,117 @@ package-repositories:
parts:
pyside6:
- source: https://code.qt.io/pyside/pyside-setup.git
- source-tag: $CRAFT_PROJECT_VERSION
plugin: cmake
+ source: https://invent.kde.org/qt/pyside/pyside-setup.git
+ source-tag: $CRAFT_PROJECT_VERSION
+ source-depth: 1
+ cmake-generator: Ninja
build-snaps:
- cmake
- - kde-qt6-core24-sdk
+ - ffmpeg-2404-sdk
+ - hunspell-dictionaries
+ - kde-qt6-core24-sdk/latest/edge
build-packages:
- - libclang-18-dev
+ - duktape-dev
+ - libc++abi-dev
+ - libedit-dev
+ - libevent-dev
+ - libffi-dev
- libgl-dev
- - libpython3.12-dev
- - python3-dev
- - python3-setuptools
- - python3.12-dev
+ - libglib2.0-dev
+ - libpcsclite1
+ - libpcsclite-dev
+ - libpulse-dev
+ - libstdc++-13-dev
+ - libxkbcommon-dev
+ - libxml2-dev
+ - libxslt1-dev
+ - libzstd-dev
+ - mold
stage-packages:
- libpulse0
cmake-parameters:
- - -DBUILD_TESTING=OFF
- - -DBUILD_WITH_QT6=ON
- - -DCMAKE_BUILD_TYPE=Release
- - -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON
- - -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
- - -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF
- - -DCMAKE_INSTALL_LIBDIR=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
- - -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ - -DBUILD_DOCS=OFF
+ - -DBUILD_TESTS=OFF
+ - -DBUILD_SHARED_LIBS=True
+ - -DCMAKE_BUILD_TYPE=release
- -DCMAKE_INSTALL_PREFIX=/usr
- - -DCMAKE_INSTALL_RUNSTATEDIR=/run
- - -DCMAKE_INSTALL_SYSCONFDIR=/etc
- - -DCMAKE_LIBRARY_PATH=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
+ - -DCMAKE_LIBRARY_PATH=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}
+ - -DFEATURE_use_mold_linker=ON \
+ - -DINSTALL_ARCHDATADIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6 \
+ - -DINSTALL_BINDIR=lib/qt6/bin \
+ - -DINSTALL_EXAMPLESDIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6/examples \
+ - -DINSTALL_DATADIR=share/qt6 \
+ - -DINSTALL_DOCDIR=share/qt6/doc \
+ - -DINSTALL_HOSTDATADIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6 \
+ - -DINSTALL_INCLUDEDIR=include/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6 \
+ - -DINSTALL_LIBDIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR} \
+ - -DINSTALL_LIBEXECDIR=lib/qt6/libexec \
+ - -DINSTALL_MKSPECSDIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6/mkspecs \
+ - -DINSTALL_PLUGINDIR=lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/qt6/plugins \
+ - -DINSTALL_PUBLICBINDIR=bin \
+ - -DINSTALL_SYSCONFDIR=/etc/xdg \
+ - -DINSTALL_TRANSLATIONDIR=share/qt6/translations \
+ - -DQT_ADDITIONAL_PACKAGES_PREFIX_PATH=/usr/${CRAFT_ARCH_TRIPLET_BUILD_FOR} \
+ - -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF
- -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON
+ - -DCMAKE_SKIP_RPATH=ON
- -DCMAKE_VERBOSE_MAKEFILE=ON
+ - -DFORCE_LIMITED_API=no
- -DQT_MAJOR_VERSION=6
- - -DQT_UNITY_BUILD=ON
- - "-DCMAKE_FIND_ROOT_PATH=$CRAFT_STAGE"
- - "-DCMAKE_PREFIX_PATH=$CRAFT_STAGE/usr"
- - --log-level=STATUS
- build-environment: &buildenvironment
- - PATH: /snap/kde-qt6-core24-sdk/current/usr/bin${PATH:+:$PATH}
- - PKG_CONFIG_PATH: /snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
+ - -DQT_NO_PRIVATE_MODULE_WARNING=ON
+ #- -DNO_QT_TOOLS=yes
+ - "-DCMAKE_FIND_ROOT_PATH=$CRAFT_STAGE\\;/snap/kde-qt6-core24-sdk/current\\;/usr"
+ - "-DCMAKE_PREFIX_PATH=$CRAFT_STAGE\\;/snap/kde-qt6-core24-sdk/current\\;/usr"
+
+ build-environment:
+ - CLANG_INSTALL_DIR: /snap/kde-qt6-core24-sdk/current/usr/lib/llvm-18
+ - CMAKE_PREFIX_PATH: /snap/kde-qt6-core24-sdk/current/usr:/snap/ffmpeg-2404-sdk/current/usr${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
+ - CPATH: /snap/kde-qt6-core24-sdk/current/usr/include/python3.12${CPATH:+:$CPATH}
+ - C_INCLUDE_PATH: /snap/kde-qt6-core24-sdk/current/usr/include/python3.12${C_INCLUDE_PATH:+:$C_INCLUDE_PATH}
+ - CPLUS_INCLUDE_PATH: /snap/kde-qt6-core24-sdk/current/usr/include/python3.12:/snap/kde-pyside6-core24-sdk/current/usr/include/PySide6:/snap/kde-pyside6-core24-sdk/current/usr/include/shiboken6${CPLUS_INCLUDE_PATH:+:$CPLUS_INCLUDE_PATH}
+ - DICPATH: "$CRAFT_STAGE/usr/share/hunspell"
+ - LD_LIBRARY_PATH: "/snap/kde-qt6-core24-sdk/current/usr/lib:/snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}:/snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/libproxy:/snap/ffmpeg-2404-sdk/current/usr/lib/x86_64-linux-gnu/:$CRAFT_STAGE/lib:$CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
+ - LIBCLANG_LIBDIR: /snap/kde-qt6-core24-sdk/current/usr/lib/llvm-18/lib
+ - LIBCLANG_PATH: /snap/kde-qt6-core24-sdk/current/usr/lib/llvm-18/bin
+ - LLVM_INSTALL_DIR: /snap/kde-qt6-core24-sdk/current/usr/lib/llvm-18
+ - PATH: /snap/kde-qt6-core24-sdk/current/usr/bin:/snap/kde-qt6-core24-sdk/current/usr/lib/llvm-18/bin${PATH:+:$PATH}
+ - PKG_CONFIG_PATH: /snap/kde-qt6-core24-sdk/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/pkgconfig:/snap/ffmpeg-2404-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
+ - PYSIDE_DISABLE_INTERNAL_QT_CONF: 1
+ - PYTHONPATH: /snap/kde-qt6-core24-sdk/current/usr/lib/python3.12:/snap/kde-qt6-core24-sdk/current/usr/lib/python3/dist-packages:/root/parts/pyside6/build/sources
- XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/snap/kde-qt6-core24-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- XDG_CONFIG_HOME: $CRAFT_STAGE/etc/xdg:/snap/kde-qt6-core24-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME}
- - LD_LIBRARY_PATH: "$CRAFT_STAGE/current/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}:$CRAFT_STAGE/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/libproxy:$CRAFT_STAGE/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
- - PYTHONPATH: ${CRAFT_STAGE}/usr/lib/python3.12/site-packages:${CRAFT_STAGE}/usr/lib/python3/dist-packages
- - C_INCLUDE_PATH: ${CRAFT_STAGE}/usr/include/python3.12${C_INCLUDE_PATH:+:$C_INCLUDE_PATH}
- - CPATH: ${CRAFT_STAGE}/usr/include/python3.12${CPATH:+:$CPATH}
prime:
- -usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libcurl*
- -usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libvulkan*
- # override-pull: |
- # craftctl default
- # # while read -r PATCHFILE ; do
- # # ls -l
- # # ls -l cmake/
- # # ls -l qtbase/cmake/
- # # pwd
- # # patch -p1 < "$CRAFT_PROJECT_DIR/patches/$PATCHFILE"
- # # done < $CRAFT_PROJECT_DIR/patches/series
+ override-pull: |
+ craftctl default
+ while read -r PATCHFILE ; do
+ patch -p1 < "$CRAFT_PROJECT_DIR/patches/$PATCHFILE"
+ done < $CRAFT_PROJECT_DIR/patches/series
override-build: |
+ /snap/kde-qt6-core24-sdk/current/usr/bin/qt6/qtpaths6 --qtconf /snap/kde-qt6-core24-sdk/current/usr/bin/qt6.conf
craftctl default
mkdir -p $CRAFT_PART_INSTALL/etc/$CRAFT_PART_NAME
- cp $CRAFT_PART_BUILD/config.summary $CRAFT_PART_INSTALL/etc/$CRAFT_PART_NAME/
+ cp $CRAFT_PART_BUILD/CMakeFiles/CMakeConfigureLog.yaml $CRAFT_PART_INSTALL/etc/$CRAFT_PART_NAME/
debs:
after: [pyside6]
plugin: nil
stage-packages:
- - libclang-18-dev
+ - duktape-dev
+ - libedit-dev
+ - libevent-dev
+ - libffi-dev
- libgl-dev
- - libpython3.12-dev
- - python3-dev
- - python3-setuptools
- - python3.12-dev
+ - libglib2.0-dev
+ - libpcsclite1
+ - libpcsclite-dev
+ - libpulse-dev
+ - libxkbcommon-dev
+ - libxml2-dev
+ - libxslt1-dev
+ - libzstd-dev
+ - mold
prime:
- -lib
- -usr/lib/systemd
@@ -127,7 +168,7 @@ parts:
after: [debs]
build-snaps:
- core24
- - kde-qt6-core24-sdk
+ - kde-qt6-core24-sdk/latest/edge
override-stage: |
set -eux
for snap in "core24" "kde-qt6-core24-sdk"; do
More information about the Neon-commits
mailing list