Sisyphus repository
Last update: 18 april 2019 | SRPMs: 17673 | Visits: 13424812
en ru br
ALT Linux repos
S:2.4.3-alt4

Group :: Networking/Remote access
RPM: xpra

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# TODO:
# typelib(GdkGLExt)
# typelib(GtkGLExt)

Name: xpra
Version: 2.4.2
Release: alt1

Summary: X Persistent Remote Applications

Group: Networking/Remote access
License: GPLv2
Url: http://xpra.org/

Source: https://xpra.org/src/xpra-%version.tar

BuildRequires: gcc-c++ libXcomposite-devel libXdamage-devel libXrandr-devel libXtst-devel libxkbfile-devel libpam0-devel libsystemd-devel

# TODO use gtk3

BuildRequires: python-module-pygtk-devel

# Video

BuildRequires: libavformat-devel libavcodec-devel libswscale-devel libvpx-devel libx264-devel libx265-devel libwebp-devel libjpeg-devel libpng-devel libyuv-devel python-module-yuicompressor

# Sound

BuildRequires: libogg-devel libopus-devel libflac-devel libspeex-devel libvorbis-devel libwavpack-devel liblame-devel libtwolame-devel libmad-devel

BuildRequires: python-module-pygtkglext python-module-OpenGL python-module-OpenGL_accelerate python-module-Pillow python-module-websockify

BuildRequires: xorg-server brotli

# See https://bugzilla.altlinux.org/show_bug.cgi?id=28632

BuildPreReq: python-module-Cython >= 0.20

AutoReq: yes, nomingw

%add_python_req_skip win32security pyopencl

BuildRequires(pre): rpm-build-gir rpm-build-intro rpm-macros-kde-common-devel

# Unity specific?

%add_typelib_req_skiplist typelib(AppIndicator) typelib(AppIndicator3) typelib(GtkosxApplication)

# Note: we have no linking requires to libwebp.so.x

Requires: libwebp xorg-xvfb setxkbmap

Requires: python-module-pyinotify python-module-rencode

%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 limits. (see also adaptive JPEG mode)
Xpra is open-source (GPLv2+), multi-platform and multi-language,
with current clients written in Python and Java.

On the machine which will export the application (xterm in this example):
> xpra start :100 --start-child=xterm

We can then attach to this session from the same machine, with:
> xpra attach :100

If connecting from a remote machine, you would use something like (or you can also use the GUI):
> xpra attach ssh:serverhostname:100


%prep
%setup
%__subst "s|-Werror|-Wall|g" setup.py
# fatal error: pygtk-2.0/pygtk/pygtk.h: No such file or directory
%__subst "s|pygtk-2.0/||g" xpra/x11/gtk2/gdk_display_source.pyx xpra/gtk_common/gtk2/gdk_bindings.pyx
#patch -p1

# already have turbojpeg, but there are some differences in headers

#__subst "s|libturbojpeg|libjpeg|" setup.py
#__subst "s|turbojpeg.h|jpeglib.h|" xpra/codecs/jpeg/encoder.pyx

# move systemd service to correct %_unitdir

%__subst "s|/bin/systemctl|NONONO|g" setup.py
%__subst "s|.*/etc/default/xpra.*||g" service/xpra

%build
%python_build --without-opengl

%install
%python_install --without-opengl
mkdir -p %buildroot/%_tmpfilesdir/
mv -f %buildroot/usr/lib/tmpfiles.d/xpra.conf %buildroot/%_tmpfilesdir/
mkdir -p %buildroot%_udevrulesdir/
mv -f %buildroot/usr/lib/udev/rules.d/71-xpra-virtual-pointer.rules %buildroot%_udevrulesdir/
install -m644 -D service/xpra.service %buildroot%_unitdir/%name.service

# TODO

rm -f %buildroot/usr/lib/sysusers.d/xpra.conf

%pre
%_sbindir/groupadd -r -f xpra &>/dev/null ||:

%files
%dir %_sysconfdir/%name/
%config(noreplace) %_sysconfdir/%name/*
%_bindir/*
%_libexecdir/%name/
%python_sitelibdir/*
%_desktopdir/*
%_iconsdir/*
%_man1dir/*
#_datadir/parti/
#_datadir/wimpiggy/
%_datadir/xpra/
%_tmpfilesdir/xpra.conf
%_datadir/appdata/xpra.appdata.xml
%_K4xdg_mime/application-x-xpraconfig.xml
%_cupslibdir/backend/xpraforwarder
%_sysconfigdir/%name
%_sysconfdir/pam.d/%name
%_sysconfdir/init.d/%name
%_unitdir/%name.service
%_unitdir/%name.socket
%_udevrulesdir/71-xpra-virtual-pointer.rules
/etc/dbus-1/system.d/xpra.conf
/etc/X11/xorg.conf.d/90-xpra-virtual.conf

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin