File tree Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change 3
3
stdenv ,
4
4
callPackage ,
5
5
fetchurl ,
6
+ auto-patchelf ,
6
7
autoPatchelfHook ,
7
8
makeWrapper ,
8
9
makeDesktopItem ,
17
18
wayland ,
18
19
kdePackages ,
19
20
python3 ,
21
+ libxml2 ,
20
22
21
23
binaryNinjaEdition ? "personal" ,
22
24
forceWayland ? false ,
@@ -43,6 +45,7 @@ stdenv.mkDerivation {
43
45
src = source ;
44
46
nativeBuildInputs = [
45
47
makeWrapper
48
+ auto-patchelf
46
49
autoPatchelfHook
47
50
python3 . pkgs . wrapPython
48
51
kdePackages . wrapQtAppsHook
@@ -63,6 +66,7 @@ stdenv.mkDerivation {
63
66
libxkbcommon
64
67
dbus
65
68
wayland
69
+ libxml2 . out
66
70
] ;
67
71
pythonDeps = [ python3 . pkgs . pip ] ;
68
72
appendRunpaths = [ "${ lib . getLib python3 } /lib" ] ;
@@ -109,6 +113,16 @@ stdenv.mkDerivation {
109
113
110
114
runHook postInstall
111
115
'' ;
116
+
117
+ # libxml2 soname changes now follow ABI breaks.
118
+ # https://gitlab.gnome.org/GNOME/libxml2/-/issues/751
119
+ # This is of course ultimately good, but we can't recompile binja
120
+ # So let's just force it to use whatever NixOS has. It's Probably Fine™
121
+ preFixup = ''
122
+ patchelf $out/opt/binaryninja/plugins/lldb/lib/liblldb.so.* \
123
+ --replace-needed libxml2.so.2 libxml2.so
124
+ '' ;
125
+
112
126
dontWrapQtApps = true ;
113
127
meta = {
114
128
mainProgram = "binaryninja" ;
You can’t perform that action at this time.
0 commit comments