3
0
Fork 0
forked from mirrors/nixpkgs

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.
This commit is contained in:
magenbluten 2019-04-29 08:18:02 +02:00 committed by Lassulus
parent 4f02f80be0
commit b54b5f9ad8
5 changed files with 42 additions and 70 deletions

View file

@ -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

View file

@ -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 ];
nativeBuildInputs = [ cmake ];
buildInputs = [ bzip2 gflags lz4 snappy zlib zstd ];
postPatch = ''
# Hack to fix typos
sed -i 's,#inlcude,#include,g' build_tools/build_detect_platform
'';
patches = [ ./0001-findzlib.patch ];
# 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"
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")
];
buildFlags = buildAndInstallFlags ++ [
"shared_lib"
"static_lib"
] ++ tools ;
installFlags = buildAndInstallFlags ++ [
"INSTALL_PATH=\${out}"
"install-shared"
"install-static"
];
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 ];
};
}

View file

@ -167,6 +167,7 @@ stdenv.mkDerivation {
license = licenses.lgpl21;
maintainers = with maintainers; [ adev ak ];
platforms = platforms.unix;
broken = true;
};
passthru.version = version;

View file

@ -144,5 +144,6 @@ stdenv.mkDerivation rec {
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ cstrahan ma27 ];
broken = true;
};
}

View file

@ -13039,7 +13039,7 @@ in
rlog = callPackage ../development/libraries/rlog { };
rocksdb = callPackage ../development/libraries/rocksdb { jemalloc = jemalloc450; };
rocksdb = callPackage ../development/libraries/rocksdb { };
rocksdb_lite = rocksdb.override { enableLite = true; };