diff --git a/pkgs/tools/networking/p2p/tahoe/default.nix b/pkgs/tools/networking/p2p/tahoe/default.nix new file mode 100644 index 00000000000..c0646037f57 --- /dev/null +++ b/pkgs/tools/networking/p2p/tahoe/default.nix @@ -0,0 +1,55 @@ +{ fetchurl, unzip, buildPythonPackage, twisted, foolscap, nevow +, simplejson, zfec, pycryptopp, nettools }: + +buildPythonPackage (rec { + name = "tahoe-1.4.1"; + namePrefix = ""; + + src = fetchurl { + url = "http://allmydata.org/source/tahoe/releases/allmydata-${name}.zip"; + sha256 = "1q1fc3cixjqk0agbyiqs4zqdyqsp73nxx0f168djx7yp2q1p8nsm"; + }; + + patchPhase = '' + echo "forcing Tahoe to use \`setuptools' 0.6c9 rather than an unreleased version" + for i in *setup.py + do + sed -i "$i" -es'/0.6c12dev/0.6c9/g' + done + + # `find_exe()' returns a list like ['.../bin/python' + # '.../bin/twistd'], which doesn't work when `twistd' is not a + # Python script (e.g., when it's a script produced by + # `wrapProgram'). + sed -i "src/allmydata/scripts/startstop_node.py" \ + -es"|cmd = find_exe.find_exe('twistd')|cmd = ['${twisted}/bin/twistd']|g" + + sed -i "src/allmydata/util/iputil.py" \ + -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/sbin/ifconfig'|g" + ''; + + buildInputs = [ unzip ]; + propagatedBuildInputs = [ + twisted foolscap nevow simplejson zfec pycryptopp + ]; + + # FIXME: Many tests try to write to the Nix store or to $HOME, which + # fails. Disable tests until we have a reasonable hack to allow + # them to run. + doCheck = false; + + meta = { + description = "Tahoe, a decentralized, fault-tolerant, distributed storage system"; + + longDescription = '' + Tahoe is a secure, decentralized, fault-tolerant filesystem. + This filesystem is encrypted and spread over multiple peers in + such a way that it remains available even when some of the peers + are unavailable, malfunctioning, or malicious. + ''; + + homepage = http://allmydata.org/; + + license = "GPLv2+"; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68842744c45..eb4d198d81f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7020,6 +7020,12 @@ let inherit (xlibs) xextproto libXtst inputproto; }; + tahoe = import ../tools/networking/p2p/tahoe { + inherit fetchurl unzip nettools buildPythonPackage; + inherit (pythonPackages) twisted foolscap simplejson nevow zfec + pycryptopp; + }; + tailor = builderDefsPackage (import ../applications/version-management/tailor) { inherit makeWrapper python; };