binja: get python plugins working~
This commit is contained in:
parent
7b9ef8fde4
commit
9af99b6de4
4 changed files with 52 additions and 6 deletions
|
@ -335,7 +335,6 @@
|
|||
modules = linuxOfflineGuiModules [
|
||||
./nixos/hosts/komashi
|
||||
|
||||
./nixos/configs/vmware.nix
|
||||
./nixos/configs/cellular.nix
|
||||
./nixos/configs/nfc-kernel.nix
|
||||
./nixos/configs/power-saving.nix
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
# vim: et:ts=2:sw=2:
|
||||
#
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
autoPatchelfHook,
|
||||
makeWrapper,
|
||||
|
@ -17,7 +18,9 @@
|
|||
xkeyboard_config,
|
||||
libxkbcommon,
|
||||
wayland,
|
||||
qt6,
|
||||
python3,
|
||||
svd2py,
|
||||
qt6
|
||||
}:
|
||||
let
|
||||
desktopFile = writeText "binary-ninja.desktop" ''
|
||||
|
@ -29,6 +32,17 @@ let
|
|||
Categories=Development;
|
||||
'';
|
||||
|
||||
# Additional packages to put in Binja's python envrioment.
|
||||
additional-python-packages = pypkgs: with pypkgs; [
|
||||
click
|
||||
colorama
|
||||
pyyaml
|
||||
svd2py
|
||||
];
|
||||
|
||||
# Python specialized for our environment.
|
||||
binja-python = python3.withPackages additional-python-packages;
|
||||
|
||||
binary-ninja = stdenv.mkDerivation {
|
||||
pname = "binary-ninja";
|
||||
version = "4.0.5902";
|
||||
|
@ -53,9 +67,12 @@ let
|
|||
xorg.xcbutilrenderutil
|
||||
qt6.qtdeclarative
|
||||
wayland
|
||||
binja-python
|
||||
dbus
|
||||
];
|
||||
|
||||
propogatedBuildInputs = (additional-python-packages python3.pkgs);
|
||||
|
||||
# Use our local zip directly.
|
||||
dontBuild = true;
|
||||
src = if stdenv.isAarch64 then
|
||||
|
@ -70,8 +87,8 @@ let
|
|||
chmod +x $out/opt/binaryninja
|
||||
|
||||
# Icons.
|
||||
mkdir -p $out/share/icons
|
||||
cp -r docs/img/logo.png $out/share/icons/binary-ninja.png
|
||||
mkdir -p $out/share/icons
|
||||
cp -r docs/img/logo.png $out/share/icons/binary-ninja.png
|
||||
|
||||
# Application file.
|
||||
mkdir -p $out/share/applications
|
||||
|
@ -80,7 +97,9 @@ let
|
|||
mkdir -p $out/bin
|
||||
makeWrapper $out/opt/binaryninja \
|
||||
$out/bin/binaryninja \
|
||||
--prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb"
|
||||
--set "PYTHONHOME" "${binja-python}" \
|
||||
--prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb" \
|
||||
--prefix "LD_LIBRARY_PATH" ":" "${lib.makeLibraryPath binary-ninja.buildInputs}"
|
||||
ln -s $out/bin/binaryninja $out/bin/binary-ninja
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ flake-utils.lib.eachDefaultSystem (
|
|||
# apps
|
||||
navit = callPackage ./navit.nix { };
|
||||
navit-with-maps = callPackage ./navit.nix { with_maps = true; };
|
||||
binary-ninja = callPackage ./binary-ninja.nix { };
|
||||
binary-ninja = callPackage ./binary-ninja.nix { inherit svd2py; };
|
||||
argos = callPackage ./argos.nix { };
|
||||
todoist-electron = callPackage ./todoist-electron.nix { };
|
||||
home-assistant-desktop = callPackage ./home-assistant-desktop/x86_64-linux.nix { };
|
||||
|
@ -80,6 +80,9 @@ flake-utils.lib.eachDefaultSystem (
|
|||
jdk = jetbrains-jdk;
|
||||
};
|
||||
|
||||
# pytho modules
|
||||
svd2py = callPackage ./svd2py.nix { };
|
||||
|
||||
# kernel modules
|
||||
linuxPackages_i915-sriov = callPackage ./i915-sriov/kernel.nix { };
|
||||
i915-sriov = callPackage ./i915-sriov { linuxPackages = linuxPackages_i915-sriov; };
|
||||
|
|
25
packages/svd2py.nix
Normal file
25
packages/svd2py.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
python3Packages,
|
||||
fetchPypi,
|
||||
xonsh
|
||||
}:
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "svd2py";
|
||||
version = "1.0.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-V90CD13Fb9kPqZ3mZn3+zzCAgaMR2kX/pBg+dOMMhK0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
setuptools
|
||||
poetry-core
|
||||
];
|
||||
|
||||
buildInputs = with python3Packages; [
|
||||
click
|
||||
pyyaml
|
||||
];
|
||||
}
|
Loading…
Add table
Reference in a new issue