xpra/xpra.spec
Luigi Baldoni 5c57dd7576 Accepting request 670339 from home:alois:branches:X11:Utilities
- Update to version 2.4.3
  * fix minor glib timer handle leak and unnecessary timer
    scheduling
  * fix keyboard backwards compatibility with older 1.0 servers
  * fix error in keyboard debug logging
  * fix h264 decoding in HTML5 client
  * fix session info and bug report windows not getting
    dismissed in HTML5 client
  * fix precise wheel motion events with HTML5 client
  * fix clipboard with MacOS GTK2 clients
  * fix swap-keys menu entry wrongly disabled
  * fix potential memory leaks and errors in codecs due to cast
    error
  * fix crashy codecs on MS Windows: disable x264, 32-bit vpx
    with large sizes
  * fix validation errors with some quality and speed control
    commands
  * fix buggy parsing of clipboard-contents packets
  * fix jpeg encoder and decoder library version requirements
    (ie: for CentOS 7.x)
  * fix starting sessions via ssh on Ubuntu (workaround buggy
    systemd-run)
  * fix MS Windows clients handling system tray icons without an
    alpha channel
  * fix error in video exception message formating
  * fix errors handling pointer events with extra relative
    pointer data
  * fix potential string substitution errors with python2
  * fix connection to hosts that resolve to ipv6 only addresses
  * fix dbus mixin attributes initialized twice (wrong values)
  * fix race condition error with network congestion events
  * fix compatibility with newer ArchLinux Xorg path
  * fix exec-auth module timeout not being honoured
  * fix exec-auth wrongly returning success on MacOS
  * workaround SSH errors with Windows Services for Linux
  * reduce impact of fullscreen and maxmimized attributes on
    window refresh rate
  * never lock the batch delay when mmap is enabled

OBS-URL: https://build.opensuse.org/request/show/670339
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/xpra?expand=0&rev=12
2019-01-31 12:32:07 +00:00

258 lines
8.2 KiB
RPMSpec

