Hello community, here is the log from the commit of package kvirc for openSUSE:Factory checked in at 2020-01-17 16:05:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kvirc (Old) and /work/SRC/openSUSE:Factory/.kvirc.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kvirc" Fri Jan 17 16:05:54 2020 rev:42 rq:765064 version:5.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kvirc/kvirc.changes 2019-02-15 09:54:58.787767978 +0100 +++ /work/SRC/openSUSE:Factory/.kvirc.new.26092/kvirc.changes 2020-01-17 16:06:18.240466070 +0100 @@ -1,0 +2,10 @@ +Thu Jan 16 11:34:54 UTC 2020 - Christophe Giboudeaux <[email protected]> + +- Add patches to use Python 3: + * 0001-Add-support-for-Python-3.patch + * 0001-This-is-not-necessary-anymore.patch + * 0001-Replace-FindPythonLibs-with-FindPython3-in-CMake.patch + * 0001-Stop-unsetting-_DEBUG-when-including-Python.h.patch +- Drop obsolete conditions + +------------------------------------------------------------------- New: ---- 0001-Add-support-for-Python-3.patch 0001-Replace-FindPythonLibs-with-FindPython3-in-CMake.patch 0001-Stop-unsetting-_DEBUG-when-including-Python.h.patch 0001-This-is-not-necessary-anymore.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kvirc.spec ++++++ --- /var/tmp/diff_new_pack.4OEjtf/_old 2020-01-17 16:06:19.204466525 +0100 +++ /var/tmp/diff_new_pack.4OEjtf/_new 2020-01-17 16:06:19.208466527 +0100 @@ -1,7 +1,7 @@ # # spec file for package kvirc # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,8 +24,13 @@ Group: Productivity/Networking/IRC URL: http://www.kvirc.net/ Source: ftp://ftp.kvirc.net/pub/kvirc/%{version}/source/KVIrc-%{version}.tar.bz2 +# PATCH-FIX-UPSTREAM -- Patch0 to Patch3 replace python2 with python3 +Patch0: 0001-Add-support-for-Python-3.patch +Patch1: 0001-This-is-not-necessary-anymore.patch +Patch2: 0001-Replace-FindPythonLibs-with-FindPython3-in-CMake.patch +Patch3: 0001-Stop-unsetting-_DEBUG-when-including-Python.h.patch BuildRequires: audiofile-devel -BuildRequires: cmake >= 3.1.0 +BuildRequires: cmake >= 3.12.0 BuildRequires: doxygen BuildRequires: enchant-devel BuildRequires: extra-cmake-modules @@ -37,7 +42,7 @@ BuildRequires: perl BuildRequires: phonon4qt5-devel BuildRequires: pkgconfig -BuildRequires: python-devel +BuildRequires: python3-devel BuildRequires: subversion BuildRequires: update-desktop-files BuildRequires: zlib-devel @@ -60,10 +65,6 @@ BuildRequires: cmake(Qt5Xml) %requires_eq perl Obsoletes: %{name}-devel < %{version} -%if 0%{?suse_version} < 1500 -# It does not build with the default compiler (GCC 4.8) on Leap 42.x -BuildRequires: gcc7-c++ -%endif %description IRC (Internet Relay Chat) client with an MDI interface; scripting, @@ -71,15 +72,9 @@ SOCKSV4 & V5 support; and more. %prep -%setup -q -n KVIrc-%{version} +%autosetup -p1 -n KVIrc-%{version} %build -%if 0%{?suse_version} < 1500 -# It does not build with the default compiler (GCC 4.8) on Leap 42.x -export CC=gcc-7 -export CXX=g++-7 -%endif - EXTRA_FLAGS="-UCMAKE_MODULE_LINKER_FLAGS \ %if "%{?_lib}" == "lib64" -DLIB_SUFFIX=64 \ @@ -103,7 +98,7 @@ popd %fdupes %{buildroot} -rm %{buildroot}%{_libdir}/libkvilib.so +rm %{buildroot}%{_kf5_libdir}/libkvilib.so %post -p /sbin/ldconfig %postun -p /sbin/ldconfig ++++++ 0001-Add-support-for-Python-3.patch ++++++ >From dbe8ef6dad916124c3714abc469403ed9991261c Mon Sep 17 00:00:00 2001 From: wodim <[email protected]> Date: Sat, 26 Aug 2017 15:02:56 +0200 Subject: [PATCH] Add support for Python 3 --- CMakeLists.txt | 7 ++---- src/modules/python/libkvipython.cpp | 26 ++++++++++++++++++++ src/modules/pythoncore/kvircmodule.cpp | 2 +- src/modules/pythoncore/pythonheaderwrapper.h | 6 +++++ 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57df293..1e07dd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,9 +67,6 @@ set(CMAKE_KVIRC_BUILD_CPU ${CMAKE_SYSTEM_PROCESSOR}) set(CMAKE_KVIRC_BUILD_COMPILER ${CMAKE_CXX_COMPILER}) set(CMAKE_KVIRC_BUILD_COMPILER_FLAGS ${CMAKE_CXX_FLAGS}) -# Prefer Python 2.7 over 3.x (which is currently incompatible) - GitHub issue #2020 -set(Python_ADDITIONAL_VERSIONS "2.7") - # Suffix for GNU/Linux set(LIB_SUFFIX CACHE STRING "Define suffix of directory name (32/64)" @@ -751,10 +748,10 @@ endif() # Check for Python support option(WANT_PYTHON "Compile Python support" ON) if(WANT_PYTHON) - find_package(PythonLibs 2.7) + find_package(PythonLibs) if(PYTHONLIBS_FOUND) set(COMPILE_PYTHON_SUPPORT 1) - set(CMAKE_STATUS_PYTHON_SUPPORT "Yes") + set(CMAKE_STATUS_PYTHON_SUPPORT "Yes, Python ${PYTHONLIBS_VERSION_STRING}") list(APPEND LIBS ${PYTHON_LIBRARIES}) include_directories(${PYTHON_INCLUDE_DIRS}) else() diff --git a/src/modules/python/libkvipython.cpp b/src/modules/python/libkvipython.cpp index 6bdd56a80..700e8939b 100644 --- a/src/modules/python/libkvipython.cpp +++ b/src/modules/python/libkvipython.cpp @@ -502,6 +502,31 @@ static bool python_kvs_fnc_isAvailable(KviKvsModuleFunctionCall * c) return true; } +/* + @doc: python.version + @type: + function + @title: + $python.version + @short: + Check which version of Python is supported in this build of KVIrc + @syntax: + $python.version + @description: + Returns which major version of Python is KVIrc linked to ([b]2[/b] or [b]3[/b]) + or [b]0[/b] if Python is not supported at all. +*/ + +static bool python_kvs_fnc_version(KviKvsModuleFunctionCall * c) +{ +#ifdef COMPILE_PYTHON_SUPPORT + c->returnValue()->setInteger(PY_MAJOR_VERSION); +#else + c->returnValue()->setBoolean(false); +#endif + return true; +} + static bool python_module_init(KviModule * m) { // register the command anyway @@ -509,6 +534,7 @@ static bool python_module_init(KviModule * m) KVSM_REGISTER_SIMPLE_COMMAND(m, "destroy", python_kvs_cmd_destroy); KVSM_REGISTER_FUNCTION(m, "isAvailable", python_kvs_fnc_isAvailable); + KVSM_REGISTER_FUNCTION(m, "version", python_kvs_fnc_version); #ifdef COMPILE_PYTHON_SUPPORT g_pPythonCoreModule = g_pModuleManager->getModule("pythoncore"); #endif diff --git a/src/modules/pythoncore/kvircmodule.cpp b/src/modules/pythoncore/kvircmodule.cpp index 8937b6a63..659345d7e 100644 --- a/src/modules/pythoncore/kvircmodule.cpp +++ b/src/modules/pythoncore/kvircmodule.cpp @@ -423,7 +423,7 @@ PyMODINIT_FUNC python_init() else { // Create a CObject containing the API pointer array's address - PyObject * pC_API_Object = PyCObject_FromVoidPtr(PyKVIrc_API, nullptr); + PyObject * pC_API_Object = PyCapsule_New((void *)PyKVIrc_API, "kvirc._C_API", nullptr); if(pC_API_Object) PyModule_AddObject(pModule, "_C_API", pC_API_Object); } diff --git a/src/modules/pythoncore/pythonheaderwrapper.h b/src/modules/pythoncore/pythonheaderwrapper.h index 47f60d361..2b34066c3 100644 --- a/src/modules/pythoncore/pythonheaderwrapper.h +++ b/src/modules/pythoncore/pythonheaderwrapper.h @@ -1,6 +1,12 @@ #ifndef _PYTHONHEADERWRAPPER_H_ #define _PYTHONHEADERWRAPPER_H_ +// As of Python 3, something inside <Python.h> defines a struct with a member +// called "slots" which conflicts with the builtin Qt keyword. But since we +// include stuff from KVIrc itself back into the python module, we can't just +// use QT_NO_KEYWORDS. +#undef slots + // See http://stackoverflow.com/questions/16200997/why-doesnt-include-python-h-work and http://stackoverflow.com/questions/19716859/puzzling-dependency-of-boost-python-1-54-debug-build-to-python27-lib-on-window #if defined(_DEBUG) && defined(_MSC_VER) -- 2.25.0 ++++++ 0001-Replace-FindPythonLibs-with-FindPython3-in-CMake.patch ++++++ >From 2c881f711d518bbe4db95bf183ddc946c12f7751 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov <[email protected]> Date: Sun, 29 Dec 2019 23:26:31 +0000 Subject: [PATCH] Replace FindPythonLibs with FindPython3 in CMake --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e07dd1..7e3607d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,7 @@ ############################################################################### # Minimum CMake version -cmake_minimum_required(VERSION 3.1.0) +cmake_minimum_required(VERSION 3.12.0) # Name of the project project(kvirc) @@ -748,12 +748,12 @@ endif() # Check for Python support option(WANT_PYTHON "Compile Python support" ON) if(WANT_PYTHON) - find_package(PythonLibs) - if(PYTHONLIBS_FOUND) + find_package(Python3 COMPONENTS Development) + if(Python3_FOUND) set(COMPILE_PYTHON_SUPPORT 1) - set(CMAKE_STATUS_PYTHON_SUPPORT "Yes, Python ${PYTHONLIBS_VERSION_STRING}") - list(APPEND LIBS ${PYTHON_LIBRARIES}) - include_directories(${PYTHON_INCLUDE_DIRS}) + set(CMAKE_STATUS_PYTHON_SUPPORT "Yes, Python ${Python3_VERSION}") + list(APPEND LIBS ${Python3_LIBRARIES}) + include_directories(${Python3_INCLUDE_DIRS}) else() set(CMAKE_STATUS_PYTHON_SUPPORT "No, not found.") endif() -- 2.25.0 ++++++ 0001-Stop-unsetting-_DEBUG-when-including-Python.h.patch ++++++ >From 79dbba4260113b453fcea155881ecb4c6f82963b Mon Sep 17 00:00:00 2001 From: Alexey Sokolov <[email protected]> Date: Mon, 30 Dec 2019 07:32:51 +0000 Subject: [PATCH] Stop unsetting _DEBUG when including Python.h Because of https://stackoverflow.com/questions/59126760/building-a-python-c-extension-on-windows-with-a-debug-python-installation --- src/modules/pythoncore/pythonheaderwrapper.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/modules/pythoncore/pythonheaderwrapper.h b/src/modules/pythoncore/pythonheaderwrapper.h index 2b34066c3..173e3c289 100644 --- a/src/modules/pythoncore/pythonheaderwrapper.h +++ b/src/modules/pythoncore/pythonheaderwrapper.h @@ -7,14 +7,6 @@ // use QT_NO_KEYWORDS. #undef slots -// See http://stackoverflow.com/questions/16200997/why-doesnt-include-python-h-work and http://stackoverflow.com/questions/19716859/puzzling-dependency-of-boost-python-1-54-debug-build-to-python27-lib-on-window - -#if defined(_DEBUG) && defined(_MSC_VER) -# undef _DEBUG -# include <Python.h> -# define _DEBUG 1 -#else -# include <Python.h> -#endif +#include <Python.h> #endif -- 2.25.0 ++++++ 0001-This-is-not-necessary-anymore.patch ++++++ >From 77983c1ac38efa87a3c644b3918dd1648040aee0 Mon Sep 17 00:00:00 2001 From: wodim <[email protected]> Date: Mon, 1 Apr 2019 15:02:39 +0200 Subject: [PATCH] This is not necessary anymore --- src/modules/python/libkvipython.cpp | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/src/modules/python/libkvipython.cpp b/src/modules/python/libkvipython.cpp index 700e8939b..6bdd56a80 100644 --- a/src/modules/python/libkvipython.cpp +++ b/src/modules/python/libkvipython.cpp @@ -502,31 +502,6 @@ static bool python_kvs_fnc_isAvailable(KviKvsModuleFunctionCall * c) return true; } -/* - @doc: python.version - @type: - function - @title: - $python.version - @short: - Check which version of Python is supported in this build of KVIrc - @syntax: - $python.version - @description: - Returns which major version of Python is KVIrc linked to ([b]2[/b] or [b]3[/b]) - or [b]0[/b] if Python is not supported at all. -*/ - -static bool python_kvs_fnc_version(KviKvsModuleFunctionCall * c) -{ -#ifdef COMPILE_PYTHON_SUPPORT - c->returnValue()->setInteger(PY_MAJOR_VERSION); -#else - c->returnValue()->setBoolean(false); -#endif - return true; -} - static bool python_module_init(KviModule * m) { // register the command anyway @@ -534,7 +509,6 @@ static bool python_module_init(KviModule * m) KVSM_REGISTER_SIMPLE_COMMAND(m, "destroy", python_kvs_cmd_destroy); KVSM_REGISTER_FUNCTION(m, "isAvailable", python_kvs_fnc_isAvailable); - KVSM_REGISTER_FUNCTION(m, "version", python_kvs_fnc_version); #ifdef COMPILE_PYTHON_SUPPORT g_pPythonCoreModule = g_pModuleManager->getModule("pythoncore"); #endif -- 2.25.0
