From b54b5f9ad88b5138e4e4ca4a49cbd2d89559e897 Mon Sep 17 00:00:00 2001 From: magenbluten Date: Mon, 29 Apr 2019 08:18:02 +0200 Subject: 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. --- .../libraries/rocksdb/0001-findzlib.patch | 13 +++ pkgs/development/libraries/rocksdb/default.nix | 99 ++++++---------------- 2 files changed, 41 insertions(+), 71 deletions(-) create mode 100644 pkgs/development/libraries/rocksdb/0001-findzlib.patch (limited to 'pkgs/development/libraries/rocksdb') 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 ]; }; } -- cgit 1.4.1