61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{ stdenv
|
|
, fetchFromGitHub
|
|
, lib
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "fasthenry";
|
|
# later versions are Windows only ports
|
|
# nixpkgs-update: no auto update
|
|
version = "3.0.1";
|
|
|
|
# we don't use the original MIT code at
|
|
# https://www.rle.mit.edu/cpg/research_codes.htm
|
|
# since the FastFieldSolvers S.R.L. version includes
|
|
# a couple of bug fixes
|
|
src = fetchFromGitHub {
|
|
owner = "ediloren";
|
|
repo = "FastHenry2";
|
|
rev = "R${version}";
|
|
sha256 = "017kcri69zhyhii59kxj1ak0gyfn7jf0qp6p2x3nnljia8njdkcc";
|
|
};
|
|
|
|
dontConfigure = true;
|
|
|
|
preBuild = ''
|
|
makeFlagsArray=(
|
|
CC="gcc"
|
|
RM="rm"
|
|
SHELL="sh"
|
|
"all"
|
|
)
|
|
'' + (if stdenv.isx86_64 then ''
|
|
makeFlagsArray+=(
|
|
CFLAGS="-fcommon -O -DFOUR -m64"
|
|
);
|
|
'' else ''
|
|
makeFlagsArray+=(
|
|
CFLAGS="-fcommon -O -DFOUR"
|
|
);
|
|
'');
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp -r bin/* $out/bin/
|
|
mkdir -p $out/share/doc/${pname}-${version}
|
|
cp -r doc/* $out/share/doc/${pname}-${version}
|
|
mkdir -p $out/share/${pname}-${version}/examples
|
|
cp -r examples/* $out/share/${pname}-${version}/examples
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Multipole-accelerated inductance analysis program";
|
|
longDescription = ''
|
|
Fasthenry is an inductance extraction program based on a
|
|
multipole-accelerated algorithm.'';
|
|
homepage = "https://www.fastfieldsolvers.com/fasthenry2.htm";
|
|
license = licenses.lgpl2Only;
|
|
maintainers = with maintainers; [ fbeffa ];
|
|
platforms = intersectLists (platforms.linux) (platforms.x86_64 ++ platforms.x86);
|
|
};
|
|
}
|