%global quassel_user quassel %global quassel_data_dir %{_var}/lib/quassel #%%global gitver d48c2331b38ae46732ac1ab9f35a3a0b85100f92 #%%global gitshort %%(r=%{gitver}; echo ${r:0:7}) #%%global prever rc2 %global githubuser quassel %if 0%{?gitver:1} %global srcurl https://github.com/%{githubuser}/%{name}/archive/%{gitver}.tar.gz#/%{name}-%{gitver}.tar.gz %global setuppath %{name}-%{gitver} %global vertag .git%{gitshort} %else %global srcurl https://github.com/quassel/quassel/archive/%{version}%{?prever:-%{prever}}.tar.gz#/quassel-%{version}%{?prever:-%{prever}}.tar.gz %global setuppath %{name}-%{version}%{?prever:-%{prever}} %global vertag %{?prever:.%{prever}} %endif Name: quassel Summary: A modern distributed IRC system Epoch: 1 Version: 0.14.0 Release: 1%{?vertag}%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ Source0: %{srcurl} Patch0: quassel-gcc11.patch %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: cmake BuildRequires: boost-devel %else BuildRequires: cmake3 BuildRequires: boost169-devel %endif BuildRequires: dbusmenu-qt5-devel BuildRequires: desktop-file-utils BuildRequires: openssl-devel BuildRequires: phonon-qt5-devel BuildRequires: qca-qt5-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtscript-devel %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: qt5-qtwebengine-devel %else BuildRequires: qt5-qtwebkit-devel %endif BuildRequires: qt5-qtmultimedia-devel BuildRequires: openldap-devel BuildRequires: systemd BuildRequires: libappstream-glib Provides: %{name}-gui = %{epoch}:%{version}-%{release} # Systemd service file and configuration script. Source1: quasselcore.service Source2: quassel.conf # Appstream metadata, for GNOME Software. Source4: quassel.appdata.xml Source5: quasselclient.appdata.xml Source100: quassel-README.fedora Source101: quassel-oidentd.conf.sample %description Quassel IRC is a modern, 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 %package common Summary: Quassel common/shared files # not strictly required, but helps this get pulled out when # someone removes %%name or %%name-client Requires: %{name}-gui = %{epoch}:%{version}-%{release} # put here for convenience, instead of all subpkgs which # provide %%{name}-gui %description common %{summary}. %package core Summary: Quassel core component # Required for the quassel user. Requires(pre): shadow-utils # Weak dependency on qt5 postgresql bindings. # We use a weak dependency here so they can be uninstalled if necessary. %if 0%{?fedora} || 0%{?rhel} > 7 Recommends: qt5-qtbase-postgresql %endif %description core The Quassel IRC Core maintains a connection with the server, and allows for multiple clients to connect %package client Summary: Quassel client Provides: %{name}-gui = %{epoch}:%{version}-%{release} %description client Quassel client %prep %autosetup -n %{setuppath} -p1 cp -p %{SOURCE100} README.fedora %build %if 0%{?fedora} || 0%{?rhel} > 7 %cmake %cmake_build %else %cmake3 -DBOOST_INCLUDEDIR=%{_includedir}/boost169/ -DBOOST_LIBRARYDIR=%{_libdir}/boost169/ %cmake3_build %endif %install %if 0%{?fedora} || 0%{?rhel} > 7 %cmake_install %else %cmake3_install %endif # unpackaged files rm -f %{buildroot}/%{_datadir}/pixmaps/quassel.png # Install quassel.conf for systemd file mkdir -p %{buildroot}/%{_sysconfdir} install -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/ # Install systemd service file install -d -m 0755 %{buildroot}/%{_unitdir} install -p -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/ # Home directory for quassel user install -d -m 0750 %{buildroot}/%{quassel_data_dir} # Install the appdata files. mkdir %{buildroot}%{_datadir}/appdata/ cp -a %{SOURCE4} %{SOURCE5} %{buildroot}%{_datadir}/appdata/ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml # We do not need the devel libraries rm -f %{buildroot}/%{_libdir}/libquassel-*.so # Core pre/post macros. %pre core getent group %{quassel_user} >/dev/null || groupadd -r %{quassel_user} getent passwd %{quassel_user} >/dev/null || \ useradd -r -g %{quassel_user} -d %{quassel_data_dir} -s /sbin/nologin \ -c "Account to own and run the quasselcore daemon from." %{quassel_user} exit 0 %post core # Install quassel service. %systemd_post quasselcore.service %preun core %systemd_preun quasselcore.service %postun core %systemd_postun_with_restart quasselcore.service %files %{_bindir}/quassel %{_datadir}/applications/quassel.desktop %{_datadir}/appdata/quassel.appdata.xml %files common %doc README.md %license COPYING gpl-2.0.txt gpl-3.0.txt %{_datadir}/quassel/ %{_datadir}/icons/hicolor/*/*/* %{_libdir}/libquassel-common.so.* %files core %doc README.md README.fedora %license COPYING gpl-2.0.txt gpl-3.0.txt %{_bindir}/quasselcore %dir %attr(-,quassel,quassel) %{quassel_data_dir} %{_unitdir}/quasselcore.service %config(noreplace) %{_sysconfdir}/quassel.conf %{_libdir}/libquassel-core.so.* %files client %{_bindir}/quasselclient %{_datadir}/applications/quasselclient.desktop %{_datadir}/appdata/quasselclient.appdata.xml %{_libdir}/libquassel-client.so.* %{_libdir}/libquassel-qtui.so.* %{_libdir}/libquassel-uisupport.so.* %changelog * Tue Jan 11 2022 Felix Kaechele - 1:0.14.0-1 - update to 0.14.0 release * Mon Nov 08 2021 Felix Kaechele - 1:0.14-0.3.rc2 - update to 0.14-rc2 * Sun Jan 17 2021 Felix Kaechele - 1:0.14-0.2.rc1 - update to 0.14-rc1 - add macros to accommodate GitHub versioning scheme * Fri May 15 2020 Felix Kaechele - 1:0.14.0-0.1.gitd48c233 - bump to latest Git version - add GitHub snippets - sync with Fedora upstream spec for easier diff-ing * Sun Mar 29 2020 Felix Kaechele - 1:0.13.1-2 - rebuild * Tue Feb 26 2019 Felix Kaechele - 1:0.13.1-1 - update to 0.13.1 * Tue Dec 04 2018 Felix Kaechele - 1:0.13.0-1 - update to 0.13.0 * Wed Oct 31 2018 Felix Kaechele - 1:0.13-0.2.rc2 - update to 0.13-rc2 * Thu Sep 27 2018 Felix Kaechele - 1:0.13-0.1.rc1 - update to 0.13-rc1 - enable LDAP * Wed May 02 2018 Felix Kaechele - 1:0.12.5-1 - update to 0.12.5 * Mon May 23 2016 Felix Kaechele - 1:0.12.4-1 - update to 0.12.4 * Fri Mar 11 2016 Felix Kaechele - 1:0.12.3-1 - update to 0.12.3 - drop QT 5.5 patch * Wed Oct 28 2015 Felix Kaechele - 1:0.12.2-2 - Fix build with QT > 5.5 - Force SSL to be enabled - Add BR on qca-qt5-devel * Thu May 14 2015 Felix Kaechele - 1:0.12.2-1 - update to 0.12.2 * Sat Sep 27 2014 Felix Kaechele - 1:0.11.0-1 - update to 0.11.0 * Mon May 19 2014 Felix Kaechele - 1:0.10.0-2 - Complete rewrite of spec file