about summary refs log tree commit diff
path: root/pkgs/tools/text/kdiff3/default.nix
blob: a35e09cfcda17f534f30277f739af9dcdd7d854e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  kdeDerivation, kdeWrapper, lib, fetchgit,
  extra-cmake-modules, kdoctools, kconfig, kinit, kparts
}:

let
  rev = "468652ce70b1214842cef0a021c81d056ec6aa01";

  unwrapped = kdeDerivation rec {
    name = "kdiff3-${version}";
    version = "1.7.0-${lib.strings.substring 0 7 rev}";

    src = fetchgit {
      url = "https://gitlab.com/tfischer/kdiff3";
      sha256 = "126xl7jbb26v2970ba1rw1d6clhd14p1f2avcwvj8wzqmniq5y5m";
      inherit rev;
    };

    setSourceRoot = ''sourceRoot="$(echo */kdiff3/)"'';

    postPatch = ''
      sed -re "s/(p\\[[^]]+] *== *)('([^']|\\\\')+')/\\1QChar(\\2)/g" -i src/diff.cpp
    '';

    nativeBuildInputs = [ extra-cmake-modules kdoctools ];

    propagatedBuildInputs = [ kconfig kinit kparts ];

    meta = with lib; {
      homepage = http://kdiff3.sourceforge.net/;
      license = licenses.gpl2Plus;
      description = "Compares and merges 2 or 3 files or directories";
      maintainers = with maintainers; [ viric urkud peterhoeg ];
      platforms = with platforms; linux;
    };
  };

in kdeWrapper {
  inherit unwrapped;
  targets = [ "bin/kdiff3" ];
}