nixpkgs/pkgs/development/python-modules/jq/default.nix

61 lines
1.1 KiB
Nix

{ lib
, buildPythonPackage
, cython
, fetchFromGitHub
, jq
, oniguruma
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "jq";
version = "1.6.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "mwilliamson";
repo = "jq.py";
rev = "refs/tags/${version}";
hash = "sha256-c6tJI/mPlBGIYTk5ObIQ1CUTq73HouQ2quMZVWG8FFg=";
};
env.JQPY_USE_SYSTEM_LIBS = 1;
nativeBuildInputs = [
cython
];
buildInputs = [
jq
oniguruma
];
preBuild = ''
cython jq.pyx
'';
nativeCheckInputs = [
pytestCheckHook
];
disabledTests = [
# intentional behavior change in jq 1.7.1 not reflected upstream
"test_given_json_text_then_strings_containing_null_characters_are_preserved"
];
pythonImportsCheck = [
"jq"
];
meta = with lib; {
description = "Python bindings for jq, the flexible JSON processor";
homepage = "https://github.com/mwilliamson/jq.py";
changelog = "https://github.com/mwilliamson/jq.py/blob/${version}/CHANGELOG.rst";
license = licenses.bsd2;
maintainers = with maintainers; [ benley ];
};
}