diff --git a/pkgs/development/python-modules/pyoxigraph/default.nix b/pkgs/development/python-modules/pyoxigraph/default.nix new file mode 100644 index 000000000000..29115fa8573a --- /dev/null +++ b/pkgs/development/python-modules/pyoxigraph/default.nix @@ -0,0 +1,70 @@ +{ + stdenv, + apple-sdk_15, + buildPythonPackage, + fetchFromGitHub, + lib, + pkg-config, + pythonOlder, + pytestCheckHook, + rustPlatform, +}: +buildPythonPackage rec { + pname = "pyoxigraph"; + pyproject = true; + version = "0.4.8"; + + src = fetchFromGitHub { + owner = "oxigraph"; + repo = "oxigraph"; + tag = "v${version}"; + fetchSubmodules = true; + hash = "sha256-yMXNt7pGiwYDXjmHxKUQpqNrAmnFpg21Vc5R1DmwsHc="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit pname version src; + hash = "sha256-qOGpM3SOAOMO5W3wj4ruXlymp9bV4sqOU75gMVSEyfk="; + }; + + buildAndTestSubdir = "python"; + + dependencies = lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_15 + ]; + + disabled = pythonOlder "3.8"; + + disabledTests = [ + "test_update_load" + ]; + + disabledTestPaths = [ + # These require network access + "lints/test_spec_links.py" + "lints/test_debian_compatibility.py" + "oxrocksdb-sys/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py" + "oxrocksdb-sys/rocksdb/tools" + ]; + + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "pyoxigraph" ]; + + meta = { + homepage = "https://github.com/oxigraph/oxigraph"; + description = "SPARQL graph database"; + maintainers = with lib.maintainers; [ dadada ]; + license = with lib.licenses; [ + asl20 + mit + ]; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0b97a88a7f24..459ee752b591 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12643,6 +12643,8 @@ self: super: with self; { pyowm = callPackage ../development/python-modules/pyowm { }; + pyoxigraph = callPackage ../development/python-modules/pyoxigraph { }; + pypager = callPackage ../development/python-modules/pypager { }; pypamtest = toPythonModule (pkgs.libpam-wrapper.override {