evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ap / apbs / package.nix
blob87cd5fed137330b90baf77b0fb97663537e5d692
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , blas
6 , superlu
7 , suitesparse
8 , python3
9 , libintl
10 , libiconv
11 , darwin
13 let
14   # this is a fork version of fetk (http://www.fetk.org/)
15   # which is maintained by apbs team
16   fetk = stdenv.mkDerivation (finalAttrs: {
17     pname = "fetk";
18     version = "1.9.3";
20     src = fetchFromGitHub {
21       owner = "Electrostatics";
22       repo = "fetk";
23       rev = "refs/tags/${finalAttrs.version}";
24       hash = "sha256-uFA1JRR05cNcUGaJj9IyGNONB2hU9IOBPzOj/HucNH4=";
25     };
27     nativeBuildInputs = [
28       cmake
29     ];
31     cmakeFlags = [
32       "-DBLAS_LIBRARIES=${blas}/lib"
33       "-DBLA_STATIC=OFF"
34       "-DBUILD_SUPERLU=OFF"
35     ];
37     env = lib.optionalAttrs stdenv.cc.isClang {
38       NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int";
39     };
41     buildInputs = [
42       blas
43       superlu
44       suitesparse
45     ];
47     meta = with lib; {
48       description = "Fork of the Finite Element ToolKit from fetk.org";
49       homepage = "https://github.com/Electrostatics/FETK";
50       changelog = "https://github.com/Electrostatics/FETK/releases/tag/${finalAttrs.version}";
51       license = licenses.lgpl21Plus;
52       maintainers = with maintainers; [ natsukium ];
53       platforms = platforms.unix;
54     };
55   });
57 stdenv.mkDerivation (finalAttrs: {
58   pname = "apbs";
59   version = "3.4.1";
61   src = fetchFromGitHub {
62     owner = "Electrostatics";
63     repo = "apbs";
64     rev = "refs/tags/v${finalAttrs.version}";
65     hash = "sha256-2DnHU9hMDl4OJBaTtcRiB+6R7gAeFcuOUy7aI63A3gQ=";
66   };
68   postPatch = ''
69     # ImportFETK.cmake downloads source and builds fetk
70     substituteInPlace CMakeLists.txt \
71       --replace "include(ImportFETK)" "" \
72       --replace 'import_fetk(''${FETK_VERSION})' ""
74     # U was removed in python 3.11 because it had no effect
75     substituteInPlace tools/manip/inputgen.py \
76       --replace '"rU"' '"r"'
77   '';
79   nativeBuildInputs = [
80     cmake
81   ];
83   buildInputs = [
84     fetk
85     suitesparse
86     blas
87     python3
88   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
89     libintl
90     libiconv
91     darwin.libutil
92   ];
94   cmakeFlags = [
95     "-DPYTHON_VERSION=${python3.version}"
96     "-DAPBS_LIBS=mc;maloc"
97     "-DCMAKE_MODULE_PATH=${fetk}/share/fetk/cmake;"
98     "-DENABLE_TESTS=1"
99   ];
101   env = lib.optionalAttrs stdenv.cc.isClang {
102     NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-function-pointer-types";
103   };
105   doCheck = true;
107   meta = with lib; {
108     description = "Software for biomolecular electrostatics and solvation calculations";
109     mainProgram = "apbs";
110     homepage = "https://www.poissonboltzmann.org/";
111     changelog = "https://github.com/Electrostatics/apbs/releases/tag/v${finalAttrs.version}";
112     license = licenses.bsd3;
113     maintainers = with maintainers; [ natsukium ];
114     platforms = platforms.unix;
115   };