biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / misc / edb / default.nix
bloba1f9120f314c104103e8a459acbcbfee396ca6e0
1 { lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone_4
2 , double-conversion, graphviz, qtxmlpatterns }:
4 mkDerivation rec {
5   pname = "edb";
6   version = "1.4.0";
8   src = fetchFromGitHub {
9     owner = "eteran";
10     repo = "edb-debugger";
11     rev = version;
12     fetchSubmodules = true;
13     hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E=";
14   };
16   nativeBuildInputs = [ cmake pkg-config ];
18   buildInputs = [ boost.dev capstone_4 double-conversion graphviz qtxmlpatterns ];
20   postPatch = ''
21     # Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice.
22     substituteInPlace ./src/CMakeLists.txt --replace \
23         '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_PREFIX}/''${CMAKE_INSTALL_LIBDIR}/edb\"' \
24         '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_LIBDIR}/edb\"'
26     # The build script checks for the presence of .git to determine whether
27     # submodules were fetched and will throw an error if it's not there.
28     # Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic.
29     mkdir -p src/qhexview/.git lib/gdtoa-desktop/.git
31     # Change default optional terminal program path to one that is more likely to work on NixOS.
32     substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm";
33   '';
35   meta = with lib; {
36     description = "Cross platform AArch32/x86/x86-64 debugger";
37     mainProgram = "edb";
38     homepage = "https://github.com/eteran/edb-debugger";
39     license = licenses.gpl2Plus;
40     maintainers = with maintainers; [ lihop maxxk ];
41     platforms = [ "x86_64-linux" ];
42   };