diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index a574520a5af6..cded819dbb5b 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -7,6 +7,7 @@ , freeipmi , gd , i2c-tools +, libgpiod_1 , libmodbus , libtool , libusb1 @@ -23,11 +24,11 @@ stdenv.mkDerivation rec { pname = "nut"; - version = "2.8.0"; + version = "2.8.2"; src = fetchurl { url = "https://networkupstools.org/source/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-w+WnCNp5e3xwtlPTexIGoAD8tQO4VRn+TN9jU/eSv+U="; + sha256 = "sha256-5LSwy+fdObqQl75/fXh7sv/74132Tf9Ttf45PWWcWX0="; }; patches = [ @@ -42,6 +43,7 @@ stdenv.mkDerivation rec { src = ./hardcode-paths.patch; avahi = "${avahi}/lib"; freeipmi = "${freeipmi}/lib"; + libgpiod = "${libgpiod_1}/lib"; libusb = "${libusb1}/lib"; neon = "${neon}/lib"; libmodbus = "${libmodbus}/lib"; @@ -49,7 +51,7 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ neon libusb1 openssl udev avahi freeipmi libmodbus libtool i2c-tools net-snmp gd ]; + buildInputs = [ neon libusb1 openssl udev avahi freeipmi libgpiod_1 libmodbus libtool i2c-tools net-snmp gd ]; nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; @@ -83,9 +85,6 @@ stdenv.mkDerivation rec { substituteInPlace $out/lib/systemd/system/nut-driver-enumerator.path \ --replace "$out/etc/ups.conf" "/etc/nut/ups.conf" - # we don't need init.d scripts - rm -r $out/share/solaris-init - # Suspicious/overly broad rule, remove it until we know better rm $out/etc/udev/rules.d/52-nut-ipmipsu.rules ''; diff --git a/pkgs/applications/misc/nut/hardcode-paths.patch b/pkgs/applications/misc/nut/hardcode-paths.patch index a58d402a2058..2a85644358c9 100644 --- a/pkgs/applications/misc/nut/hardcode-paths.patch +++ b/pkgs/applications/misc/nut/hardcode-paths.patch @@ -1,15 +1,16 @@ --- a/common/common.c +++ b/common/common.c -@@ -991,6 +991,12 @@ ssize_t select_write(const int fd, const void *buf, const size_t buflen, const t +@@ -1990,6 +1990,13 @@ ssize_t select_write(serial_handler_t *fd, const void *buf, const size_t buflen, * communications media and/or vendor protocol. */ - static const char * search_paths[] = { + static const char * search_paths_builtin[] = { + "@avahi@", + "@freeipmi@", ++ "@libgpiod@", + "@libusb@", + "@neon@", + "@libmodbus@", + "@netsnmp@", /* Use the library path (and bitness) provided during ./configure first */ LIBDIR, - "/usr"LIBDIR, + "/usr"LIBDIR, /* Note: this can lead to bogus strings like */