SHA256
1
0
forked from pool/xpra
xpra/xpra.spec
Luigi Baldoni eb5f628dd8 Accepting request 644871 from home:alois:branches:X11:Utilities
- Update to version 2.4
  * SSH client integration (paramiko)
  * builtin server support for TCP socket upgrades to SSH
    (paramiko)
  * automatic TCP port allocation
  * expose desktop-sessions as VNC via mdns
  * add zeroconf backend
  * register more URL schemes
  * window content type heuristics configuration
  * use content type it to better tune automatic encoding
    selection
  * automatic video scaling
  * bandwidth-limit management in video encoders
  * HTML5 client mpeg1 and h264 decoding
  * HTML5 client support for forwarding of URL open requests
  * HTML5 client Internet Explorer 11 compatibility
  * HTML5 client toolbar improvements
  * HTML5 fullscreen mode support
  * limit video dimensions to cap CPU and bandwidth usage
  * keyboard layout handling fixes
  * better memory management and resource usage
  * new default GUI welcome screen
  * desktop file for starting shadow servers more easily
  * clipboard synchronization with multiple clients
  * use notifications bubbles for more important events
  * workarounds for running under Wayland with GTK3
  * modal windows enabled by default
  * support xdg base directory specification and socket file time
  * improved python3 support (still client only)
  * multi-window shadow servers on MacOS and MS Windows
  * buildbot upgrade
  * more reliable unit tests
  * fixes and workarounds for Java client applications
  * locally authenticated users can shutdown proxy servers
  * restrict potential privileged information leakage
  * enhanced per-client window filtering
  * remove extra pixel copy in opengl enabled client
  * clip pointer events to the actual window content size
  * new platforms: Ubuntu Cosmic, Fedora 29
- Refreshed xpra-paths.patch
- Spec cleanup

OBS-URL: https://build.opensuse.org/request/show/644871
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/xpra?expand=0&rev=4
2018-10-26 13:42:46 +00:00

258 lines
8.2 KiB
RPMSpec

#
# spec file for package xpra
#
# Copyright (c) 2018 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 http://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
Release: 0
Summary: Remote display server for applications and desktops
License: GPL-2.0+ AND BSD-3-Clause AND LGPL-3.0+ AND MIT
URL: https://www.xpra.org/
Group: Productivity/Networking/Other
Source0: https://xpra.org/src/%{name}-%{version}.tar.xz
Source1: xpra-icon.png
# Left here for older distros
Source99: xpra-rpmlintrc
# PATCH-FIX-OPENSUSE xpra-paths.patch -- use suse-specific paths
Patch0: %{name}-paths.patch
BuildRequires: python-rpm-macros
BuildRequires: python-Cython >= 0.20.0
BuildRequires: python2-devel
BuildRequires: python-gobject-devel
BuildRequires: ImageMagick
BuildRequires: cups
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: pam-devel
BuildRequires: pkgconfig
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(pycairo)
BuildRequires: pkgconfig(pygtk-2.0)
#Leap 15 and tumbleweed
%if 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(vpx) >= 1.4.0
%endif
BuildRequires: pkgconfig(libwebp) >= 0.4
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xtst)
Requires: python2-Pillow
Requires: python2-pycups
Requires: python2-gst
Requires: python2-lz4
Requires: python2-opencv
Requires: python2-opengl
Requires: python2-rencode
Requires: python2-numpy
Requires: dbus-1-python
Requires: dbus-1-x11
Requires: gstreamer-plugins-base
Requires: gstreamer-plugins-good
Requires: pulseaudio
Requires: pulseaudio-utils
Requires: shared-mime-info
Requires: xf86-video-dummy
Requires: xorg-x11-xauth
Requires(post): %fillup_prereq
%{?systemd_requires}
Recommends: python2-opencv
%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-jquery) = 3.1.1
Provides: bundled(js-jquery-ui) = 1.12.1
Provides: bundled(js-lz4)
Provides: bundled(js-zlib)
Provides: bundled(js-forge)
Provides: bundled(js-aurora)
Provides: bundled(js-broadway)
Provides: bundled(js-bencode)
%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_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_install \
--skip-build \
--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