nixpkgs/pkgs/tools/text/kdiff3/default.nix
2017-06-18 08:43:39 -05:00

45 lines
1.3 KiB
Nix

{
mkDerivation, lib, fetchgit, fetchpatch,
extra-cmake-modules, kdoctools, wrapGAppsHook,
kconfig, kinit, kparts
}:
mkDerivation rec {
name = "kdiff3-${version}";
version = "1.7.0-2017-02-19";
src = fetchgit {
# gitlab is outdated
url = https://anongit.kde.org/scratch/thomasfischer/kdiff3.git;
sha256 = "0znlk9m844a6qsskbd898w4yk48dkg5bkqlkd5abvyrk1jipzyy8";
rev = "0d2ac328164e3cbe2db35875d3df3a86187ae84f";
};
setSourceRoot = ''sourceRoot="$(echo */kdiff3/)"'';
patches = [
(fetchpatch {
name = "git-mergetool.diff"; # see https://gitlab.com/tfischer/kdiff3/merge_requests/2
url = "https://gitlab.com/vcunat/kdiff3/commit/6106126216.patch";
sha256 = "16xqc24y8bg8gzkdbwapiwi68rzqnkpz4hgn586mi01ngig2fd7y";
})
];
patchFlags = "-p 2";
postPatch = ''
sed -re "s/(p\\[[^]]+] *== *)('([^']|\\\\')+')/\\1QChar(\\2)/g" -i src/diff.cpp
'';
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
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 peterhoeg ];
platforms = with platforms; linux;
};
}