tahoe-lafs/nix/tahoe-lafs.nix

98 lines
1.9 KiB
Nix
Raw Normal View History

let
pname = "tahoe-lafs";
2024-01-05 03:13:35 +00:00
version = "1.19.0.post1";
in
2023-03-13 21:10:29 +00:00
{ lib
, pythonPackages
2023-03-13 21:10:29 +00:00
, buildPythonPackage
, tahoe-lafs-src
}:
buildPythonPackage rec {
inherit pname version;
src = tahoe-lafs-src;
propagatedBuildInputs = with pythonPackages; [
attrs
autobahn
cbor2
click
collections-extended
cryptography
distro
eliot
filelock
foolscap
future
klein
magic-wormhole
netifaces
psutil
pyyaml
pycddl
pyrsistent
pyutil
six
treq
twisted
werkzeug
zfec
zope_interface
] ++
# Get the dependencies for the Twisted extras we depend on, too.
twisted.passthru.optional-dependencies.tls ++
twisted.passthru.optional-dependencies.conch;
# The test suite lives elsewhere.
doCheck = false;
passthru = {
extras = with pythonPackages; {
tor = [
txtorcon
];
i2p = [
2024-12-04 19:15:07 +00:00
txi2p-tahoe
];
unittest = [
beautifulsoup4
2023-07-07 15:47:04 +00:00
html5lib
fixtures
hypothesis
mock
prometheus-client
testtools
];
integrationtest = [
pytest
pytest-twisted
paramiko
pytest-timeout
];
};
};
2023-03-13 21:06:06 +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;
};
}