summary refs log tree commit diff
path: root/pkgs/applications/version-management/meld
diff options
context:
space:
mode:
authorJoachim Schiele <js@lastlog.de>2015-01-21 20:59:57 +0100
committerJoachim Schiele <js@lastlog.de>2015-01-21 22:02:20 +0100
commitb8c2f466bac8f2ec44cdddee1e7e2214f1e519d2 (patch)
treebd87c055556d12a6880e36e02da23044d0bae5ca /pkgs/applications/version-management/meld
parent7edbd7ad1995e1256a6619bd4f1f0417e59c58aa (diff)
downloadnixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar.gz
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar.bz2
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar.lz
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar.xz
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.tar.zst
nixlib-b8c2f466bac8f2ec44cdddee1e7e2214f1e519d2.zip
meld: bump to 3.12.3 (latest) version
Diffstat (limited to 'pkgs/applications/version-management/meld')
-rw-r--r--pkgs/applications/version-management/meld/default.nix39
1 files changed, 27 insertions, 12 deletions
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 145496cb49cb..d48c50f9daf8 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,33 +1,48 @@
-{stdenv, fetchurl, pygtk, python, intltool, scrollkeeper, makeWrapper }:
+{stdenv, fetchurl, itstool, buildPythonPackage, python27, intltool, scrollkeeper, makeWrapper, libxml2, pygobject3, gobjectIntrospection, gtk3, gnome3, pycairo, cairo}:
+
 
 let
-  minor = "1.8";
-  version = "${minor}.6";
+  minor = "3.12";
+  version = "${minor}.3";
 in
 
-stdenv.mkDerivation {
+buildPythonPackage rec {
   name = "meld-${version}";
+  namePrefix = "";
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
-    sha256 = "19g86rksrs77hd58zhs3zwbjmmhqc98v2ly8451avwsbiwmni5mg";
+    sha256 = "1zg6qhm53j0vxmjj3pcj2hwi8c12dxzmlh98zks0jnwhqv2p4dfv";
   };
 
-  buildInputs = [ pygtk python intltool scrollkeeper makeWrapper ];
+  buildInputs = [ python27 intltool scrollkeeper makeWrapper itstool libxml2 gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo];
+  propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
 
-  patchPhase = ''
-    sed -e s,/usr/local,$out, -i INSTALL
-    sed -e 's,#!.*,#!${python}/bin/python,' -i bin/meld
+  installPhase = ''
+    mkdir -p "$out/lib/${python27.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python27.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python27}/bin/${python27.executable} setup.py install \
+      --install-lib=$out/lib/${python27.libPrefix}/site-packages \
+      --prefix="$out"
+
+    wrapProgram $out/bin/meld \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
   '';
 
-  postInstall = ''
-    wrapProgram $out/bin/meld --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
+  patchPhase = ''
+    sed -e 's,#!.*,#!${python27}/bin/python27,' -i bin/meld
   '';
 
+  pythonPath = [ gtk3 ];
+
   meta = with stdenv.lib; {
     description = "Visual diff and merge tool";
     homepage = http://meld.sourceforge.net;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = stdenv.lib.licenses.gpl2;
     platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }