Merge pull request #177249 from dotlambda/rapidjson-tests
rapidjson: run tests
This commit is contained in:
commit
abb346a417
2 changed files with 68 additions and 18 deletions
|
@ -1,4 +1,11 @@
|
|||
{ stdenv, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, cmake
|
||||
, gtest
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rapidjson";
|
||||
|
@ -16,20 +23,42 @@ stdenv.mkDerivation rec {
|
|||
url = "https://src.fedoraproject.org/rpms/rapidjson/raw/48402da9f19d060ffcd40bf2b2e6987212c58b0c/f/rapidjson-1.1.0-c++20.patch";
|
||||
sha256 = "1qm62iad1xfsixv1li7qy475xc7gc04hmi2q21qdk6l69gk7mf82";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://git.alpinelinux.org/aports/plain/community/rapidjson/do-not-include-gtest-src-dir.patch";
|
||||
hash = "sha256-BjSZEwfCXA/9V+kxQ/2JPWbc26jQn35CfN8+8NW24s4=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
find -name CMakeLists.txt | xargs \
|
||||
sed -i -e "s/-Werror//g" -e "s/-march=native//g"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace CMakeLists.txt --replace "-Werror" ""
|
||||
substituteInPlace example/CMakeLists.txt --replace "-Werror" ""
|
||||
cmakeFlags = [
|
||||
"-DGTEST_SOURCE_DIR=${gtest.dev}/include"
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
ctest -E '.*valgrind.*'
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
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; [ cstrahan ];
|
||||
maintainers = with maintainers; [ cstrahan dotlambda ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,37 +1,58 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, pytest
|
||||
, rapidjson
|
||||
, pytestCheckHook
|
||||
, pytz
|
||||
, glibcLocales
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
let
|
||||
rapidjson' = rapidjson.overrideAttrs (old: {
|
||||
version = "unstable-2022-05-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Tencent";
|
||||
repo = "rapidjson";
|
||||
rev = "232389d4f1012dddec4ef84861face2d2ba85709";
|
||||
hash = "sha256-RLvDcInUa8E8DRA4U/oXEE8+TZ0SDXXDU/oWvpfDWjw=";
|
||||
};
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://git.alpinelinux.org/aports/plain/community/rapidjson/do-not-include-gtest-src-dir.patch";
|
||||
hash = "sha256-BjSZEwfCXA/9V+kxQ/2JPWbc26jQn35CfN8+8NW24s4=";
|
||||
})
|
||||
];
|
||||
});
|
||||
in buildPythonPackage rec {
|
||||
version = "1.6";
|
||||
pname = "python-rapidjson";
|
||||
disabled = pythonOlder "3.4";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-GJzxqWv5/NhtADYPFa12qDzgiJuK6NHLD9srKZXlocg=";
|
||||
};
|
||||
|
||||
LC_ALL="en_US.utf-8";
|
||||
buildInputs = [ glibcLocales ];
|
||||
setupPyBuildFlags = [
|
||||
"--rj-include-dir=${lib.getDev rapidjson'}/include"
|
||||
];
|
||||
|
||||
# buildInputs = [ ];
|
||||
checkInputs = [ pytest pytz ];
|
||||
# propagatedBuildInputs = [ ];
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
pytz
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
pytest tests
|
||||
'';
|
||||
disabledTestPaths = [
|
||||
"benchmarks"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/python-rapidjson/python-rapidjson";
|
||||
description = "Python wrapper around rapidjson ";
|
||||
description = "Python wrapper around rapidjson";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
maintainers = with maintainers; [ costrouc dotlambda ];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue