diff options
author | magenbluten <magenbluten@codemonkey.cc> | 2019-04-29 08:18:02 +0200 |
---|---|---|
committer | Lassulus <github@lassul.us> | 2019-06-19 15:01:27 +0200 |
commit | b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897 (patch) | |
tree | 468b76e9a7246b45129c59c137c9b97fa6aab1f5 /pkgs/development/libraries/rocksdb | |
parent | 4f02f80be0ee770228440c2e880e48ed3d07c5af (diff) | |
download | nixpkgs-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.patch | 13 | ||||
-rw-r--r-- | pkgs/development/libraries/rocksdb/default.nix | 99 |
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 ]; }; } |