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

View file

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