File kvirc.spec of Package KVirc

#
# spec file for package kvirc
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define kf5_version 5.2.0
%define qt5_version 5.15.2

%ifnarch ppc64 ppc64le s390x
%bcond_without qtwebengine
%endif
Name:           kvirc
Version:        5.2.6
Release:        1.1
Summary:        Graphical Front-End for IRC
License:        GPL-2.0-or-later AND (GPL-3.0-only OR SUSE-LGPL-2.1-with-digia-exception-1.1)
URL:            https://www.kvirc.net/
Source:         https://github.com/kvirc/KVIrc/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires:  doxygen
BuildRequires:  enchant-devel
BuildRequires:  extra-cmake-modules >= %{kf5_version}
BuildRequires:  fdupes
BuildRequires:  libX11-devel
BuildRequires:  libopenssl-devel
BuildRequires:  perl
BuildRequires:  pkgconfig
BuildRequires:  python3-devel
BuildRequires:  zlib-devel
BuildRequires:  cmake(KF5CoreAddons) >= %{kf5_version}
BuildRequires:  cmake(KF5I18n) >= %{kf5_version}
BuildRequires:  cmake(KF5KIO) >= %{kf5_version}
BuildRequires:  cmake(KF5Notifications) >= %{kf5_version}
BuildRequires:  cmake(KF5Parts) >= %{kf5_version}
BuildRequires:  cmake(KF5Service) >= %{kf5_version}
BuildRequires:  cmake(KF5WindowSystem) >= %{kf5_version}
BuildRequires:  cmake(KF5XmlGui) >= %{kf5_version}
BuildRequires:  cmake(Phonon4Qt5)
BuildRequires:  cmake(Qt5Concurrent) >= %{qt5_version}
BuildRequires:  cmake(Qt5Core) >= %{qt5_version}
BuildRequires:  cmake(Qt5DBus) >= %{qt5_version}
BuildRequires:  cmake(Qt5Multimedia) >= %{qt5_version}
BuildRequires:  cmake(Qt5MultimediaWidgets) >= %{qt5_version}
BuildRequires:  cmake(Qt5Network) >= %{qt5_version}
BuildRequires:  cmake(Qt5PrintSupport) >= %{qt5_version}
BuildRequires:  cmake(Qt5Sql) >= %{qt5_version}
BuildRequires:  cmake(Qt5Svg) >= %{qt5_version}
%if %{with qtwebengine}
BuildRequires:  cmake(Qt5WebEngineWidgets) >= %{qt5_version}
%endif
BuildRequires:  cmake(Qt5Widgets) >= %{qt5_version}
BuildRequires:  cmake(Qt5X11Extras) >= %{qt5_version}
BuildRequires:  cmake(Qt5Xml) >= %{qt5_version}
Requires:       libQt5Sql5-sqlite >= %{qt5_version}
%requires_eq    perl
Obsoletes:      kvirc-devel < %{version}

%description
IRC (Internet Relay Chat) client with an MDI interface; scripting,
pop-up, alias, and event editor, DCC (SEND CHAT VOICE and RESUME),
SOCKSV4 & V5 support and more.

%prep
%autosetup -p1 -n KVIrc-%{version}

%build
EXTRA_FLAGS="-UCMAKE_MODULE_LINKER_FLAGS \
-DCMAKE_SKIP_RPATH:BOOL=TRUE \
%if "%{?_lib}" == "lib64"
-DLIB_SUFFIX:STRING=64 \
%endif
%if %{without qtwebengine}
-DWANT_QTWEBENGINE:BOOL=FALSE
%endif
"

%cmake_kf5 -d build -- -DWANT_ESD:BOOL=FALSE -DWANT_OSS:BOOL=FALSE -DWANT_AUDIOFILE:BOOL=FALSE $EXTRA_FLAGS

%cmake_build

%install
%kf5_makeinstall -C build

rm %{buildroot}%{_kf5_libdir}/libkvilib.so

%fdupes %{buildroot}

