nixpkgs/pkgs/tools/X11/xpra/default.nix
Alexander Ried e7ded267bd xserver: replace XKB_BINDIR with compile time option
---

Using the configure option relieves us of the patch and passing the path
via the env var in many places. Also the env var may not be inherited
when components like gdm spawn new sessions.
2016-10-03 15:03:02 +02:00

72 lines
2.4 KiB
Nix

{ stdenv, fetchurl, pythonPackages, pkgconfig
, xorg, gtk2, glib, pango, cairo, gdk_pixbuf, atk
, makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf, xkeyboard_config
, ffmpeg, x264, libvpx, libwebp
, libfakeXinerama }:
let
inherit (pythonPackages) python cython buildPythonApplication;
in buildPythonApplication rec {
name = "xpra-0.17.5";
namePrefix = "";
src = fetchurl {
url = "http://xpra.org/src/${name}.tar.xz";
sha256 = "01k5iax42820pblfadig8rqfa1wlcgpakmjp142gx3fg59fnav3i";
};
buildInputs = [
cython pkgconfig
xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
xorg.libXrandr xorg.libxkbfile
pango cairo gdk_pixbuf atk gtk2 glib
ffmpeg libvpx x264 libwebp
makeWrapper
];
propagatedBuildInputs = with pythonPackages; [
pillow pygtk pygobject2 rencode pycrypto cryptography pycups lz4 dbus-python
];
preBuild = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
'';
setupPyBuildFlags = ["--with-Xdummy" "--without-strict"];
preInstall = ''
# see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
sed -i '/ = data_files/d' setup.py
'';
postInstall = ''
wrapProgram $out/bin/xpra \
--set FONTCONFIG_FILE "${fontsConf}" \
--set XPRA_LOG_DIR "\$HOME/.xpra" \
--set XPRA_INSTALL_PREFIX "$out" \
--prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
--prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
'';
preCheck = "exit 0";
#TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
#postFixup = ''
# sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
# sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
#'';
meta = {
homepage = http://xpra.org/;
description = "Persistent remote applications for X";
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ tstrobel ];
};
}