nixpkgs/pkgs/by-name/mp/mpb/package.nix
2024-11-12 11:03:30 +00:00

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
];
};
}