diff options
author | Leon Schuermann <leon-git@lschuermann.xyz> | 2018-09-04 13:30:07 +0200 |
---|---|---|
committer | xeji <36407913+xeji@users.noreply.github.com> | 2018-09-04 13:30:07 +0200 |
commit | 4295e225f568a61836bcb89e92aa27cbdcd4f19f (patch) | |
tree | 0568c4c2c91820896012aaaac31652ee6d59f9b7 /pkgs/development/libraries/libvmi/default.nix | |
parent | 205f3e941a6fff6b8bb12fc20dfdd76ba3d64455 (diff) | |
download | nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar.gz nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar.bz2 nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar.lz nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar.xz nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.tar.zst nixpkgs-4295e225f568a61836bcb89e92aa27cbdcd4f19f.zip |
libvmi: fix libxenctrl dynamic loading (#45865)
libvmi uses dlopen() to only require libxenctrl if the Xen hypervisor is used, which failed because libxenctrl could not be found. Add xen libraries to libvmi's RUNPATH using patchelf.
Diffstat (limited to 'pkgs/development/libraries/libvmi/default.nix')
-rw-r--r-- | pkgs/development/libraries/libvmi/default.nix | 8 |
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"; |