depot/third_party/nixpkgs/pkgs/applications/science/chemistry/apbs/default.nix
Default email 94427deb9d Project import generated by Copybara.
GitOrigin-RevId: f91ee3065de91a3531329a674a45ddcb3467a650
2023-05-24 16:37:59 +03:00

101 lines
2.3 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cmake
, blas
, superlu
, suitesparse
, python3
, libintl
, libiconv
}:
let
# this is a fork version of fetk (http://www.fetk.org/)
# which is maintained by apbs team
fetk = stdenv.mkDerivation (finalAttrs: {
pname = "fetk";
version = "1.9.3";
src = fetchFromGitHub {
owner = "Electrostatics";
repo = "fetk";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-uFA1JRR05cNcUGaJj9IyGNONB2hU9IOBPzOj/HucNH4=";
};
nativeBuildInputs = [
cmake
];
cmakeFlags = [
"-DBLAS_LIBRARIES=${blas}/lib"
"-DBLA_STATIC=OFF"
"-DBUILD_SUPERLU=OFF"
];
buildInputs = [
blas
superlu
suitesparse
];
meta = with lib; {
description = "Fork of the Finite Element ToolKit from fetk.org";
homepage = "https://github.com/Electrostatics/FETK";
changelog = "https://github.com/Electrostatics/FETK/releases/tag/${finalAttrs.version}";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ natsukium ];
platforms = platforms.unix;
};
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "apbs";
version = "3.4.1";
src = fetchFromGitHub {
owner = "Electrostatics";
repo = "apbs";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-2DnHU9hMDl4OJBaTtcRiB+6R7gAeFcuOUy7aI63A3gQ=";
};
postPatch = ''
# ImportFETK.cmake downloads source and builds fetk
substituteInPlace CMakeLists.txt \
--replace "include(ImportFETK)" "" \
--replace 'import_fetk(''${FETK_VERSION})' ""
'';
nativeBuildInputs = [
cmake
];
buildInputs = [
fetk
suitesparse
blas
python3
] ++ lib.optionals stdenv.isDarwin [
libintl
libiconv
];
cmakeFlags = [
"-DPYTHON_VERSION=${python3.version}"
"-DAPBS_LIBS=mc;maloc"
"-DCMAKE_MODULE_PATH=${fetk}/share/fetk/cmake;"
"-DENABLE_TESTS=1"
];
doCheck = true;
meta = with lib; {
description = "Software for biomolecular electrostatics and solvation calculations";
homepage = "https://www.poissonboltzmann.org/";
changelog = "https://github.com/Electrostatics/apbs/releases/tag/v${finalAttrs.version}";
license = licenses.bsd3;
maintainers = with maintainers; [ natsukium ];
platforms = platforms.unix;
};
})