summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authoriarspider <iarspider@gmail.com>2021-04-15 11:31:24 +0200
committerGitHub <noreply@github.com>2021-04-15 11:31:24 +0200
commitc122a22592b53d7a205d5fc82c49914b178cee11 (patch)
tree48f6019102de2eeafc99b8372fa2b80c5bcad797 /var
parent334e4f86852e1ccabae1e5a84b7dbab4ca9e552d (diff)
downloadspack-c122a22592b53d7a205d5fc82c49914b178cee11.tar.gz
spack-c122a22592b53d7a205d5fc82c49914b178cee11.tar.bz2
spack-c122a22592b53d7a205d5fc82c49914b178cee11.tar.xz
spack-c122a22592b53d7a205d5fc82c49914b178cee11.zip
CORAL: new package at v3.3.3 (#22867)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/coral/package.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/coral/package.py b/var/spack/repos/builtin/packages/coral/package.py
new file mode 100644
index 0000000000..34fe3c259f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/coral/package.py
@@ -0,0 +1,59 @@
+# 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 Coral(CMakePackage):
+ """CORAL is an abstraction layer with an SQL-free API to access data stored
+ using relational database technologies. It is used directly by
+ experiment-specific applications and internally by COOL."""
+
+ homepage = "https://coral-cool.docs.cern.ch/"
+ git = "https://gitlab.cern.ch/lcgcoral/coral.git"
+
+ tags = ['hep']
+
+ version('3.3.3', tag='CORAL_3_3_3')
+ variant('binary_tag', default='auto')
+
+ depends_on('ninja')
+ depends_on('ccache')
+ depends_on('boost')
+ depends_on('cppunit')
+ depends_on('expat')
+ depends_on('frontier-client')
+ depends_on('libaio')
+ depends_on('mariadb')
+ depends_on('python')
+# depends_on('qmtest')
+ depends_on('xerces-c')
+ depends_on('sqlite')
+ depends_on('gperftools')
+ depends_on('igprof')
+ depends_on('libunwind')
+ depends_on('valgrind')
+ depends_on('oracle-instant-client')
+
+ def determine_binary_tag(self):
+ # As far as I can tell from reading the source code, `binary_tag`
+ # can be almost arbitraryThe only real difference it makes is
+ # disabling oracle dependency for non-x86 platforms
+ if self.spec.variants['binary_tag'].value != 'auto':
+ return self.spec.variants['binary_tag'].value
+
+ binary_tag = str(self.spec.target.family) + \
+ '-' + self.spec.os + \
+ '-' + self.spec.compiler.name + str(self.spec.compiler.version.joined) + \
+ ('-opt' if 'Rel' in self.spec.variants['build_type'].value else '-dbg')
+
+ return binary_tag
+
+ def cmake_args(self):
+ args = ['-DBINARY_TAG=' + self.determine_binary_tag()]
+ if self.spec['python'].version >= Version("3.0.0"):
+ args.append('-DLCG_python3=on')
+
+ return args