nixpkgs/pkgs/tools/admin/tigervnc/default.nix
Lluís Batlle i Rossell 4301f209c9 Making the tigervnc server work.
svn path=/nixpkgs/trunk/; revision=22584
2010-07-13 17:57:13 +00:00

83 lines
2.4 KiB
Nix

{stdenv, fetchsvn, libX11, libXext, gettext, libICE, libXtst, libXi, libSM, xorgserver,
autoconf, automake, cvs, libtool, nasm, utilmacros, pixman, xkbcomp, xkeyboard_config,
fontDirectories }:
with stdenv.lib;
stdenv.mkDerivation {
name = "tigervnc-svn-4086";
src = fetchsvn {
url = https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk;
rev = 4086;
sha256 = "0aqn9d5yz21k5l4mwh5f73il77w2rbvsrz91z3lz4bizivvkwszc";
};
preConfigure = ''
autoreconf -vfi
'';
configureFlags = "--enable-nls";
inherit fontDirectories;
patchPhase = ''
sed -i -e 's,$(includedir)/pixman-1,${pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${xkbcomp}/bin";' unix/vncserver
sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver
fontPath=
for i in $fontDirectories; do
for j in $(find $i -name fonts.dir); do
addToSearchPathWithCustomDelimiter "," fontPath $(dirname $j)
done
done
sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -fp '"$fontPath"'";' unix/vncserver
'';
# I don't know why I can't use in the script
# this: ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)}
xorgPatches = xorgserver.patches;
postBuild = ''
# Build Xvnc
tar xf ${xorgserver.src}
cp -R xorg*/* unix/xserver
pushd unix/xserver
for a in $xorgPatches
do
patch -p1 < $a
done
patch -p1 < ../xserver17.patch
autoreconf -vfi
./configure --prefix=$out --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx
make TIGERVNC_SRCDIR=`pwd`/../..
popd
'';
# I don't know why I need this; it may have to do with this problem:
# http://bugs.gentoo.org/show_bug.cgi?id=142852
preInstall = ''
sed -i -e s,@MKINSTALLDIRS@,`pwd`/mkinstalldirs, po/Makefile
'';
postInstall = ''
pushd unix/xserver
make TIGERVNC_SRCDIR=`pwd`/../.. install
'';
buildInputs = [ libX11 libXext gettext libICE libXtst libXi libSM autoconf automake cvs
libtool nasm utilmacros ] ++ xorgserver.buildNativeInputs;
propagatedBuildInputs = xorgserver.propagatedBuildNativeInputs;
meta = {
homepage = http://www.tigervnc.org/;
license = "GPLv2+";
description = "Fork of tightVNC, made in cooperation with VirtualGL";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}