2017-02-03 12:34:25 +00:00
|
|
|
{ stdenv, fetchFromGitHub, xorg
|
2016-01-14 06:31:30 +00:00
|
|
|
, autoconf, automake, cvs, libtool, nasm, pixman, xkeyboard_config
|
|
|
|
, fontDirectories, libgcrypt, gnutls, pam, flex, bison, gettext
|
2016-04-13 14:21:04 +01:00
|
|
|
, cmake, libjpeg_turbo, fltk, nettle, libiconv, libtasn1
|
2011-12-03 09:29:38 +00:00
|
|
|
}:
|
|
|
|
|
2010-07-12 23:15:50 +01:00
|
|
|
with stdenv.lib;
|
2010-07-12 23:15:36 +01:00
|
|
|
|
2011-11-10 19:05:43 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2017-02-03 12:34:25 +00:00
|
|
|
version = "1.7.1";
|
2016-01-14 06:31:30 +00:00
|
|
|
name = "tigervnc-${version}";
|
2013-01-28 14:53:51 +00:00
|
|
|
|
2017-02-03 12:34:25 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "TigerVNC";
|
|
|
|
repo = "tigervnc";
|
|
|
|
sha256 = "0s2v1h24cl5ypnr35hima580xvvsh0cdqi501mvyvi7wz9cp33rj";
|
|
|
|
rev = "v1.7.1";
|
2010-07-12 23:15:36 +01:00
|
|
|
};
|
|
|
|
|
2010-07-13 18:57:13 +01:00
|
|
|
inherit fontDirectories;
|
|
|
|
|
2010-07-12 23:15:50 +01:00
|
|
|
patchPhase = ''
|
2012-12-28 18:08:19 +00:00
|
|
|
sed -i -e 's,$(includedir)/pixman-1,${if stdenv ? cross then pixman.crossDrv else pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
|
2013-01-28 14:53:51 +00:00
|
|
|
sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${if stdenv ? cross then xkeyboard_config.crossDrv else xkeyboard_config}/etc/X11/xkb";' unix/vncserver
|
2010-07-13 18:57:13 +01:00
|
|
|
fontPath=
|
|
|
|
for i in $fontDirectories; do
|
|
|
|
for j in $(find $i -name fonts.dir); do
|
|
|
|
addToSearchPathWithCustomDelimiter "," fontPath $(dirname $j)
|
|
|
|
done
|
|
|
|
done
|
2013-01-28 14:53:51 +00:00
|
|
|
sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -fp '"$fontPath"'";' unix/vncserver
|
2010-07-12 23:15:50 +01:00
|
|
|
'';
|
|
|
|
|
2016-01-14 06:31:30 +00:00
|
|
|
dontUseCmakeBuildDir = true;
|
2012-10-18 17:49:22 +01:00
|
|
|
|
2010-07-12 23:15:50 +01:00
|
|
|
postBuild = ''
|
2016-01-14 06:31:30 +00:00
|
|
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=int-to-pointer-cast"
|
|
|
|
export CXXFLAGS="$CXXFLAGS -fpermissive"
|
2010-07-12 23:15:50 +01:00
|
|
|
# Build Xvnc
|
2016-01-14 06:31:30 +00:00
|
|
|
tar xf ${xorg.xorgserver.src}
|
2010-07-12 23:15:50 +01:00
|
|
|
cp -R xorg*/* unix/xserver
|
|
|
|
pushd unix/xserver
|
2016-12-13 16:27:23 +00:00
|
|
|
version=$(echo ${xorg.xorgserver.name} | sed 's/.*-\([0-9]\+\).\([0-9]\+\).*/\1\2/g')
|
|
|
|
patch -p1 < ${src}/unix/xserver$version.patch
|
2010-07-12 23:15:50 +01:00
|
|
|
autoreconf -vfi
|
2016-12-13 16:27:23 +00:00
|
|
|
./configure $configureFlags --disable-devel-docs --disable-docs \
|
|
|
|
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
|
|
|
|
--disable-xwin --disable-xephyr --disable-kdrive --with-pic \
|
|
|
|
--disable-xorgcfg --disable-xprint --disable-static \
|
|
|
|
--disable-composite --disable-xtrap --enable-xcsecurity \
|
|
|
|
--disable-{a,c,m}fb \
|
|
|
|
--disable-xwayland \
|
|
|
|
--disable-config-dbus --disable-config-udev --disable-config-hal \
|
|
|
|
--disable-xevie \
|
|
|
|
--disable-dri --disable-dri2 --disable-dri3 --enable-glx \
|
|
|
|
--enable-install-libxf86config \
|
2014-08-15 15:51:50 +01:00
|
|
|
--prefix="$out" --disable-unit-tests \
|
|
|
|
--with-xkb-path=${xkeyboard_config}/share/X11/xkb \
|
2016-01-14 06:31:30 +00:00
|
|
|
--with-xkb-bin-directory=${xorg.xkbcomp}/bin \
|
2014-08-15 15:51:50 +01:00
|
|
|
--with-xkb-output=$out/share/X11/xkb/compiled
|
2010-07-12 23:15:50 +01:00
|
|
|
make TIGERVNC_SRCDIR=`pwd`/../..
|
|
|
|
popd
|
|
|
|
'';
|
2016-12-13 16:27:23 +00:00
|
|
|
|
2010-07-12 23:15:50 +01:00
|
|
|
postInstall = ''
|
2016-12-13 16:27:23 +00:00
|
|
|
pushd unix/xserver/hw/vnc
|
2010-07-12 23:15:50 +01:00
|
|
|
make TIGERVNC_SRCDIR=`pwd`/../.. install
|
2016-01-14 06:31:30 +00:00
|
|
|
popd
|
|
|
|
rm -f $out/lib/xorg/protocol.txt
|
2010-07-12 23:15:50 +01:00
|
|
|
'';
|
|
|
|
|
2011-12-03 09:29:38 +00:00
|
|
|
crossAttrs = {
|
2012-12-28 18:08:19 +00:00
|
|
|
buildInputs = (map (x : x.crossDrv) (buildInputs ++ [
|
2016-01-14 06:31:30 +00:00
|
|
|
xorg.fixesproto xorg.damageproto xorg.xcmiscproto xorg.bigreqsproto xorg.randrproto xorg.renderproto
|
|
|
|
xorg.fontsproto xorg.videoproto xorg.compositeproto xorg.scrnsaverproto xorg.resourceproto
|
|
|
|
xorg.libxkbfile xorg.libXfont xorg.libpciaccess xorg.xineramaproto
|
2011-12-03 09:29:38 +00:00
|
|
|
]));
|
|
|
|
};
|
|
|
|
|
2011-11-10 19:05:43 +00:00
|
|
|
buildInputs =
|
2016-01-14 06:31:30 +00:00
|
|
|
[ xorg.libX11 xorg.libXext gettext xorg.libICE xorg.libXtst xorg.libXi xorg.libSM xorg.libXft
|
|
|
|
nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xorg.xineramaproto
|
2016-04-13 14:21:04 +01:00
|
|
|
xorg.libXinerama xorg.libXcursor nettle libiconv libtasn1
|
2011-12-02 05:50:53 +00:00
|
|
|
];
|
2013-01-28 14:53:51 +00:00
|
|
|
|
|
|
|
nativeBuildInputs =
|
2016-01-14 06:31:30 +00:00
|
|
|
[ autoconf automake cvs xorg.utilmacros xorg.fontutil libtool flex bison
|
2016-04-13 14:21:04 +01:00
|
|
|
cmake gettext
|
2013-01-28 14:53:51 +00:00
|
|
|
]
|
2016-01-14 06:31:30 +00:00
|
|
|
++ xorg.xorgserver.nativeBuildInputs;
|
|
|
|
|
|
|
|
propagatedNativeBuildInputs = xorg.xorgserver.propagatedNativeBuildInputs;
|
2010-07-12 23:15:50 +01:00
|
|
|
|
2016-01-14 06:31:30 +00:00
|
|
|
enableParallelBuilding = true;
|
2010-07-12 23:15:50 +01:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
homepage = http://www.tigervnc.org/;
|
2014-06-19 05:19:00 +01:00
|
|
|
license = stdenv.lib.licenses.gpl2Plus;
|
2010-07-12 23:15:50 +01:00
|
|
|
description = "Fork of tightVNC, made in cooperation with VirtualGL";
|
|
|
|
maintainers = with stdenv.lib.maintainers; [viric];
|
|
|
|
platforms = with stdenv.lib.platforms; linux;
|
2016-01-14 06:31:30 +00:00
|
|
|
# Prevent a store collision.
|
|
|
|
priority = 4;
|
2010-07-12 23:15:50 +01:00
|
|
|
};
|
2016-04-13 14:21:04 +01:00
|
|
|
}
|