2023-07-04 16:43:23 +00:00
|
|
|
let
|
|
|
|
pname = "tahoe-lafs";
|
2024-01-05 03:13:35 +00:00
|
|
|
version = "1.19.0.post1";
|
2023-07-04 16:43:23 +00:00
|
|
|
in
|
2023-03-13 21:10:29 +00:00
|
|
|
{ lib
|
2023-03-13 23:03:26 +00:00
|
|
|
, pythonPackages
|
2023-03-13 21:10:29 +00:00
|
|
|
, buildPythonPackage
|
2023-03-13 19:19:43 +00:00
|
|
|
, tahoe-lafs-src
|
|
|
|
}:
|
2023-07-04 16:43:23 +00:00
|
|
|
buildPythonPackage rec {
|
|
|
|
inherit pname version;
|
|
|
|
src = tahoe-lafs-src;
|
|
|
|
propagatedBuildInputs = with pythonPackages; [
|
2023-03-13 19:19:43 +00:00
|
|
|
attrs
|
|
|
|
autobahn
|
|
|
|
cbor2
|
|
|
|
click
|
|
|
|
collections-extended
|
|
|
|
cryptography
|
|
|
|
distro
|
|
|
|
eliot
|
|
|
|
filelock
|
|
|
|
foolscap
|
|
|
|
future
|
|
|
|
klein
|
|
|
|
magic-wormhole
|
|
|
|
netifaces
|
|
|
|
psutil
|
2023-03-26 15:49:17 +00:00
|
|
|
pyyaml
|
2023-03-13 19:19:43 +00:00
|
|
|
pycddl
|
|
|
|
pyrsistent
|
|
|
|
pyutil
|
|
|
|
six
|
|
|
|
treq
|
|
|
|
twisted
|
|
|
|
werkzeug
|
|
|
|
zfec
|
|
|
|
zope_interface
|
2023-07-04 16:43:23 +00:00
|
|
|
] ++
|
|
|
|
# Get the dependencies for the Twisted extras we depend on, too.
|
|
|
|
twisted.passthru.optional-dependencies.tls ++
|
|
|
|
twisted.passthru.optional-dependencies.conch;
|
2023-03-13 19:19:43 +00:00
|
|
|
|
2023-07-04 16:43:23 +00:00
|
|
|
# The test suite lives elsewhere.
|
|
|
|
doCheck = false;
|
2023-03-21 12:56:50 +00:00
|
|
|
|
2023-07-04 16:43:23 +00:00
|
|
|
passthru = {
|
|
|
|
extras = with pythonPackages; {
|
2023-07-07 14:02:52 +00:00
|
|
|
tor = [
|
|
|
|
txtorcon
|
|
|
|
];
|
|
|
|
i2p = [
|
2024-12-04 19:15:07 +00:00
|
|
|
txi2p-tahoe
|
2023-07-07 14:02:52 +00:00
|
|
|
];
|
2023-07-04 16:43:23 +00:00
|
|
|
unittest = [
|
|
|
|
beautifulsoup4
|
2023-07-07 15:47:04 +00:00
|
|
|
html5lib
|
2023-07-04 16:43:23 +00:00
|
|
|
fixtures
|
|
|
|
hypothesis
|
|
|
|
mock
|
|
|
|
prometheus-client
|
|
|
|
testtools
|
|
|
|
];
|
|
|
|
integrationtest = [
|
|
|
|
pytest
|
|
|
|
pytest-twisted
|
|
|
|
paramiko
|
|
|
|
pytest-timeout
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2023-03-13 21:06:06 +00:00
|
|
|
|
2024-12-04 20:04:32 +00:00
|
|
|
postPatch =
|
|
|
|
let
|
|
|
|
versionFileContents = version: ''
|
|
|
|
# This _version.py is generated by tahoe-lafs.nix.
|
|
|
|
# TODO: We can have more metadata after we switch to flakes.
|
|
|
|
# Then the `self` input will have a `sourceInfo` attribute telling
|
|
|
|
__pkgname__ = "tahoe-lafs"
|
|
|
|
real_version = "${version}"
|
|
|
|
full_version = "${version}"
|
|
|
|
branch = ""
|
|
|
|
verstr = "${version}"
|
|
|
|
__version__ = verstr
|
|
|
|
'';
|
|
|
|
in
|
|
|
|
''
|
|
|
|
cp ${builtins.toFile "_version.py" (versionFileContents version)} src/allmydata/_version.py
|
|
|
|
'';
|
|
|
|
|
2023-03-13 21:06:06 +00:00
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://tahoe-lafs.org/";
|
|
|
|
description = "secure, decentralized, fault-tolerant file store";
|
|
|
|
# Also TGPPL
|
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
};
|
2023-03-13 19:19:43 +00:00
|
|
|
}
|