about summary refs log tree commit diff
path: root/pkgs/tools/admin/gtk-vnc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/admin/gtk-vnc/default.nix')
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix72
1 files changed, 27 insertions, 45 deletions
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 1fda870d5fbb..c502cee5415a 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,62 +1,44 @@
-x@{builderDefsPackage
-  , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
-  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefox36Pkgs
-  , kbproto, libX11, libXext, xextproto, pygobject, libgcrypt
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["perlPackages" "firefox36Pkgs"];
+{ stdenv, fetchurl, gobjectIntrospection
+, python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
+, libffi, cyrus_sasl, intltool, perl, perlPackages, pulseaudio
+, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala
+, pygobject3, libogg, enableGTK3 ? false }:
 
-  buildInputs = (map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [perlPackages.TextCSV firefox36Pkgs.xulrunner ];
-  sourceInfo = rec {
-    baseName="gtk-vnc";
-    majorVersion="0.4";
-    minorVersion="2";
-    version="${majorVersion}.${minorVersion}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.gz";
-    hash="1fkhzwpw50rnwp51lsbny16p2ckzx5rkcaiaqvkd90vwnm2cccls";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "gtk-vnc-${version}";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtk-vnc/0.5/${name}.tar.xz";
+    sha256 = "1bww2ihxb3zzvifdrcsy1lifr664pvikq17hmr1hsm8fyk4ad46l";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [
+    python gnutls cairo libtool pkgconfig glib libffi libgcrypt
+    intltool cyrus_sasl pulseaudio perl perlPackages.TextCSV
+    gobjectIntrospection libogg
+  ] ++ (if enableGTK3 then [ gtk3 vala pygobject3 ] else [ gtk pygtk pygobject ]);
 
+  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   configureFlags = [
     "--with-python"
     "--with-examples"
+    (if enableGTK3 then "--with-gtk=3.0" else "--with-gtk=2.0")
   ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["fixMakefiles" "doConfigure" "doMakeInstall"];
+  makeFlags = stdenv.lib.optionalString (!enableGTK3)
+    "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/";
 
-  fixMakefiles = a.fullDepEntry ''
-    find . -name 'Makefile*' -exec sed -i '{}' -e 's@=codegendir pygtk-2.0@=codegendir pygobject-2.0@' ';'
-  '' ["minInit" "doUnpack"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK VNC widget";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl21;
+    maintainers = with maintainers; [ raskin offline ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc";
     };
   };
-}) x
-
+}