tahoe-lafs/nix/tahoe-lafs.nix
Jean-Paul Calderone 02904a363b Drop nixpkgs 21.11 - it is missing some stuff we need
Not only some nixpkgs facilities but it also includes a rustc that's too old
to build pycddl.
2023-03-13 16:19:07 -04:00

123 lines
2.0 KiB
Nix

{ buildPythonPackage
, tahoe-lafs-src
, extras
# always dependencies
, attrs
, autobahn
, cbor2
, click
, collections-extended
, cryptography
, distro
, eliot
, filelock
, foolscap
, future
, klein
, magic-wormhole
, netifaces
, psutil
, pycddl
, pyrsistent
, pyutil
, six
, treq
, twisted
, werkzeug
, zfec
, zope_interface
# tor extra dependencies
, txtorcon
# i2p extra dependencies
, txi2p
# twisted extra dependencies - if there is overlap with our dependencies we
# have to skip them since we can't have a name in the argument set twice.
, appdirs
, bcrypt
, idna
, pyasn1
, pyopenssl
, service-identity
# test dependencies
, beautifulsoup4
, fixtures
, hypothesis
, mock
, paramiko
, prometheus-client
, pytest
, pytest-timeout
, pytest-twisted
, tenacity
, testtools
, towncrier
}:
let
pname = "tahoe-lafs";
version = "1.18.0.post1";
pickExtraDependencies = deps: extras: builtins.foldl' (accum: extra: accum ++ deps.${extra}) [] extras;
pythonExtraDependencies = {
tor = [ txtorcon ];
i2p = [ txi2p ];
};
pythonPackageDependencies = [
attrs
autobahn
cbor2
click
collections-extended
cryptography
distro
eliot
filelock
foolscap
future
klein
magic-wormhole
netifaces
psutil
pycddl
pyrsistent
pyutil
six
treq
twisted
# Get the dependencies for the Twisted extras we depend on, too.
twisted.passthru.optional-dependencies.tls
twisted.passthru.optional-dependencies.conch
werkzeug
zfec
zope_interface
] ++ pickExtraDependencies pythonExtraDependencies extras;
pythonCheckDependencies = [
beautifulsoup4
fixtures
hypothesis
mock
paramiko
prometheus-client
pytest
pytest-timeout
pytest-twisted
tenacity
testtools
towncrier
];
in
buildPythonPackage {
inherit pname version;
src = tahoe-lafs-src;
buildInputs = pythonPackageDependencies;
checkInputs = pythonCheckDependencies;
checkPhase = "TAHOE_LAFS_HYPOTHESIS_PROFILE=ci python -m twisted.trial -j $NIX_BUILD_CORES allmydata";
}