update BinaryNinja

This commit is contained in:
Sean Buckley 2020-12-09 00:55:01 -05:00
parent 177bdda7a4
commit aa9a041809

View file

@ -1,76 +1,78 @@
{ stdenv { stdenv
, alsaLib
, autoPatchelfHook , autoPatchelfHook
, requireFile , dbus
, libxkbcommon
, makeWrapper
, unzip
, zlib
, glib
, fontconfig , fontconfig
, freetype , freetype
, dbus , glib
, python37 , krb5
, libglvnd , libglvnd
, libXext
, libX11
, libXrender
, libXi
, libSM
, libICE , libICE
, xkeyboardconfig , libSM
, nss , libX11
, libXcomposite , libXcomposite
, libXcursor , libXcursor
, libXdamage , libXdamage
, libXtst , libXext
, alsaLib , libXi
, libxkbcommon
, libXrandr , libXrandr
, krb5 , libXrender
, xcbutilwm , libXtst
, makeWrapper
, nss
, python38
, requireFile
, systemd
, unzip
, xcbutilimage , xcbutilimage
, xcbutilkeysyms , xcbutilkeysyms
, xcbutilrenderutil , xcbutilrenderutil
, xcbutilwm
, xkeyboardconfig
, zlib
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "binary-ninja-personal"; pname = "binary-ninja-personal";
version = "2.2.2487";
src = requireFile { src = requireFile {
name = "BinaryNinja-personal.zip"; name = "BinaryNinja-personal.zip";
url = "https://binary.ninja"; url = "https://binary.ninja";
sha256 = "5dae72ad0d31f7439cf4232a5324a31857ce4e0e593c85c62520c94ff171b4a2"; sha256 = "ed1f3437a803dc7942383343d6d7788d7cfdee142fb3da6182a5e03e09e8e6b4";
}; };
nativeBuildInputs = [ buildInputs = [
alsaLib
autoPatchelfHook autoPatchelfHook
libxkbcommon dbus
stdenv.cc.cc.lib
zlib
glib
fontconfig fontconfig
freetype freetype
nss glib
dbus krb5
python37
libglvnd libglvnd
libXext
libX11
libXrender
libXi
libSM
libICE libICE
unzip libSM
makeWrapper libX11
libXcomposite libXcomposite
libXcursor libXcursor
libXdamage libXdamage
libXtst libXext
alsaLib libXi
libxkbcommon
libXrandr libXrandr
krb5 libXrender
xcbutilwm libXtst
makeWrapper
nss
python38
stdenv.cc.cc.lib
unzip
xcbutilimage xcbutilimage
xcbutilkeysyms xcbutilkeysyms
xcbutilrenderutil xcbutilrenderutil
xcbutilwm
zlib
]; ];
dontStrip = true; dontStrip = true;
@ -79,10 +81,15 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out/lib $out/bin $out/share mkdir -p $out/lib $out/bin $out/share
mv $NIX_BUILD_TOP/$sourceRoot $out/lib/binary-ninja mv $NIX_BUILD_TOP/$sourceRoot $out/lib/binary-ninja
ln -s "${src}" "$out/share/BinaryNinja-personal.zip"
ln -s "${python37}/lib/libpython3.7m.so.1.0" "$out/lib/binary-ninja/libpython3.7m.so.1"
makeWrapper $out/lib/binary-ninja/binaryninja $out/bin/binaryninja \ makeWrapper $out/lib/binary-ninja/binaryninja $out/bin/binaryninja \
--suffix LD_LIBRARY_PATH : "${systemd}/lib" \
--suffix LD_LIBRARY_PATH : "${python38}/lib" \
--set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb" \ --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb" \
--set QTCOMPOSE "${libX11.out}/share/X11/locale" --set QTCOMPOSE "${libX11.out}/share/X11/locale"
# Keeping the zip file in the nix store is desirable,
# because when the zip is missing requireFile involves manual steps.
# Below is just a hack to keep the zip from being garbage-collected.
ln -s "${src}" "$out/share/BinaryNinja-personal.zip"
''; '';
} }