- 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 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 making communication with your peers not only convenient, but also ubiquitous
available. 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 %package core
Summary: Modern, cross-platform, distributed IRC client 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 %cmake_kf5 -d build -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=ON
make %{?_smp_mflags} make %{?_smp_mflags}
cd ..
%cmake_kf5 -d build-qt5 -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=OFF
make %{?_smp_mflags}
%install %install
%kf5_makeinstall -C build %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} %fdupes %{buildroot}
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}core install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}core
install -d -m 755 %{buildroot}%{_sbindir} install -d -m 755 %{buildroot}%{_sbindir}
@ -212,6 +242,22 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.
%postun base %postun base
%icon_theme_cache_postun %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 %files mono
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS ChangeLog README %doc AUTHORS ChangeLog README
@ -221,7 +267,15 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.
%files client %files client
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS ChangeLog README %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 %{_bindir}/%{name}client
%files core %files core
@ -238,6 +292,7 @@ install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.
%files base %files base
%defattr(-,root,root) %defattr(-,root,root)
%{_datadir}/applications/%{name}client.desktop
%{_datadir}/pixmaps/%{name}.png %{_datadir}/pixmaps/%{name}.png
%dir %{_datadir}/%{name} %dir %{_datadir}/%{name}
%{_datadir}/%{name} %{_datadir}/%{name}