The package rpms/psi-plus.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/psi-plus.git/commit/?id=2643b9944....
Change:
+ExclusiveArch: %{qt5_qtwebengine_arches}
Thanks.
Full change:
============
commit 2643b99446bdf4bc27aa6aa559d46145ebd61ee8
Author: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Fri Jul 31 16:58:42 2020 +0200
Updated to version 1.4.1472.
Performed major SPEC cleanup and unification.
Switched from QtWebKit to QtWebEngine.
Enabled voice and video plugin.
diff --git a/.gitignore b/.gitignore
index f3b03e9..0bfb44a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@
/psi-plus-1.4.654-1.fc31.src.rpm
/psi-plus-1.4.654.tar.gz
/psi-plus-l10n-1.4.636.tar.gz
+/psi-plus-1.4.1472.tar.gz
+/psi-plus-l10n-1.4.1472.tar.gz
diff --git a/psi-plus.spec b/psi-plus.spec
index 7f91b7f..c5adea2 100644
--- a/psi-plus.spec
+++ b/psi-plus.spec
@@ -1,312 +1,154 @@
-%global version_l10n 1.4.636
-%global genericplugins attentionplugin autoreplyplugin birthdayreminderplugin chessplugin
cleanerplugin clientswitcherplugin conferenceloggerplugin contentdownloaderplugin
enummessagesplugin extendedmenuplugin extendedoptionsplugin gnupgplugin gomokugameplugin
historykeeperplugin httpuploadplugin icqdieplugin imageplugin imagepreviewplugin
jabberdiskplugin juickplugin messagefilterplugin omemoplugin otrplugin
pepchangenotifyplugin qipxstatusesplugin screenshotplugin skinsplugin stopspamplugin
storagenotesplugin translateplugin videostatusplugin watcherplugin
-# %%global unixplugins
-%global devplugins pstoplugin ripperccplugin
-%global desc_common Psi+ is a development branch of Psi XMPP client.
+%undefine __cmake_in_source_build
+%global version_l10n 1.4.1472
-Summary: Jabber client based on Qt
Name: psi-plus
-Version: 1.4.654
-Release: 7%{?dist}
+Version: 1.4.1472
+Release: 1%{?dist}
Epoch: 1
-URL: https://%{name}.com
-# GPLv2+ - core of Psi+
-# LGPLv2.1+ - iris library, Psi+ widgets, several Psi+ tools
-# zlib/libpng - UnZip 0.15 additionnal library
+# GPLv2+ - core project.
+# LGPLv2.1+ - iris library, widgets, several tools.
+# zlib/libpng - bundled minizip library.
License: GPLv2+ and LGPLv2+ and zlib
-Source0:
https://github.com/%{name}/%{name}-snapshots/archive/%{version}.tar.gz#/%...
-Source1:
https://github.com/%{name}/%{name}-l10n/archive/%{version_l10n}.tar.gz#/%...
+Summary: Jabber client based on Qt
+URL: https://%{name}.com
-BuildRequires: cmake
-BuildRequires: gcc-c++
+Source0:
https://github.com/%{name}/%{name}-snapshots/archive/%{version}/%{name}-%...
+Source1:
https://github.com/%{name}/%{name}-l10n/archive/%{version_l10n}/%{name}-l...
+BuildRequires: cmake(Qt5LinguistTools)
+BuildRequires: cmake(Qt5XmlPatterns)
+BuildRequires: cmake(Qt5Multimedia)
+BuildRequires: cmake(Qt5X11Extras)
+BuildRequires: cmake(Qt5WebEngine)
+BuildRequires: cmake(Qt5Network)
+BuildRequires: cmake(QJDns-qt5)
BuildRequires: cmake(Qt5Core)
+BuildRequires: cmake(Qt5DBus)
+BuildRequires: cmake(Qca-qt5)
BuildRequires: cmake(Qt5Gui)
-BuildRequires: cmake(Qt5Widgets)
-BuildRequires: cmake(Qt5WebKit)
-BuildRequires: cmake(Qt5WebKitWidgets)
BuildRequires: cmake(Qt5Svg)
BuildRequires: cmake(Qt5Xml)
-BuildRequires: cmake(Qt5XmlPatterns)
-BuildRequires: cmake(Qt5Network)
-BuildRequires: cmake(Qt5Concurrent)
-BuildRequires: cmake(Qt5DBus)
-BuildRequires: cmake(Qt5Sql)
-BuildRequires: cmake(Qt5Script)
-BuildRequires: cmake(Qt5X11Extras)
-BuildRequires: cmake(Qt5Multimedia)
-BuildRequires: cmake(Qt5Keychain)
-BuildRequires: pkgconfig(qca2-qt5)
-BuildRequires: pkgconfig(qjdns-qt5)
-BuildRequires: qt5-linguist
-BuildRequires: pkgconfig(zlib)
-BuildRequires: pkgconfig(enchant)
+BuildRequires: pkgconfig(libsignal-protocol-c)
+BuildRequires: pkgconfig(gstreamer-audio-1.0)
+BuildRequires: pkgconfig(gstreamer-video-1.0)
+BuildRequires: pkgconfig(gstreamer-base-1.0)
+BuildRequires: pkgconfig(gstreamer-app-1.0)
+BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(xscrnsaver)
-BuildRequires: pkgconfig(openssl)
-# FIXME drop compatibility to zlic when F29 becomes EOL
-#
https://src.fedoraproject.org/rpms/psi/blob/master/f/psi.spec#_38
-%if 0%{?fedora} && 0%{?fedora} < 30
-BuildRequires: pkgconfig(minizip-compat)
-%else
-Provides: bundled(minizip) = 1.2
-%endif
+BuildRequires: pkgconfig(hunspell)
BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(libotr)
BuildRequires: pkgconfig(libidn)
-BuildRequires: pkgconfig(libsignal-protocol-c)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: pkgconfig(tidy)
BuildRequires: desktop-file-utils
-BuildRequires: gettext
-BuildRequires: libtidy-devel
-
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: sox%{?_isa}
-Requires: gnupg
-Requires: qca-qt5-ossl%{?_isa}
+BuildRequires: libappstream-glib
+BuildRequires: libgcrypt-devel
+BuildRequires: ninja-build
+BuildRequires: gcc-c++
+BuildRequires: cmake
+BuildRequires: gcc
+Recommends: %{name}-plugins%{?_isa}
Requires: qca-qt5-gnupg%{?_isa}
-
+Requires: qca-qt5-ossl%{?_isa}
Requires: hicolor-icon-theme
-# New Fedora rules allow to use bundled libraries
-#
https://bugzilla.redhat.com/show_bug.cgi?id=737304#c15
Provides: bundled(iris)
+Provides: bundled(minizip) = 1.2
-%description
-%{desc_common}
-
-%package i18n
-Summary: Language packs for Psi
-Requires: %{name} = %{epoch}:%{version}-%{release}
-BuildArch: noarch
-
-%description i18n
-%{desc_common}
-This package adds internationalization to Psi+.
-
-%package common
-Summary: Noarch resources for Psi+
-BuildArch: noarch
-
-%description common
-%{desc_common}
-This package contains huge of base mandatory resources for Psi+.
-
-%package plugins
-Summary: Plugins pack for Psi+
-# GPLv2 is used for the most plugins
-# BSD - screenshot plugin
-# Beerware - icqdie plugin
-License: GPLv2+ and BSD and Beerware
-Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
-# Filter out plugins from provides
-%global __provides_exclude_from ^%{_libdir}/%{name}
-
-
-%description plugins
-%{desc_common}
-
- * Attention Plugin
-This plugin is designed to send and receive special messages such as
-Attentions.
-
- * Autoreply Plugin
-This plugin acts as an auto-answering machine.
-
- * Birthday Reminder Plugin
-This plugin is designed to show reminders of upcoming birthdays.
-
- * Chess Plugin
-This plugin allows you to play chess with your friends.
-The plugin is compatible with a similar plugin for Tkabber.
-
- * Cleaner Plugin
-This plugin is designed to clear the avatar cache, saved local copies
-of vCards and history logs.
-
- * Client Switcher Plugin
-This plugin is intended to spoof version of the Jabber client, the
-name and type of operating system. It is possible to manually specify
-the version of the client and the operating system or choose from a
-predefined list.
-
- * Conference Logger Plugin
-This plugin is designed to save conference logs in which the Psi+
-user sits.
-
- * Content Downloader Plugin
-This plugin can currently be used to download and install roster
-iconsets and emoticons.
-
- * Enum Messages Plugin
-The plugin is designed to enumerate messages, adding the messages
-numbers in chat logs and notification of missed messages. Supports
-per contact on / off message enumeration via the buttons on the chats
-toolbar.
-
- * Extended Menu Plugin
-This plugin adds roster submenu 'Extended Actions' to contact's
-context menu. At the moment we have the following items: 'Copy JID',
-'Copy the nickname', 'Copy the status message' and 'Ping'.
-
- * Extended Options Plugin
-This plugin is designed to allow easy configuration of some advanced
-options in Psi+. This plugin gives you access to advanced application
-options, which do not have a graphical user interface.
-
- * GnuPG Key Manager
-GnuPG Key Manager can create, remove, export and import GnuPG keys.
-It can do only the base operations but I hope it will be enough for
-your needs.
-
- * History Keeper Plugin
-This plugin is designed to remove the history of selected contacts
-when the Psi+ is closed.
-
- * HTTP Upload Plugin
-This plugin allows uploading images and other files via XEP-0363.
-
- * ICQ Must Die Plugin
-This plugin is designed to help you transfer as many contacts as
-possible from ICQ to Jabber.
-
- * Image Plugin
-This plugin is designed to send images to roster contacts.
-
- * Image Preview Plugin
-This plugin shows the preview image for an image URL.
-
- * Juick Plugin
-This plugin is designed to work efficiently and comfortably with the
-Juick microblogging service.
-
- * PEP Change Notify Plugin
-The plugin is designed to display popup notifications on change of
-moods, activities and tunes at the contacts of the roster. In the
-settings you can choose which ones to include notification of events,
-specify the time within which a notice will appear, as well as play a
-sound specify.
-
- * Qip X-statuses Plugin
-This plugin is designed to display X-statuses of contacts using the
-QIP Infium jabber client.
-
- * Screenshot Plugin
-This plugin allows you to make a snapshot (screenshot) of the screen,
-edit the visible aria to make a screenshot and save the image to a
-local drive or upload to HTTP/FTP server.
-
- * Stop Spam Plugin
-This plugin is designed to block spam messages and other unwanted
-information from Psi+ users.
-
- * Storage Notes Plugin
-This plugin is an implementation of XEP-0049: Private XML Storage.
-The plugin is fully compatible with notes saved using Miranda IM.
-The plugin is designed to keep notes on the jabber server with the
-ability to access them from anywhere using Psi+ or Miranda IM.
-
- * Translate Plugin
-This plugin allows you to convert selected text into another language.
+# Obsolete and remove old subpackages
+Provides: %{name}-i18n = %{?epoch:%{epoch}:}%{version}-%{release}
+Obsoletes: %{name}-i18n < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: %{name}-icons = %{?epoch:%{epoch}:}%{version}-%{release}
+Obsoletes: %{name}-icons < %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: %{name}-common = %{?epoch:%{epoch}:}%{version}-%{release}
+Obsoletes: %{name}-common < %{?epoch:%{epoch}:}%{version}-%{release}
- * Video Status Changer Plugin
-This plugin is designed to set the custom status when you see the
-video in selected video player. Communication with players made by
-D-Bus.
-
- * Skins Plugin
-This plugin is designed to create, store and apply skins to Psi+.
-
- * Off-the-Record Messaging Plugin
-a cryptographic protocol that provides strong encryption for instant
-messaging conversations. OTR uses a combination of the AES
-symmetric-key algorithm, the Diffie–Hellman key exchange, and the SHA-1
-hash function. In addition to authentication and encryption, OTR
-provides perfect forward secrecy and malleable encryption.
-
- * PSTO Plugin
-Instant bloging service.
-
- * OMEMO Plugin
-A plugin that adds support for OMEMO encryption.
+# Required qt5-qtwebengine is not available on some arches.
+ExclusiveArch: %{qt5_qtwebengine_arches}
+%description
+%{name} is the premiere Instant Messaging application designed for Microsoft
+Windows, Apple Mac OS X and GNU/Linux. Built upon an open protocol named
+Jabber, %{name} is a fast and lightweight messaging client that utilises the best
+in open source technologies. %{name} contains all the features necessary to chat,
+with no bloated extras that slow your computer down. The Jabber protocol
+provides gateways to other protocols as AIM, ICQ, MSN and Yahoo!.
+
+%package plugins
+# GPLv2+ is used for the most plugins.
+# BSD - screenshot plugin.
+License: GPLv2+ and BSD
+Summary: Additional plugins for %{name}
+Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+%description plugins
+This package adds additional plugins to %{name}.
%prep
-%autosetup -n %{name}-snapshots-%{version}
-
-# fix rpmlint spurious-executable-perm
-find . -name '*.cpp' -or -name '*.h' | xargs chmod 644
+%autosetup -n %{name}-snapshots-%{version} -p1
-# Remove bundled libraries
-%if 0%{?fedora} && 0%{?fedora} < 30
-rm -rf src/libpsi/tools/zip/minizip
-%endif
-rm -fr iris/src/jdns
-
-# Psi+ always uses last iris version. So I need to provide bundled
-# iris to guarantee efficiency of program.
-# rm -fr iris
-
-tar xf %{SOURCE1} -C .
+# Unpacking tarball with additional locales...
+tar -xf %{SOURCE1} %{name}-l10n-%{version}/translations --strip=1
+# Removing bundled libraries...
+rm -rf iris/src/jdns
%build
-mkdir build
-pushd build
-%cmake .. \
- -DUSE_ENCHANT=ON \
- -DUSE_HUNSPELL=OFF \
- -DUSE_KEYCHAIN=ON \
- -DENABLE_PLUGINS=ON
-popd
-%make_build -C build
-
-pushd %{name}-l10n-%{version_l10n}/translations
-lrelease-qt5 *.ts
-popd
-
+%cmake -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DUSE_QT5:BOOL=ON \
+ -DUSE_ENCHANT:BOOL=OFF \
+ -DUSE_HUNSPELL:BOOL=ON \
+ -DUSE_QJDNS:BOOL=ON \
+ -DSEPARATE_QJDNS:BOOL=ON \
+ -DENABLE_PLUGINS:BOOL=ON \
+ -DUSE_KEYCHAIN:BOOL=ON \
+ -DBUILD_PSIMEDIA:BOOL=ON \
+ -DINSTALL_EXTRA_FILES:BOOL=ON \
+ -DUSE_DBUS:BOOL=ON \
+ -DPRODUCTION:BOOL=ON \
+ -DCHAT_TYPE:STRING=WEBENGINE
+%cmake_build
%install
-%make_install -C build
-install -p -m0644 -D psi.appdata.xml
$RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml
-for p in 16 32 48 64 128
-do
- install -p -m0644 -D iconsets/system/default/psiplus/logo_${p}.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${p}x${p}/apps/%{name}.png
-done
-
-# Install languages
-cp -p %{name}-l10n-%{version_l10n}/translations/*.qm $RPM_BUILD_ROOT%{_datadir}/%{name}
+%cmake_install
%find_lang psi --with-qt
-
+rm -rf %{buildroot}%{_datadir}/%{name}/COPYING
%check
-desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
-
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdata.xml
+desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
-%files
+%files -f psi.lang
%license COPYING
%doc README
%{_bindir}/%{name}
-%{_datadir}/appdata/%{name}.appdata.xml
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/certs
+%{_datadir}/%{name}/iconsets
+%{_datadir}/%{name}/sound
+%{_datadir}/%{name}/*.{txt,html}
+%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/pixmaps/%{name}.png
-%files i18n -f psi.lang
-
%files plugins
-%{_libdir}/%{name}/
-
-%files common
-%license COPYING
-%{_datadir}/%{name}/
-%exclude %{_datadir}/%{name}/*.qm
-
+%{_libdir}/%{name}
%changelog
+* Fri Jul 31 2020 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1:1.4.1472-1
+- Updated to version 1.4.1472.
+- Performed major SPEC cleanup and unification.
+- Switched from QtWebKit to QtWebEngine.
+- Enabled voice and video plugin.
+
* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> -
1:1.4.654-7
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
diff --git a/sources b/sources
index 8b95fd1..80af58c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (psi-plus-1.4.654.tar.gz) =
d346c6025db5545829425800f102f79439d405213b481ba3101029032ad11ba6ab5c71c1f2cafde9a43d62fddbe4a021a36adc65d66ff9d8f7afdd95753b5c0b
-SHA512 (psi-plus-l10n-1.4.636.tar.gz) =
b07d9ea094cf0148577de25355f2c2c99f579c7f1c5a27ce2d028b36c724730fd4b37cff3682f76fb1a85e14a46e92476fdf2c2c042d36b9ade59259d18ff060
+SHA512 (psi-plus-1.4.1472.tar.gz) =
d37fa8587c8a714fc5fd813a354065cd250e9e31099b394bddf388fe154425b7fa8e9b535bf5800fc827d1b14d76d32f16ceaa122e3259a86b4bd77634c467bb
+SHA512 (psi-plus-l10n-1.4.1472.tar.gz) =
92fb3d7098ae34637fd37483453e160fbec89a91836204cb54726316597fd24d716602318b26c0178891c55f172fef05145b50200361565be4098d6247c177dd