Some comments about the implementation

This commit is contained in:
Jean-Paul Calderone 2019-12-18 09:04:47 -05:00
parent ce65b163be
commit bf5288f88c
3 changed files with 19 additions and 5 deletions

View File

@ -1,3 +1,7 @@
# This is the main entrypoint for the Tahoe-LAFS derivation.
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
# Add our Python packages to nixpkgs to simplify the expression for the
# Tahoe-LAFS derivation.
let pkgs' = pkgs.extend (import ./overlays.nix); let pkgs' = pkgs.extend (import ./overlays.nix);
# Evaluate the expression for our Tahoe-LAFS derivation.
in pkgs'.python2.pkgs.callPackage ./tahoe-lafs.nix { } in pkgs'.python2.pkgs.callPackage ./tahoe-lafs.nix { }

View File

@ -1,7 +1,11 @@
self: super: { self: super: {
python27 = super.python27.override { python27 = super.python27.override {
packageOverrides = python-self: python-super: { packageOverrides = python-self: python-super: {
# eliot is not part of nixpkgs at all at this time.
eliot = python-self.callPackage ./eliot.nix { }; eliot = python-self.callPackage ./eliot.nix { };
# The packaged version of Nevow is very slightly out of date but also
# conflicts with the packaged version of Twisted. Supply our own
# slightly newer version.
nevow = python-super.callPackage ./nevow.nix { }; nevow = python-super.callPackage ./nevow.nix { };
}; };
}; };

View File

@ -12,9 +12,6 @@ python.pkgs.buildPythonPackage rec {
src = lib.cleanSource ../.; src = lib.cleanSource ../.;
postPatch = '' 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 # Chroots don't have /etc/hosts and /etc/resolv.conf, so work around
# that. # that.
for i in $(find src/allmydata/test -type f) for i in $(find src/allmydata/test -type f)
@ -25,14 +22,22 @@ python.pkgs.buildPythonPackage rec {
# Some tests are flaky or fail to skip when dependencies are missing. # Some tests are flaky or fail to skip when dependencies are missing.
# This list is over-zealous because it's more work to disable individual # This list is over-zealous because it's more work to disable individual
# tests with in a module. # tests with in a module.
# test_system is a lot of integration-style tests that do a lot of real
# networking between many processes. They sometimes fail spuriously.
rm src/allmydata/test/test_system.py rm src/allmydata/test/test_system.py
# Many of these tests don't properly skip when i2p or tor dependencies are
# not supplied (and we are not supplying them).
rm src/allmydata/test/test_i2p_provider.py rm src/allmydata/test/test_i2p_provider.py
rm src/allmydata/test/test_connections.py rm src/allmydata/test/test_connections.py
rm src/allmydata/test/cli/test_create.py rm src/allmydata/test/cli/test_create.py
rm src/allmydata/test/test_eliotutil.py
rm src/allmydata/test/test_iputil.py
rm src/allmydata/test/test_client.py rm src/allmydata/test/test_client.py
rm src/allmydata/test/test_runner.py rm src/allmydata/test/test_runner.py
# Some eliot code changes behavior based on whether stdout is a tty or not
# and fails when it is not.
rm src/allmydata/test/test_eliotutil.py
''; '';
@ -49,6 +54,7 @@ python.pkgs.buildPythonPackage rec {
fixtures fixtures
beautifulsoup4 beautifulsoup4
html5lib html5lib
nettools
]; ];
checkPhase = '' checkPhase = ''