Unverified Commit 64f3ee0b authored by Markus Kowalewski's avatar Markus Kowalewski Committed by GitHub
Browse files

mpb: init at 1.11.1 (#354821)

parents 9318b67c 312b6643
Loading
Loading
Loading
Loading
+67 −0
Original line number Diff line number Diff line
{
  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
    ];
  };
}
+9 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
  libctl,
  libGDSII,
  guile,
  mpb,
  python,
  numpy,
  scipy,
@@ -72,6 +73,7 @@ buildPythonPackage rec {
    libGDSII
    guile
    gsl
    mpb
  ];

  propagatedBuildInputs =
@@ -124,6 +126,9 @@ buildPythonPackage rec {
  nativeCheckInputs = [
    mpiCheckPhaseHook
  ];
  pythonImportCheck = [
    "meep.mpb"
  ];
  checkPhase = ''
    runHook preCheck

@@ -154,12 +159,12 @@ buildPythonPackage rec {
    runHook postCheck
  '';

  meta = with lib; {
  meta = {
    description = "Free finite-difference time-domain (FDTD) software for electromagnetic simulations";
    homepage = "https://meep.readthedocs.io/en/latest/";
    license = licenses.gpl2Only;
    platforms = platforms.linux;
    maintainers = with maintainers; [
    license = lib.licenses.gpl2Only;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [
      sheepforce
      markuskowa
    ];