gnucap: 20240130-dev -> 20240220

Also: use `fetchFromSavannah`, install manpages, add passthru test,
upgrade verilog plugin
This commit is contained in:
Arnout Engelen 2025-05-20 12:44:57 +02:00
parent 292fa7d4f6
commit 6ecb6317c6
No known key found for this signature in database
GPG key ID: 061107B0F74A6DAA
2 changed files with 48 additions and 21 deletions

View file

@ -1,19 +1,24 @@
{
fetchFromSavannah,
gnucap,
installShellFiles,
lib,
stdenv,
fetchurl,
gnucap,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnucap-modelgen-verilog";
version = "20240130-dev";
version = "20240220";
src = fetchurl {
url = "https://git.savannah.gnu.org/cgit/gnucap/gnucap-modelgen-verilog.git/snapshot/${pname}-${version}.tar.gz";
hash = "sha256-7w0eWUJKVRYFicQgDvKrJTkZ6fzgwxvcCKj78KrHj8E=";
src = fetchFromSavannah {
repo = "gnucap/gnucap-modelgen-verilog";
rev = finalAttrs.version;
hash = "sha256-hDH+aUuCjr5JK2UOy1diNXJaqt6Lrw4GgiiZmQ/SaQs=";
};
nativeBuildInputs = [
installShellFiles
];
propagatedBuildInputs = [ gnucap ];
doCheck = true;
@ -26,6 +31,10 @@ stdenv.mkDerivation rec {
export GNUCAP_PKGLIBDIR=$out/lib/gnucap
'';
postInstall = ''
installManPage man/*.*
'';
meta = with lib; {
description = "gnucap modelgen to preprocess, parse and dump vams files";
homepage = "http://www.gnucap.org/";
@ -35,4 +44,4 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
maintainers = [ maintainers.raboof ];
};
}
})

View file

@ -1,16 +1,19 @@
{
lib,
stdenv,
fetchurl,
readline,
termcap,
gnucap,
callPackage,
fetchFromSavannah,
gnucap,
gnucap-full,
installShellFiles,
lib,
readline,
runCommand,
stdenv,
termcap,
writeScript,
}:
let
version = "20240130-dev";
version = "20240220";
meta = with lib; {
description = "Gnu Circuit Analysis Package";
longDescription = ''
@ -18,23 +21,27 @@ let
It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis.
'';
homepage = "http://www.gnucap.org/";
changelog = "https://git.savannah.gnu.org/cgit/gnucap.git/plain/NEWS?h=v${version}";
license = licenses.gpl3Plus;
changelog = "https://git.savannah.gnu.org/gitweb/?p=gnucap.git;a=blob;f=NEWS";
license = licenses.gpl3Only;
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin; # Relies on LD_LIBRARY_PATH
maintainers = [ maintainers.raboof ];
mainProgram = "gnucap";
};
in
stdenv.mkDerivation rec {
stdenv.mkDerivation {
pname = "gnucap";
inherit version;
src = fetchurl {
url = "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-${version}.tar.gz";
hash = "sha256-MUCtGw3BxGWgXgUwzklq5T1y9kjBTnFBa0/GK0hhl0E=";
src = fetchFromSavannah {
repo = "gnucap";
rev = version;
hash = "sha256-aZMiNKwI6eQZAxlF/+GoJhKczohgGwZ0/Wgpv3+AhYY=";
};
nativeBuildInputs = [
installShellFiles
];
buildInputs = [
readline
termcap
@ -42,6 +49,17 @@ stdenv.mkDerivation rec {
doCheck = true;
postInstall = ''
installManPage man/*
'';
passthru.tests = {
verilog = runCommand "gnucap-verilog-test" { } ''
echo "attach mgsim" | ${gnucap-full}/bin/gnucap -a msgsim > $out
cat $out | grep "verilog: already installed"
'';
};
inherit meta;
}
// {