%ldconfig_scriptlets

%files
%doc README.md RELEASES
%license COPYING
%{_kf5_applicationsdir}/net.kvirc.KVIrc5.desktop
%{_kf5_bindir}/kvirc
%{_kf5_bindir}/kvirc-config
%{_kf5_iconsdir}/hicolor/*/*/*
%{_kf5_libdir}/kvirc/
%{_kf5_libdir}/libkvilib.so.*
%{_kf5_mandir}/*/man?/kvirc.*
%{_kf5_mandir}/man?/kvirc.*
%{_kf5_sharedir}/kvirc/
%{_kf5_sharedir}/pixmaps/kvirc.png

%changelog
* Mon Oct 14 2024 Christophe Marin <christophe@krop.fr>
- Update to 5.2.6
  * A few bugs were fixed, including potential app crashes.
* Tue May 14 2024 Konstantin Voinov <kv@kott.no-ip.biz>
- Update to 5.2.4
  * This is mostly a bugfix release, including some quality of life
    improvements for Wayland users on GNU/Linux and Windows users
    running KVirc as a "portable" app. It also includes an important
    fix for a crash related to the undo/redo functionality.
    As a goodie, a new "Vertical line margin" option has been added
    to the ircview to make your ASCII art look better than ever.
* Tue Jan 16 2024 Christophe Marin <christophe@krop.fr>
- Update to 5.2.0
  * Support for the latest version of upstream libraries:
    Qt5.15/6.6, KDE5/6, OpenSSL 1.x/3.x
  * Wayland support
  * Fix for some nasty crash bugs
  * an improved font rendering engine able to represent complex
    characters like emojis with ligatures
  * a reworked tray icon that now follows your OS style
  * better support for solanum ircd (Libera net)
- Drop patches, no longer needed:
  * 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
  * 0001-Fix-build-with-Qt-5.15.patch
* Sat Aug  6 2022 Christophe Giboudeaux <christophe@krop.fr>
- set CMAKE_SKIP_RPATH when building kvirc. Without it, CMake adds
  a (yet unexplained) empty RUNPATH entry to the perl module.
* Mon Jun 28 2021 Christophe Giboudeaux <christophe@krop.fr>
- Remove the optional QtWebKit dependency
* Thu Jun  4 2020 Christophe Giboudeaux <christophe@krop.fr>
- Add patch to fix build with Qt 5.15:
  0001-Fix-build-with-Qt-5.15.patch
* Thu Jan 16 2020 Christophe Giboudeaux <christophe@krop.fr>
- 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
* Mon Jan 21 2019 wbauer@tmo.at
- Update to 5.0.0
  * Ported to Qt5 and KDE Frameworks5
  * Too many changes to list here
- Drop patches merged upstream:
  * fix-processEvents.patch
  * kvirc-gendoc-date.patch
  * kvirc-cmake-timestamp.patch
  * kvirc-no-uname.patch
- Drop separate devel package and just delete libkvirc.so instead
- Change package license to GPL-2.0-or-later AND (GPL-3.0-only OR
  SUSE-LGPL-2.1-with-digia-exception-1.1)
* Fri Nov 16 2018 Bernhard Wiedemann <bwiedemann@suse.com>
- Add kvirc-cmake-timestamp.patch kvirc-gendoc-date.patch (boo#1047218)
- Add kvirc-no-uname.patch to make package build reproducible (boo#1101107)
* Sat Dec 16 2017 fabian@ritter-vogt.de
- BuildIgnore libopenssl-1_1_0-devel to fix build with ossl 1.1 based
  libqt4
* Mon Nov 27 2017 fvogt@suse.com
- BuildRequire openssl-devel 1.0 explicitly to fix build on TW
- Remove %%if with ancient checks
* Thu Jul  7 2016 wbauer@tmo.at
- Add fix-processEvents.patch: fixes use of wrong operator when
  constructing the parameter to QApplication::processEvents(), and
  as a result also the build with gcc6 (boo#985191)
* Mon Jul 29 2013 tittiatcoke@gmail.com
- Update to 4.2.0
  * More scripting power:
  - the interface to the popup subsystem has been rewritten:
    the new popup module
  - a new interface to the userlist: the userlist module
  - a new webView class that embeds a webkit
  - improved SQL classes
  - a new trayicon KVS class
  - added a default script manager to restore default scripts
    without overwriting custom user scripts
  - lots of new functions.
  - new SSL certificate related stuff: $dcc.getSSLCertInfo(),
    $certificate(), $str.evpSign(), $str.evpVerify()
  * New miscellaneous features:
  - a module to support FiSH irc encryption
  - smart logging paths using KVS
  - improved medialayer support: VLC, Spotify, Totem, Clementine
  - a rewritten log viewer module
  - dynamic support for custom channel modes
  * a lot of bugfixes and minor enchancements
- Remove patch kvirc-gcc47.patch. This is now fixed upstream
* Mon Jun 11 2012 cfarrell@suse.com
- license update: SUSE-GPL-2.0+-with-openssl-exception
* Sat Mar 24 2012 dimstar@opensuse.org
- Add kvirc-gcc47.patch: Fix build with gcc 4.7.
* Mon Nov 28 2011 idoenmez@suse.de
- Fix duplicate filelist
* Fri Oct 14 2011 toddrme2178@gmail.com
- Switched to external libraries.  This is the upstream recommended
  way to build the program and is more secure
- Removed INSTALL file from documentation (fix for RPMLINT warning)
- Cleaned up spec file formatting
* Fri Sep 16 2011 toddrme2178@gmail.com
- Added %%kde4_runtime_requires macro (fix for RPMLINT warning)
- Removed commented lines (fix for RPMLINT warning)
- Added automatic language check (fix for RPMLINT warning)
- Cleaned up spec file formatting
* Sun Apr  3 2011 crrodriguez@opensuse.org
-Suppress build date in kvirc-config script, breaks build-compare.
* Thu Mar 31 2011 ro@suse.de
- update to 4.0.4
  * translations updated
  * many fixes to the buildsystem
  * bugfixes
  * details please see https://svn.kvirc.de/kvirc/timeline
* Mon Dec 13 2010 toddrme2178@gmail.com
- Update to 4.0.2:
  * Bugfixes
- Add optional python dependency
* Mon Dec 13 2010 toddrme2178@gmail.com
- Update to 4.0.2:
  * ChangeLog is not updated
- Update to 4.0.1:
  * ChangeLog is not updated
- Add optional python dependency
* Fri Jul 30 2010 ro@suse.de
- add kvirc-ctcp_vul.diff:
  fix issue with remote CTCP commands execution
  CVE-2010-2785 (bnc#626942)
* Fri Jul  2 2010 bitshuffler@opensuse.org
- Update to 4.0.0:
  * Definitive and stable port to the Qt4 libraries
  * A brand new build system based on CMake (no more ./configure)
  * Better support for server technologies: CAPS, STARTTLS, SASL,
    irc services.
  * New UPnP module to control and remotely map router ports for DCC
  * Totally rewritten MDI subsystem, with look and feel of your OS
  * Nice graphical addon packager
  * Visual class editor for object oriented scripting
  * Rewritten iograph module to check your bandwidth usage
  * Support for animated avatars
  * Ability to get other user's avatars/information without the
    need to CTCP the whole channel
  * Support for DBus inter-process communication
  * Support for the MPRIS media player control and info reporting
  * Support for Phonon direct media playback
  * A lot of new options to better customize your client
  * A lot of new KVS commands and functions for your scripting needs
  * Tons of bug fixes, more than 500 only from the bugtracker
- Use %%_smp_mflags
* Sun Apr 18 2010 coolo@novell.com
- compile with new openssl interface
* Fri Nov 13 2009 dmueller@suse.de
- require the exact perl version as it links libperl.so
* Thu Jul  2 2009 tittiatcoke@gmail.com
- Added a patch to correct the makefile in po/kvirc. This contained
  twice the entry for kvirc_hu.mo
* Tue Nov  4 2008 anschneider@suse.de
- Remove .la files
* Tue Nov  4 2008 anschneider@suse.de
- Update to 3.4.2
  * Improved themeing support
  * Improved scripting engine
  * Improved help subsystem
  * Improved windows and macosx support
  * Better desktop integration
  * Nicer support for many different IRC servers
  * A totally revised option layout
  * Basic support for script "addons"
  * New nice statusbar applets
  * Fixed CVE-2008-4748; (bnc#439819)
- Run ldconfig on deinstalltion
* Tue Apr 15 2008 schwab@suse.de
- Remove broken libtool macros.
* Fri Feb 15 2008 ro@suse.de
- recode CRLF files to fix newlines in generated docu files
* Mon Oct 22 2007 ro@suse.de
- fix build with gcc-4.3
* Fri Jul 27 2007 ro@suse.de
- block "$" and ";" in irc urlhandler (#285810)
* Mon Jan  8 2007 ro@suse.de
- update to 3.2.6
  * Added handling of unknown RPL_WHOIS* numeric replies
  * Added a file with KVIrc file extension definitions
  * Added an option for the "network name in taskbar"
  * Added new notifier
  * Moved the whole theme management engine to a new module
  * New german translation file
  * More work on the options dialogs
* Tue Dec 19 2006 ro@suse.de
- in kvi_socket.h: test if error value equals to EAGAIN
  instead of setting it to that value (#226878)
* Mon Nov  6 2006 ro@suse.de
- fix crash after initial setup (thanks to gladiac)
* Tue Oct 17 2006 ro@suse.de
- update to 3.2.5
  - documentation cleanups
  - Fixed some docs about KVS
  - Fixed couple of bugs, include crashbug when applying a new theme
  - Changed trayicon bechaviour. Now it's configurable.
  - Make Tree taskbar header hidable. Hide it by default
* Tue Sep  5 2006 ro@suse.de
- update to 3.2.4
  - uparser is definitively gone: KVS is the reality.
  - many cleanups all over, including documentation
  - countless bugfixes
* Tue Jul 18 2006 dmueller@suse.de
- fix build
* Tue Jun 20 2006 dmueller@suse.de
- build parallel
* Mon Jun 12 2006 ro@suse.de
- remove unused .a files for modules (#182161)
- split off devel package
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Sep 23 2005 coolo@suse.de
- fix libtool usage (protecting share holder value again)
* Thu May 26 2005 ro@suse.de
- fix build with gcc-4.0.1
* Thu Apr 14 2005 sbrabec@suse.cz
- Added audiofile-devel to neededforbuild.
* Mon Mar  7 2005 ro@suse.de
- update to 3.2.0
* Thu Feb 17 2005 adrian@suse.de
- move menu entry to xdg dir
* Mon Jan  3 2005 adrian@suse.de
- remove unneeded mad and mad-devel from nfb
* Mon Nov  8 2004 ro@suse.de
- recode all translations patches to UTF-8
* Mon Nov  8 2004 ro@suse.de
- remove most hunks from old patch (apparently obsolete)
- recode de translation to utf-8 first
* Wed Jun 30 2004 adrian@suse.de
- fix file conflict with kopete from KDE 3.3
* Thu Jun  3 2004 ro@suse.de
- update to 3.0.1
* Mon Apr 26 2004 ro@suse.de
- update to 3.0.0
* Thu Mar 18 2004 ro@suse.de
- cvs update of Mar18
- now the icons look complete ...
* Sun Mar  7 2004 ro@suse.de
- cvs update of Mar07
* Fri Jan 30 2004 ro@suse.de
- cvs update of Jan30
* Thu Oct 30 2003 ro@suse.de
- added defattr
* Wed Oct 29 2003 ro@suse.de
- update to CVS of Oct29 ... mountain of patches to compile
* Thu Aug 21 2003 ro@suse.de
- added run_ldconfig
* Mon Jul 28 2003 adrian@suse.de
- add Categories
* Thu Jun 12 2003 ro@suse.de
- add dir /opt/kde3/include/kvirc to filelist
* Mon May 19 2003 ro@suse.de
- fix filelist
* Thu May 15 2003 ro@suse.de
- change mode of .la files to 644
* Fri Mar  7 2003 ro@suse.de
- move applnk and mimelnk files in place
* Tue Feb 18 2003 ro@suse.de
- use kfmclient as urlhandler if available
* Wed Jan  8 2003 adrian@suse.de
- update to 3.0.0-beta2
* Tue Oct 22 2002 ro@suse.de
- update to 3.0.0-beta1
* Tue Jun 18 2002 ro@suse.de
- libdir is /opt/kde2/%%_lib for kde2 ...
* Mon Jun 17 2002 adrian@suse.de
- fix to compile on lib64-archs
* Thu Apr  4 2002 ro@suse.de
- fix pofiles
* Fri Nov  9 2001 ro@suse.de
- use kde2-devel-packages
* Tue Oct 30 2001 ro@suse.de
- cvs update 2001/10/30
* Tue Sep 18 2001 adrian@suse.de
- change TAG to X11/KDE/Beta
* Mon Sep 10 2001 schwab@suse.de
- Fix casts.
* Sat Sep  1 2001 ro@suse.de
- update to cvs of today
- use current libtool to build plugins right
- enable kde-support and ipv6-support
* Wed Aug 22 2001 ro@suse.de
- update to 2.1.2pre2 (cvs) to make it compile
* Mon Aug 13 2001 ro@suse.de
- changed neededforbuild <sp_libs> to <sp-devel>
* Fri May 18 2001 adrian@suse.de
- New version 2.1.1
* Tue Mar 27 2001 ro@suse.de
- changed neededforbuild <docbkdsl> to <docbook-dsssl-stylesheets>
* Sun Mar 18 2001 ro@suse.de
- fixed neededforbuild
* Tue Mar 13 2001 ro@suse.de
- changed neededforbuild <docbk30> to <docbook_3>
* Thu Feb 22 2001 ro@suse.de
- fixed filelist
* Wed Feb 21 2001 adrian@suse.de
- package fix
* Fri Feb  2 2001 adrian@suse.de
- update to 2.1.0 (KDE 2)
* Mon Jan 29 2001 mmj@suse.de
- fixed CXXFLAGS passing in the src/*/Makefile.in files
* Mon Dec  4 2000 adrian@suse.de
- fixed neededforbuild
* Fri Nov 17 2000 ro@suse.de
- fixed neededforbuild: += libmng-devel
* Wed Nov  8 2000 ro@suse.de
- neededforbuild libmng
* Mon Nov  6 2000 ro@suse.de
- fixed neededforbuild
* Thu Jun  8 2000 adrian@suse.de
- Added group tag, suse_update_config and new file list
* Sun May 28 2000 adrian@suse.de
- Added group tag, suse_update_config and new file list
* Sun May 28 2000 @suse.de
- Spec file created from kvirc-1.0.0_beta3.1.tar.gz by autospec
* Thu Oct 28 1999 kettner@suse.de
- Drop ksupp, klibs, kbase and qtlib1 from neededforbuild
* Thu Oct 28 1999 kettner@suse.de
- New version 1.0.0_beta3.1, need qtlib2, fixes
  Buzilla bug #605
* Fri Sep 17 1999 kettner@suse.de
- Reinserted old # Commandline: line.
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Wed May 19 1999 kettner@suse.de
- Recreated spec file with new autospec
* Wed Mar 31 1999 bs@suse.de
- don't use lx_hack for build
  Wed Mar 17 22:50:05 MET 1999 - autospec
- Recreated spec file from kvirc-0.9.0.tar.gz using autospec script by kettner@suse.de
openSUSE Build Service is sponsored by