Unverified Commit d3c4bf27 authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

edb: 1.4.0 -> 1.5.0 (#366875)

parents 8aca0d94 a85be42a
Loading
Loading
Loading
Loading
+29 −17
Original line number Diff line number Diff line
{
  lib,
  mkDerivation,
  stdenv,
  fetchFromGitHub,
  cmake,
  pkg-config,
@@ -9,26 +9,34 @@
  double-conversion,
  graphviz,
  qtxmlpatterns,
  qttools,
  qtbase,
  wrapQtAppsHook,
  testers,
  nix-update-script,
}:

mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "edb";
  version = "1.4.0";
  version = "1.5.0";

  src = fetchFromGitHub {
    owner = "eteran";
    repo = "edb-debugger";
    rev = version;
    tag = finalAttrs.version;
    fetchSubmodules = true;
    hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E=";
    hash = "sha256-ALhA/odVwUQHKuOZ1W/i/6L7da/yitdpBsx2kz2ySQE=";
  };

  nativeBuildInputs = [
    cmake
    pkg-config
    wrapQtAppsHook
    qttools
  ];

  buildInputs = [
    qtbase
    boost.dev
    capstone_4
    double-conversion
@@ -36,30 +44,34 @@ mkDerivation rec {
    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\"'
  cmakeFlags = [
    (lib.cmakeFeature "DEFAULT_PLUGIN_DIR" "${placeholder "out"}/lib/edb")
  ];

  postPatch = ''
    # 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 lib/gdtoa-desktop/.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; {
  passthru = {
    tests.version = testers.testVersion {
      package = finalAttrs.finalPackage;
      command = "env QT_QPA_PLATFORM=minimal ${lib.getExe finalAttrs.finalPackage} --version";
    };
    updateScript = nix-update-script { };
  };

  meta = {
    description = "Cross platform AArch32/x86/x86-64 debugger";
    mainProgram = "edb";
    homepage = "https://github.com/eteran/edb-debugger";
    license = licenses.gpl2Plus;
    maintainers = with maintainers; [
    license = lib.licenses.gpl2Plus;
    maintainers = with lib.maintainers; [
      lihop
      maxxk
    ];
    platforms = [ "x86_64-linux" ];
  };
}
})