about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/leveldb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/leveldb/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/leveldb/default.nix29
1 files changed, 16 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/libraries/leveldb/default.nix b/nixpkgs/pkgs/development/libraries/leveldb/default.nix
index 0a1dabef328c..2a7fb196ea68 100644
--- a/nixpkgs/pkgs/development/libraries/leveldb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leveldb/default.nix
@@ -13,25 +13,28 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ snappy ];
 
-  nativeBuildInputs = []
-    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildPhase = ''
-    make all
+  doCheck = true;
+
+  buildFlags = [ "all" ];
+
+  postPatch = lib.optionalString stdenv.hostPlatform.isStatic ''
+    # remove shared objects from "all" target
+    sed -i '/^all:/ s/$(SHARED_LIBS) $(SHARED_PROGRAMS)//' Makefile
   '';
 
-  installPhase = "
-    mkdir -p $out/{bin,lib,include}
+  installPhase = ''
+    runHook preInstall
 
-    cp -r include $out
-    mkdir -p $out/include/leveldb/helpers
-    cp helpers/memenv/memenv.h $out/include/leveldb/helpers
+    install -D -t $out/include/leveldb include/leveldb/*
+    install -D helpers/memenv/memenv.h $out/include/leveldb/helpers
 
-    cp out-shared/lib* $out/lib
-    cp out-static/lib* $out/lib
+    install -D -t $out/lib out-{static,shared}/lib*
+    install -D -t $out/bin out-static/{leveldbutil,db_bench}
 
-    cp out-static/leveldbutil $out/bin
-  ";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/google/leveldb";