about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix31
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
new file mode 100644
index 000000000000..92cdddd8dcb0
--- /dev/null
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, python, pygtk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.7";
+  name = "diffuse-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2";
+    sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh";
+  };
+
+  buildInputs = [ python pygtk makeWrapper ];
+
+  buildPhase = ''
+    python ./install.py --prefix="$out" --sysconfdir="$out/etc" --pythonbin="${python}/bin/python"
+    wrapProgram "$out/bin/diffuse" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
+  '';
+
+  # no-op, everything is done in buildPhase
+  installPhase = "true";
+
+  # NOTE: diffuse installs a .desktop file itself
+
+  meta = with stdenv.lib; {
+    description = "Graphical diff and merge tool";
+    homepage = http://diffuse.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f44a70f22119..c1629e317210 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7207,6 +7207,8 @@ let
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
 
+  diffuse = callPackage ../applications/version-management/diffuse { };
+
   distrho = callPackage ../applications/audio/distrho {};
 
   djvulibre = callPackage ../applications/misc/djvulibre { };