diff --git a/quassel.changes b/quassel.changes index d583362..3aec7e5 100644 --- a/quassel.changes +++ b/quassel.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sun Feb 7 10:04:26 UTC 2016 - tchvatal@suse.com + +- Allow building kde and non-kde based quassel version +- Move quasselclient desktop to base so both variants don't have to + rename the file +- Introduce quasselclient-qt5 subpackage +- Use update-alternatives to switch between kde/qt5 versions + ------------------------------------------------------------------- Mon Dec 14 12:14:48 UTC 2015 - tchvatal@suse.com diff --git a/quassel.spec b/quassel.spec index 335e8c7..bfbdf14 100644 --- a/quassel.spec +++ b/quassel.spec @@ -120,7 +120,25 @@ Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs), making communication with your peers not only convenient, but also ubiquitous available. -This is the quassel client only +This is the quassel KDE client only + +%package client-qt5 +Summary: Modern, cross-platform, distributed IRC client +Group: Productivity/Networking/IRC +Requires: %{name}-base = %{version} +Provides: %{name}_ui = %{version} + +%description client-qt5 +Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that +one (or multiple) client(s) can attach to and detach from a central core -- +much like the popular combination of screen and a text-based IRC client such +as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring +a pleasurable, comfortable chatting experience to all major platforms (including +Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs), +making communication with your peers not only convenient, but also ubiquitous +available. + +This is the quassel Qt5 client only %package core Summary: Modern, cross-platform, distributed IRC client @@ -175,9 +193,21 @@ sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" src/common/main.cpp src/common/quassel. %cmake_kf5 -d build -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=ON make %{?_smp_mflags} +cd .. +%cmake_kf5 -d build-qt5 -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=OFF +make %{?_smp_mflags} %install %kf5_makeinstall -C build + +# Allow client qt5/kde co-install +mv %{buildroot}%{_bindir}/quasselclient %{buildroot}%{_bindir}/quasselclient-kde +install build-qt5/quasselclient %{buildroot}%{_bindir}/quasselclient-qt5 +# Alternatives +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +touch %{buildroot}%{_sysconfdir}/alternatives/quasselclient +ln -sf %{_sysconfdir}/alternatives/quasselclient %{buildroot}%{_bindir}/quasselclient + %fdupes %{buildroot} install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}core install -d -m 755 %{buildroot}%{_sbindir} @@ -212,6 +242,22 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2. %postun base %icon_theme_cache_postun +%post client +update-alternatives --install %{_bindir}/quasselclient quasselclient %{_bindir}/quasselclient-kde 20 + +%postun client +if [ $1 -eq 0 ] ; then + update-alternatives --remove quasselclient %{_bindir}/quasselclient-kde +fi + +%post client-qt5 +update-alternatives --install %{_bindir}/quasselclient quasselclient %{_bindir}/quasselclient-kde 10 + +%postun client-qt5 +if [ $1 -eq 0 ] ; then + update-alternatives --remove quasselclient %{_bindir}/quasselclient-qt5 +fi + %files mono %defattr(-,root,root) %doc AUTHORS ChangeLog README @@ -221,7 +267,15 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2. %files client %defattr(-,root,root) %doc AUTHORS ChangeLog README -%{_datadir}/applications/%{name}client.desktop +%{_bindir}/%{name}client-kde +%ghost %{_sysconfdir}/alternatives/quasselclient +%{_bindir}/%{name}client + +%files client-qt5 +%defattr(-,root,root) +%doc AUTHORS ChangeLog README +%{_bindir}/%{name}client-qt5 +%ghost %{_sysconfdir}/alternatives/quasselclient %{_bindir}/%{name}client %files core @@ -238,6 +292,7 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2. %files base %defattr(-,root,root) +%{_datadir}/applications/%{name}client.desktop %{_datadir}/pixmaps/%{name}.png %dir %{_datadir}/%{name} %{_datadir}/%{name}