diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/rapidjson')
3 files changed, 61 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/libraries/rapidjson/default.nix b/nixpkgs/pkgs/development/libraries/rapidjson/default.nix index f73e01b64764..b200193aa211 100644 --- a/nixpkgs/pkgs/development/libraries/rapidjson/default.nix +++ b/nixpkgs/pkgs/development/libraries/rapidjson/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { version = "1.1.0"; src = fetchFromGitHub { - owner = "miloyip"; + owner = "Tencent"; repo = "rapidjson"; rev = "v${version}"; sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"; @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { url = "https://git.alpinelinux.org/aports/plain/community/rapidjson/do-not-include-gtest-src-dir.patch?id=9e5eefc7a5fcf5938a8dc8a3be8c75e9e6809909"; hash = "sha256-BjSZEwfCXA/9V+kxQ/2JPWbc26jQn35CfN8+8NW24s4="; }) + # One of these three tests reports memcpy overlap after update to glibc-2.38 + ./test-skip-valgrind.diff ]; postPatch = '' @@ -51,6 +53,6 @@ stdenv.mkDerivation rec { homepage = "http://rapidjson.org/"; license = licenses.mit; platforms = platforms.unix; - maintainers = with maintainers; [ cstrahan dotlambda ]; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/nixpkgs/pkgs/development/libraries/rapidjson/test-skip-valgrind.diff b/nixpkgs/pkgs/development/libraries/rapidjson/test-skip-valgrind.diff new file mode 100644 index 000000000000..a791d88699ff --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/rapidjson/test-skip-valgrind.diff @@ -0,0 +1,7 @@ +--- a/test/unittest/CMakeLists.txt ++++ b/test/unittest/CMakeLists.txt +@@ -82,3 +81,0 @@ +- add_test(NAME valgrind_unittest +- COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest --gtest_filter=-SIMD.* +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + diff --git a/nixpkgs/pkgs/development/libraries/rapidjson/unstable.nix b/nixpkgs/pkgs/development/libraries/rapidjson/unstable.nix new file mode 100644 index 000000000000..069f1a48e0ea --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/rapidjson/unstable.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, pkg-config +, cmake +, gtest +, valgrind +}: + +stdenv.mkDerivation rec { + pname = "rapidjson"; + version = "unstable-2023-09-28"; + + src = fetchFromGitHub { + owner = "Tencent"; + repo = "rapidjson"; + rev = "f9d53419e912910fd8fa57d5705fa41425428c35"; + hash = "sha256-rl7iy14jn1K2I5U2DrcZnoTQVEGEDKlxmdaOCF/3hfY="; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ]; + + patches = [ + (fetchpatch { + name = "do-not-include-gtest-src-dir.patch"; + url = "https://git.alpinelinux.org/aports/plain/community/rapidjson/do-not-include-gtest-src-dir.patch?id=9e5eefc7a5fcf5938a8dc8a3be8c75e9e6809909"; + hash = "sha256-BjSZEwfCXA/9V+kxQ/2JPWbc26jQn35CfN8+8NW24s4="; + }) + ]; + + # for tests, adding gtest to checkInputs does not work + # https://github.com/NixOS/nixpkgs/pull/212200 + buildInputs = [ gtest ]; + cmakeFlags = [ "-DGTEST_SOURCE_DIR=${gtest.dev}/include" ]; + + nativeCheckInputs = [ valgrind ]; + doCheck = !stdenv.hostPlatform.isStatic && !stdenv.isDarwin; + + meta = with lib; { + description = "Fast JSON parser/generator for C++ with both SAX/DOM style API"; + homepage = "http://rapidjson.org/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ Madouura ]; + }; +} |