From dd72bf29389d3795d320766816a54d7136d41caa Mon Sep 17 00:00:00 2001 From: Raphael Groner Date: Aug 29 2018 23:00:01 +0000 Subject: bump to 1.3.408, fixes FTBFS --- diff --git a/psi-plus.spec b/psi-plus.spec index dd0aed3..296ddac 100644 --- a/psi-plus.spec +++ b/psi-plus.spec @@ -1,18 +1,13 @@ -%global rev 20170612git9 -%global rev_l10n 3972eb6 +%global version_l10n 1.3.400 %global genericplugins attentionplugin autoreplyplugin birthdayreminderplugin chessplugin cleanerplugin clientswitcherplugin conferenceloggerplugin contentdownloaderplugin enummessagesplugin extendedmenuplugin extendedoptionsplugin gnupgplugin gomokugameplugin historykeeperplugin httpuploadplugin icqdieplugin imageplugin imagepreviewplugin jabberdiskplugin juickplugin messagefilterplugin 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. -%if 0%{?rhel} > 7 || 0%{?fedora} > 23 -%global qtmajor 5 -%else -%global qtmajor 4 -%endif Summary: Jabber client based on Qt Name: psi-plus -Version: 1.0 -Release: 0.7.%{rev}%{?dist} +Version: 1.3.408 +Release: 1%{?dist} Epoch: 1 URL: http://code.google.com/p/psi-dev/ @@ -20,58 +15,31 @@ URL: http://code.google.com/p/psi-dev/ # LGPLv2.1+ - iris library, Psi+ widgets, several Psi+ tools # zlib/libpng - UnZip 0.15 additionnal library License: GPLv2+ and LGPLv2+ and zlib -# Sources is latest snapshot from git://github.com/psi-im/psi.git with applyed all worked patches from psi-dev team. -# Sources also include plugins. There isn't development files therefore plugin interface very unstable. -# So i can't split plugins to separate package. I need to maintain it together. -Source0: http://files.psi-plus.com/sources/%{name}-%{version}-%{rev}.tar.bz2 -# Translation from https://github.com/psi-plus/psi-plus-l10n -Source1: http://files.psi-plus.com/sources/%{name}-l10n-%{rev_l10n}.tar.bz2 -# I use this script to make tarballs with Psi+ sources and translations -Source2: generate-tarball.sh - -# https://github.com/psi-plus/main/blob/master/patches/dev/psi-plus-psimedia.patch -Patch0: psi-plus-psimedia.patch -# https://github.com/psi-plus/main/blob/master/patches/dev/psi-new-history.patch -Patch1: psi-new-history.patch - -%if %{qtmajor} == 5 -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Gui) -BuildRequires: pkgconfig(Qt5Widgets) -BuildRequires: pkgconfig(Qt5WebKit) -BuildRequires: pkgconfig(Qt5WebKitWidgets) -BuildRequires: pkgconfig(Qt5Svg) -BuildRequires: pkgconfig(Qt5Xml) -BuildRequires: pkgconfig(Qt5XmlPatterns) -BuildRequires: pkgconfig(Qt5Network) -BuildRequires: pkgconfig(Qt5Concurrent) -BuildRequires: pkgconfig(Qt5DBus) -BuildRequires: pkgconfig(Qt5Sql) -BuildRequires: pkgconfig(Qt5Script) -BuildRequires: pkgconfig(Qt5X11Extras) -BuildRequires: pkgconfig(Qt5Multimedia) +Source0: https://github.com/%{name}/%{name}-snapshots/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: https://github.com/%{name}/%{name}-l10n/archive/%{version_l10n}.tar.gz#/%{name}-l10n-%{version_l10n}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ + +BuildRequires: cmake(Qt5Core) +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 -%else -BuildRequires: pkgconfig(QtCore) -BuildRequires: pkgconfig(QtGui) -BuildRequires: pkgconfig(QtWebKit) -BuildRequires: pkgconfig(QtSvg) -BuildRequires: pkgconfig(QtXml) -BuildRequires: pkgconfig(QtXmlPatterns) -BuildRequires: pkgconfig(QtNetwork) -BuildRequires: pkgconfig(QtDBus) -BuildRequires: pkgconfig(QtSql) -BuildRequires: pkgconfig(QtScript) -BuildRequires: pkgconfig(QJson) -BuildRequires: pkgconfig(qca2) -%if 0%{?rhel} == 7 || 0%{?fedora} == 22 -BuildRequires: pkgconfig(qjdns) -%else -BuildRequires: pkgconfig(qjdns-qt4) -%endif -%endif BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(enchant) @@ -83,31 +51,16 @@ BuildRequires: pkgconfig(libotr) BuildRequires: pkgconfig(libidn) BuildRequires: desktop-file-utils -BuildRequires: qconf >= 1:2.0 BuildRequires: gettext BuildRequires: libtidy-devel Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: sox%{?_isa} Requires: gnupg -# Required for SSL/TLS connections -%if %{qtmajor} == 5 Requires: qca-qt5-ossl%{?_isa} -%else -Requires: qca-ossl%{?_isa} -%endif - -# epel7 has no qca-gnupg package -%if 0%{?rhel} != 7 -# Required for GnuPG encryption -%if %{qtmajor} == 5 + Requires: qca-qt5-gnupg%{?_isa} -%else -Requires: qca-gnupg%{?_isa} -%endif -%endif -# hicolor-icon-theme is owner of themed icons folders Requires: hicolor-icon-theme # New Fedora rules allow to use bundled libraries @@ -115,7 +68,7 @@ Requires: hicolor-icon-theme Provides: bundled(iris) %description -Psi+ - Psi IM Mod by psi-dev@conference.jabber.ru +%{desc_common} %package i18n Summary: Language packs for Psi @@ -123,7 +76,7 @@ Requires: %{name} = %{epoch}:%{version}-%{release} BuildArch: noarch %description i18n -Psi+ - Psi IM Mod by psi-dev@conference.jabber.ru +%{desc_common} This package adds internationalization to Psi+. %package common @@ -131,7 +84,7 @@ Summary: Noarch resources for Psi+ BuildArch: noarch %description common -Psi+ - Psi IM Mod by psi-dev@conference.jabber.ru +%{desc_common} This package contains huge of base mandatory resources for Psi+. %package plugins @@ -142,11 +95,11 @@ Summary: Plugins pack for Psi+ License: GPLv2+ and BSD and Beerware Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} # Filter out plugins from provides -%global __provides_exclude_from ^%{_libdir}/psi-plus +%global __provides_exclude_from ^%{_libdir}/%{name} %description plugins -Psi+ - Psi IM Mod by psi-dev@conference.jabber.ru +%{desc_common} * Attention Plugin This plugin is designed to send and receive special messages such as @@ -273,7 +226,12 @@ provides perfect forward secrecy and malleable encryption. Instant bloging service. %prep -%autosetup -p1 -n %{name}-%{version}-%{rev} +%autosetup -n %{name}-snapshots-%{version} +# additional patches come from the source tarball +patch -p1 -i patches/dev/psi-new-history.patch + +# unmet dependency for omemoplugin +sed -i /omemoplugin/d src/plugins/generic/CMakeLists.txt # fix rpmlint spurious-executable-perm find . -name '*.cpp' -or -name '*.h' | xargs chmod 644 @@ -286,147 +244,72 @@ rm -fr iris/src/jdns # iris to guarantee efficiency of program. # rm -fr iris -# Untar russian language -%{__tar} xjf %{SOURCE1} -C . +tar xf %{SOURCE1} -C . + %build -unset QTDIR -qconf-qt4 -./configure \ - --prefix=%{_prefix} \ - --bindir=%{_bindir} \ - --libdir=%{_libdir} \ - --datadir=%{_datadir} \ - --release \ - --no-separate-debug-info \ - --enable-webkit \ - --enable-whiteboarding \ - --qtselect=%{qtmajor} \ - --psimedia-path=%{_libdir}/psi/plugins/libgstprovider.so - -make %{?_smp_mflags} - -pushd translations -lrelease-qt%{qtmajor} *.ts +mkdir build +pushd build +%cmake .. \ + -DUSE_ENCHANT=ON \ + -DUSE_HUNSPELL=OFF \ + -DUSE_KEYCHAIN=ON \ + -DENABLE_PLUGINS=ON popd +%make_build -C build -pushd src/plugins - -# Make paths for generic plugins -allplugins="" -for dir in %{genericplugins} -do - allplugins="${allplugins} generic/$dir" -done - -# # Make paths for unix plugins -# for dir in %%{unixplugins} -# do -# allplugins="${allplugins} unix/$dir" -# done +pushd %{name}-l10n-%{version_l10n}/translations +lrelease-qt5 *.ts +popd -# Make paths for dev plugins -for dir in %{devplugins} -do - allplugins="${allplugins} dev/$dir" -done -# Compile all plugins -for dir in ${allplugins} +%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 - pushd $dir -%if %{qtmajor} == 5 - %{qmake_qt5} -%else - %{qmake_qt4} -%endif - make %{?_smp_mflags} - popd + install -p -m0644 -D iconsets/system/default/psiplus/logo_${p}.png \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${p}x${p}/apps/%{name}.png done -popd - -%install -# Qt doesn't understand DESTDIR. So I need to use INSTALL_ROOT instead of. -# %%make_install can't be used here. -INSTALL_ROOT=$RPM_BUILD_ROOT make install - -# README and COPYING must be holds in doc dir. See %%doc tag in %%files -rm $RPM_BUILD_ROOT%{_datadir}/psi-plus/README -rm $RPM_BUILD_ROOT%{_datadir}/psi-plus/COPYING # Install languages -cp -p translations/*.qm $RPM_BUILD_ROOT%{_datadir}/%{name} +cp -p %{name}-l10n-%{version_l10n}/translations/*.qm $RPM_BUILD_ROOT%{_datadir}/%{name} %find_lang psi --with-qt -mkdir -p $RPM_BUILD_ROOT%{_libdir}/psi-plus/plugins - -# Make paths for generic plugins -allplugins="" -for dir in %{genericplugins} -do - allplugins="${allplugins} generic/$dir" -done - -# # Make paths for unix plugins -# for dir in %%{unixplugins} -# do -# allplugins="${allplugins} unix/$dir" -# done - -# Make paths for dev plugins -for dir in %{devplugins} -do - allplugins="${allplugins} dev/$dir" -done - -pushd src/plugins - -# Install all plugins -for dir in ${allplugins} -do - install -p -m 0755 $dir/*.so $RPM_BUILD_ROOT%{_libdir}/psi-plus/plugins/ -done -popd %check -# Menu file is being installed when make install -# so it need only to check this allready installed file -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/psi-plus.desktop - -%post -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : -/usr/bin/update-desktop-database &> /dev/null || : +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop -%postun -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi -/usr/bin/update-desktop-database &> /dev/null || : - -%posttrans -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %license COPYING %doc README -%{_bindir}/psi-plus -%{_datadir}/appdata/psi-plus.appdata.xml -%{_datadir}/applications/psi-plus.desktop -%{_datadir}/icons/hicolor/*/apps/psi-plus.png +%{_bindir}/%{name} +%{_datadir}/appdata/%{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}/psi-plus +%{_libdir}/%{name}/ %files common %license COPYING -%dir %{_datadir}/psi-plus -%{_datadir}/psi-plus/* -%exclude %{_datadir}/psi-plus/*.qm +%{_datadir}/%{name}/ +%exclude %{_datadir}/%{name}/*.qm + %changelog +* Wed Aug 22 2018 Raphael Groner - 1:1.3.408-1 +- new version +- modernize generally +- improve packages description +- use cmake +- drop patch for psimedia because it does not work with cmake +- omit omemoplugin due to unmet dependency + * Fri Jul 13 2018 Fedora Release Engineering - 1:1.0-0.7.20170612git9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild