%global major_version 3 %global minor_version 6 %global patch_version 0 %global tarball_version r%{major_version}_%{minor_version}_%{patch_version} Name: jamulus Version: %{major_version}.%{minor_version}.%{patch_version} Release: 1%{?dist} Summary: Internet jam session software License: GPLv2+ URL: https://github.com/corrados/%{name} Source0: %{url}/archive/%{tarball_version}/%{name}-%{tarball_version}.tar.gz Source1: %{name}.conf BuildRequires: gcc-c++ BuildRequires: pkgconfig(Qt5Concurrent) BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Xml) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(jack) BuildRequires: hicolor-icon-theme BuildRequires: desktop-file-utils BuildRequires: help2man, ImageMagick BuildRequires: logrotate BuildRequires: systemd %{?systemd_requires} Requires: hicolor-icon-theme Requires: logrotate %description The Jamulus software enables musicians to perform real-time jam sessions over the Internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client software, mixes the audio data and sends the mix back to each client. %prep %autosetup -n %{name}-%{tarball_version} rm -rf android libs mac tools windows %build %qmake_qt5 \ PREFIX=%{_prefix} \ CONFIG+=noupcasename \ CONFIG+=opus_shared_lib \ CONFIG+=disable_version_check \ Jamulus.pro %make_build %install %make_install INSTALL_ROOT=%{buildroot} # generate a manpage help2man -N -n "%{summary}" %{buildroot}%{_bindir}/%{name} > %{name}.1 install -D -m 0644 %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 # validate .desktop file desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop # create several icons for s in 16 24 32 48; do mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps convert -strip -resize ${s}x${s} distributions/%{name}.png \ %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png done install -D -m 0644 \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png \ %{buildroot}%{_datadir}/pixmaps/%{name}.png # install the systemd service file and log folder install -D -m 0644 \ distributions/%{name}-server.service \ %{buildroot}%{_unitdir}/%{name}-server.service mkdir -p %{buildroot}%{_localstatedir}/log/%{name} install -D -m 0644 \ %{SOURCE1} \ %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %post %systemd_post %{name}-server.service %preun %systemd_preun %{name}-server.service %postun %systemd_postun_with_restart %{name}-server.service %files %doc README.md ChangeLog %license COPYING %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/pixmaps/%{name}.png %{_unitdir}/%{name}-server.service %dir %{_localstatedir}/log/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %changelog * Tue Oct 27 2020 Iñaki Úcar - 3.6.0-1 - Initial packaging for Fedora