diff options
Diffstat (limited to 'pkgs/os-specific/linux/lm-sensors/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/lm-sensors/default.nix | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix index 21324a5d6ce..9b37b7c7e63 100644 --- a/pkgs/os-specific/linux/lm-sensors/default.nix +++ b/pkgs/os-specific/linux/lm-sensors/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchzip, bison, flex, which, perl -, sensord ? false, rrdtool ? null +{ lib +, stdenv +, fetchFromGitHub +, bash +, bison +, flex +, which +, perl +, sensord ? false +, rrdtool ? null }: assert sensord -> rrdtool != null; @@ -7,16 +15,26 @@ assert sensord -> rrdtool != null; stdenv.mkDerivation rec { pname = "lm-sensors"; version = "3.6.0"; - dashedVersion = lib.replaceStrings ["."] ["-"] version; + dashedVersion = lib.replaceStrings [ "." ] [ "-" ] version; - src = fetchzip { - url = "https://github.com/lm-sensors/lm-sensors/archive/V${dashedVersion}.tar.gz"; - sha256 = "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn"; + src = fetchFromGitHub { + owner = "lm-sensors"; + repo = "lm-sensors"; + rev = "V${dashedVersion}"; + hash = "sha256-9lfHCcODlS7sZMjQhK0yQcCBEoGyZOChx/oM0CU37sY="; }; + # Upstream build system have knob to enable and disable building of static + # library, shared library is built unconditionally. + postPatch = lib.optionalString stdenv.hostPlatform.isStatic '' + sed -i 'lib/Module.mk' -e '/LIBTARGETS :=/,+1d; /-m 755/ d' + substituteInPlace prog/sensors/Module.mk --replace 'lib/$(LIBSHBASENAME)' "" + ''; + nativeBuildInputs = [ bison flex which ]; - buildInputs = [ perl ] - ++ lib.optional sensord rrdtool; + # bash is required for correctly replacing the shebangs in all tools for cross-compilation. + buildInputs = [ bash perl ] + ++ lib.optional sensord rrdtool; makeFlags = [ "PREFIX=${placeholder "out"}" @@ -28,12 +46,21 @@ stdenv.mkDerivation rec { "ETCDIR=${placeholder "out"}/etc" ]; + # Making regexp to patch-out installing of .so symlinks from Makefile is + # complicated, it is easier to remove them post-install. + postInstall = '' + mkdir -p $out/share/doc/${pname} + cp -r configs doc/* $out/share/doc/${pname} + '' + lib.optionalString stdenv.hostPlatform.isStatic '' + rm $out/lib/*.so* + ''; + meta = with lib; { homepage = "https://hwmon.wiki.kernel.org/lm_sensors"; changelog = "https://raw.githubusercontent.com/lm-sensors/lm-sensors/V${dashedVersion}/CHANGES"; description = "Tools for reading hardware sensors"; license = with licenses; [ lgpl21Plus gpl2Plus ]; - maintainers = with maintainers; [ pengmeiyu ]; + maintainers = with maintainers; [ pmy ]; platforms = platforms.linux; mainProgram = "sensors"; }; |