summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin
diff options
context:
space:
mode:
authorMarie Houillon <houillonmarie@gmail.com>2021-09-27 20:21:43 +0200
committerGitHub <noreply@github.com>2021-09-27 11:21:43 -0700
commit87c7a7e1039abd8c2a188498ae8367492937cc88 (patch)
tree4cea217e2918c1f6cc45b600b1d973eb7ab1eb98 /var/spack/repos/builtin
parent6b2192ef96e935195af795dc5f1feba5aba92290 (diff)
downloadspack-87c7a7e1039abd8c2a188498ae8367492937cc88.tar.gz
spack-87c7a7e1039abd8c2a188498ae8367492937cc88.tar.bz2
spack-87c7a7e1039abd8c2a188498ae8367492937cc88.tar.xz
spack-87c7a7e1039abd8c2a188498ae8367492937cc88.zip
New packages for openCARP (#25909)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Diffstat (limited to 'var/spack/repos/builtin')
-rw-r--r--var/spack/repos/builtin/packages/meshtool/package.py23
-rw-r--r--var/spack/repos/builtin/packages/opencarp/opencarp7.patch52
-rw-r--r--var/spack/repos/builtin/packages/opencarp/package.py68
-rw-r--r--var/spack/repos/builtin/packages/py-carputils/package.py31
4 files changed, 174 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/meshtool/package.py b/var/spack/repos/builtin/packages/meshtool/package.py
new file mode 100644
index 0000000000..57805430c8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/meshtool/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Meshtool(MakefilePackage):
+ """Meshtool - A mesh manipulation utility"""
+
+ homepage = "https://bitbucket.org/aneic/meshtool/"
+ git = "https://bitbucket.org/aneic/meshtool.git"
+
+ maintainers = ['MarieHouillon']
+
+ version('master', branch='master')
+ # Version to use with opencarp@7.0
+ version('oc7.0', commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install('meshtool', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/opencarp/opencarp7.patch b/var/spack/repos/builtin/packages/opencarp/opencarp7.patch
new file mode 100644
index 0000000000..6588d9bf77
--- /dev/null
+++ b/var/spack/repos/builtin/packages/opencarp/opencarp7.patch
@@ -0,0 +1,52 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1c77521..ac421ca 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -145,4 +145,4 @@ install(CODE "execute_process(COMMAND sh -c \"bash ${CMAKE_CURRENT_LIST_DIR}/cma
+ )
+
+
+-include(CPackConfig)
++#include(CPackConfig)
+diff --git a/cmake/postinst b/cmake/postinst
+index 7f1e249..0df6777 100644
+--- a/cmake/postinst
++++ b/cmake/postinst
+@@ -1,16 +1,16 @@
+ #!/bin/bash
+
+-INST_DIR="/usr/local/lib/opencarp"
++#INST_DIR="/usr/local/lib/opencarp"
+
+-if [ "$(uname -s)" == "Linux" ]; then
+- echo $INST_DIR/lib > /etc/ld.so.conf.d/opencarp.conf
+- ldconfig
+-fi
++#if [ "$(uname -s)" == "Linux" ]; then
++# echo $INST_DIR/lib > /etc/ld.so.conf.d/opencarp.conf
++# ldconfig
++#fi
+
+ # link binaries
+-ln -sf $INST_DIR/bin/* /usr/local/bin/
+-ln -sf $INST_DIR/lib/openmpi/bin/mpirun /usr/local/bin/mpirun
+-ln -sf $INST_DIR/lib/openmpi/bin/mpiexec /usr/local/bin/mpiexec
++#ln -sf $INST_DIR/bin/* /usr/local/bin/
++#ln -sf $INST_DIR/lib/openmpi/bin/mpirun /usr/local/bin/mpirun
++#ln -sf $INST_DIR/lib/openmpi/bin/mpiexec /usr/local/bin/mpiexec
+
+ # install carputils
+ if [ -d "$INST_DIR/share/carputils" ]; then
+diff --git a/simulator/build_info.py b/simulator/build_info.py
+index 7ef8aec..0b51aaa 100644
+--- a/simulator/build_info.py
++++ b/simulator/build_info.py
+@@ -168,7 +168,7 @@ TEMPLATE = """#ifndef __BUILD_INFO__
+
+ def generate():
+
+- info = git()
++ info = git(os.path.dirname(os.path.abspath(__file__)))
+
+ # Get subrepo info
+ repo_versions = []
diff --git a/var/spack/repos/builtin/packages/opencarp/package.py b/var/spack/repos/builtin/packages/opencarp/package.py
new file mode 100644
index 0000000000..680c858a95
--- /dev/null
+++ b/var/spack/repos/builtin/packages/opencarp/package.py
@@ -0,0 +1,68 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os
+from datetime import datetime
+
+from spack import *
+
+
+class Opencarp(CMakePackage):
+ """The openCARP simulation software,
+ an open cardiac electrophysiology simulator for in-silico experiments."""
+
+ homepage = "https://www.opencarp.org"
+ git = "https://git.opencarp.org/openCARP/openCARP.git"
+
+ maintainers = ['MarieHouillon']
+
+ version('7.0', commit='78da9195', submodules=False, no_cache=True, preferred=True)
+ version('master', branch='master', submodules=False, no_cache=True)
+
+ variant('carputils', default=False, description='Installs the carputils framework')
+ variant('meshtool', default=False, description='Installs the meshtool software')
+
+ # Patch removing problematic steps in CMake process
+ patch('opencarp7.patch', when='@7.0')
+
+ depends_on('git')
+ depends_on('petsc')
+ depends_on('binutils')
+ depends_on('gengetopt')
+ depends_on('pkgconfig')
+ depends_on('python@:3.8')
+ depends_on('zlib')
+ depends_on('perl')
+
+ depends_on('py-carputils')
+ depends_on('meshtool')
+ # Use specific versions of carputils and meshtool for releases
+ for ver in ['7.0']:
+ depends_on('py-carputils@oc' + ver, when='@' + ver + ' +carputils')
+ depends_on('meshtool@oc' + ver, when='@' + ver + ' +meshtool')
+
+ def cmake_args(self):
+ return [
+ self.define('DLOPEN', True),
+ self.define('SPACK_BUILD', True)
+ ]
+
+ @run_after('install')
+ def post_install(self):
+ # If carputils has been installed, a new settings file
+ # with right executable paths is generated
+ if '+carputils' in self.spec:
+ settings_prefix = os.path.expanduser(join_path('~', '.config', 'carputils'))
+ settings_file = join_path(settings_prefix, 'settings.yaml')
+ if os.path.exists(settings_file):
+ print('Backup the existing settings.yaml...')
+ os.rename(settings_file,
+ join_path(
+ settings_prefix,
+ 'settings.yaml.'
+ + datetime.today().strftime('%Y-%m-%d-%H:%M:%S')))
+ cusettings = Executable('cusettings')
+ cusettings(settings_file, '--flavor', 'petsc',
+ '--software-root', self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-carputils/package.py b/var/spack/repos/builtin/packages/py-carputils/package.py
new file mode 100644
index 0000000000..52822fb70c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-carputils/package.py
@@ -0,0 +1,31 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyCarputils(PythonPackage):
+ """The carputils framework for running simulations with the openCARP software."""
+
+ homepage = "https://www.opencarp.org"
+ git = "https://git.opencarp.org/openCARP/carputils.git"
+
+ maintainers = ['MarieHouillon']
+
+ version('master', branch='master')
+ # Version to use with openCARP 7.0
+ version('oc7.0', commit='4c04db61744f2fb7665594d7c810699c5c55c77c')
+
+ depends_on('git')
+
+ depends_on('python@:3.8', type=('build', 'run'))
+ depends_on('py-pip', type='build')
+ depends_on('py-numpy@1.14.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-python-dateutil', type='run')
+ depends_on('py-scipy@:1.5.4', type='run')
+ depends_on('py-matplotlib@:3.3.3', type='run')
+ depends_on('py-pandas@:1.1.4', type='run')
+ depends_on('py-tables@3.6.1', type='run')
+ depends_on('py-six@:1.14.0', type='run')
+ depends_on('py-ruamel-yaml', type='run')