Unverified Commit 7315a337 authored by Fabian Affolter's avatar Fabian Affolter Committed by GitHub
Browse files

python3Packages.libbs: init at 2.8.0 (#369305)

parents 3e8f4560 debdb685
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  jfx-bridge,
  setuptools,
}:

buildPythonPackage rec {
  pname = "ghidra-bridge";
  version = "1.0.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "justfoxing";
    repo = "ghidra_bridge";
    tag = version;
    hash = "sha256-VcAl1tamsuHvZRtBP0+DCl2A9d7E6aoj2AbJhEcBNMM=";
  };

  patches = [ ./no-invoke-git.patch ];

  postPatch = ''
    substituteInPlace ./setup.py --subst-var-by version ${version}
  '';

  build-system = [ setuptools ];

  dependencies = [ jfx-bridge ];

  # Tests require a running server instance
  doCheck = false;

  pythonImportsCheck = [ "ghidra_bridge" ];

  meta = {
    description = "Python bridge to Ghidra's Python scripting";
    homepage = "https://github.com/justfoxing/ghidra_bridge";
    changelog = "https://github.com/justfoxing/ghidra_bridge/releases/tag/${src.tag}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ scoder12 ];
  };
}
+13 −0
Original line number Diff line number Diff line
diff --git a/setup.py b/setup.py
index 9a2abe0..75ce109 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
 
 # determine the version, then write it out into the bridge.py file
 version = (
-    subprocess.check_output("git describe --tags", shell=True).decode("utf-8").strip()
+    "@version@"
 )
 # check if this is a non-tag release and remark it as a dev release
 if "-" in version:
+52 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  pytestCheckHook,
  python,
  setuptools,
}:

buildPythonPackage rec {
  pname = "jfx-bridge";
  version = "1.0.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "justfoxing";
    repo = "jfx_bridge";
    tag = version;
    hash = "sha256-fpUrKNGqTpthhTfohCbwO1GBDAP/YnLWeapVhZftldg=";
  };

  patches = [ ./no-invoke-git.patch ];

  postPatch = ''
    substituteInPlace ./setup.py --subst-var-by version ${version}
  '';

  build-system = [ setuptools ];

  nativeCheckInputs = [ pytestCheckHook ];

  preCheck = ''
    ${python.interpreter} test_bridge_server.py &
  '';

  disabledTests = [
    # known to cause timeout with newer python (acknowledged in test comment)
    "test_nonreturn_marker_local"
    # the mechanisms that hook into the python import machinery seem broken on newer python
    "TestBridgeHookImport"
  ];

  pythonImportsCheck = [ "jfx_bridge" ];

  meta = {
    description = "Base Python RPC bridge used for ghidra_bridge";
    homepage = "https://github.com/justfoxing/jfx_bridge";
    changelog = "https://github.com/justfoxing/jfx_bridge/releases/tag/${src.tag}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ scoder12 ];
  };
}
+13 −0
Original line number Diff line number Diff line
diff --git a/setup.py b/setup.py
index 079cb01..c5e71b8 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
     long_description = fh.read()
 
 # determine the version, then write it out into the bridge.py file
-version = subprocess.check_output("git describe --tags", shell=True).decode("utf-8").strip()
+version = "@version@"
 # check if this is a non-tag release and remark it as a dev release
 if "-" in version:
     ver, commits, hash = version.split("-")
+69 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  filelock,
  ghidra-bridge,
  jfx-bridge,
  networkx,
  platformdirs,
  prompt-toolkit,
  psutil,
  pycparser,
  pyhidra,
  pytestCheckHook,
  setuptools,
  toml,
  tqdm,
  writableTmpDirAsHomeHook,
}:

buildPythonPackage rec {
  pname = "libbs";
  version = "2.11.1";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "binsync";
    repo = "libbs";
    tag = "v${version}";
    hash = "sha256-hYRRmnxA6K7O6suaP1eGRnY89gok3JNNsL70XRGWYBU=";
  };

  build-system = [ setuptools ];

  dependencies = [
    filelock
    ghidra-bridge
    jfx-bridge
    networkx
    platformdirs
    prompt-toolkit
    psutil
    pycparser
    pyhidra
    toml
    tqdm
  ];

  nativeCheckInputs = [
    pytestCheckHook
    writableTmpDirAsHomeHook
  ];

  pythonImportsCheck = [ "libbs" ];

  disabledTests = [
    "test_change_watcher_plugin_cli"
    "test_ghidra_artifact_watchers"
    "TestHeadlessInterfaces"
  ];

  meta = {
    description = "Library for writing plugins in any decompiler: includes API lifting, common data formatting, and GUI abstraction";
    homepage = "https://github.com/binsync/libbs";
    changelog = "https://github.com/binsync/libbs/releases/tag/${src.tag}";
    license = lib.licenses.bsd2;
    maintainers = with lib.maintainers; [ scoder12 ];
  };
}
Loading