Date: Thursday, June 4, 2020 @ 15:03:19 Author: bgyorgy Revision: 638933
Add kvirc Added: kvirc/ kvirc/trunk/ kvirc/trunk/PKGBUILD kvirc/trunk/kvirc.appdata.xml kvirc/trunk/python3.patch kvirc/trunk/qt5.15.patch -------------------+ PKGBUILD | 45 +++++++++ kvirc.appdata.xml | 36 +++++++ python3.patch | 239 ++++++++++++++++++++++++++++++++++++++++++++++++++++ qt5.15.patch | 21 ++++ 4 files changed, 341 insertions(+) Added: kvirc/trunk/PKGBUILD =================================================================== --- kvirc/trunk/PKGBUILD (rev 0) +++ kvirc/trunk/PKGBUILD 2020-06-04 15:03:19 UTC (rev 638933) @@ -0,0 +1,45 @@ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> + +pkgname=kvirc +pkgver=5.0.0 +pkgrel=1 +pkgdesc="Qt based IRC client" +arch=('x86_64') +url="https://kvirc.net/" +license=('GPL2') +depends=(enchant hicolor-icon-theme qt5-multimedia qt5-svg qt5-x11extras) +makedepends=(cmake python) +optdepends=('perl: scripting support' + 'python: scripting support') +source=(ftp://ftp.kvirc.net/pub/kvirc/$pkgver/source/KVIrc-$pkgver.tar.bz2 + kvirc.appdata.xml + python3.patch + qt5.15.patch) +sha256sums=('76cd4cdcaca5e4056f086cdcbb6122c2ca7e331d6e66c7ebc57d32565f626a65' + '0426f1f3c2b410e9d5f9f44b7bf2042a06a33260c77ca083dda3275e2b96f2a7' + 'dfa8586a849b1c74280b4203b45c24d3e9ad1f184ba09fe16c59febb64b1ca79' + '06c5df4fa2fded8b686beddf6824ff655aa6cd2164b1e8b07100418563d02e4e') + +prepare() { + [[ -d build ]] || mkdir build + cd KVIrc-$pkgver + patch -Np1 -i ../python3.patch + patch -Np1 -i ../qt5.15.patch +} + +build() { + cd build + cmake -G "Unix Makefiles" ../KVIrc-$pkgver/ \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=YES \ + -DWANT_QTWEBKIT=OFF \ + -DWANT_KDE=OFF \ + -DWANT_PHONON=OFF + make +} + +package() { + cd build + make DESTDIR="$pkgdir" install + install -Dm644 ../$pkgname.appdata.xml "$pkgdir/usr/share/metainfo/$pkgname.appdata.xml" +} Added: kvirc/trunk/kvirc.appdata.xml =================================================================== --- kvirc/trunk/kvirc.appdata.xml (rev 0) +++ kvirc/trunk/kvirc.appdata.xml 2020-06-04 15:03:19 UTC (rev 638933) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component type="desktop-application"> + <id>net.kvirc.KVIrc</id> + <launchable type="desktop-id">kvirc.desktop</launchable> + <name>KVIrc</name> + <summary>Connect to Internet Relay Chat</summary> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0</project_license> + <description> + <p>KVIrc is a free portable IRC client based on the excellent Qt GUI toolkit.</p> + </description> + <screenshots> + <screenshot type="default"> + <caption>The SilverIRC theme, the default since KVIrc 3.2.6 after a fresh installation</caption> + <image>https://kvirc.net/img/screenshots/snapshot15.png</image> + </screenshot> + <screenshot> + <caption>The theme manager</caption> + <image>https://kvirc.net/img/screenshots/snapshot16.png</image> + </screenshot> + <screenshot> + <caption>The Aliases Editor</caption> + <image>https://kvirc.net/img/screenshots/snapshot17.png</image> + </screenshot> + <screenshot> + <caption>The Events Editor</caption> + <image>https://kvirc.net/img/screenshots/snapshot18.png</image> + </screenshot> + <screenshot> + <caption>The Popups Editor</caption> + <image>https://kvirc.net/img/screenshots/snapshot19.png</image> + </screenshot> + </screenshots> + <url type="bugtracker">https://github.com/kvirc/KVIrc/issues</url> + <url type="homepage">https://kvirc.net/</url> +</component> Added: kvirc/trunk/python3.patch =================================================================== --- kvirc/trunk/python3.patch (rev 0) +++ kvirc/trunk/python3.patch 2020-06-04 15:03:19 UTC (rev 638933) @@ -0,0 +1,239 @@ +From dbe8ef6dad916124c3714abc469403ed9991261c Mon Sep 17 00:00:00 2001 +From: wodim <neik...@gmail.com> +Date: Sat, 26 Aug 2017 15:02:56 +0200 +Subject: [PATCH 1/5] 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 96659b5c3..c3d103726 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,9 +69,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)" +@@ -786,10 +783,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) + +From 77983c1ac38efa87a3c644b3918dd1648040aee0 Mon Sep 17 00:00:00 2001 +From: wodim <neik...@gmail.com> +Date: Mon, 1 Apr 2019 15:02:39 +0200 +Subject: [PATCH 2/5] 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 + +From 2c881f711d518bbe4db95bf183ddc946c12f7751 Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov <soko...@google.com> +Date: Sun, 29 Dec 2019 23:26:31 +0000 +Subject: [PATCH 3/5] 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 385bbbd4d..e7fee2820 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) + + # 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() + +From 79dbba4260113b453fcea155881ecb4c6f82963b Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov <soko...@google.com> +Date: Mon, 30 Dec 2019 07:32:51 +0000 +Subject: [PATCH 5/5] 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 Added: kvirc/trunk/qt5.15.patch =================================================================== --- kvirc/trunk/qt5.15.patch (rev 0) +++ kvirc/trunk/qt5.15.patch 2020-06-04 15:03:19 UTC (rev 638933) @@ -0,0 +1,21 @@ +From aef9643bec83fbd4be57d3e05701a8d4ccf35a6f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballog...@gmail.com> +Date: Thu, 4 Jun 2020 13:42:30 +0200 +Subject: [PATCH] Fix build with Qt 5.15+ + +--- + src/modules/iograph/libkviiograph.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/modules/iograph/libkviiograph.cpp b/src/modules/iograph/libkviiograph.cpp +index 8e08bb427..265376231 100644 +--- a/src/modules/iograph/libkviiograph.cpp ++++ b/src/modules/iograph/libkviiograph.cpp +@@ -35,6 +35,7 @@ + + #include <QPainter> + #include <QPaintEvent> ++#include <QPainterPath> + + #ifdef COMPILE_PSEUDO_TRANSPARENCY + extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground;