diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix index 145496cb49c..d48c50f9daf 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 ]; + + 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" + ''; patchPhase = '' - sed -e s,/usr/local,$out, -i INSTALL - sed -e 's,#!.*,#!${python}/bin/python,' -i bin/meld + sed -e 's,#!.*,#!${python27}/bin/python27,' -i bin/meld ''; - postInstall = '' - wrapProgram $out/bin/meld --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0 - ''; + 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; }; } diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 94de33f0d50..14b7bd34eae 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0dfsjsa95ix8bx3h8w4bhnz7rymgl2paclvbn93x6qp8b53y0pys"; }; - buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ]; + buildInputs = [ python pkgconfig glib gobjectIntrospection ]; + propagatedBuildInputs = [ pycairo cairo ]; meta = { homepage = http://live.gnome.org/PyGObject; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b83ad8130d..082f598f659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10440,7 +10440,6 @@ let meld = callPackage ../applications/version-management/meld { inherit (gnome) scrollkeeper; - pygtk = pyGtkGlade; }; mcomix = callPackage ../applications/graphics/mcomix { };