https://bugs.kde.org/show_bug.cgi?id=507459

            Bug ID: 507459
           Summary: Generated Python binding files installed in the wrong
                    place for Debian systems
    Classification: Frameworks and Libraries
           Product: frameworks-kguiaddons
      Version First unspecified
       Reported In:
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kdelibs-b...@kde.org
          Reporter: bluescreenaven...@gmail.com
  Target Milestone: ---

This is ALL 8 (at time of writing) frameworks that install python bindings, not
just kguiaddons, I am reporting against kguiaddons because it looks like
kguiaddons was first

SUMMARY
The generated python binding files are installed under
$INSTALLDIR/local/lib/python3.13/dist-packages/ or in my case
/opt/local/lib/python3.13/dist-packages/

Debian/Ubuntu tends to not install Python files under /$INSTALLDIR/local/lib/
but under /$INSTALLDIR/lib/python3.13/site-packages/ and I can validate with
"apt-file search /usr/local/lib"

Debian, seems to have its own way of handing Python that is unique to other
distros AFAIK

You might want to use something like this, and I only got it through grepping,
and finding this is how fontconfig installs their bindings, they use
sysconfig.get_python_lib from distutils. I don't know the arguments they are
passing the 0's to, I am not really 100% familiar with it. But yeah. and you
might also want to append the project name at the end I think (like
$INSTALLDIR/local/lib/python3.13/dist-packages/KGuiAddons/KGuiAddons.cpython-313-x86_64-linux-gnu.so),
some packages do that, although not all do, so maybe that is not required
```
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index e97b173..23e924f 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -31,7 +31,7 @@ ecm_generate_python_bindings(

 target_link_libraries(${bindings_library} PRIVATE KF6Notifications)

-execute_process(COMMAND ${Python_EXECUTABLE} -Esc "import sysconfig;
print(sysconfig.get_path('platlib', vars={'platbase':
'${CMAKE_INSTALL_PREFIX}', 'base': '${CMAKE_INSTALL_PREFIX}'}))"
OUTPUT_VARIABLE sysconfig_output)
+execute_process(COMMAND ${Python_EXECUTABLE} -Esc "from distutils import
sysconfig; print(sysconfig.get_python_lib(0, 0, '${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE sysconfig_output OUTPUT_VARIABLE sysconfig_output)
 string(STRIP ${sysconfig_output} PYTHON_INSTALL_DIR)

 install(TARGETS ${bindings_library} LIBRARY DESTINATION
"${PYTHON_INSTALL_DIR}")
```

Right now, Ubuntu seems to have the latest one where building the Python
bindings is turned on by default, looks like they explicitly disabled it for
now, but when they go to re-enable it it might be an issue


SOFTWARE/OS VERSIONS
Operating System: Debian
KDE Plasma Version: 6.4.80
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.2
Kernel Version: 6.15.7 (64-bit)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to