Skip to content

Comments

python3Packages.libbs: init at 2.8.0#369305

Merged
fabaff merged 9 commits intoNixOS:masterfrom
spencerpogo:python-libbs
Mar 22, 2025
Merged

python3Packages.libbs: init at 2.8.0#369305
fabaff merged 9 commits intoNixOS:masterfrom
spencerpogo:python-libbs

Conversation

@spencerpogo
Copy link
Member

Add the python library libbs and its dependencies. Motivation: libbs is a dependency of angr-management and this PR is a spinoff from #360310.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Dec 30, 2024
@nix-owners nix-owners bot requested a review from natsukium December 30, 2024 05:28
@github-actions github-actions bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Dec 30, 2024
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. labels Dec 30, 2024
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 15, 2025

meta = {
description = "Library for writing plugins in any decompiler: includes API lifting, common data formatting, and GUI abstraction";
homepage = "https://github.com/binsync/libbs";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add changelog


meta = {
description = "Base Python2/3 RPC bridge used for ghidra_bridge";
homepage = "https://github.com/justfoxing/jfx_bridge";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add changelog


meta = {
description = "Python 3 bridge to Ghidra's Python scripting";
homepage = "https://github.com/justfoxing/ghidra_bridge";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add changelog

dependencies = [ jfx-bridge ];

pythonImportsCheck = [ "ghidra_bridge" ];

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add passthru.updateScript = nix-update-script { };

];

pythonImportsCheck = [ "jfx_bridge" ];

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add passthru.updateScript = nix-update-script { };

];

pythonImportsCheck = [ "libbs" ];

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add passthru.updateScript = nix-update-script { };

dependencies = [ jpype1 ];

pythonImportsCheck = [ "pyhidra" ];

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add passthru.updateScript = nix-update-script { };

@ethancedwards8
Copy link
Member

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 369305


aarch64-darwin

❌ 12 packages failed to build:
  • python312Packages.ghidra-bridge
  • python312Packages.ghidra-bridge.dist
  • python312Packages.jfx-bridge
  • python312Packages.jfx-bridge.dist
  • python312Packages.libbs
  • python312Packages.libbs.dist
  • python313Packages.ghidra-bridge
  • python313Packages.ghidra-bridge.dist
  • python313Packages.jfx-bridge
  • python313Packages.jfx-bridge.dist
  • python313Packages.libbs
  • python313Packages.libbs.dist
✅ 4 packages built:
  • python312Packages.pyhidra
  • python312Packages.pyhidra.dist
  • python313Packages.pyhidra
  • python313Packages.pyhidra.dist

@ethancedwards8
Copy link
Member

> FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_bad_code - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_kwargs - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_timeout - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_inheritance - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_iterable - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_iterable_for - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_class - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_class_with_inheritance - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_args - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_imports - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_kwargs - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_module - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_same_names - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_simple_function - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_unindented - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_serialize_deserialize_bytes - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_serialize_deserialize_types - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_set - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_slicing - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_truediv - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_unhashable - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_unicode_strings_only_when_required - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridgeZZZZZZZShutdown::test_zzzzzz_shutdown - PermissionError: [Errno 1] Operation not permitted
       > =========== 48 failed, 3 skipped, 10 deselected in 465.24s (0:07:45) ===========
       For full logs, run 'nix log /nix/store/6misscxz5j0faqfvix6wxmfrgz835vwg-python3.12-jfx-bridge-1.0.0.drv'.
error: 1 dependencies of derivation '/nix/store/2vngclx3ylvd5wg91vy5l19dnx1m10qb-python3.12-ghidra-bridge-1.0.0.drv' failed to build
error: 2 dependencies of derivation '/nix/store/zvyp61yicrz2gv297dxcbf9j0ypc97wl-python3.12-libbs-2.8.0.drv' failed to build
error: builder for '/nix/store/8rn37q0lfymvqz7sg46syjgmdqpm3j19-python3.13-jfx-bridge-1.0.0.drv' failed with exit code 1;
       last 25 log lines:
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_bad_code - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_kwargs - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_eval_timeout - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_inheritance - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_iterable - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remote_iterable_for - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_class - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_class_with_inheritance - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_args - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_imports - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_function_with_kwargs - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_module - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_same_names - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_simple_function - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_remoteify_unindented - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_serialize_deserialize_bytes - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_serialize_deserialize_types - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_set - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_slicing - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_truediv - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_unhashable - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridge::test_unicode_strings_only_when_required - TimeoutError: timed out
       > FAILED jfx_bridge/test_bridge.py::TestBridgeZZZZZZZShutdown::test_zzzzzz_shutdown - PermissionError: [Errno 1] Operation not permitted

@ethancedwards8
Copy link
Member

Looks like they're trying to get network access. Should probably disable just those specifically

@spencerpogo
Copy link
Member Author

Is network access to localhost not okay? It launches a server and then uses a client to test it
Since this is a network service I think that's the only way to test it

@ethancedwards8
Copy link
Member

Is network access to localhost not okay? It launches a server and then uses a client to test it Since this is a network service I think that's the only way to test it

on Darwin it has to be enabled manually with __darwinEnableLocalNetworking or something like that

@spencerpogo
Copy link
Member Author

@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 22, 2025
@fabaff
Copy link
Member

fabaff commented Mar 22, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 369305


x86_64-linux

✅ 16 packages built:
  • python312Packages.ghidra-bridge
  • python312Packages.ghidra-bridge.dist
  • python312Packages.jfx-bridge
  • python312Packages.jfx-bridge.dist
  • python312Packages.libbs
  • python312Packages.libbs.dist
  • python312Packages.pyhidra
  • python312Packages.pyhidra.dist
  • python313Packages.ghidra-bridge
  • python313Packages.ghidra-bridge.dist
  • python313Packages.jfx-bridge
  • python313Packages.jfx-bridge.dist
  • python313Packages.libbs
  • python313Packages.libbs.dist
  • python313Packages.pyhidra
  • python313Packages.pyhidra.dist

@fabaff fabaff dismissed ethancedwards8’s stale review March 22, 2025 19:53

Comments addressed.

@fabaff fabaff merged commit 7315a33 into NixOS:master Mar 22, 2025
24 of 27 checks passed
@spencerpogo spencerpogo deleted the python-libbs branch March 23, 2025 00:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants