fa5436e0a7
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
buildPythonPackage,
|
|
six,
|
|
lxml,
|
|
pytestCheckHook,
|
|
doFullCheck ? false, # weird filenames cause issues on some filesystems
|
|
|
|
# for passthru.tests
|
|
jpylyzer,
|
|
}:
|
|
|
|
let
|
|
# unclear relationship between test-files version and jpylyzer version.
|
|
# upstream appears to just always test against the latest version, so
|
|
# probably worth updating this when package is bumped.
|
|
testFiles = fetchFromGitHub {
|
|
owner = "openpreserve";
|
|
repo = "jpylyzer-test-files";
|
|
rev = "0290e98bae9c5480c995954d3f14b4cf0a0395ff";
|
|
hash = "sha256-dr3hC6dGd3HNSE4nRj1xrfFSW9cepQ1mdVH8S3YQdtw=";
|
|
};
|
|
in
|
|
buildPythonPackage rec {
|
|
pname = "jpylyzer";
|
|
version = "2.2.1";
|
|
format = "setuptools";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "openpreserve";
|
|
repo = pname;
|
|
rev = version;
|
|
hash = "sha256-P42qAks8suI/Xknwd8WAkymbGE7RApRa/a11J/V4LA0=";
|
|
};
|
|
|
|
propagatedBuildInputs = [ six ];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
lxml
|
|
];
|
|
|
|
# don't depend on testFiles unless doFullCheck as it may not be extractable
|
|
# on some filesystems due to weird filenames
|
|
preCheck = lib.optionalString doFullCheck ''
|
|
sed -i '/^testFilesDir = /ctestFilesDir = "${testFiles}/files"' tests/unit/test_testfiles.py
|
|
'';
|
|
|
|
disabledTestPaths = lib.optionals (!doFullCheck) [ "tests/unit/test_testfiles.py" ];
|
|
|
|
pythonImportsCheck = [ "jpylyzer" ];
|
|
|
|
disallowedReferences = [ testFiles ];
|
|
|
|
passthru.tests = {
|
|
withFullCheck = jpylyzer.override { doFullCheck = true; };
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "JP2 (JPEG 2000 Part 1) image validator and properties extractor";
|
|
mainProgram = "jpylyzer";
|
|
homepage = "https://jpylyzer.openpreservation.org/";
|
|
license = licenses.lgpl3;
|
|
maintainers = with maintainers; [ ris ];
|
|
};
|
|
}
|