at master 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 docutils, 6 bison, 7 flex, 8 libsForQt5, 9}: 10 11stdenv.mkDerivation (finalAttrs: { 12 pname = "xxdiff"; 13 version = "5.1-unstable-2025-03-21"; 14 15 src = fetchFromGitHub { 16 owner = "blais"; 17 repo = "xxdiff"; 18 rev = "a5593c1c675fb79d0ec2b6e353abba1fb0179aa7"; 19 hash = "sha256-nRXvqhO128XsAFy4KrsrSYKpzWnciXGJV6QkuqRa07w="; 20 }; 21 22 nativeBuildInputs = [ 23 bison 24 docutils 25 flex 26 libsForQt5.qmake 27 libsForQt5.wrapQtAppsHook 28 ]; 29 30 buildInputs = [ libsForQt5.qtbase ]; 31 32 dontUseQmakeConfigure = true; 33 34 # c++11 and above is needed for building with Qt 5.9+ 35 env.NIX_CFLAGS_COMPILE = toString [ "-std=c++14" ]; 36 37 sourceRoot = "${finalAttrs.src.name}/src"; 38 39 postPatch = '' 40 substituteInPlace xxdiff.pro \ 41 --replace-fail "../bin" "./bin" 42 ''; 43 44 preConfigure = '' 45 make -f Makefile.bootstrap 46 ''; 47 48 installPhase = '' 49 runHook preInstall 50 51 install -Dm555 -t $out/bin ./bin/xxdiff 52 install -Dm444 -t $out/share/doc/xxdiff ${finalAttrs.src}/README.rst 53 54 runHook postInstall 55 ''; 56 57 meta = { 58 description = "Graphical file and directories comparator and merge tool"; 59 mainProgram = "xxdiff"; 60 homepage = "http://furius.ca/xxdiff/"; 61 license = lib.licenses.gpl2Plus; 62 maintainers = with lib.maintainers; [ 63 pSub 64 raskin 65 ]; 66 platforms = lib.platforms.linux; 67 }; 68})