summary refs log tree commit diff
path: root/pkgs/development/libraries/rocksdb
diff options
context:
space:
mode:
authormagenbluten <magenbluten@codemonkey.cc>2019-04-29 08:18:02 +0200
committerLassulus <github@lassul.us>2019-06-19 15:01:27 +0200
commitb54b5f9ad88b5138e4e4ca4a49cbd2d89559e897 (patch)
tree468b76e9a7246b45129c59c137c9b97fa6aab1f5 /pkgs/development/libraries/rocksdb
parent4f02f80be0ee770228440c2e880e48ed3d07c5af (diff)
downloadnixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar.gz
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar.bz2
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar.lz
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar.xz
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.tar.zst
nixpkgs-b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897.zip
rocksdb: 5.11.3 -> 6.1.2
- mark osquery as broken
- mark ceph as broken

both osquery and ceph packages are outdated. furthermore, ceph has its
own inline rocksdb source tree which isn't use in the current nixpkg.
this needs to be fixed.
Diffstat (limited to 'pkgs/development/libraries/rocksdb')
-rw-r--r--pkgs/development/libraries/rocksdb/0001-findzlib.patch13
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix99
2 files changed, 41 insertions, 71 deletions
diff --git a/pkgs/development/libraries/rocksdb/0001-findzlib.patch b/pkgs/development/libraries/rocksdb/0001-findzlib.patch
new file mode 100644
index 00000000000..eb532620773
--- /dev/null
+++ b/pkgs/development/libraries/rocksdb/0001-findzlib.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 132d3b0..37fec63 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,7 +92,7 @@ else()
+   endif()
+ 
+   if(WITH_ZLIB)
+-    find_package(zlib REQUIRED)
++	  find_package(ZLIB REQUIRED)
+     add_definitions(-DZLIB)
+     if(ZLIB_INCLUDE_DIRS)
+       # CMake 3
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 4e51051dfe0..bd6441eeb0e 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -1,86 +1,43 @@
-{ stdenv
-, fetchFromGitHub
-, fixDarwinDylibNames
-, which, perl
+{ stdenv, fetchFromGitHub, lib, bzip2, cmake, gflags, lz4, snappy, zlib, zstd, enableLite ? false }:
 
-# Optional Arguments
-, snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
-
-# Malloc implementation
-, jemalloc ? null, gperftools ? null
-
-, enableLite ? false
-}:
-
-let
-  malloc = if jemalloc != null then jemalloc else gperftools;
-  tools = [ "sst_dump" "ldb" "rocksdb_dump" "rocksdb_undump" "blob_dump" ];
-in
 stdenv.mkDerivation rec {
-  name = "rocksdb-${version}";
-  version = "5.11.3";
-
-  outputs = [ "dev" "out" "static" "bin" ];
+  pname = "rocksdb";
+  version = "6.1.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
-    repo = "rocksdb";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "15x2r7aib1xinwcchl32wghs8g96k4q5xgv6z97mxgp35475x01p";
+    sha256 = "0gy2zjga3r8k9pbn2b0b5fzv4m0h2ip3zmyja1i7fli9n56civ3y";
   };
 
-  nativeBuildInputs = [ which perl ];
-  buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ];
-
-  postPatch = ''
-    # Hack to fix typos
-    sed -i 's,#inlcude,#include,g' build_tools/build_detect_platform
-  '';
-
-  # Environment vars used for building certain configurations
-  PORTABLE = "1";
-  USE_SSE = "1";
-  CMAKE_CXX_FLAGS = "-std=gnu++11";
-  JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
-
-  LIBNAME = "librocksdb${stdenv.lib.optionalString enableLite "_lite"}";
-  ${if enableLite then "CXXFLAGS" else null} = "-DROCKSDB_LITE=1";
-
-  buildAndInstallFlags = [
-    "USE_RTTI=1"
-    "DEBUG_LEVEL=0"
-    "DISABLE_WARNING_AS_ERROR=1"
-  ];
-
-  buildFlags = buildAndInstallFlags ++ [
-    "shared_lib"
-    "static_lib"
-  ] ++ tools ;
-
-  installFlags = buildAndInstallFlags ++ [
-    "INSTALL_PATH=\${out}"
-    "install-shared"
-    "install-static"
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ bzip2 gflags lz4 snappy zlib zstd ];
+
+  patches = [ ./0001-findzlib.patch ];
+
+  cmakeFlags = [
+    "-DPORTABLE=1"
+    "-DWITH_JEMALLOC=0"
+    "-DWITH_JNI=0"
+    "-DWITH_TESTS=0"
+    "-DWITH_TOOLS=0"
+    "-DWITH_BZ2=1"
+    "-DWITH_LZ4=1"
+    "-DWITH_SNAPPY=1"
+    "-DWITH_ZLIB=1"
+    "-DWITH_ZSTD=1"
+    (lib.optional
+        (stdenv.hostPlatform.system == "i686-linux"
+         || stdenv.hostPlatform.system == "x86_64-linux")
+        "-DFORCE_SSE42=1")
+    (lib.optional enableLite "-DROCKSDB_LITE=1")
   ];
 
-  postInstall = ''
-    # Might eventually remove this when we are confident in the build process
-    echo "BUILD CONFIGURATION FOR SANITY CHECKING"
-    cat make_config.mk
-    mkdir -pv $static/lib/
-    mv -vi $out/lib/${LIBNAME}.a $static/lib/
-
-    install -d ''${!outputBin}/bin
-    install -D ${stdenv.lib.concatStringsSep " " tools} ''${!outputBin}/bin
-  '';
-
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     homepage = https://rocksdb.org;
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
-    license = licenses.bsd3;
-    platforms = platforms.x86_64;
-    maintainers = with maintainers; [ adev ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ adev magenbluten ];
   };
 }