diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index e0e196ac1432..4a3025cec55c 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, neon, libusb-compat-0_1, openssl, udev, avahi, freeipmi +{ lib, stdenv, fetchurl, substituteAll, pkg-config, neon, libusb-compat-0_1, openssl, udev, avahi, freeipmi , libtool, makeWrapper, autoreconfHook, fetchpatch }: @@ -17,6 +17,13 @@ stdenv.mkDerivation rec { url = "https://github.com/networkupstools/nut/commit/612c05efb3c3b243da603a3a050993281888b6e3.patch"; sha256 = "0jdbii1z5sqyv24286j5px65j7b3gp8zk3ahbph83pig6g46m3hs"; }) + (substituteAll { + src = ./hardcode-paths.patch; + avahi = "${avahi}/lib"; + freeipmi = "${freeipmi}/lib"; + libusb = "${libusb-compat-0_1}/lib"; + neon = "${neon}/lib"; + }) ]; buildInputs = [ neon libusb-compat-0_1 openssl udev avahi freeipmi ]; @@ -38,11 +45,6 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-std=c++14" ]; - postInstall = '' - wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \ - "$out/lib:${neon}/lib:${libusb-compat-0_1.out}/lib:${avahi}/lib:${freeipmi}/lib" - ''; - meta = with lib; { description = "Network UPS Tools"; longDescription = '' diff --git a/pkgs/applications/misc/nut/hardcode-paths.patch b/pkgs/applications/misc/nut/hardcode-paths.patch new file mode 100644 index 000000000000..db6d68471ce5 --- /dev/null +++ b/pkgs/applications/misc/nut/hardcode-paths.patch @@ -0,0 +1,13 @@ +--- a/tools/nut-scanner/nutscan-init.c ++++ b/tools/nut-scanner/nutscan-init.c +@@ -44,6 +44,10 @@ int nutscan_load_upsclient_library(const char *libname_path); + + /* FIXME: would be good to get more from /etc/ld.so.conf[.d] */ + char * search_paths[] = { ++ "@avahi@", ++ "@freeipmi@", ++ "@libusb@", ++ "@neon@", + LIBDIR, + "/usr/lib64", + "/lib64",