add RPM spec file, document it in README; 1.65.1 release

This commit is contained in:
F. Duncanh
2023-07-21 18:54:11 -04:00
parent b85afa44e6
commit 732d78813b
4 changed files with 243 additions and 41 deletions

View File

@@ -42,6 +42,23 @@ alt="Current Packaging status" /></a>.</p>
<code>sudo apt install uxplay</code>”; on FreeBSD with
<code>sudo pkg install uxplay</code>”. Also available on Arch-based
systems through AUR.</p></li>
<li><p><strong>NEW</strong>: while no RPM-based distributions have yet
packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now
provided with recent <a
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
“Assets”), and can also be found in the UxPlay source top directory. To
build a RPM package, install rpmdevtools, create a rpmbuild tree with
<code>rpmdev-setuptree</code>”, and copy uxplay.spec into
<code>~/rpmbuild/SPECS</code>. In that directory, run
<code>rpmdev-spectool -g uxplay.spec</code>” to download the
corresponding source file <code>uxplay-*.tar.gz</code>, which should
then be moved into <code>~/rpmbuild/SOURCES</code>; then run
<code>rpmbuild -ba uxplay.spec</code>” (you will need to install any
required dependencies this reports). This should create an installable
uxplay RPM package in a subdirectory of <code>~/rpmbuild/RPMS</code>.
(<strong>uxplay.spec</strong> is tested on Fedora 38, Rocky Linux 9.2,
OpenSUSE Leap 15.5, and Mageia 9; it can be easily modified to include
dependency lists for other RPM-based distributions.)</p></li>
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
network services needed by UxPlay are usually provided by Avahi:
<strong>if there is a firewall on the server that will host UxPlay, make
@@ -85,11 +102,11 @@ href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p>
Debian (10 “Buster”, 11 “Bullseye”, 12 “Bookworm”), Ubuntu (20.04 LTS,
22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!_OS 22.04
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD
13.2, Windows 10 and 11 (64 bit).</p>
Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
FreeBSD 13.2, Windows 10 and 11 (64 bit).</p>
<p>On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye)
(32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
(without hardware video decoding) on openSUSE 15.4. Also tested on
(without hardware video decoding) on openSUSE 15.5. Also tested on
Raspberry Pi 3 model B+.</p>
<p>Its main use is to act like an AppleTV for screen-mirroring (with
audio) of iOS/iPadOS/macOS clients (iPhone, iPod Touch, iPad, Mac
@@ -293,6 +310,10 @@ build process, if you wish to test before installing (in which case the
GStreamer plugins must first be installed).</p>
<h3 id="building-on-non-debian-linux-and-bsd">Building on non-Debian
Linux and *BSD</h3>
<p><strong>For those with RPM-based distributions, a RPM spec file
uxplay.spec is also available for building a rpm package with
rpmbuild</strong> (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
OpenSUSE 15.5, and Mageia 9; see “Packaging Status” section)</p>
<ul>
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
Linux or Alma Linux):</strong> (sudo dnf install, or sudo yum install)
@@ -300,6 +321,8 @@ openssl-devel libplist-devel avahi-compat-libdns_sd-devel
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
repository, called “PowerTools” by clones)</em></p></li>
<li><p><strong>Mageia:</strong> Same as Red Hat, except “gstreamer1-”
becomes “gstreamer1.0-”.</p></li>
<li><p><strong>openSUSE:</strong> (sudo zypper install)
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
(formerly libplist-devel) avahi-compat-mDNSResponder-devel
@@ -360,6 +383,12 @@ does not provide: check with “<code>rpm -qi ffmpeg-libs</code>” that it
lists “Packager” as RPM Fusion; if this is not installed, uxplay will
fail to start, with error: <strong>no element “avdec_aac”</strong>
]</em>.</p></li>
<li><p><strong>Mageia:</strong> (sudo dnf install, or sudo yum install)
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for
Intel/AMD graphics). <em>Install ffmpeg from the “tainted” repository
(so gstreamer-1.0-libav can provide the required plugin avdec_aac),
which also provides a more complete
gstreamer1.0-plugins-bad.</em></p></li>
<li><p><strong>openSUSE:</strong> (sudo zypper install)
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
for Intel/AMD graphics). <em>In some cases, you may need to use
@@ -1223,20 +1252,22 @@ gstreamer plugin libav not found</strong>” message that kept recurring
was to clear the users gstreamer cache.</p>
<p>If it fails to start with an error like
<code>no element "avdec_aac"</code> this is because even though
gstreamer-libav is installed. it is incomplete because some plugins are
missing: “<code>gst-inspect-1.0 | grep avdec_aac</code> will show if
avdec_aac is available. Some distributions (RedHat, SUSE, etc) provide
incomplete versions of libav because of patent issues with codecs used
by certain plugins. In those cases there will be some “extra package”
provider like <a href="https://rpmfusion.org">RPM fusion</a> (RedHat) or
<a href="http://packman.links2linux.org/">packman</a> (SUSE) where you
can get complete packages (your distribution will usually provide
instructions for this). The packages needed may be “libav*” or “ffmpeg*”
packages: the GStreamer libav plugin package does not contain any codecs
itself, it just provides a way for GStreamer to use ffmpeg/libav codec
libraries which must be installed separately. For similar reasons,
distributions may ship incomplete packages of GStreamer “plugins-bad”,
which is where “license-problematical” plugins go.</p>
gstreamer-libav is installed. it is incomplete because some plugin
features are missing: “<code>gst-inspect-1.0 | grep avdec_aac</code>
will show if avdec_aac is available. Unlike other GStreamer plugins, the
libav plugin is a front end to FFmpeg codecs which provide avdec_*. Some
distributions (RedHat, SUSE, etc) provide incomplete versions of FFmpeg
because of patent issues with codecs used by certain plugins. In those
cases there will be some “extra package” provider like <a
href="https://rpmfusion.org">RPM fusion</a> (RedHat), <a
href="http://packman.links2linux.org/">packman</a> (SUSE) where you can
get complete packages (your distribution will usually provide
instructions for this, Mageia puts them in an optional “tainted” repo).
The packages needed may be “ffmpeg*” or “libav*” packages: the GStreamer
libav plugin package does not contain any codecs itself, it just
provides a way for GStreamer to use ffmpeg/libav codec libraries which
must be installed separately. For similar reasons, distributions may
ship incomplete packages of GStreamer “plugins-bad”.</p>
<p>To troubleshoot GStreamer execute “export GST_DEBUG=2” to set the
GStreamer debug-level environment-variable in the terminal where you
will run uxplay, so that you see warning and error messages; see <a
@@ -1320,6 +1351,11 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen,
introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what UxPlay claims to be.</p>
<h1 id="changelog">Changelog</h1>
<p>1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required
gstreamer libav feature “avdec_aac” is missing: (this occurs in
RPM-based distributions that ship an incomplete FFmpeg for Patent or
License reasons, and rely on users installing an externally-supplied
complete FFmpeg).</p>
<p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
allow faster connections with clients (thanks to <span class="citation"
data-cites="shuax">@shuax</span> #176 for this discovery); to revert,

View File

@@ -30,6 +30,15 @@
* Install uxplay on Debian-based Linux systems with "`sudo apt install uxplay`"; on FreeBSD with "``sudo pkg install uxplay``". Also
available on Arch-based systems through AUR.
* **NEW**: while no RPM-based distributions have yet packaged UxPlay, a RPM "specfile" **uxplay.spec** is now provided with recent
[releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory. To
build a RPM package, install rpmdevtools, create a rpmbuild tree with "`rpmdev-setuptree`", and copy uxplay.spec into ``~/rpmbuild/SPECS``.
In that directory, run "`rpmdev-spectool -g uxplay.spec`" to download the corresponding source file `uxplay-*.tar.gz`, which should then be
moved into ``~/rpmbuild/SOURCES``; then run "```rpmbuild -ba uxplay.spec```" (you will need to install
any required dependencies this reports). This should create an installable uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, and Mageia 9; it can be easily modified to include dependency
lists for other RPM-based distributions.)
* On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network services needed by UxPlay are usually provided by Avahi: **if
there is a firewall on the server that will host UxPlay, make sure the default network port for mDNS queries (UDP 5353) is open**. (Uxplay
can work without this port by using only the host's loopback interface, but its visibility to clients will be
@@ -61,11 +70,11 @@ main [UxPlay site](https://github.com/FDH2/UxPlay)).
UxPlay is tested on a number of systems, including (among others) Debian (10 "Buster", 11 "Bullseye", 12 "Bookworm"),
Ubuntu (20.04 LTS, 22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!\_OS 22.04 (NVIDIA edition)), Red Hat and clones (Fedora 38,
Rocky Linux 9.2), openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2),
Rocky Linux 9.2), Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
FreeBSD 13.2, Windows 10 and 11 (64 bit).
On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02,
and (without hardware video decoding) on openSUSE 15.4. Also tested on Raspberry Pi 3 model B+.
and (without hardware video decoding) on openSUSE 15.5. Also tested on Raspberry Pi 3 model B+.
Its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/iPadOS/macOS clients
(iPhone, iPod Touch, iPad, Mac computers) on the server display
@@ -243,12 +252,18 @@ the GStreamer plugins must first be installed).
### Building on non-Debian Linux and \*BSD
**For those with RPM-based distributions, a RPM spec file uxplay.spec is also available for
building a rpm package with rpmbuild** (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
(sudo dnf install, or sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for fullscreen X11) _(some of these
may be in the "CodeReady" add-on repository, called "PowerTools" by clones)_
* **Mageia:**
Same as Red Hat, except "gstreamer1-" becomes "gstreamer1.0-".
* **openSUSE:**
(sudo zypper install) libopenssl-3-devel (formerly
@@ -299,6 +314,11 @@ patent-encumbered code which RedHat does not provide: check with "`rpm -qi ffmpe
"Packager" as RPM Fusion; if this is not installed, uxplay will fail to start, with
error: **no element "avdec_aac"** ]_.
* **Mageia:**
(sudo dnf install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
for Intel/AMD graphics). _Install ffmpeg from the "tainted" repository (so gstreamer-1.0-libav can provide
the required plugin avdec_aac), which also provides a more complete gstreamer1.0-plugins-bad._
* **openSUSE:**
(sudo zypper install)
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
@@ -981,14 +1001,15 @@ That user found that a solution to a "**Required gstreamer plugin 'libav' not fo
cache.
If it fails to start with an error like '`no element "avdec_aac"`' this is
because even though gstreamer-libav is installed. it is incomplete because some plugins are missing: "`gst-inspect-1.0 | grep avdec_aac`" will
show if avdec_aac is available. Some distributions (RedHat, SUSE, etc) provide incomplete versions of libav because of patent issues with codecs used by
certain plugins. In those cases there will be some "extra package" provider
like [RPM fusion](https://rpmfusion.org) (RedHat) or [packman](http://packman.links2linux.org/) (SUSE) where you can get complete packages (your
distribution will usually provide instructions for this). The packages
needed may be "libav\*" or "ffmpeg\*" packages: the GStreamer libav plugin package does not contain any codecs itself, it just provides a way
because even though gstreamer-libav is installed. it is incomplete because some plugin features are missing: "`gst-inspect-1.0 | grep avdec_aac`" will
show if avdec_aac is available. Unlike other GStreamer plugins, the libav plugin is a front end to FFmpeg codecs which provide avdec_*.
Some distributions (RedHat, SUSE, etc) provide incomplete versions of FFmpeg because of patent issues with codecs used by
certain plugins. In those cases there will be some "extra package" provider like [RPM fusion](https://rpmfusion.org) (RedHat),
[packman](http://packman.links2linux.org/) (SUSE) where you can get complete packages (your
distribution will usually provide instructions for this, Mageia puts them in an optional "tainted" repo). The packages
needed may be "ffmpeg\*" or "libav\*" packages: the GStreamer libav plugin package does not contain any codecs itself, it just provides a way
for GStreamer to use ffmpeg/libav codec libraries which must be installed separately. For similar reasons, distributions may ship incomplete packages
of GStreamer "plugins-bad", which is where "license-problematical" plugins go.
of GStreamer "plugins-bad".
To troubleshoot GStreamer execute "export GST_DEBUG=2"
to set the GStreamer debug-level environment-variable in the terminal
@@ -1058,8 +1079,11 @@ sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running
tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be.
# Changelog
1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required gstreamer libav feature "avdec_aac" is
missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent
or License reasons, and rely on users installing an externally-supplied complete FFmpeg).
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to allow faster connections with clients
(thanks to @shuax #176 for this discovery); to revert, uncomment a line in lib/dnssdint.h.
Disconnect from audio device when connection closes, to not block its use by other apps if

View File

@@ -37,6 +37,23 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
"`sudo pkg install uxplay`". Also available on Arch-based systems
through AUR.
- **NEW**: while no RPM-based distributions have yet packaged UxPlay,
a RPM "specfile" **uxplay.spec** is now provided with recent
[releases](https://github.com/FDH2/UxPlay/releases) (see their
"Assets"), and can also be found in the UxPlay source top directory.
To build a RPM package, install rpmdevtools, create a rpmbuild tree
with "`rpmdev-setuptree`", and copy uxplay.spec into
`~/rpmbuild/SPECS`. In that directory, run
"`rpmdev-spectool -g uxplay.spec`" to download the corresponding
source file `uxplay-*.tar.gz`, which should then be moved into
`~/rpmbuild/SOURCES`; then run "`rpmbuild -ba uxplay.spec`" (you
will need to install any required dependencies this reports). This
should create an installable uxplay RPM package in a subdirectory of
`~/rpmbuild/RPMS`. (**uxplay.spec** is tested on Fedora 38, Rocky
Linux 9.2, OpenSUSE Leap 15.5, and Mageia 9; it can be easily
modified to include dependency lists for other RPM-based
distributions.)
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
services needed by UxPlay are usually provided by Avahi: **if there
is a firewall on the server that will host UxPlay, make sure the
@@ -80,12 +97,12 @@ UxPlay is tested on a number of systems, including (among others) Debian
(10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04
LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!\_OS 22.04
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
openSUSE 15.4, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD
13.2, Windows 10 and 11 (64 bit).
Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
FreeBSD 13.2, Windows 10 and 11 (64 bit).
On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye)
(32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
(without hardware video decoding) on openSUSE 15.4. Also tested on
(without hardware video decoding) on openSUSE 15.5. Also tested on
Raspberry Pi 3 model B+.
Its main use is to act like an AppleTV for screen-mirroring (with audio)
@@ -289,6 +306,11 @@ GStreamer plugins must first be installed).
### Building on non-Debian Linux and \*BSD
**For those with RPM-based distributions, a RPM spec file uxplay.spec is
also available for building a rpm package with rpmbuild** (tested on
Fedora 38, Rocky Linux 9.2 (RHEL clone), OpenSUSE 15.5, and Mageia 9;
see "Packaging Status" section)
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel
libplist-devel avahi-compat-libdns_sd-devel gstreamer1-devel
@@ -296,6 +318,9 @@ GStreamer plugins must first be installed).
*(some of these may be in the "CodeReady" add-on repository, called
"PowerTools" by clones)*
- **Mageia:** Same as Red Hat, except "gstreamer1-" becomes
"gstreamer1.0-".
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
libopenssl-devel) libplist-2_0-devel (formerly libplist-devel)
avahi-compat-mDNSResponder-devel gstreamer-devel
@@ -349,6 +374,13 @@ installed, depending on how your audio is set up.
as RPM Fusion; if this is not installed, uxplay will fail to start,
with error: **no element "avdec_aac"** \]*.
- **Mageia:** (sudo dnf install, or sudo yum install)
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
for Intel/AMD graphics). *Install ffmpeg from the "tainted"
repository (so gstreamer-1.0-libav can provide the required plugin
avdec_aac), which also provides a more complete
gstreamer1.0-plugins-bad.*
- **openSUSE:** (sudo zypper install) gstreamer-plugins-libav
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
graphics). *In some cases, you may need to use gstreamer or libav\*
@@ -1246,19 +1278,22 @@ cache.
If it fails to start with an error like '`no element "avdec_aac"`' this
is because even though gstreamer-libav is installed. it is incomplete
because some plugins are missing: "`gst-inspect-1.0 | grep avdec_aac`"
will show if avdec_aac is available. Some distributions (RedHat, SUSE,
etc) provide incomplete versions of libav because of patent issues with
codecs used by certain plugins. In those cases there will be some "extra
package" provider like [RPM fusion](https://rpmfusion.org) (RedHat) or
because some plugin features are missing:
"`gst-inspect-1.0 | grep avdec_aac`" will show if avdec_aac is
available. Unlike other GStreamer plugins, the libav plugin is a front
end to FFmpeg codecs which provide avdec\_\*. Some distributions
(RedHat, SUSE, etc) provide incomplete versions of FFmpeg because of
patent issues with codecs used by certain plugins. In those cases there
will be some "extra package" provider like [RPM
fusion](https://rpmfusion.org) (RedHat),
[packman](http://packman.links2linux.org/) (SUSE) where you can get
complete packages (your distribution will usually provide instructions
for this). The packages needed may be "libav\*" or "ffmpeg\*" packages:
the GStreamer libav plugin package does not contain any codecs itself,
it just provides a way for GStreamer to use ffmpeg/libav codec libraries
which must be installed separately. For similar reasons, distributions
may ship incomplete packages of GStreamer "plugins-bad", which is where
"license-problematical" plugins go.
for this, Mageia puts them in an optional "tainted" repo). The packages
needed may be "ffmpeg\*" or "libav\*" packages: the GStreamer libav
plugin package does not contain any codecs itself, it just provides a
way for GStreamer to use ffmpeg/libav codec libraries which must be
installed separately. For similar reasons, distributions may ship
incomplete packages of GStreamer "plugins-bad".
To troubleshoot GStreamer execute "export GST_DEBUG=2" to set the
GStreamer debug-level environment-variable in the terminal where you
@@ -1351,6 +1386,12 @@ what UxPlay claims to be.
# Changelog
1.65.1 2023-07-22 Add RPM spec file; add graceful exit if required
gstreamer libav feature "avdec_aac" is missing: (this occurs in
RPM-based distributions that ship an incomplete FFmpeg for Patent or
License reasons, and rely on users installing an externally-supplied
complete FFmpeg).
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
allow faster connections with clients (thanks to @shuax #176 for this
discovery); to revert, uncomment a line in lib/dnssdint.h. Disconnect

101
uxplay.spec Normal file
View File

@@ -0,0 +1,101 @@
Name: uxplay
Version: 1.65.1
Release: 1%{?dist}
%define gittag v%{version}
Summary: AirPlay-Mirror and AirPlay-Audio server
License: GPLv3+
URL: https://github.com/FDH2/UxPlay
Source0: https://github.com/FDH2/UxPlay/archive/%{gittag}/%{name}-%{version}.tar.gz
Packager: UxPlay maintainer
BuildRequires: cmake >= 3.4.1
BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc-c++
Requires: avahi
#RedHat and clones
%if %{defined fedora} || %{defined rhel}
BuildRequires: pkgconf
BuildRequires: openssl-devel >= 3.0
BuildRequires: libplist-devel >= 2.0
BuildRequires: avahi-compat-libdns_sd-devel
BuildRequires: gstreamer1-devel
BuildRequires: gstreamer1-plugins-base-devel
Requires: gstreamer1-plugins-base
Requires: gstreamer1-plugins-good
Requires: gstreamer1-plugins-bad-free
Requires: gstreamer1-libav
%endif
#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
#SUSE
%if %{defined suse_version}
BuildRequires: pkg-config
BuildRequires: libopenssl-3-devel
BuildRequires: libplist-2_0-devel
BuildRequires: avahi-compat-mDNSResponder-devel
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good
Requires: gstreamer-plugins-bad
Requires: gstreamer-plugins-libav
%endif
%description
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
the server host (which can be shared using a screen-sharing application);
Apple Lossless Audio (ALAC) (e.g.,iTunes) can be streamed from client to
server in non-mirror mode
%prep
%autosetup -n UxPlay-%{version}
%cmake -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name}
%cmake_build
%if %{defined suse_version}
#suse macro cmake_install installs from _topdir/build (misses docs in _topdir)
cd ..
%endif
%cmake_install
%files
%{_bindir}/uxplay
%{_mandir}/man1/uxplay.1*
%doc
%{_docdir}/%{name}/README.txt
%{_docdir}/%{name}/README.html
%{_docdir}/%{name}/README.md
%license
%{_docdir}/%{name}/LICENSE
%{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog
* Thu Jul 20 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay>
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
Leap 15.5, Mageia 9.
-