68 lines
1.2 KiB
Nix
68 lines
1.2 KiB
Nix
{
|
|||
stdenv,
|
|||
lib,
|
|||
fetchFromGitHub,
|
|||
autoreconfHook,
|
|||
gfortran,
|
|||
pkg-config,
|
|||
blas,
|
|||
lapack,
|
|||
fftw,
|
|||
hdf5,
|
|||
libctl,
|
|||
guile,
|
|||
perl,
|
|||
}:
|
|||
|
|||
assert !blas.isILP64;
|
|||
assert !lapack.isILP64;
|
|||
|
|||
stdenv.mkDerivation rec {
|
|||
pname = "mpb";
|
|||
version = "1.11.1";
|
|||
|
|||
src = fetchFromGitHub {
|
|||
owner = "NanoComp";
|
|||
repo = pname;
|
|||
rev = "refs/tags/v${version}";
|
|||
hash = "sha256-+2cMjZSGdfngtGoAeZRPRPBDvflTEIOWO8Se0W6jv9k=";
|
|||
};
|
|||
|
|||
nativeBuildInputs = [
|
|||
autoreconfHook
|
|||
gfortran
|
|||
pkg-config
|
|||
];
|
|||
|
|||
buildInputs = [
|
|||
blas
|
|||
lapack
|
|||
fftw
|
|||
hdf5
|
|||
libctl
|
|||
guile
|
|||
perl
|
|||
];
|
|||
|
|||
enableParallelBuilding = true;
|
|||
|
|||
configureFlags = [
|
|||
"--with-libctl=yes"
|
|||
"--with-libctl=${libctl}"
|
|||
"--enable-maintainer-mode"
|
|||
"--disable-dependency-tracking"
|
|||
] ++ lib.optional (!stdenv.hostPlatform.isStatic) "--enable-shared";
|
|||
|
|||
doCheck = true;
|
|||
|
|||
meta = {
|
|||
description = "MIT Photonic-Bands: computation of photonic band structures in periodic media";
|
|||
homepage = "https://mpb.readthedocs.io/en/latest/";
|
|||
license = lib.licenses.gpl2Only;
|
|||
platforms = lib.platforms.linux;
|
|||
maintainers = with lib.maintainers; [
|
|||
sheepforce
|
|||
];
|
|||
};
|
|||
}
|