Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 44 lines 1.7 kB view raw
1{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone 2, double-conversion, graphviz, qtxmlpatterns }: 3 4mkDerivation rec { 5 pname = "edb"; 6 version = "1.3.0"; 7 8 src = fetchFromGitHub { 9 owner = "eteran"; 10 repo = "edb-debugger"; 11 rev = "1.3.0"; 12 fetchSubmodules = true; 13 sha256 = "fFUau8XnsRFjC83HEsqyhrwCCBOfDmV6oACf3txm7O8="; 14 }; 15 16 nativeBuildInputs = [ cmake pkg-config ]; 17 18 buildInputs = [ boost.dev capstone double-conversion graphviz qtxmlpatterns ]; 19 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\"' 25 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 30 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 34 sed '1i#include <memory>' -i include/{RegisterViewModelBase,State,IState}.h # gcc12 35 ''; 36 37 meta = with lib; { 38 description = "Cross platform AArch32/x86/x86-64 debugger"; 39 homepage = "https://github.com/eteran/edb-debugger"; 40 license = licenses.gpl2Plus; 41 maintainers = with maintainers; [ lihop maxxk ]; 42 platforms = [ "x86_64-linux" ]; 43 }; 44}