mstflint: 4.17 -> 4.26
Adds support for new Nvidia NICs and bugfixes. Also add myself as maintainer. Most notable changes are also documented in: https://github.com/Mellanox/mstflint/files/12317054/MSTFLINT.Package.-Firmware.Burning.and.Diagnostics.Tools.Documentation.v4.26.0.pdf Signed-off-by: Markus Theil <theil.markus@gmail.com>
This commit is contained in:
parent
d40361134a
commit
9ffa93bb4f
1 changed files with 91 additions and 7 deletions
|
@ -1,26 +1,109 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, libibmad
|
, rdma-core
|
||||||
, openssl
|
, openssl
|
||||||
, zlib
|
, zlib
|
||||||
|
, xz
|
||||||
|
, expat
|
||||||
|
, boost
|
||||||
|
, curl
|
||||||
|
, pkg-config
|
||||||
|
, libxml2
|
||||||
|
, pciutils
|
||||||
|
, busybox
|
||||||
|
, python3
|
||||||
|
, automake
|
||||||
|
, autoconf
|
||||||
|
, libtool
|
||||||
|
, git
|
||||||
|
# use this to shrink the package's footprint if necessary (e.g. for hardened appliances)
|
||||||
|
, onlyFirmwareUpdater ? false
|
||||||
|
# contains binary-only libraries
|
||||||
|
, enableDPA ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mstflint";
|
pname = "mstflint";
|
||||||
version = "4.17.0-1";
|
version = "4.26.0-1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/mstflint-${version}.tar.gz";
|
url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/mstflint-${version}.tar.gz";
|
||||||
sha256 = "030vpiv44sxmjf0dng91ziq1cggwj33yp0l4xc6cdhnrv2prjs7y";
|
hash = "sha256-P8XACcz6d8UTOhFFeTijfFOthBqnUghGlDj9K145sZ8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
libibmad
|
autoconf
|
||||||
openssl
|
automake
|
||||||
zlib
|
libtool
|
||||||
|
pkg-config
|
||||||
|
libxml2
|
||||||
|
git
|
||||||
];
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
rdma-core
|
||||||
|
zlib
|
||||||
|
libxml2
|
||||||
|
openssl
|
||||||
|
] ++ lib.optionals (!onlyFirmwareUpdater) [
|
||||||
|
boost
|
||||||
|
curl
|
||||||
|
expat
|
||||||
|
xz
|
||||||
|
python3
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
export CPPFLAGS="-I$(pwd)/tools_layouts -isystem ${libxml2.dev}/include/libxml2"
|
||||||
|
export INSTALL_BASEDIR=$out
|
||||||
|
./autogen.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Cannot use wrapProgram since the python script's logic depends on the
|
||||||
|
# filename and will get messed up if the executable is named ".xyz-wrapped".
|
||||||
|
# That is why the python executable and runtime dependencies are injected
|
||||||
|
# this way.
|
||||||
|
#
|
||||||
|
# Remove host_cpu replacement again (see https://github.com/Mellanox/mstflint/pull/865),
|
||||||
|
# needs to hit master or a release. master_devel may be rebased.
|
||||||
|
#
|
||||||
|
# Remove patch for regex check, after https://github.com/Mellanox/mstflint/pull/871
|
||||||
|
# got merged.
|
||||||
|
prePatch = [
|
||||||
|
''
|
||||||
|
patchShebangs eval_git_sha.sh
|
||||||
|
substituteInPlace configure.ac \
|
||||||
|
--replace "build_cpu" "host_cpu"
|
||||||
|
substituteInPlace common/compatibility.h \
|
||||||
|
--replace "#define ROOT_PATH \"/\"" "#define ROOT_PATH \"$out/\""
|
||||||
|
substituteInPlace configure.ac \
|
||||||
|
--replace 'Whether to use GNU C regex])' 'Whether to use GNU C regex])],[AC_MSG_RESULT([yes])'
|
||||||
|
''
|
||||||
|
(lib.optionals (!onlyFirmwareUpdater) ''
|
||||||
|
substituteInPlace common/python_wrapper.sh \
|
||||||
|
--replace \
|
||||||
|
'exec $PYTHON_EXEC $SCRIPT_PATH "$@"' \
|
||||||
|
'export PATH=$PATH:${lib.makeBinPath [ (placeholder "out") pciutils busybox]}; exec ${python3}/bin/python3 $SCRIPT_PATH "$@"'
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--enable-xml2"
|
||||||
|
"--datarootdir=${placeholder "out"}/share"
|
||||||
|
] ++ lib.optionals (!onlyFirmwareUpdater) [
|
||||||
|
"--enable-adb-generic-tools"
|
||||||
|
"--enable-cs"
|
||||||
|
"--enable-dc"
|
||||||
|
"--enable-fw-mgr"
|
||||||
|
"--enable-inband"
|
||||||
|
"--enable-rdmem"
|
||||||
|
] ++ lib.optionals enableDPA [
|
||||||
|
"--enable-dpa"
|
||||||
|
];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
dontDisableStatic = true; # the build fails without this. should probably be reported upstream
|
dontDisableStatic = true; # the build fails without this. should probably be reported upstream
|
||||||
|
@ -29,6 +112,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Open source version of Mellanox Firmware Tools (MFT)";
|
description = "Open source version of Mellanox Firmware Tools (MFT)";
|
||||||
homepage = "https://github.com/Mellanox/mstflint";
|
homepage = "https://github.com/Mellanox/mstflint";
|
||||||
license = with licenses; [ gpl2 bsd2 ];
|
license = with licenses; [ gpl2 bsd2 ];
|
||||||
|
maintainers = with maintainers; [ thillux ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue