2010-07-13 00:15:50 +02:00
|
|
|
{stdenv, fetchsvn, libX11, libXext, gettext, libICE, libXtst, libXi, libSM, xorgserver,
|
2010-07-13 19:57:13 +02:00
|
|
|
autoconf, automake, cvs, libtool, nasm, utilmacros, pixman, xkbcomp, xkeyboard_config,
|
|
|
|
fontDirectories }:
|
2010-07-13 00:15:50 +02:00
|
|
|
|
|
|
|
with stdenv.lib;
|
2010-07-13 00:15:36 +02:00
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
2010-07-13 00:15:50 +02:00
|
|
|
name = "tigervnc-svn-4086";
|
|
|
|
src = fetchsvn {
|
|
|
|
url = https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk;
|
|
|
|
rev = 4086;
|
|
|
|
sha256 = "0aqn9d5yz21k5l4mwh5f73il77w2rbvsrz91z3lz4bizivvkwszc";
|
2010-07-13 00:15:36 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
preConfigure = ''
|
2010-07-13 00:15:50 +02:00
|
|
|
autoreconf -vfi
|
2010-07-13 00:15:36 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
configureFlags = "--enable-nls";
|
|
|
|
|
2010-07-13 19:57:13 +02:00
|
|
|
inherit fontDirectories;
|
|
|
|
|
2010-07-13 00:15:50 +02:00
|
|
|
patchPhase = ''
|
|
|
|
sed -i -e 's,$(includedir)/pixman-1,${pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
|
2010-07-13 19:57:13 +02:00
|
|
|
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
|
2010-07-13 00:15:50 +02:00
|
|
|
'';
|
|
|
|
|
2010-07-13 00:32:22 +02:00
|
|
|
# I don't know why I can't use in the script
|
|
|
|
# this: ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)}
|
2010-07-13 00:15:50 +02:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2010-07-13 00:15:36 +02:00
|
|
|
}
|