[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