1{ lib, mkDerivation, fetchFromBitbucket, docutils, bison, flex, qmake
2, qtbase
3}:
4
5mkDerivation rec {
6 pname = "xxdiff";
7 version = "5.0b1";
8
9 src = fetchFromBitbucket {
10 owner = "blais";
11 repo = pname;
12 rev = "5e5f885dfc43559549a81c59e9e8c9525306356a";
13 sha256 = "0gbvxrkwkbvag3298j89smszghpr8ilxxfb0cvsknfqdf15b296w";
14 };
15
16 nativeBuildInputs = [ bison docutils flex qmake ];
17
18 buildInputs = [ qtbase ];
19
20 dontUseQmakeConfigure = true;
21
22 # c++11 and above is needed for building with Qt 5.9+
23 NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
24
25 sourceRoot = "source/src";
26
27 postPatch = ''
28 substituteInPlace xxdiff.pro --replace ../bin ./bin
29 '';
30
31 preConfigure = ''
32 make -f Makefile.bootstrap
33 '';
34
35 installPhase = ''
36 runHook preInstall
37
38 install -Dm555 -t $out/bin ./bin/xxdiff
39 install -Dm444 -t $out/share/doc/${pname} ${src}/README
40
41 runHook postInstall
42 '';
43
44 meta = with lib; {
45 description = "Graphical file and directories comparator and merge tool";
46 homepage = "http://furius.ca/xxdiff/";
47 license = licenses.gpl2;
48 maintainers = with maintainers; [ pSub raskin ];
49 platforms = platforms.linux;
50 };
51}