88 lines
1.8 KiB
Nix
88 lines
1.8 KiB
Nix
#
|
|
# Binary ninja.
|
|
#
|
|
# vim: et:ts=2:sw=2:
|
|
#
|
|
{
|
|
stdenv,
|
|
autoPatchelfHook,
|
|
makeWrapper,
|
|
writeText,
|
|
unzip,
|
|
libGL,
|
|
xorg,
|
|
glib,
|
|
fontconfig,
|
|
dbus,
|
|
xkeyboard_config,
|
|
libxkbcommon,
|
|
wayland,
|
|
qt6,
|
|
}:
|
|
let
|
|
desktopFile = writeText "binary-ninja.desktop" ''
|
|
[Desktop Entry]
|
|
Type=Application
|
|
Name=Binary Ninja
|
|
Exec=/run/current-system/sw/bin/binaryninja
|
|
Icon=/run/current-system/sw/share/icons/binary-ninja.png
|
|
Categories=Development;
|
|
'';
|
|
|
|
binary-ninja = stdenv.mkDerivation {
|
|
pname = "binary-ninja";
|
|
version = "4.0.5902";
|
|
|
|
buildInputs = [
|
|
autoPatchelfHook
|
|
qt6.wrapQtAppsHook
|
|
makeWrapper
|
|
unzip
|
|
libGL
|
|
stdenv.cc.cc.lib
|
|
glib
|
|
libxkbcommon
|
|
fontconfig
|
|
xorg.libXi
|
|
xorg.libXrender
|
|
xorg.libxcb
|
|
xorg.xcbutil
|
|
xorg.xcbutilwm
|
|
xorg.xcbutilimage
|
|
xorg.xcbutilkeysyms
|
|
xorg.xcbutilrenderutil
|
|
qt6.qtdeclarative
|
|
wayland
|
|
dbus
|
|
];
|
|
|
|
# Use our local zip directly.
|
|
dontBuild = true;
|
|
src = if stdenv.isAarch64 then
|
|
../proprietary/binja/binaryninja_personal_linux_aarch64.zip
|
|
else
|
|
../proprietary/binja/binaryninja_personal_linux_x64.zip;
|
|
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/opt
|
|
cp -r * $out/opt
|
|
chmod +x $out/opt/binaryninja
|
|
|
|
# Icons.
|
|
mkdir -p $out/share/icons
|
|
cp -r docs/img/logo.png $out/share/icons/binary-ninja.png
|
|
|
|
# Application file.
|
|
mkdir -p $out/share/applications
|
|
cp ${desktopFile} $out/share/applications/binary-ninja.desktop
|
|
|
|
mkdir -p $out/bin
|
|
makeWrapper $out/opt/binaryninja \
|
|
$out/bin/binaryninja \
|
|
--prefix "QT_XKB_CONFIG_ROOT" ":" "${xkeyboard_config}/share/X11/xkb"
|
|
ln -s $out/bin/binaryninja $out/bin/binary-ninja
|
|
'';
|
|
};
|
|
in
|
|
binary-ninja
|