# IT4Innovations 2019 name = 'Trilinos' version = '12.12.1' versionsuffix = '-Py-2.7' homepage = 'https://trilinos.org' description = """The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, local_complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.""" toolchain = {'name': 'foss', 'version': '2018a'} toolchainopts = {'usempi': True, 'pic': True, 'strict': True} source_urls = [ 'http://trilinos.csbsju.edu/download/files/', 'https://trilinos.org/oldsite/download/files/', ] sources = ['%(namelower)s-%(version)s-Source.tar.gz'] patches = [ ('Trilinos-%(version)s_fix-CEpetra-LAPACK.patch', 'packages/CTrilinos'), 'Trilinos-%(version)s_muelu-fix-function-signature.patch', 'Trilinos-%(version)s_fix-Sundance.patch', ] checksums = [ '7c67d83befbeabc773661bcdfee2850c404d249160b755d3f1be2e96f564f9fd', # trilinos-12.12.1-Source.tar.gz 'de2e989bf9e7cbe7cab9126a464b5b1569983de4060956e7a95dccb9e0bad039', # Trilinos-12.12.1_fix-CEpetra-LAPACK.patch # Trilinos-12.12.1_muelu-fix-function-signature.patch '253191cc6f6a6ebcc893e2684c64cfefa62c1cd0cc6b03b5f83646856fbdfe8a', 'df7924c207c1fab98d5aeec1333c4e2da5c07117daf2c72279f894552087e391', # Trilinos-12.12.1_fix-Sundance.patch ] builddependencies = [ ('CMake', '3.13.1', '', True), ('SWIG', '3.0.12', versionsuffix), ] dependencies = [ ('Python', '2.7', '', True), ('Boost', '1.66.0', versionsuffix), ('SCOTCH', '6.0.6'), ('SuiteSparse', '5.4.0', '-METIS-5.1.0'), ('ParMETIS', '4.0.3'), ('netCDF', '4.6.1'), ('MATIO', '1.5.12', '', ('GCCcore', '6.3.0')), ('GLM', '0.9.9.0', '', ('GCCcore', '6.3.0')), ('X11', '20180604', '', True), ] # disable TrilinosCouplings package, doesn't build correctly (examples fail to local_compile) skip_exts = ['TrilinosCouplings'] # workaround for Teuchos.pyc not being found during "make install" # see https://github.com/trilinos/Trilinos/issues/1749 preinstallopts = "cd %(builddir)s/trilinos-%(version)s-Source/packages/PyTrilinos/src/PyTrilinos && " preinstallopts += "python -m local_compileall -l -f . && cd - && " # too parallel is too slow because of memory requirements (results in swapping), and may cause build/tests to fail # building with 20 cores seems to require about 100GB of memory (peak usage) maxparallel = 10 moduleclass = 'numlib'