lsiutil: 1.60 -> 1.72

Also make various improvements and fixes:
- Rename pname from lsiutils to lsiutil since that is the actual name
- Update the URL since the old one was broken
- Inline the call to fetchurl
- Use the installPhase to install instead of installing in the buildPhase
- Replace a call to the modprobe binary with the absolute path to the binary
- Properly determine the absolute path of the mknod binary
- Update the description with text from the source code header
- Declare that this only works on Linux
- Add myself as maintainer
This commit is contained in:
Luflosi 2021-07-21 14:27:54 +02:00
parent c22ab152da
commit d56417ecd9
No known key found for this signature in database
GPG key ID: 4E41E29EDCC345D0

View file

@ -1,41 +1,44 @@
{ lib, stdenv, fetchurl, unzip }:
{ lib
, stdenv
, fetchurl
, kmod
, coreutils
}:
let
version = "1.60";
stdenv.mkDerivation rec {
pname = "lsiutil";
version = "1.72";
src = fetchurl {
name = "lsiutil-${version}.zip";
url = "http://www.lsi.com/DistributionSystem/AssetDocument/support/downloads/hbas/fibre_channel/hardware_drivers/LSIUtil%20Kit_${version}.zip";
sha256 = "1d4337faa56e24f7d98db87b9de94d6e2c17ab671f4e301b93833eea08b9e426";
url = "https://github.com/exactassembly/meta-xa-stm/raw/f96cf6e13f3c9c980f5651510dd96279b9b2af4f/recipes-support/lsiutil/files/lsiutil-${version}.tar.gz";
sha256 = "sha256-aTi+EogY1aDWYq3anjRkjz1mzINVfUPQbOPHthxrvS4=";
};
in
buildPhase = ''
runHook preBuild
stdenv.mkDerivation {
pname = "lsiutils";
inherit version;
substituteInPlace lsiutil.c \
--replace /sbin/modprobe "${kmod}/bin/modprobe" \
--replace /bin/mknod "${coreutils}/bin/mknod"
gcc -Wall -O lsiutil.c -o lsiutil
srcs = [ src "Source/lsiutil.tar.gz" ];
runHook postBuild
'';
nativeBuildInputs = [ unzip ];
installPhase = ''
runHook preInstall
sourceRoot = "lsiutil";
mkdir -p "$out/bin"
install -Dm755 lsiutil "$out/bin/lsiutil"
preBuild =
''
mkdir -p $out/bin
substituteInPlace Makefile --replace /usr/bin $out/bin
substituteInPlace lsiutil.c \
--replace /sbin/modprobe modprobe \
--replace /bin/mknod $(type -P mknod)
'';
runHook postInstall
'';
installPhase = "true";
meta = {
homepage = "http://www.lsi.com/";
description = "LSI Logic Fusion MPT command line management tool";
license = lib.licenses.unfree;
meta = with lib; {
homepage = "https://github.com/exactassembly/meta-xa-stm/tree/master/recipes-support/lsiutil/files";
description = "Configuration utility for MPT adapters (FC, SCSI, and SAS/SATA)";
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [ Luflosi ];
};
}