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;

Reply via email to