Loading pkgs/by-name/ta/tahoe-lafs/package.nix +57 −86 Original line number Diff line number Diff line { lib, nettools, python311, texinfo, python3Packages, fetchFromGitHub, texinfo, versionCheckHook, }: # FAILURES: The "running build_ext" phase fails to compile Twisted # plugins, because it tries to write them into Twisted's (immutable) # store path. The problem appears to be non-fatal, but there's probably # some loss of functionality because of it. let # Tahoe-LAFS unstable-2021-07-09 is incompatible with Python 3.12, and # uses eliot in a way incompatible after version 1.14.0. # These versions should be unpinned, when updating Tahoe-LAFS to a more recent version. python = python311.override { self = python; packageOverrides = self: super: { eliot = super.eliot.overridePythonAttrs (oldAttrs: rec { version = "1.14.0"; src = fetchFromGitHub { owner = "itamarst"; repo = "eliot"; rev = "refs/tags/${version}"; hash = "sha256-1QE/s8P2g7DGIcuT+/AikAaWMTafNWn4BRZqpBn5ghk="; }; disabledTests = [ "test_default" "test_large_numpy_array" "test_numpy" ]; }); }; }; python3Packages = python.pkgs; in python3Packages.buildPythonApplication rec { pname = "tahoe-lafs"; version = "unstable-2021-07-09"; version = "1.20.0"; pyproject = true; src = fetchFromGitHub { owner = "tahoe-lafs"; repo = "tahoe-lafs"; rev = "8e28a9d0e02fde2388aca549da2b5c452ac4337f"; sha256 = "sha256-MuD/ZY+die7RCsuVdcePSD0DdwatXRi7CxW2iFt22L0="; tag = "tahoe-lafs-${version}"; hash = "sha256-9qaL4GmdjClviKTnwAxaTywvJChQ5cVVgWs1IkFxhIY="; }; outputs = [ Loading @@ -55,86 +24,65 @@ python3Packages.buildPythonApplication rec { "info" ]; postPatch = '' sed -i "src/allmydata/util/iputil.py" \ -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g" # Chroots don't have /etc/hosts and /etc/resolv.conf, so work around # that. for i in $(find src/allmydata/test -type f) do sed -i "$i" -e"s/localhost/127.0.0.1/g" done sed -i 's/"zope.interface.*"/"zope.interface"/' src/allmydata/_auto_deps.py sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py # incompatible with latest autobahn rm src/allmydata/test/web/test_logs.py ''; # Remove broken and expensive tests. preConfigure = '' ( cd src/allmydata/test # Buggy? rm cli/test_create.py test_client.py rm cli/test_create.py # These require Tor and I2P. rm test_connections.py test_iputil.py test_hung_server.py test_i2p_provider.py test_tor_provider.py # Fails due to the above tests missing rm test_python3.py # Expensive rm test_system.py ) ''; build-system = with python3Packages; [ hatch-vcs hatchling ]; nativeBuildInputs = with python3Packages; [ # docs recommonmark sphinx sphinx-rtd-theme texinfo ]; # The `backup' command requires `sqlite3'. propagatedBuildInputs = dependencies = with python3Packages; [ appdirs beautifulsoup4 characteristic attrs autobahn cbor2 click collections-extended cryptography distro eliot fixtures filelock foolscap future html5lib klein magic-wormhole netifaces pyasn1 pycrypto psutil pycddl pyopenssl pyrsistent pyutil pyyaml recommonmark service-identity simplejson sphinx-rtd-theme testtools six treq twisted werkzeug zfec zope-interface ] ++ twisted.optional-dependencies.tls ++ twisted.optional-dependencies.conch; nativeCheckInputs = with python3Packages; [ mock hypothesis twisted ]; # Install the documentation. postInstall = '' ( Loading @@ -150,11 +98,34 @@ python3Packages.buildPythonApplication rec { ) ''; nativeCheckInputs = with python3Packages; [ beautifulsoup4 fixtures html5lib hypothesis mock prometheus-client testtools twisted ] ++ [ versionCheckHook ]; versionCheckProgram = "${placeholder "out"}/bin/tahoe"; versionCheckProgramArg = "--version"; checkPhase = '' runHook preCheck runHook versionCheckHook trial --rterrors allmydata runHook postCheck ''; meta = with lib; { meta = { description = "Tahoe-LAFS, a decentralized, fault-tolerant, distributed storage system"; mainProgram = "tahoe"; longDescription = '' Loading @@ -165,10 +136,10 @@ python3Packages.buildPythonApplication rec { ''; homepage = "https://tahoe-lafs.org/"; license = [ licenses.gpl2Plus # or lib.licenses.gpl2Plus # or "TGPPLv1+" ]; maintainers = with lib.maintainers; [ MostAwesomeDude ]; platforms = platforms.linux; platforms = lib.platforms.linux; }; } pkgs/development/python-modules/collections-extended/default.nix +16 −12 Original line number Diff line number Diff line Loading @@ -5,26 +5,29 @@ hypothesis, poetry-core, pytestCheckHook, pythonOlder, pythonAtLeast, }: buildPythonPackage rec { pname = "collections-extended"; version = "2.0.2"; format = "pyproject"; # https://github.com/mlenzen/collections-extended/issues/198 disabled = pythonOlder "3.6" || pythonAtLeast "3.11"; pyproject = true; src = fetchFromGitHub { owner = "mlenzen"; repo = pname; rev = "v${version}"; repo = "collections-extended"; tag = "v${version}"; hash = "sha256-cK13+CQUELKSiLpG747+C+RB5b6luu0mWLLXTT+uGH4="; }; nativeBuildInputs = [ poetry-core ]; # shuffle's random option has been removed in python 3.11 postPatch = '' substituteInPlace collections_extended/setlists.py \ --replace-fail \ "random_.shuffle(self._list, random=random)" \ "random_.shuffle(self._list)" ''; build-system = [ poetry-core ]; nativeCheckInputs = [ hypothesis Loading @@ -33,10 +36,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "collections_extended" ]; meta = with lib; { meta = { description = "Extra Python Collections - bags (multisets), setlists (unique list/indexed set), RangeMap and IndexedDict"; homepage = "https://github.com/mlenzen/collections-extended"; license = licenses.asl20; maintainers = with maintainers; [ exarkun ]; changelog = "https://github.com/mlenzen/collections-extended/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ exarkun ]; }; } Loading
pkgs/by-name/ta/tahoe-lafs/package.nix +57 −86 Original line number Diff line number Diff line { lib, nettools, python311, texinfo, python3Packages, fetchFromGitHub, texinfo, versionCheckHook, }: # FAILURES: The "running build_ext" phase fails to compile Twisted # plugins, because it tries to write them into Twisted's (immutable) # store path. The problem appears to be non-fatal, but there's probably # some loss of functionality because of it. let # Tahoe-LAFS unstable-2021-07-09 is incompatible with Python 3.12, and # uses eliot in a way incompatible after version 1.14.0. # These versions should be unpinned, when updating Tahoe-LAFS to a more recent version. python = python311.override { self = python; packageOverrides = self: super: { eliot = super.eliot.overridePythonAttrs (oldAttrs: rec { version = "1.14.0"; src = fetchFromGitHub { owner = "itamarst"; repo = "eliot"; rev = "refs/tags/${version}"; hash = "sha256-1QE/s8P2g7DGIcuT+/AikAaWMTafNWn4BRZqpBn5ghk="; }; disabledTests = [ "test_default" "test_large_numpy_array" "test_numpy" ]; }); }; }; python3Packages = python.pkgs; in python3Packages.buildPythonApplication rec { pname = "tahoe-lafs"; version = "unstable-2021-07-09"; version = "1.20.0"; pyproject = true; src = fetchFromGitHub { owner = "tahoe-lafs"; repo = "tahoe-lafs"; rev = "8e28a9d0e02fde2388aca549da2b5c452ac4337f"; sha256 = "sha256-MuD/ZY+die7RCsuVdcePSD0DdwatXRi7CxW2iFt22L0="; tag = "tahoe-lafs-${version}"; hash = "sha256-9qaL4GmdjClviKTnwAxaTywvJChQ5cVVgWs1IkFxhIY="; }; outputs = [ Loading @@ -55,86 +24,65 @@ python3Packages.buildPythonApplication rec { "info" ]; postPatch = '' sed -i "src/allmydata/util/iputil.py" \ -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g" # Chroots don't have /etc/hosts and /etc/resolv.conf, so work around # that. for i in $(find src/allmydata/test -type f) do sed -i "$i" -e"s/localhost/127.0.0.1/g" done sed -i 's/"zope.interface.*"/"zope.interface"/' src/allmydata/_auto_deps.py sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py # incompatible with latest autobahn rm src/allmydata/test/web/test_logs.py ''; # Remove broken and expensive tests. preConfigure = '' ( cd src/allmydata/test # Buggy? rm cli/test_create.py test_client.py rm cli/test_create.py # These require Tor and I2P. rm test_connections.py test_iputil.py test_hung_server.py test_i2p_provider.py test_tor_provider.py # Fails due to the above tests missing rm test_python3.py # Expensive rm test_system.py ) ''; build-system = with python3Packages; [ hatch-vcs hatchling ]; nativeBuildInputs = with python3Packages; [ # docs recommonmark sphinx sphinx-rtd-theme texinfo ]; # The `backup' command requires `sqlite3'. propagatedBuildInputs = dependencies = with python3Packages; [ appdirs beautifulsoup4 characteristic attrs autobahn cbor2 click collections-extended cryptography distro eliot fixtures filelock foolscap future html5lib klein magic-wormhole netifaces pyasn1 pycrypto psutil pycddl pyopenssl pyrsistent pyutil pyyaml recommonmark service-identity simplejson sphinx-rtd-theme testtools six treq twisted werkzeug zfec zope-interface ] ++ twisted.optional-dependencies.tls ++ twisted.optional-dependencies.conch; nativeCheckInputs = with python3Packages; [ mock hypothesis twisted ]; # Install the documentation. postInstall = '' ( Loading @@ -150,11 +98,34 @@ python3Packages.buildPythonApplication rec { ) ''; nativeCheckInputs = with python3Packages; [ beautifulsoup4 fixtures html5lib hypothesis mock prometheus-client testtools twisted ] ++ [ versionCheckHook ]; versionCheckProgram = "${placeholder "out"}/bin/tahoe"; versionCheckProgramArg = "--version"; checkPhase = '' runHook preCheck runHook versionCheckHook trial --rterrors allmydata runHook postCheck ''; meta = with lib; { meta = { description = "Tahoe-LAFS, a decentralized, fault-tolerant, distributed storage system"; mainProgram = "tahoe"; longDescription = '' Loading @@ -165,10 +136,10 @@ python3Packages.buildPythonApplication rec { ''; homepage = "https://tahoe-lafs.org/"; license = [ licenses.gpl2Plus # or lib.licenses.gpl2Plus # or "TGPPLv1+" ]; maintainers = with lib.maintainers; [ MostAwesomeDude ]; platforms = platforms.linux; platforms = lib.platforms.linux; }; }
pkgs/development/python-modules/collections-extended/default.nix +16 −12 Original line number Diff line number Diff line Loading @@ -5,26 +5,29 @@ hypothesis, poetry-core, pytestCheckHook, pythonOlder, pythonAtLeast, }: buildPythonPackage rec { pname = "collections-extended"; version = "2.0.2"; format = "pyproject"; # https://github.com/mlenzen/collections-extended/issues/198 disabled = pythonOlder "3.6" || pythonAtLeast "3.11"; pyproject = true; src = fetchFromGitHub { owner = "mlenzen"; repo = pname; rev = "v${version}"; repo = "collections-extended"; tag = "v${version}"; hash = "sha256-cK13+CQUELKSiLpG747+C+RB5b6luu0mWLLXTT+uGH4="; }; nativeBuildInputs = [ poetry-core ]; # shuffle's random option has been removed in python 3.11 postPatch = '' substituteInPlace collections_extended/setlists.py \ --replace-fail \ "random_.shuffle(self._list, random=random)" \ "random_.shuffle(self._list)" ''; build-system = [ poetry-core ]; nativeCheckInputs = [ hypothesis Loading @@ -33,10 +36,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "collections_extended" ]; meta = with lib; { meta = { description = "Extra Python Collections - bags (multisets), setlists (unique list/indexed set), RangeMap and IndexedDict"; homepage = "https://github.com/mlenzen/collections-extended"; license = licenses.asl20; maintainers = with maintainers; [ exarkun ]; changelog = "https://github.com/mlenzen/collections-extended/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ exarkun ]; }; }