informational/README updates; adjust uxplay.spec for OpenMandriva

This commit is contained in:
F. Duncanh
2023-08-23 13:50:20 -04:00
parent 467533e66b
commit 1df7a5270b
5 changed files with 172 additions and 159 deletions

View File

@@ -46,21 +46,21 @@ systems through AUR.</p></li>
packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now
provided with recent <a provided with recent <a
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
“Assets”), and can also be found in the UxPlay source top directory. To “Assets”), and can also be found in the UxPlay source top directory.
build a RPM package, install rpmdevtools, create a rpmbuild tree with This can be used to build an installable RPM package. First-time RPM
<code>rpmdev-setuptree</code>”, and copy uxplay.spec into builders should first install the rpm-build and rpmdevtools packages,
<code>~/rpmbuild/SPECS</code>. In that directory, run then create the rpmbuild tree with “<code>rpmdev-setuptree</code>. Then
<code>spectool -g uxplay.spec</code>” (spectool may also be called download and copy uxplay.spec into <code>~/rpmbuild/SPECS</code>. In
“rpmdev-spectool”) to download the corresponding source file that directory, run “<code>rpmdev-spectool -g -R uxplay.spec</code>” to
<code>uxplay-*.tar.gz</code>, which should then be moved into download the corresponding source file <code>uxplay-*.tar.gz</code> into
<code>~/rpmbuild/SOURCES</code>; then run <code>~/rpmbuild/SOURCES</code> (“rpmdev-spectool” may also be just
<code>rpmbuild -ba uxplay.spec</code> (you will need to install any called “spectool”); then run <code>rpmbuild -ba uxplay.spec</code>
required dependencies this reports). This should create an installable (you will need to install any required dependencies this reports). This
uxplay RPM package in a subdirectory of <code>~/rpmbuild/RPMS</code>. should create the uxplay RPM package in a subdirectory of
(<strong>uxplay.spec</strong> is tested on Fedora 38, Rocky Linux 9.2, <code>~/rpmbuild/RPMS</code>. (<strong>uxplay.spec</strong> is tested on
OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it can be easily Fedora 38, Rocky Linux 9.2, openSUSE Leap 15.5, Mageia 9, OpenMandriva,
modified to include dependency lists for other RPM-based PCLinuxOS; it can be easily modified to include dependency lists for
distributions.)</p></li> other RPM-based distributions.)</p></li>
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local <li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
network services needed by UxPlay are usually provided by Avahi: network services needed by UxPlay are usually provided by Avahi:
<strong>if there is a firewall on the server that will host UxPlay, make <strong>if there is a firewall on the server that will host UxPlay, make
@@ -102,10 +102,11 @@ posts updates pulled from the new main <a
href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p> href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p>
<p>UxPlay is tested on a number of systems, including (among others) <p>UxPlay is tested on a number of systems, including (among others)
Debian (10 “Buster”, 11 “Bullseye”, 12 “Bookworm”), Ubuntu (20.04 LTS, 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 22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!_OS), Red Hat
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2), and clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
Mageia 9, OpenMandriva “ROME”, openSUSE 15.5, Arch Linux 23.05, macOS OpenMandriva “ROME”, PCLinuxOS, Arch Linux, Manjaro, and should run on
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).</p> any Linux system. Also tested on 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) <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 (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
(without hardware video decoding) on openSUSE 15.5. Also tested on (without hardware video decoding) on openSUSE 15.5. Also tested on
@@ -314,8 +315,9 @@ GStreamer plugins must first be installed).</p>
Linux and *BSD</h3> Linux and *BSD</h3>
<p><strong>For those with RPM-based distributions, a RPM spec file <p><strong>For those with RPM-based distributions, a RPM spec file
uxplay.spec is also available for building a rpm package with uxplay.spec is also available for building a rpm package with
rpmbuild</strong> (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone), rpmbuild</strong>. See <a
OpenSUSE 15.5, and Mageia 9; see “Packaging Status” section)</p> href="#packaging-status-linux-and-bsd-distributions">“Packaging
Status”</a> section above.</p>
<ul> <ul>
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky <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) Linux or Alma Linux):</strong> (sudo dnf install, or sudo yum install)
@@ -323,11 +325,11 @@ openssl-devel libplist-devel avahi-compat-libdns_sd-devel
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
repository, called “PowerTools” by clones)</em></p></li> repository, called “PowerTools” by clones)</em></p></li>
<li><p><strong>Mageia, pclinuxos, OpenMandriva:</strong> Same as Red <li><p><strong>Mageia, PCLinuxOS, OpenMandriva:</strong> Same as Red
Hat, except for name changes: (Mageia) “gstreamer1.0-devel”, Hat, except for name changes: (Mageia) “gstreamer1.0-devel”,
“gstreamer-plugins-base1.0-devel”; (OpenMandriva) “libopenssl-devel”, “gstreamer-plugins-base1.0-devel”; (OpenMandriva) “libopenssl-devel”,
“gstreamer-devel”, “libgst-plugins-base1.0-devel”. pclinuxos: same as “gstreamer-devel”, “libgst-plugins-base1.0-devel”. PCLinuxOS: same as
Mageia, but uses synaptic (or apt) as its package manager</p></li> Mageia, but uses synaptic (or apt) as its package manager.</p></li>
<li><p><strong>openSUSE:</strong> (sudo zypper install) <li><p><strong>openSUSE:</strong> (sudo zypper install)
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
(formerly libplist-devel) avahi-compat-mDNSResponder-devel (formerly libplist-devel) avahi-compat-mDNSResponder-devel
@@ -380,32 +382,30 @@ is not provided in the official distribution: get it from community
repositories for those distributions.</p> repositories for those distributions.</p>
<ul> <ul>
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky <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) Linux or Alma Linux):</strong> Install gstreamer1-libav
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for Intel/AMD graphics).
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
gstreamer1-plugin-libav. <strong>To get avdec_aac, install packages from <strong>To get avdec_aac, install packages from <a
<a href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get
ffmpeg-libs from rpmfusion; on RHEL or clones, but not recent Fedora, ffmpeg-libs from rpmfusion; on RHEL or clones, but not recent Fedora,
also get gstreamer1-libav from there).</p></li> also get gstreamer1-libav from there).</p></li>
<li><p><strong>Mageia, pclinuxos, OpenMandriva:</strong> (sudo dnf <li><p><strong>Mageia, PCLinuxOS, OpenMandriva:</strong> Install
install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD graphics). Intel/AMD graphics). <strong>On Mageia, to get avdec_aac, install ffmpeg
<strong>On Mageia, to get avdec_aac, install ffmpeg from the “tainted” from the “tainted” repository</strong>, (which also provides a more
repository</strong>, (which also provides a more complete complete gstreamer1.0-plugins-bad).</p></li>
gstreamer1.0-plugins-bad). pclinuxos: same as Mageia, but uses synaptic <li><p><strong>openSUSE:</strong> Install gstreamer-plugins-libav
(or apt) as its package manager.</p></li> gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
<li><p><strong>openSUSE:</strong> (sudo zypper install) graphics). <strong>To get avdec_aac, install libav* packages for
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi openSUSE from <a
for Intel/AMD graphics). <strong>To get avdec_aac, install libav*
packages for openSUSE from <a
href="https://ftp.gwdg.de/pub/linux/misc/packman/suse/">Packman</a> href="https://ftp.gwdg.de/pub/linux/misc/packman/suse/">Packman</a>
“Essentials”</strong>; recommendation: after adding the Packman “Essentials”</strong>; recommendation: after adding the Packman
repository, use the option in YaST Software management to switch all repository, use the option in YaST Software management to switch all
system packages for multimedia to Packman).</p></li> system packages for multimedia to Packman).</p></li>
<li><p><strong>Arch Linux</strong> (sudo pacman -Syu) gst-plugins-good <li><p><strong>Arch Linux</strong> Install gst-plugins-good
gst-plugins-bad gst-libav (+ gstreamer-vaapi for Intel/AMD gst-plugins-bad gst-libav (+ gstreamer-vaapi for Intel/AMD
graphics).</p></li> graphics).</p></li>
<li><p><strong>FreeBSD:</strong> (sudo pkg install) gstreamer1-libav, <li><p><strong>FreeBSD:</strong> Install gstreamer1-libav,
gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk,
gl, vulkan, pulse, v4l2, …), (+ gstreamer1-vaapi for Intel/AMD gl, vulkan, pulse, v4l2, …), (+ gstreamer1-vaapi for Intel/AMD
graphics).</p></li> graphics).</p></li>
@@ -729,14 +729,13 @@ compiler.</h2>
</ul> </ul>
<ol type="1"> <ol type="1">
<li><p>Download and install <strong>Bonjour SDK for Windows <li><p>Download and install <strong>Bonjour SDK for Windows
v3.0</strong> from the official Apple site <a v3.0</strong>. You can download the SDK without any registration at <a
href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>. href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>,
(Apple makes you register as a developer to access it; if you do not or get it from the official Apple site <a
want to go through the registration process, you can download the SDK href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>
without any registration at <a (Apple makes you register as a developer to access it from their site).
href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>.)
This should install the Bonjour SDK as This should install the Bonjour SDK as
<code>C:\Program Files\Bonjour SDK</code></p></li> <code>C:\Program Files\Bonjour SDK</code>.</p></li>
<li><p>(This is for 64-bit Windows; a build for 32-bit Windows should be <li><p>(This is for 64-bit Windows; a build for 32-bit Windows should be
possible, but is not tested.) The unix-like MSYS2 build environment will possible, but is not tested.) The unix-like MSYS2 build environment will
be used: download and install MSYS2 from the official site <a be used: download and install MSYS2 from the official site <a
@@ -839,6 +838,13 @@ environment, in the Windows Terminal, with
<code>C:\msys64\mingw64\bin\uxplay</code>.</p> <code>C:\msys64\mingw64\bin\uxplay</code>.</p>
<h1 id="usage">Usage</h1> <h1 id="usage">Usage</h1>
<p>Options:</p> <p>Options:</p>
<ul>
<li>These can also be written (one option per line, without the initial
<code>-</code>” character) in the UxPlay startup file (either given by
environment variable <code>$UXPLAYRC</code>, or <code>~/.uxplayrc</code>
or <code>~/.config/uxplayrc</code>). Command line options supersede
options in the startup file.</li>
</ul>
<p><strong>-n server_name</strong> (Default: UxPlay); <p><strong>-n server_name</strong> (Default: UxPlay);
server_name@_hostname_ will be the name that appears offering AirPlay server_name@_hostname_ will be the name that appears offering AirPlay
services to your iPad, iPhone etc, where <em>hostname</em> is the name services to your iPad, iPhone etc, where <em>hostname</em> is the name
@@ -975,8 +981,8 @@ playing of streamed audio, but displays streamed video.</p>
in (decimal) seconds in Audio-only (ALAC), that is reported to the in (decimal) seconds in Audio-only (ALAC), that is reported to the
client. Values in the range [0.0, 10.0] seconds are allowed, and will be client. Values in the range [0.0, 10.0] seconds are allowed, and will be
converted to a whole number of microseconds. Default is 0.25 sec (250000 converted to a whole number of microseconds. Default is 0.25 sec (250000
usec). (This replaces the <code>-ao</code> option introduced in v1.62, usec). <em>(However, the client appears to ignore this reported latency,
as a workaround for a problem that is now fixed).</p> so this option seems non-functional.)</em></p>
<p><strong>-ca <em>filename</em></strong> provides a file (where <p><strong>-ca <em>filename</em></strong> provides a file (where
<em>filename</em> can include a full path) used for output of “cover <em>filename</em> can include a full path) used for output of “cover
art” (from Apple Music, <em>etc.</em>,) in audio-only ALAC mode. This art” (from Apple Music, <em>etc.</em>,) in audio-only ALAC mode. This
@@ -1360,11 +1366,12 @@ 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 introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what UxPlay claims to be.</p> what UxPlay claims to be.</p>
<h1 id="changelog">Changelog</h1> <h1 id="changelog">Changelog</h1>
<p>1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required <p>1.65.3 2023-07-23 Add RPM spec file; add warning if required
gstreamer libav feature “avdec_aac” is missing: (this occurs in gstreamer libav feature “avdec_aac” is missing: (this occurs in
RPM-based distributions that ship an incomplete FFmpeg for Patent or RPM-based distributions that ship an incomplete FFmpeg for Patent or
License reasons, and rely on users installing an externally-supplied License reasons, and rely on users installing an externally-supplied
complete FFmpeg).</p> complete FFmpeg). Mirror-mode airplay will now work without audio if
avdec_aac is missing.</p>
<p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to <p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
allow faster connections with clients (thanks to <span class="citation" allow faster connections with clients (thanks to <span class="citation"
data-cites="shuax">@shuax</span> #176 for this discovery); to revert, data-cites="shuax">@shuax</span> #176 for this discovery); to revert,

View File

@@ -31,12 +31,14 @@
available on Arch-based systems through AUR. 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 * **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 [releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory.
build a RPM package, install rpmdevtools, create a rpmbuild tree with "`rpmdev-setuptree`", and copy uxplay.spec into ``~/rpmbuild/SPECS``. This can be used to build an installable RPM package. First-time RPM builders should first install the rpm-build and rpmdevtools packages,
In that directory, run "`spectool -g uxplay.spec`" (spectool may also be called "rpmdev-spectool") to download the corresponding source file `uxplay-*.tar.gz`, which should then be then create the rpmbuild tree with "`rpmdev-setuptree`". Then download and
moved into ``~/rpmbuild/SOURCES``; then run "```rpmbuild -ba uxplay.spec```" (you will need to install copy uxplay.spec into ``~/rpmbuild/SPECS``. In that directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download the corresponding
any required dependencies this reports). This should create an installable uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`. source file `uxplay-*.tar.gz` into ``~/rpmbuild/SOURCES`` ("rpmdev-spectool" may also be just called "spectool"); then
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; run "```rpmbuild -ba uxplay.spec```" (you will need to install
any required dependencies this reports). This should create the uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, openSUSE Leap 15.5, Mageia 9, OpenMandriva, PCLinuxOS;
it can be easily modified to include dependency lists for other RPM-based distributions.) 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 * On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network services needed by UxPlay are usually provided by Avahi: **if
@@ -57,7 +59,6 @@ that accesses the firmware decoder in the Broadcom GPU)_.
* To (easily) compile the latest UxPlay from source, see the section [Getting UxPlay](#getting-uxplay). * To (easily) compile the latest UxPlay from source, see the section [Getting UxPlay](#getting-uxplay).
# Detailed description of UxPlay # Detailed description of UxPlay
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD. This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
It was initially developed by It was initially developed by
[antimof](http://github.com/antimof/Uxplay) using code [antimof](http://github.com/antimof/Uxplay) using code
@@ -69,9 +70,9 @@ development, but periodically posts updates pulled from the new
main [UxPlay site](https://github.com/FDH2/UxPlay)). 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"), 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, Ubuntu (20.04 LTS, 22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!\_OS), Red Hat and clones (Fedora 38,
Rocky Linux 9.2), Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2), Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9, OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on any Linux system.
FreeBSD 13.2, Windows 10 and 11 (64 bit). Also tested on 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, 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.5. 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+.
@@ -253,8 +254,7 @@ the GStreamer plugins must first be installed).
### Building on non-Debian Linux and \*BSD ### Building on non-Debian Linux and \*BSD
**For those with RPM-based distributions, a RPM spec file uxplay.spec is also available for **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), building a rpm package with rpmbuild**. See ["Packaging Status"](#packaging-status-linux-and-bsd-distributions) section above.
OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):** * **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
@@ -262,10 +262,10 @@ OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for fullscreen X11) _(some of these 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)_ may be in the "CodeReady" add-on repository, called "PowerTools" by clones)_
* **Mageia, pclinuxos, OpenMandriva:** * **Mageia, PCLinuxOS, OpenMandriva:**
Same as Red Hat, except for name changes: (Mageia) "gstreamer1.0-devel", "gstreamer-plugins-base1.0-devel"; Same as Red Hat, except for name changes: (Mageia) "gstreamer1.0-devel", "gstreamer-plugins-base1.0-devel";
(OpenMandriva) "libopenssl-devel", "gstreamer-devel", "libgst-plugins-base1.0-devel". pclinuxos: same as Mageia, (OpenMandriva) "libopenssl-devel", "gstreamer-devel", "libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia,
but uses synaptic (or apt) as its package manager but uses synaptic (or apt) as its package manager.
* **openSUSE:** * **openSUSE:**
(sudo zypper install) libopenssl-3-devel (formerly (sudo zypper install) libopenssl-3-devel (formerly
@@ -310,31 +310,29 @@ In some cases, because of patent issues,
the libav plugin feature **avdec_aac** needed for decoding AAC audio in mirror mode is not provided in the official distribution: the libav plugin feature **avdec_aac** needed for decoding AAC audio in mirror mode is not provided in the official distribution:
get it from community repositories for those distributions. get it from community repositories for those distributions.
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):** * **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
(sudo dnf install, or sudo yum install) gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi Install gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi
for Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav. for Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
**To get avdec_aac, install packages from [rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from rpmfusion; **To get avdec_aac, install packages from [rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from rpmfusion;
on RHEL or clones, but not recent Fedora, also get gstreamer1-libav from there). on RHEL or clones, but not recent Fedora, also get gstreamer1-libav from there).
* **Mageia, pclinuxos, OpenMandriva:** * **Mageia, PCLinuxOS, OpenMandriva:**
(sudo dnf install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi Install gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
for Intel/AMD graphics). **On Mageia, to get avdec_aac, install ffmpeg from the "tainted" repository**, for Intel/AMD graphics). **On Mageia, to get avdec_aac, install ffmpeg from the "tainted" repository**,
(which also provides a more complete gstreamer1.0-plugins-bad). pclinuxos: same as Mageia, but uses synaptic (which also provides a more complete gstreamer1.0-plugins-bad).
(or apt) as its package manager.
* **openSUSE:** * **openSUSE:**
(sudo zypper install) Install gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
for Intel/AMD graphics). **To get avdec_aac, install libav\* packages for openSUSE for Intel/AMD graphics). **To get avdec_aac, install libav\* packages for openSUSE
from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/) "Essentials"**; recommendation: after adding the from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/) "Essentials"**; recommendation: after adding the
Packman repository, use the option in YaST Software management to switch Packman repository, use the option in YaST Software management to switch
all system packages for multimedia to Packman). all system packages for multimedia to Packman).
* **Arch Linux** * **Arch Linux**
(sudo pacman -Syu) gst-plugins-good gst-plugins-bad gst-libav (+ gstreamer-vaapi Install gst-plugins-good gst-plugins-bad gst-libav (+ gstreamer-vaapi
for Intel/AMD graphics). for Intel/AMD graphics).
* **FreeBSD:** (sudo pkg install) gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* * **FreeBSD:** Install gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-*
(\* = core, good, bad, x, gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics). (\* = core, good, bad, x, gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics).
@@ -570,12 +568,10 @@ seems fragile against attempts to change the X11 window size, or to rotations th
* tested on Windows 10 and 11, 64-bit. * tested on Windows 10 and 11, 64-bit.
1. Download and install **Bonjour SDK for Windows v3.0** from the official Apple site 1. Download and install **Bonjour SDK for Windows v3.0**. You can download the SDK without any registration
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows). (Apple at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml), or get it from the official Apple
makes you register as a developer to access it; if you do not want to go through the registration process, you can download site [https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows) (Apple makes
the SDK without any registration at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).) you register as a developer to access it from their site). This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`.
This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`
2. (This is for 64-bit Windows; a build for 32-bit Windows should be possible, but is not tested.) The 2. (This is for 64-bit Windows; a build for 32-bit Windows should be possible, but is not tested.) The
unix-like MSYS2 build environment will be used: download and install MSYS2 from the official unix-like MSYS2 build environment will be used: download and install MSYS2 from the official
@@ -665,6 +661,9 @@ the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
Options: Options:
* These can also be written (one option per line, without the initial "`-`" character) in the UxPlay startup file (either given by
environment variable `$UXPLAYRC`, or ``~/.uxplayrc`` or ```~/.config/uxplayrc```). Command line options supersede options in the startup file.
**-n server_name** (Default: UxPlay); server_name@_hostname_ will be the name that appears offering **-n server_name** (Default: UxPlay); server_name@_hostname_ will be the name that appears offering
AirPlay services to your iPad, iPhone etc, where _hostname_ is the name of the server running uxplay. AirPlay services to your iPad, iPhone etc, where _hostname_ is the name of the server running uxplay.
This will also now be the name shown above the mirror display (X11) window. This will also now be the name shown above the mirror display (X11) window.
@@ -784,8 +783,7 @@ which will not work if a firewall is running.
**-al _x_** specifies an audio latency _x_ in (decimal) seconds in Audio-only (ALAC), that is reported to the client. Values **-al _x_** specifies an audio latency _x_ in (decimal) seconds in Audio-only (ALAC), that is reported to the client. Values
in the range [0.0, 10.0] seconds are allowed, and will be converted to a whole number of microseconds. Default in the range [0.0, 10.0] seconds are allowed, and will be converted to a whole number of microseconds. Default
is 0.25 sec (250000 usec). (This replaces the `-ao` option introduced in v1.62, as a workaround for a problem that is 0.25 sec (250000 usec). _(However, the client appears to ignore this reported latency, so this option seems non-functional.)_
is now fixed).
**-ca _filename_** provides a file (where _filename_ can include a full path) used for output of "cover art" **-ca _filename_** provides a file (where _filename_ can include a full path) used for output of "cover art"
(from Apple Music, _etc._,) in audio-only ALAC mode. This file is overwritten with the latest cover art as (from Apple Music, _etc._,) in audio-only ALAC mode. This file is overwritten with the latest cover art as
@@ -1084,9 +1082,10 @@ tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be.
# Changelog # Changelog
1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required gstreamer libav feature "avdec_aac" is 1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer libav feature "avdec_aac" is
missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent 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). or License reasons, and rely on users installing an externally-supplied complete FFmpeg).
Mirror-mode airplay will now work without audio if avdec_aac is missing.
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to allow faster connections with clients 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. (thanks to @shuax #176 for this discovery); to revert, uncomment a line in lib/dnssdint.h.

View File

@@ -41,19 +41,20 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
a RPM "specfile" **uxplay.spec** is now provided with recent a RPM "specfile" **uxplay.spec** is now provided with recent
[releases](https://github.com/FDH2/UxPlay/releases) (see their [releases](https://github.com/FDH2/UxPlay/releases) (see their
"Assets"), and can also be found in the UxPlay source top directory. "Assets"), and can also be found in the UxPlay source top directory.
To build a RPM package, install rpmdevtools, create a rpmbuild tree This can be used to build an installable RPM package. First-time RPM
with "`rpmdev-setuptree`", and copy uxplay.spec into builders should first install the rpm-build and rpmdevtools
`~/rpmbuild/SPECS`. In that directory, run packages, then create the rpmbuild tree with "`rpmdev-setuptree`".
"`spectool -g uxplay.spec`" (spectool may also be called Then download and copy uxplay.spec into `~/rpmbuild/SPECS`. In that
"rpmdev-spectool") to download the corresponding source file directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download
`uxplay-*.tar.gz`, which should then be moved into the corresponding source file `uxplay-*.tar.gz` into
`~/rpmbuild/SOURCES`; then run "`rpmbuild -ba uxplay.spec`" (you `~/rpmbuild/SOURCES` ("rpmdev-spectool" may also be just called
will need to install any required dependencies this reports). This "spectool"); then run "`rpmbuild -ba uxplay.spec`" (you will need to
should create an installable uxplay RPM package in a subdirectory of install any required dependencies this reports). This should create
`~/rpmbuild/RPMS`. (**uxplay.spec** is tested on Fedora 38, Rocky the uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it (**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, openSUSE
can be easily modified to include dependency lists for other Leap 15.5, Mageia 9, OpenMandriva, PCLinuxOS; it can be easily
RPM-based distributions.) modified to include dependency lists for other RPM-based
distributions.)
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network - On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
services needed by UxPlay are usually provided by Avahi: **if there services needed by UxPlay are usually provided by Avahi: **if there
@@ -96,10 +97,11 @@ pulled from the new main [UxPlay site](https://github.com/FDH2/UxPlay)).
UxPlay is tested on a number of systems, including (among others) Debian UxPlay is tested on a number of systems, including (among others) Debian
(10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04 (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 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!\_OS), Red Hat and
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2), clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit). any Linux system. Also tested on 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) 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 (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and
@@ -308,9 +310,9 @@ GStreamer plugins must first be installed).
### Building on non-Debian Linux and \*BSD ### Building on non-Debian Linux and \*BSD
**For those with RPM-based distributions, a RPM spec file uxplay.spec is **For those with RPM-based distributions, a RPM spec file uxplay.spec is
also available for building a rpm package with rpmbuild** (tested on also available for building a rpm package with rpmbuild**. See
Fedora 38, Rocky Linux 9.2 (RHEL clone), OpenSUSE 15.5, and Mageia 9; ["Packaging Status"](#packaging-status-linux-and-bsd-distributions)
see "Packaging Status" section) section above.
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or - **Red Hat, or clones like CentOS (now continued as Rocky Linux or
Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel
@@ -319,12 +321,12 @@ see "Packaging Status" section)
*(some of these may be in the "CodeReady" add-on repository, called *(some of these may be in the "CodeReady" add-on repository, called
"PowerTools" by clones)* "PowerTools" by clones)*
- **Mageia, pclinuxos, OpenMandriva:** Same as Red Hat, except for - **Mageia, PCLinuxOS, OpenMandriva:** Same as Red Hat, except for
name changes: (Mageia) "gstreamer1.0-devel", name changes: (Mageia) "gstreamer1.0-devel",
"gstreamer-plugins-base1.0-devel"; (OpenMandriva) "gstreamer-plugins-base1.0-devel"; (OpenMandriva)
"libopenssl-devel", "gstreamer-devel", "libopenssl-devel", "gstreamer-devel",
"libgst-plugins-base1.0-devel". pclinuxos: same as Mageia, but uses "libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia, but uses
synaptic (or apt) as its package manager synaptic (or apt) as its package manager.
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly - **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
libopenssl-devel) libplist-2_0-devel (formerly libplist-devel) libopenssl-devel) libplist-2_0-devel (formerly libplist-devel)
@@ -371,36 +373,34 @@ provided in the official distribution: get it from community
repositories for those distributions. repositories for those distributions.
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or - **Red Hat, or clones like CentOS (now continued as Rocky Linux or
Alma Linux):** (sudo dnf install, or sudo yum install) Alma Linux):** Install gstreamer1-libav gstreamer1-plugins-bad-free
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for (+ gstreamer1-vaapi for Intel/AMD graphics). In recent Fedora,
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed gstreamer1-libav is renamed gstreamer1-plugin-libav. **To get
gstreamer1-plugin-libav. **To get avdec_aac, install packages from avdec_aac, install packages from
[rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from [rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from
rpmfusion; on RHEL or clones, but not recent Fedora, also get rpmfusion; on RHEL or clones, but not recent Fedora, also get
gstreamer1-libav from there). gstreamer1-libav from there).
- **Mageia, pclinuxos, OpenMandriva:** (sudo dnf install, or sudo yum - **Mageia, PCLinuxOS, OpenMandriva:** Install gstreamer1.0-libav
install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD
gstreamer1.0-vaapi for Intel/AMD graphics). **On Mageia, to get graphics). **On Mageia, to get avdec_aac, install ffmpeg from the
avdec_aac, install ffmpeg from the "tainted" repository**, (which "tainted" repository**, (which also provides a more complete
also provides a more complete gstreamer1.0-plugins-bad). pclinuxos: gstreamer1.0-plugins-bad).
same as Mageia, but uses synaptic (or apt) as its package manager.
- **openSUSE:** (sudo zypper install) gstreamer-plugins-libav - **openSUSE:** Install gstreamer-plugins-libav gstreamer-plugins-bad
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD (+ gstreamer-plugins-vaapi for Intel/AMD graphics). **To get
graphics). **To get avdec_aac, install libav\* packages for openSUSE avdec_aac, install libav\* packages for openSUSE from
from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/) [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/)
"Essentials"**; recommendation: after adding the Packman repository, "Essentials"**; recommendation: after adding the Packman repository,
use the option in YaST Software management to switch all system use the option in YaST Software management to switch all system
packages for multimedia to Packman). packages for multimedia to Packman).
- **Arch Linux** (sudo pacman -Syu) gst-plugins-good gst-plugins-bad - **Arch Linux** Install gst-plugins-good gst-plugins-bad gst-libav (+
gst-libav (+ gstreamer-vaapi for Intel/AMD graphics). gstreamer-vaapi for Intel/AMD graphics).
- **FreeBSD:** (sudo pkg install) gstreamer1-libav, - **FreeBSD:** Install gstreamer1-libav, gstreamer1-plugins,
gstreamer1-plugins, gstreamer1-plugins-\* (\* = core, good, bad, x, gstreamer1-plugins-\* (\* = core, good, bad, x, gtk, gl, vulkan,
gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics).
Intel/AMD graphics).
### Starting and running UxPlay ### Starting and running UxPlay
@@ -721,15 +721,14 @@ device is rotated).
- tested on Windows 10 and 11, 64-bit. - tested on Windows 10 and 11, 64-bit.
1. Download and install **Bonjour SDK for Windows v3.0** from the 1. Download and install **Bonjour SDK for Windows v3.0**. You can
official Apple site download the SDK without any registration at
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows). [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml),
(Apple makes you register as a developer to access it; if you do not or get it from the official Apple site
want to go through the registration process, you can download the [https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows)
SDK without any registration at (Apple makes you register as a developer to access it from their
[softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).) site). This should install the Bonjour SDK as
This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`.
`C:\Program Files\Bonjour SDK`
2. (This is for 64-bit Windows; a build for 32-bit Windows should be 2. (This is for 64-bit Windows; a build for 32-bit Windows should be
possible, but is not tested.) The unix-like MSYS2 build environment possible, but is not tested.) The unix-like MSYS2 build environment
@@ -840,6 +839,12 @@ in the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
Options: Options:
- These can also be written (one option per line, without the initial
"`-`" character) in the UxPlay startup file (either given by
environment variable `$UXPLAYRC`, or `~/.uxplayrc` or
`~/.config/uxplayrc`). Command line options supersede options in the
startup file.
**-n server_name** (Default: UxPlay); server_name@\_hostname\_ will be **-n server_name** (Default: UxPlay); server_name@\_hostname\_ will be
the name that appears offering AirPlay services to your iPad, iPhone the name that appears offering AirPlay services to your iPad, iPhone
etc, where *hostname* is the name of the server running uxplay. This etc, where *hostname* is the name of the server running uxplay. This
@@ -986,9 +991,9 @@ displays streamed video.
**-al *x*** specifies an audio latency *x* in (decimal) seconds in **-al *x*** specifies an audio latency *x* in (decimal) seconds in
Audio-only (ALAC), that is reported to the client. Values in the range Audio-only (ALAC), that is reported to the client. Values in the range
\[0.0, 10.0\] seconds are allowed, and will be converted to a whole \[0.0, 10.0\] seconds are allowed, and will be converted to a whole
number of microseconds. Default is 0.25 sec (250000 usec). (This number of microseconds. Default is 0.25 sec (250000 usec). *(However,
replaces the `-ao` option introduced in v1.62, as a workaround for a the client appears to ignore this reported latency, so this option seems
problem that is now fixed). non-functional.)*
**-ca *filename*** provides a file (where *filename* can include a full **-ca *filename*** provides a file (where *filename* can include a full
path) used for output of "cover art" (from Apple Music, *etc.*,) in path) used for output of "cover art" (from Apple Music, *etc.*,) in
@@ -1391,11 +1396,12 @@ what UxPlay claims to be.
# Changelog # Changelog
1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required 1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer
gstreamer libav feature "avdec_aac" is missing: (this occurs in libav feature "avdec_aac" is missing: (this occurs in RPM-based
RPM-based distributions that ship an incomplete FFmpeg for Patent or distributions that ship an incomplete FFmpeg for Patent or License
License reasons, and rely on users installing an externally-supplied reasons, and rely on users installing an externally-supplied complete
complete FFmpeg). FFmpeg). Mirror-mode airplay will now work without audio if avdec_aac is
missing.
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to 1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
allow faster connections with clients (thanks to @shuax #176 for this allow faster connections with clients (thanks to @shuax #176 for this

View File

@@ -324,12 +324,12 @@ gboolean gstreamer_pipeline_bus_callback(GstBus *bus, GstMessage *message, gpoin
if (strstr(err->message,"Internal data stream error")) { if (strstr(err->message,"Internal data stream error")) {
logger_log(logger, LOGGER_INFO, logger_log(logger, LOGGER_INFO,
"*** This is a generic GStreamer error that usually means that GStreamer\n" "*** This is a generic GStreamer error that usually means that GStreamer\n"
"*** was unable to construct a working video pipeline.\n" "*** was unable to construct a working video pipeline.\n\n"
"*** If you are letting the default autovideosink select the videosink,\n" "*** If you are letting the default autovideosink select the videosink,\n"
"*** GStreamer may be trying to use non-functional hardware h264 video decoding.\n" "*** GStreamer may be trying to use non-functional hardware h264 video decoding.\n"
"*** Try using option -avdec to force software decoding or use -vs <videosink>\n" "*** Try using option -avdec to force software decoding or use -vs <videosink>\n"
"*** to select a videosink of your choice (see \"man uxplay\").\n" "*** to select a videosink of your choice (see \"man uxplay\").\n\n"
"*** Raspberry Pi OS with GStreamer-1.18.4 needs \"-bt709\" uxplay option"); "*** Raspberry Pi OS with (unpatched) GStreamer-1.18.4 needs \"-bt709\" uxplay option");
} }
g_error_free (err); g_error_free (err);
g_free (debug); g_free (debug);

View File

@@ -50,14 +50,14 @@ Requires: gstreamer-plugins-bad
Requires: gstreamer-plugins-libav Requires: gstreamer-plugins-libav
%endif %endif
#Mageia, OpenMandriva, pclinuxos (Mandrake descendents) #Mageia, OpenMandriva, PCLinuxOS (Mandriva/Mandrake descendents)
%if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva" %if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva"
%if "%{_host_vendor}" == "mandriva" %if "%{_host_vendor}" == "mandriva"
# "mandriva" is pclinuxos. # host_vendor = "mandriva" identifies PCLinuxOS.
# as of 07/2023, pclinuxos does not seem to supply openssl >= 3.0 # 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 # Note that UxPlay does not have a "GPL exception" allowing it to be
# distributed in binary form when linked to openssl < 3.0, unless # distributed in binary form when linked to openssl < 3.0, unless that
# openssl < 3.0 can be regarded as a "system library". # OpenSSL < 3.0 qualifies as a "system library".
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: %{mklibname openssl-devel} >= 1.1.1 BuildRequires: %{mklibname openssl-devel} >= 1.1.1
Requires: %{mklibname openssl1.1.0} Requires: %{mklibname openssl1.1.0}
@@ -71,14 +71,15 @@ Requires: %{mklibname openssl3}
%endif %endif
%endif %endif
BuildRequires: %{mklibname plist-devel} >= 2.0 BuildRequires: %{mklibname plist-devel} >= 2.0
Requires: %{mklibname plist2.0_3}
BuildRequires: %{mklibname avahi-compat-libdns_sd-devel} BuildRequires: %{mklibname avahi-compat-libdns_sd-devel}
%if %{defined omvver} %if %{defined omvver}
BuildRequires: %{mklibname gstreamer-devel} BuildRequires: %{mklibname gstreamer-devel}
BuildRequires: %{mklibname gst-plugins-base1.0-devel} BuildRequires: %{mklibname gst-plugins-base1.0-devel}
Requires: %{mklibname plist} >= 2.0
%else %else
BuildRequires: %{mklibname gstreamer1.0-devel} BuildRequires: %{mklibname gstreamer1.0-devel}
BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel} BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel}
Requires: %{mklibname plist2.0_3}
%endif %endif
Requires: gstreamer1.0-plugins-base Requires: gstreamer1.0-plugins-base
Requires: gstreamer1.0-plugins-good Requires: gstreamer1.0-plugins-good
@@ -133,7 +134,7 @@ cd build
%{_docdir}/%{name}/llhttp/LICENSE-MIT %{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog %changelog
* Wed Jul 26 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay> * Thu Aug 24 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, OpenMandriva ROME, pclinuxos Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS
- -