diff options
Diffstat (limited to 'pkgs/development/tools/misc/edb/default.nix')
-rw-r--r-- | pkgs/development/tools/misc/edb/default.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix new file mode 100644 index 00000000000..ec65ca62fa3 --- /dev/null +++ b/pkgs/development/tools/misc/edb/default.nix @@ -0,0 +1,42 @@ +{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone +, double-conversion, graphviz, qtxmlpatterns }: + +mkDerivation rec { + pname = "edb"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "eteran"; + repo = "edb-debugger"; + rev = "1.3.0"; + fetchSubmodules = true; + sha256 = "fFUau8XnsRFjC83HEsqyhrwCCBOfDmV6oACf3txm7O8="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ boost.dev capstone double-conversion graphviz qtxmlpatterns ]; + + postPatch = '' + # Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice. + substituteInPlace ./src/CMakeLists.txt --replace \ + '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_PREFIX}/''${CMAKE_INSTALL_LIBDIR}/edb\"' \ + '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_LIBDIR}/edb\"' + + # The build script checks for the presence of .git to determine whether + # submodules were fetched and will throw an error if it's not there. + # Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic. + mkdir -p src/qhexview/.git + + # Change default optional terminal program path to one that is more likely to work on NixOS. + substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm"; + ''; + + meta = with lib; { + description = "Cross platform AArch32/x86/x86-64 debugger"; + homepage = "https://github.com/eteran/edb-debugger"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ lihop maxxk ]; + platforms = [ "x86_64-linux" ]; + }; +} |