From 37d69073828679ec9fd99a20dcdac4f7e89a634f Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Sat, 22 Jul 2017 00:12:17 +0200 Subject: lmdb: Update to 0.9.21 (#4830) Convert to MakefilePackage and add pkg-config file. --- var/spack/repos/builtin/packages/lmdb/package.py | 62 ++++++++++++------------ 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/var/spack/repos/builtin/packages/lmdb/package.py b/var/spack/repos/builtin/packages/lmdb/package.py index 5a0aef35a4..aae962db15 100644 --- a/var/spack/repos/builtin/packages/lmdb/package.py +++ b/var/spack/repos/builtin/packages/lmdb/package.py @@ -22,42 +22,40 @@ # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## -import os from spack import * -class Lmdb(Package): - """Read-only mirror of official repo on openldap.org. Issues and - pull requests here are ignored. Use OpenLDAP ITS for issues. - http://www.openldap.org/software/repo.html""" +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 = "http://www.openldap.org/software/repo.html" - url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.16.tar.gz" + homepage = "https://lmdb.tech/" + url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.21.tar.gz" + version('0.9.21', '41a4f7b63212a00e53fabd8159008201') version('0.9.16', '0de89730b8f3f5711c2b3a4ba517b648') - def install(self, spec, prefix): - os.chdir('libraries/liblmdb') - - make() - - mkdirp(prefix.bin) - mkdirp(prefix + '/man/man1') - mkdirp(prefix.lib) - mkdirp(prefix.include) - - bins = ['mdb_stat', 'mdb_copy', 'mdb_dump', 'mdb_load'] - for f in bins: - install(f, prefix.bin) - - mans = ['mdb_stat.1', 'mdb_copy.1', 'mdb_dump.1', 'mdb_load.1'] - for f in mans: - install(f, prefix + '/man/man1') - - libs = ['liblmdb.a', 'liblmdb.so'] - for f in libs: - install(f, prefix.lib) - - includes = ['lmdb.h'] - for f in includes: - install(f, prefix.include) + build_directory = 'libraries/liblmdb' + + @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') -- cgit v1.2.3-70-g09d2