- 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

OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/quassel?expand=0&rev=40
This commit is contained in:
Tomáš Chvátal 2016-02-07 13:10:03 +00:00 committed by Git OBS Bridge
parent b3730a8132
commit adeffae8d6
2 changed files with 66 additions and 2 deletions

View File

@ -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

View File

@ -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 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}