From 9d85874aeb6f17bc1b13c1a248f319e1908e1210 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Sat, 4 Jul 2015 05:01:07 -0700 Subject: [PATCH] lmdb: lightning memory-mapped database --- lib/licenses.nix | 5 +++ pkgs/development/libraries/lmdb/default.nix | 37 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 pkgs/development/libraries/lmdb/default.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index 2b259c68069..d0e146f0dea 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -332,6 +332,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "SIL Open Font License 1.1"; }; + openldap = spdx { + spdxId = "OLDAP-2.8"; + fullName = "Open LDAP Public License v2.8"; + }; + openssl = spdx { spdxId = "OpenSSL"; fullName = "OpenSSL License"; diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix new file mode 100644 index 00000000000..fbf817dd873 --- /dev/null +++ b/pkgs/development/libraries/lmdb/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchzip }: + +stdenv.mkDerivation rec { + name = "lmdb-${version}"; + version = "0.9.15"; + + src = fetchzip { + url = "https://github.com/LMDB/lmdb/archive/LMDB_${version}.tar.gz"; + sha256 = "0p79fpyh1yx2jg1f0kag5zsdn4spkgs1j3dxibvqdy32wkbpxd0g"; + }; + + postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; + + makeFlags = "prefix=$(out)"; + + doCheck = true; + checkPhase = "make test"; + + preInstall = '' + mkdir -p $out/{man/man1,bin,lib,include} + ''; + + meta = with stdenv.lib; { + description = "Lightning memory-mapped database"; + longDescription = '' + LMDB is an ultra-fast, ultra-compact key-value embedded data store + developed by Symas for the OpenLDAP Project. It uses memory-mapped files, + so it has the read performance of a pure in-memory database while still + offering the persistence of standard disk-based databases, and is only + limited to the size of the virtual address space. + ''; + homepage = http://symas.com/mdb/; + maintainers = with maintainers; [ jb55 ]; + license = licenses.openldap; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d112500e89..f19ad2caedc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6651,6 +6651,8 @@ let leveldb = callPackage ../development/libraries/leveldb { }; + lmdb = callPackage ../development/libraries/lmdb { }; + levmar = callPackage ../development/libraries/levmar { }; leptonica = callPackage ../development/libraries/leptonica {