blob: 68a89213dd18d9aaab6483c007905987f33c6b9c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# Copyright 2013-2023 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.package import *
class Lmdb(MakefilePackage):
"""Symas LMDB is an extraordinarily fast, memory-efficient database we
developed for the Symas OpenLDAP Project. With memory-mapped files, it
has the read performance of a pure in-memory database while retaining
the persistence of standard disk-based databases."""
homepage = "https://lmdb.tech/"
url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.21.tar.gz"
version("0.9.31", sha256="dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0")
version("0.9.29", sha256="22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb")
version("0.9.24", sha256="44602436c52c29d4f301f55f6fd8115f945469b868348e3cddaf91ab2473ea26")
version("0.9.22", sha256="f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28")
version("0.9.21", sha256="1187b635a4cc415bb6972bba346121f81edd996e99b8f0816151d4090f90b559")
version("0.9.16", sha256="49d7b40949f2ced9bc8b23ea6a89e75471a1c9126537a8b268c318a00b84322b")
build_directory = "libraries/liblmdb"
@property
def build_targets(self):
return ["CC={0}".format(spack_cc)]
@property
def install_targets(self):
return ["prefix={0}".format(self.prefix), "install"]
@run_after("install")
def install_pkgconfig(self):
mkdirp(self.prefix.lib.pkgconfig)
with open(join_path(self.prefix.lib.pkgconfig, "lmdb.pc"), "w") as f:
f.write("prefix={0}\n".format(self.prefix))
f.write("exec_prefix=${prefix}\n")
f.write("libdir={0}\n".format(self.prefix.lib))
f.write("includedir={0}\n".format(self.prefix.include))
f.write("\n")
f.write("Name: LMDB\n")
f.write(
"Description: Symas LMDB is an extraordinarily fast, "
"memory-efficient database.\n"
)
f.write("Version: {0}\n".format(self.spec.version))
f.write("Cflags: -I${includedir}\n")
f.write("Libs: -L${libdir} -llmdb\n")
|