Files
nixpkgs/pkgs/by-name/s3/s3ql/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

99 lines
1.8 KiB
Nix

{
lib,
fetchFromGitHub,
python3,
replaceVars,
sqlite,
which,
nix-update-script,
writableTmpDirAsHomeHook,
}:
let
inherit (python3.pkgs)
buildPythonApplication
setuptools
cython
apsw
cryptography
defusedxml
google-auth
google-auth-oauthlib
pyfuse3
requests
trio
pytest-trio
pytestCheckHook
python
;
in
buildPythonApplication rec {
pname = "s3ql";
version = "5.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "s3ql";
repo = "s3ql";
tag = "s3ql-${version}";
hash = "sha256-SVB+VB508hGXvdHZo5lt09yssjjwHS1tsDU8M4j+swc=";
};
patches = [
(replaceVars ./0001-setup.py-remove-self-reference.patch { inherit version; })
];
build-system = [ setuptools ];
nativeBuildInputs = [
which
cython
];
dependencies = [
apsw
cryptography
defusedxml
google-auth
google-auth-oauthlib
pyfuse3
requests
sqlite
trio
];
nativeCheckInputs = [
pytest-trio
pytestCheckHook
writableTmpDirAsHomeHook
];
preBuild = ''
${python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace
'';
pythonImportsCheck = [ "s3ql" ];
enabledTestPaths = [ "tests/" ];
# SSL EOF error doesn't match connection reset error. Seems fine.
disabledTests = [ "test_aborted_write2" ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"s3ql-([0-9.]+)"
];
};
meta = {
description = "Full-featured file system for online data storage";
homepage = "https://github.com/s3ql/s3ql/";
changelog = "https://github.com/s3ql/s3ql/releases/tag/s3ql-${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ rushmorem ];
platforms = lib.platforms.linux;
};
}