diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (diff) |
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie
git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7
git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems/default.nix new file mode 100644 index 000000000000..f7c8dd7467a3 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/science/electronics/openems/default.nix @@ -0,0 +1,76 @@ +{ stdenv +, lib +, fetchFromGitHub +, csxcad +, fparser +, tinyxml +, hdf5 +, vtk +, boost +, zlib +, cmake +, octave +, gl2ps +, withQcsxcad ? true +, withMPI ? false +, withHyp2mat ? true +, qcsxcad ? null +, openmpi ? null +, hyp2mat ? null +}: + +assert withQcsxcad -> qcsxcad != null; +assert withMPI -> openmpi != null; +assert withHyp2mat -> hyp2mat != null; + +stdenv.mkDerivation { + pname = "openems"; + version = "unstable-2020-02-15"; + + src = fetchFromGitHub { + owner = "thliebig"; + repo = "openEMS"; + rev = "ba793ac84e2f78f254d6d690bb5a4c626326bbfd"; + sha256 = "1dca6b6ccy771irxzsj075zvpa3dlzv4mjb8xyg9d889dqlgyl45"; + }; + + nativeBuildInputs = [ + cmake + ]; + + cmakeFlags = lib.optionals withMPI [ "-DWITH_MPI=ON" ]; + + buildInputs = [ + fparser + tinyxml + hdf5 + vtk + boost + zlib + csxcad + (octave.override { inherit hdf5; }) ] + ++ lib.optionals withQcsxcad [ qcsxcad ] + ++ lib.optionals withMPI [ openmpi ] + ++ lib.optionals withHyp2mat [ hyp2mat ]; + + postFixup = '' + substituteInPlace $out/share/openEMS/matlab/setup.m \ + --replace /usr/lib ${hdf5}/lib \ + --replace /usr/include ${hdf5}/include + + ${octave}/bin/mkoctfile -L${hdf5}/lib -I${hdf5}/include \ + -lhdf5 $out/share/openEMS/matlab/h5readatt_octave.cc \ + -o $out/share/openEMS/matlab/h5readatt_octave.oct + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Open Source Electromagnetic Field Solver"; + homepage = "http://openems.de/index.php/Main_Page.html"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthuszagh ]; + platforms = platforms.linux; + badPlatforms = platforms.aarch64; + }; +} |