improvements to uxplay.spec RPM spec file

This commit is contained in:
F. Duncanh
2023-07-24 04:05:36 -04:00
parent fa7d427358
commit 188b5a7ff1

View File

@@ -2,7 +2,7 @@ Name: uxplay
Version: 1.65.3 Version: 1.65.3
Release: 1%{?dist} Release: 1%{?dist}
%define gittag v%{version} %global gittag v%{version}
Summary: AirPlay-Mirror and AirPlay-Audio server Summary: AirPlay-Mirror and AirPlay-Audio server
License: GPLv3+ License: GPLv3+
@@ -25,40 +25,67 @@ BuildRequires: libplist-devel >= 2.0
BuildRequires: avahi-compat-libdns_sd-devel BuildRequires: avahi-compat-libdns_sd-devel
BuildRequires: gstreamer1-devel BuildRequires: gstreamer1-devel
BuildRequires: gstreamer1-plugins-base-devel BuildRequires: gstreamer1-plugins-base-devel
Requires: openssl-libs >= 3.0
Requires: libplist >= 2.0
Requires: gstreamer1-plugins-base Requires: gstreamer1-plugins-base
Requires: gstreamer1-plugins-good Requires: gstreamer1-plugins-good
Requires: gstreamer1-plugins-bad-free Requires: gstreamer1-plugins-bad-free
Requires: gstreamer1-libav Requires: gstreamer1-libav
%endif %define cmake_builddir redhat-linux-build
#Mageia
%if %{defined mkrel}
BuildRequires: pkgconf
BuildRequires: openssl-devel >= 3.0
BuildRequires: libplist-devel >= 2.0
BuildRequires: avahi-compat-libdns_sd-devel
BuildRequires: gstreamer1.0-devel
BuildRequires: gstreamer1.0-plugins-base-devel
Requires: gstreamer1.0-plugins-base
Requires: gstreamer1.0-plugins-good
Requires: gstreamer1.0-plugins-bad
Requires: gstreamer1.0-libav
%endif %endif
#SUSE #SUSE
%if %{defined suse_version} %if "%{_host_vendor}" == "suse"
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: libopenssl-3-devel BuildRequires: libopenssl-3-devel
BuildRequires: libplist-2_0-devel BuildRequires: libplist-2_0-devel
BuildRequires: avahi-compat-mDNSResponder-devel BuildRequires: avahi-compat-mDNSResponder-devel
BuildRequires: gstreamer-devel BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel BuildRequires: gstreamer-plugins-base-devel
Requires: libopenssl3
Requires: libplist-2_0-3
Requires: gstreamer-plugins-base Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good Requires: gstreamer-plugins-good
Requires: gstreamer-plugins-bad Requires: gstreamer-plugins-bad
Requires: gstreamer-plugins-libav Requires: gstreamer-plugins-libav
%endif %endif
#Mageia, OpenMandriva, pclinuxos (Mandrake descendents)
%if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva"
%if "%{_host_vendor}" == "mandriva"
# "mandriva" is pclinuxos.
# as of 07/2023, pclinuxos does not seem to supply openssl >= 3.0
# Note that UxPlay does not have a "GPL exception" allowing it to be
# distributed in binary form when linked to openssl < 3.0, unless
# openssl < 3.0 can be regarded as a "system library".
BuildRequires: pkgconfig
BuildRequires: %{mklibname openssl-devel} >= 1.1.1
Requires: %{mklibname openssl1.1.0}
%else
BuildRequires: pkgconf
BuildRequires: %{mklibname openssl-devel} >= 3.0
%if %{defined omvver}
Requires: openssl >= 3.0
%else
Requires: %{mklibname openssl3}
%endif
%endif
BuildRequires: %{mklibname plist-devel} >= 2.0
Requires: %{mklibname plist2.0_3}
BuildRequires: %{mklibname avahi-compat-libdns_sd-devel}
%if %{defined omvver}
BuildRequires: %{mklibname gstreamer-devel}
BuildRequires: %{mklibname gst-plugins-base1.0-devel}
%else
BuildRequires: %{mklibname gstreamer1.0-devel}
BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel}
%endif
Requires: gstreamer1.0-plugins-base
Requires: gstreamer1.0-plugins-good
Requires: gstreamer1.0-plugins-bad
Requires: gstreamer1.0-libav
%endif
%description %description
An AirPlay2 Mirror and AirPlay2 Audio (but not Video) server that provides An AirPlay2 Mirror and AirPlay2 Audio (but not Video) server that provides
screen-mirroring (with audio) of iOS/MacOS clients in a display window on screen-mirroring (with audio) of iOS/MacOS clients in a display window on
@@ -71,14 +98,26 @@ server in non-mirror mode
%autosetup -n UxPlay-%{version} %autosetup -n UxPlay-%{version}
%cmake -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} %cmake -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name}
%cmake_build
%if %{defined suse_version} %build
#suse macro cmake_install installs from _topdir/build (misses docs in _topdir)
cd .. %if %{defined cmake_builddir}
cd %{cmake_builddir}
%else
cd build
%endif %endif
%cmake_install %make_build
%install
%if %{defined cmake_builddir}
cd %{cmake_builddir}
%else
cd build
%endif
%make_install
%files %files
%{_bindir}/uxplay %{_bindir}/uxplay
@@ -93,9 +132,8 @@ cd ..
%{_docdir}/%{name}/LICENSE %{_docdir}/%{name}/LICENSE
%{_docdir}/%{name}/llhttp/LICENSE-MIT %{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog %changelog
* Thu Jul 20 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay> * Wed Jul 26 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay>
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
Leap 15.5, Mageia 9. Leap 15.5, Mageia 9, OpenMandriva ROME, pclinuxos
- -