package Building RPMs

Build requirements

dnf install gcc gcc-c++ \
            libXtst-devel libXdamage-devel libxkbfile-devel \
            python3-devel python3-Cython \
            python3-gobject pygobject3-devel python3-cairo-devel \
            gtk3-devel gobject-introspection-devel \
            redhat-rpm-config \
            pandoc

You may also refer to the more generic list of dependencies

Extra dependencies

To use Xdummy:

dnf install xorg-x11-server-Xorg xorg-x11-drv-dummy xorg-x11-xauth xorg-x11-xkb-utils

Otherwise, use Xvfb:

dnf install xorg-x11-server-Xvfb

For extra video encoding support, install the following development headers from rpmfusion.org and / or EPEL:

dnf install libvpx-devel libyuv-devel ffmpeg-devel x264-devel

For OpenGL accelerated client rendering support, add this runtime dependency:

dnf install python3-pyopengl

Build

python3 ./setup.py install

RPM

The spec file can be found here: https://github.com/Xpra-org/xpra/tree/master/packaging/rpm/xpra.spec

The quick and easy way:

mkdir -p ~/rpmbuild/SOURCES/ >& /dev/null
git clone https://github.com/Xpra-org/xpra
cd xpra
python3 ./setup.py sdist --formats=xz
cp dist/*xz patches/* ~/rpmbuild/SOURCES/
rpmbuild -ba ./packaging/rpm/xpra.spec
ls -s ~/rpmbuild/RPMS/*/

This builds fresh packages from git master.
You can also use other branches, tags or download a source release instead.