summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/libvmi/default.nix8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libvmi/default.nix b/pkgs/development/libraries/libvmi/default.nix
index 28cfe56d59b..44b2a81b2d3 100644
--- a/pkgs/development/libraries/libvmi/default.nix
+++ b/pkgs/development/libraries/libvmi/default.nix
@@ -15,6 +15,7 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libvmi-${version}";
   version = "0.12.0";
+  libVersion = "0.0.12";
 
   src = fetchFromGitHub {
     owner = "libvmi";
@@ -28,6 +29,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = optional (!xenSupport) "--disable-xen";
 
+  # libvmi uses dlopen() for the xen libraries, however autoPatchelfHook doesn't work here
+  postFixup = optionalString xenSupport ''
+    libvmi="$out/lib/libvmi.so.${libVersion}"
+    oldrpath=$(patchelf --print-rpath "$libvmi")
+    patchelf --set-rpath "$oldrpath:${makeLibraryPath [ xen ]}" "$libvmi"
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://libvmi.com/";
     description = "A C library for virtual machine introspection";