33 dijitso = pythonPackages.buildPythonPackage {
37 url = "https://bitbucket.org/fenics-project/dijitso/downloads/dijitso-${version}.tar.gz";
38 sha256 = "1ncgbr0bn5cvv16f13g722a0ipw6p9y6p4iasxjziwsp8kn5x97a";
40 propagatedBuildInputs = [ numpy six ];
41 checkInputs = [ pytest ];
51 description = "Distributed just-in-time shared library building";
52 homepage = "https://fenicsproject.org/";
53 platforms = lib.platforms.all;
54 license = lib.licenses.lgpl3;
58 fiat = pythonPackages.buildPythonPackage {
62 url = "https://bitbucket.org/fenics-project/fiat/downloads/fiat-${version}.tar.gz";
63 sha256 = "1sbi0fbr7w9g9ajr565g3njxrc3qydqjy3334vmz5xg0rd3106il";
65 propagatedBuildInputs = [ numpy six sympy ];
66 checkInputs = [ pytest ];
69 # Workaround pytest 4.6.3 issue.
70 # See: https://bitbucket.org/fenics-project/fiat/pull-requests/59
71 rm test/unit/test_quadrature.py
72 rm test/unit/test_reference_element.py
73 rm test/unit/test_fiat.py
81 description = "Automatic generation of finite element basis functions";
82 homepage = "https://fenicsproject.org/";
83 platforms = lib.platforms.all;
84 license = lib.licenses.lgpl3;
88 ufl = pythonPackages.buildPythonPackage {
92 url = "https://bitbucket.org/fenics-project/ufl/downloads/ufl-${version}.tar.gz";
93 sha256 = "04daxwg4y9c51sdgvwgmlc82nn0fjw7i2vzs15ckdc7dlazmcfi1";
95 propagatedBuildInputs = [ numpy six ];
96 checkInputs = [ pytest ];
103 description = "A domain-specific language for finite element variational forms";
104 homepage = "https://fenicsproject.org/";
105 platforms = lib.platforms.all;
106 license = lib.licenses.lgpl3;
110 ffc = pythonPackages.buildPythonPackage {
114 url = "https://bitbucket.org/fenics-project/ffc/downloads/ffc-${version}.tar.gz";
115 sha256 = "1zdg6pziss4va74pd7jjl8sc3ya2gmhpypccmyd8p7c66ji23y2g";
117 nativeBuildInputs = [
120 propagatedBuildInputs = [
129 checkInputs = [ pytest ];
132 rm test/unit/ufc/finite_element/test_evaluate.py
140 description = "A compiler for finite element variational forms";
141 homepage = "https://fenicsproject.org/";
142 platforms = lib.platforms.all;
143 license = lib.licenses.lgpl3;
146 dolfin = stdenv.mkDerivation {
150 url = "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-${version}.tar.gz";
151 sha256 = "0kbyi4x5f6j4zpasch0swh0ch81w2h92rqm1nfp3ydi4a93vky33";
155 name = "fix-double-prefix.patch";
156 url = "https://bitbucket.org/josef_kemetmueller/dolfin/commits/328e94acd426ebaf2243c072b806be3379fd4340/raw";
157 sha256 = "1zj7k3y7vsx0hz3gwwlxhq6gdqamqpcw90d4ishwx5ps5ckcsb9r";
160 propagatedBuildInputs = [
167 nativeBuildInputs = [
195 "-DDOLFIN_CXX_FLAGS=-std=c++11"
196 "-DDOLFIN_AUTO_DETECT_MPI=ON"
197 "-DDOLFIN_ENABLE_CHOLMOD=ON"
198 "-DDOLFIN_ENABLE_DOCS=ON"
199 "-DDOLFIN_ENABLE_HDF5=ON"
200 "-DDOLFIN_ENABLE_MPI=ON"
201 "-DDOLFIN_ENABLE_SCOTCH=ON"
202 "-DDOLFIN_ENABLE_UMFPACK=ON"
203 "-DDOLFIN_ENABLE_ZLIB=ON"
204 "-DDOLFIN_SKIP_BUILD_TESTS=ON" # Otherwise SCOTCH is not found
205 # TODO: Enable the following features
206 "-DDOLFIN_ENABLE_PARMETIS=OFF"
207 "-DDOLFIN_ENABLE_PETSC=OFF"
208 "-DDOLFIN_ENABLE_SLEPC=OFF"
209 "-DDOLFIN_ENABLE_TRILINOS=OFF"
211 installCheckPhase = ''
212 source $out/share/dolfin/dolfin.conf
216 description = "The FEniCS Problem Solving Environment in Python and C++";
217 homepage = "https://fenicsproject.org/";
218 license = lib.licenses.lgpl3;
221 python-dolfin = pythonPackages.buildPythonPackage rec {
224 disabled = pythonPackages.isPy27;
226 sourceRoot = "${pname}-${version}/python";
227 nativeBuildInputs = [
231 dontUseCmakeConfigure = true;
233 export CMAKE_PREFIX_PATH=${pybind11}/share/cmake/pybind11:$CMAKE_PREFIX_PATH
234 substituteInPlace setup.py --replace "pybind11==2.2.4" "pybind11"
235 substituteInPlace dolfin/jit/jit.py \
236 --replace 'pkg-config.exists("dolfin")' 'pkg-config.exists("${dolfin}/lib/pkgconfig/dolfin.pc")' \
237 --replace 'pkg-config.parse("dolfin")' 'pkg-config.parse("${dolfin}/lib/pkgconfig/dolfin.pc")'
244 propagatedBuildInputs = [
250 pythonPackages.pkgconfig
251 pythonPackages.pybind11
253 doCheck = false; # Tries to orte_ess_init and call ssh to localhost
255 description = "Python bindings for the DOLFIN FEM compiler";
256 homepage = "https://fenicsproject.org/";
257 platforms = lib.platforms.all;
258 license = lib.licenses.lgpl3;