#
# spec file for package xpra
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012-2013 Pascal Bleser <pascal.bleser@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%global __requires_exclude ^typelib\\(GtkosxApplication\\).*$
Name: xpra
Version: 2.4.3
Release: 0
Summary: Remote display server for applications and desktops
License: GPL-2.0-or-later AND BSD-3-Clause AND LGPL-3.0-or-later AND MIT
Group: Productivity/Networking/Other
URL: https://www.xpra.org/
Source0: https://xpra.org/src/%{name}-%{version}.tar.xz
Source1: xpra-icon.png
# PATCH-FIX-OPENSUSE xpra-paths.patch -- use suse-specific paths
Patch0: %{name}-paths.patch
BuildRequires: ImageMagick
BuildRequires: cups
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: python-Cython >= 0.20.0
BuildRequires: python-gobject-devel
BuildRequires: python2-devel
BuildRequires: systemd
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libavcodec) >= 57
BuildRequires: pkgconfig(libavformat) >= 57
BuildRequires: pkgconfig(libswscale) >= 4
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libwebp) >= 0.4
BuildRequires: pkgconfig(pycairo)
BuildRequires: pkgconfig(pygtk-2.0)
%if 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(vpx) >= 1.4.0
%endif
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xtst)
Requires: dbus-1-python
Requires: dbus-1-x11
Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good
Requires: pulseaudio
Requires: pulseaudio-utils
Requires: python2-Pillow
Requires: python2-gst
Requires: python2-lz4
Requires: python2-numpy
Requires: python2-opencv
Requires: python2-opengl
Requires: python2-pycups
Requires: python2-rencode
Requires: shared-mime-info
Requires: xf86-video-dummy
Requires: xorg-x11-xauth
Requires(post): %fillup_prereq
Recommends: python2-opencv
Recommends: python2-paramiko
%{?systemd_requires}
%description
Xpra is "screen for X": it allows you to run X programs, usually on a remote
host, direct their display to your local machine, and then to disconnect from
these programs and reconnect from the same or another machine, without losing
any state. It gives you remote access to individual applications.
Xpra is "rootless" or "seamless": programs you run under it show up on your
desktop as regular programs, managed by your regular window manager.
Sessions can be accessed over SSH, or password protected over plain TCP sockets.
Xpra is usable over reasonably slow links and does its best to adapt to changing
network bandwidth constraints.
%package html5
Summary: HTML5 server and client support for xpra
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
# websockify is required to allow xpra to listen for an html5 client
Requires: python2-websockify
Provides: bundled(js-aurora)
Provides: bundled(js-bencode)
Provides: bundled(js-broadway)
Provides: bundled(js-forge)
Provides: bundled(js-jquery) = 3.1.1
Provides: bundled(js-jquery-ui) = 1.12.1
Provides: bundled(js-lz4)
Provides: bundled(js-zlib)
BuildArch: noarch
%description html5
This package adds websockify support to allow xpra to listen for http
connections, and also the xpra html5 client.
%prep
%setup -q
%patch0 -p1
# fix shebangs
find -name '*.py' \
-exec sed -i '1{\@^#!/usr/bin/env python@d}' {} +
sed -i "1 s|^#!/usr/bin/env python\b|#!%__python2|" cups/xpraforwarder
# fix python-bytecode-inconsistent-mtime warning
find . -name '*.py' -exec touch -mat 1707141200 {} +
install -m0644 %{SOURCE1} -t xdg
# set fillup dir
sed -i 's|__FILLUPDIR__|%{_fillupdir}|' setup.py
# fix shebang
sed -i 's|^#!.*|#!%__python2|' scripts/auth_dialog scripts/xdg-open
%build
python2 setup.py build \
--verbose \
%if 0%{?suse_version} > 1500
--with-enc_ffmpeg \
--with-vpx \
%endif
%if 0%{?suse_version} == 1500
--with-vpx \
--without-enc_ffmpeg \
%endif
%if 0%{?suse_version} < 1500
--without-vpx \
--without-enc_ffmpeg \
%endif
--with-dec_avcodec2 \
--with-csc_swscale \
--with-webp \
--with-Xdummy \
--with-Xdummy_wrapper \
--without-opengl \
--with-service
%install
python2 setup.py install \
--skip-build \
--root %{buildroot} \
--prefix /usr \
--verbose
#Install nvenc.keys file
mkdir -p %{buildroot}%{_sysconfdir}/xpra
install -pm 644 etc/xpra/nvenc.keys %{buildroot}%{_sysconfdir}/xpra
# Ensure all .js files are not executable
find %{buildroot}%{_datadir}/xpra/www/js -name '*.js' \
-exec chmod 0644 {} +
%suse_update_desktop_file -r xpra Network RemoteAccess
%suse_update_desktop_file -r xpra-browser Network RemoteAccess
%suse_update_desktop_file -r xpra-launcher Network RemoteAccess
mkdir -pv %{buildroot}%{_sbindir}
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%fdupes -s %{buildroot}
%pre
getent group xpra >/dev/null || groupadd -r xpra
mkdir -p %{_rundir}/%{name} || exit 1
%service_add_pre %{name}.service
%post
%service_add_post %{name}.service
%fillup_only %{name}
%tmpfiles_create %{_tmpfilesdir}/xpra.conf
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%files
%doc README NEWS
%license COPYING
%dir %{_datadir}/xpra
%dir %{_datadir}/xpra/content-type
%dir %{_datadir}/xpra/http-headers
%dir %{_libexecdir}/xpra
%dir %{_sysconfdir}/pam.d
%dir %{_sysconfdir}/xpra
%dir %{_sysconfdir}/xpra/conf.d
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/xpra.conf
%config(noreplace) %{_sysconfdir}/pam.d/xpra
%config(noreplace) %{_sysconfdir}/xpra/*.conf
%config(noreplace) %{_sysconfdir}/xpra/nvenc.keys
%config(noreplace) %{_sysconfdir}/xpra/conf.d/*.conf
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/90-xpra-virtual.conf
%{_fillupdir}/sysconfig.%{name}
%{_bindir}/xpra
%{_bindir}/xpra_Xdummy
%{_bindir}/xpra_browser
%{_bindir}/xpra_launcher
%{_bindir}/xpra_signal_listener
%{_bindir}/xpra_udev_product_version
%{_libexecdir}/udev/rules.d/71-xpra-virtual-pointer.rules
%{_libexecdir}/xpra/auth_dialog
%{_libexecdir}/xpra/gnome-open
%{_libexecdir}/xpra/gvfs-open
%{_libexecdir}/xpra/xdg-open
%{_sbindir}/rc%{name}
%{python_sitearch}/xpra
%{python_sitearch}/%{name}-%{version}-py%{python_version}.egg-info
%{_datadir}/appdata/xpra.appdata.xml
%{_datadir}/applications/xpra-browser.desktop
%{_datadir}/applications/xpra-launcher.desktop
%{_datadir}/applications/xpra-shadow.desktop
%{_datadir}/applications/xpra.desktop
%{_datadir}/pixmaps/xpra-mdns.png
%{_datadir}/pixmaps/xpra-shadow.png
%{_datadir}/pixmaps/xpra.png
%{_datadir}/mime/packages/application-x-xpraconfig.xml
%{_datadir}/xpra/bell.wav
%{_datadir}/xpra/content-type/10_role.conf
%{_datadir}/xpra/content-type/30_title.conf
%{_datadir}/xpra/content-type/50_class.conf
%{_datadir}/xpra/http-headers/00_nocache.txt
%{_datadir}/xpra/http-headers/10_content_security_policy.txt
%{_datadir}/xpra/icons
%{_libexecdir}/cups/backend/xpraforwarder
%{_mandir}/man1/xpra.1%{?ext_man}
%{_mandir}/man1/xpra_browser.1%{?ext_man}
%{_mandir}/man1/xpra_launcher.1%{?ext_man}
%{_sysusersdir}/xpra.conf
%{_tmpfilesdir}/xpra.conf
%{_unitdir}/xpra.service
%{_unitdir}/xpra.socket
%ghost %dir %{_rundir}/xpra
%files html5
%{_datadir}/xpra/www
%changelog