70 lines
1.8 KiB
Nix
70 lines
1.8 KiB
Nix
|
{ lib
|
||
|
, stdenv
|
||
|
, fetchurl
|
||
|
|
||
|
, autoPatchelfHook
|
||
|
|
||
|
, alsa-lib
|
||
|
, libxcrypt-legacy
|
||
|
, lttng-ust_2_12
|
||
|
, xorg
|
||
|
, zlib
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "cov-build";
|
||
|
version = "2022.12.2";
|
||
|
|
||
|
src =
|
||
|
if stdenv.hostPlatform.system == "i686-linux"
|
||
|
then fetchurl {
|
||
|
url = "https://archive.org/download/cov-analysis-linux-${version}.tar/cov-analysis-linux-${version}.tar.gz";
|
||
|
hash = "sha256-Jr9bMUo9GRp+dgoAPqKxaTqWYWh4djGArdG9ukUK+ZY=";
|
||
|
}
|
||
|
else if stdenv.hostPlatform.system == "x86_64-linux"
|
||
|
then fetchurl {
|
||
|
url = "https://archive.org/download/cov-analysis-linux64-${version}.tar/cov-analysis-linux64-${version}.tar.gz";
|
||
|
hash = "sha256-CyNKILJXlDMOCXbZZF4r/knz0orRx32oSj+Kpq/nxXQ=";
|
||
|
}
|
||
|
else throw "Unsupported platform '${stdenv.hostPlatform.system}'";
|
||
|
|
||
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||
|
|
||
|
buildInputs = [
|
||
|
alsa-lib
|
||
|
libxcrypt-legacy
|
||
|
lttng-ust_2_12
|
||
|
xorg.libXext
|
||
|
xorg.libXrender
|
||
|
xorg.libXtst
|
||
|
zlib
|
||
|
];
|
||
|
|
||
|
dontConfigure = true;
|
||
|
|
||
|
dontBuild = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/bin $out/libexec
|
||
|
mv * $out/libexec
|
||
|
for x in cov-build cov-capture cov-configure cov-emit cov-emit-java \
|
||
|
cov-export-cva cov-extract-scm cov-help cov-import-scm cov-link \
|
||
|
cov-internal-clang cov-internal-emit-clang cov-internal-nm \
|
||
|
cov-internal-emit-java-bytecode cov-internal-reduce cov-translate \
|
||
|
cov-preprocess cov-internal-pid-to-db cov-manage-emit \
|
||
|
cov-manage-history; do
|
||
|
ln -s $out/libexec/bin/$x $out/bin/$x;
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
dontStrip = true;
|
||
|
|
||
|
meta = {
|
||
|
description = "Coverity Scan build tools";
|
||
|
homepage = "https://scan.coverity.com";
|
||
|
license = lib.licenses.unfreeRedistributable;
|
||
|
platforms = lib.platforms.linux;
|
||
|
maintainers = [ lib.maintainers.thoughtpolice ];
|
||
|
};
|
||
|
}
|