1{ stdenv, fetchFromGitHub }:
2
3stdenv.mkDerivation rec {
4 name = "leveldb-${version}";
5 version = "1.18";
6
7 src = fetchFromGitHub {
8 owner = "google";
9 repo = "leveldb";
10 rev = "v${version}";
11 sha256 = "1bnsii47vbyqnbah42qgq6pbmmcg4k3fynjnw7whqfv6lpdgmb8d";
12 };
13
14 buildPhase = ''
15 make all leveldbutil libmemenv.a
16 '';
17
18 installPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
19 for file in *.dylib*; do
20 install_name_tool -id $out/lib/$file $file
21 done
22 '') + # XXX consider removing above after transition to cmake in the next release
23 "
24 mkdir -p $out/{bin,lib,include}
25
26 cp -r include $out
27 mkdir -p $out/include/leveldb/helpers
28 cp helpers/memenv/memenv.h $out/include/leveldb/helpers
29
30 cp lib* $out/lib
31
32 cp leveldbutil $out/bin
33 ";
34
35 meta = with stdenv.lib; {
36 homepage = https://github.com/google/leveldb;
37 description = "Fast and lightweight key/value database library by Google";
38 license = licenses.bsd3;
39 platforms = platforms.all;
40 maintainers = with maintainers; [ wkennington ];
41 };
42}