about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/leveldb
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/leveldb')
-rw-r--r--nixpkgs/pkgs/development/libraries/leveldb/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/leveldb/default.nix b/nixpkgs/pkgs/development/libraries/leveldb/default.nix
new file mode 100644
index 000000000000..c459a4048e45
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/leveldb/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "leveldb-${version}";
+  version = "1.20";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "leveldb";
+    rev = "v${version}";
+    sha256 = "01kxga1hv4wp94agx5vl3ybxfw5klqrdsrb6p6ywvnjmjxm8322y";
+  };
+
+  buildPhase = ''
+    make all
+  '';
+
+  installPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
+    for file in out-shared/*.dylib*; do
+      install_name_tool -id $out/lib/$file $file
+    done
+  '') + # XXX consider removing above after transition to cmake in the next release
+  "
+    mkdir -p $out/{bin,lib,include}
+
+    cp -r include $out
+    mkdir -p $out/include/leveldb/helpers
+    cp helpers/memenv/memenv.h $out/include/leveldb/helpers
+
+    cp out-shared/lib* $out/lib
+    cp out-static/lib* $out/lib
+
+    cp out-static/leveldbutil $out/bin
+  ";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/google/leveldb;
+    description = "Fast and lightweight key/value database library by Google";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}