62 lines
1.6 KiB
Nix
62 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);
|
||
|
};
|
||
|
}
|