diff --git a/pkgs/development/libraries/redis-plus-plus/default.nix b/pkgs/development/libraries/redis-plus-plus/default.nix new file mode 100644 index 000000000000..a39a9b185dca --- /dev/null +++ b/pkgs/development/libraries/redis-plus-plus/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, cmake, hiredis +, enableShared ? !stdenv.hostPlatform.isStatic +, enableStatic ? stdenv.hostPlatform.isStatic +}: + +# You must build at one type of library +assert enableShared || enableStatic; + +stdenv.mkDerivation rec { + pname = "redis-plus-plus"; + version = "1.3.3"; + + src = fetchFromGitHub { + owner = "sewenew"; + repo = "redis-plus-plus"; + rev = version; + sha256 = "sha256-k4q5YbbbKKHXcL0nndzJPshzXS20ARz4Tdy5cBg7kMc="; + }; + + nativeBuildInputs = [ cmake ]; + propagatedBuildInputs = [ hiredis ]; + + cmakeFlags = [ + "-DREDIS_PLUS_PLUS_BUILD_TEST=OFF" + ] ++ lib.optional (!enableShared) [ + "-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF" + ] ++ lib.optional (!enableStatic) [ + "-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF" + ]; + + meta = with lib; { + homepage = "https://github.com/sewenew/redis-plus-plus"; + description = "Redis client written in C++"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ wheelsandmetal ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8dd1c813077d..8e0c3ddff849 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15506,6 +15506,8 @@ with pkgs; redis-dump = callPackage ../development/tools/redis-dump { }; + redis-plus-plus = callPackage ../development/libraries/redis-plus-plus { }; + redo = callPackage ../development/tools/build-managers/redo { }; redo-apenwarr = callPackage ../development/tools/build-managers/redo-apenwarr { };