diff options
Diffstat (limited to 'pkgs/applications/misc/synergy/default.nix')
-rw-r--r-- | pkgs/applications/misc/synergy/default.nix | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 4bb3ef9e64a4..0b3734ea147a 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,19 +1,34 @@ -{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst }: +{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput +, cryptopp ? null, unzip ? null }: + +assert stdenv.isLinux -> cryptopp != null; +assert !stdenv.isLinux -> unzip != null; + +with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.4.10"; + name = "synergy-1.4.12"; src = fetchurl { url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; - sha256 = "1ghgf96gbk4sdw8sqlc3pjschkmmqybihi12mg6hi26gnk7a5m86"; + sha256 = "0j884skwqy8r8ckj9a4rlwsbjwb1yrj9wqma1nwhr2inff6hrdim"; }; - buildInputs = [ cmake x11 libX11 libXi libXtst ]; - + patches = optional stdenv.isLinux ./cryptopp.patch; + + postPatch = if stdenv.isLinux then '' + sed -i -e '/HAVE_X11_EXTENSIONS_XRANDR_H/c \ + set(HAVE_X11_EXTENSIONS_XRANDR_H true)' CMakeLists.txt + '' else '' + ${unzip}/bin/unzip -d tools/cryptopp562 tools/cryptopp562.zip + ''; + + buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput ] + ++ optional stdenv.isLinux cryptopp; + # At this moment make install doesn't work for synergy # http://synergy-foss.org/spit/issues/details/3317/ - installPhase = '' ensureDir $out/bin cp ../bin/synergyc $out/bin @@ -21,10 +36,14 @@ stdenv.mkDerivation rec { cp ../bin/synergyd $out/bin ''; - meta = { + doCheck = true; + checkPhase = "../bin/unittests"; + + meta = { description = "Tool to share the mouse keyboard and the clipboard between computers"; homepage = http://synergy-foss.org; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.all; + license = licenses.gpl2; + maintainers = [ maintainers.aszlig ]; + platforms = platforms.all; }; } |