Merge pull request #97613 from drewrisinger/zhf/verilog
verilog: cleanup & test
This commit is contained in:
commit
7867aafa51
@ -1,7 +1,17 @@
|
|||||||
{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses
|
{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses
|
||||||
, bzip2, zlib
|
, bzip2, zlib
|
||||||
|
# Test inputs
|
||||||
|
, perl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
iverilog-test = fetchFromGitHub {
|
||||||
|
owner = "steveicarus";
|
||||||
|
repo = "ivtest";
|
||||||
|
rev = "6882cb8ec08926c4e356c6092f0c5f8c23328d5c";
|
||||||
|
sha256 = "04sj5nqzwls1y760kgnd9c2whkcrr8kvj9lisd5rvk0w580kjb2x";
|
||||||
|
};
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "iverilog";
|
pname = "iverilog";
|
||||||
version = "unstable-2020-08-24";
|
version = "unstable-2020-08-24";
|
||||||
@ -15,11 +25,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
prePatch = ''
|
|
||||||
substituteInPlace configure.in \
|
|
||||||
--replace "AC_CHECK_LIB(termcap, tputs)" "AC_CHECK_LIB(termcap, tputs)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
chmod +x $PWD/autoconf.sh
|
chmod +x $PWD/autoconf.sh
|
||||||
$PWD/autoconf.sh
|
$PWD/autoconf.sh
|
||||||
@ -29,11 +34,32 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ readline ncurses bzip2 zlib ];
|
buildInputs = [ readline ncurses bzip2 zlib ];
|
||||||
|
|
||||||
|
# tests from .travis.yml
|
||||||
|
doCheck = true; # runs ``make check``
|
||||||
|
# most tests pass, but some that rely on exact text of floating-point numbers fail on aarch64.
|
||||||
|
doInstallCheck = !stdenv.isAarch64;
|
||||||
|
installCheckInputs = [ perl ];
|
||||||
|
|
||||||
|
installCheckPhase = ''
|
||||||
|
# copy tests to allow writing results
|
||||||
|
export TESTDIR=$(mktemp -d)
|
||||||
|
cp -r ${iverilog-test}/* $TESTDIR
|
||||||
|
|
||||||
|
pushd $TESTDIR
|
||||||
|
|
||||||
|
# Run & check tests
|
||||||
|
PATH=$out/bin:$PATH perl vvp_reg.pl
|
||||||
|
# Check the tests, will error if unexpected tests fail. Some failures MIGHT be normal.
|
||||||
|
diff regression_report-devel.txt regression_report.txt
|
||||||
|
PATH=$out/bin:$PATH perl vpi_reg.pl
|
||||||
|
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Icarus Verilog compiler";
|
description = "Icarus Verilog compiler";
|
||||||
repositories.git = "https://github.com/steveicarus/iverilog.git";
|
|
||||||
homepage = "http://iverilog.icarus.com/";
|
homepage = "http://iverilog.icarus.com/";
|
||||||
license = licenses.lgpl21;
|
license = with licenses; [ gpl2Plus lgpl21Plus] ;
|
||||||
maintainers = with maintainers; [ winden ];
|
maintainers = with maintainers; [ winden ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user