Skip to content
Snippets Groups Projects
overlays.nix 1.57 KiB
Newer Older
  • Learn to ignore specific revisions
  • self: super: {
      python27 = super.python27.override {
        packageOverrides = python-self: python-super: {
          # Get the newest Tahoe-LAFS as a module instead of an application.
          tahoe-lafs = python-super.toPythonModule (python-super.callPackage ../pkgs/tahoe-lafs.nix { });
    
          # Get our ZKAP authorizer plugin package.
          zkapauthorizer = python-self.callPackage ../pkgs/zkapauthorizer.nix { };
    
          # new tahoe-lafs has a new dependency on eliot.
          eliot = python-super.callPackage ../pkgs/eliot.nix { };
    
          # new tahoe-lafs depends on a very recent autobahn for better websocket
          # testing features.
          autobahn = python-super.callPackage ../pkgs/autobahn.nix { };
    
          # new autobahn requires a newer cryptography
          cryptography = python-super.callPackage ../pkgs/cryptography.nix { };
    
          # new cryptography requires a newer cryptography_vectors
          cryptography_vectors = python-super.callPackage ../pkgs/cryptography_vectors.nix { };
    
          # upstream twisted package is missing a recently added dependency.
          twisted = python-super.twisted.overrideAttrs (old:
          { propagatedBuildInputs = old.propagatedBuildInputs ++ [ python-super.appdirs ];
            checkPhase = ''
              ${self.python.interpreter} -m twisted.trial twisted
            '';
          });
    
        };
      };
    
      privatestorage = self.python27.buildEnv.override
      { extraLibs =
        [ self.python27Packages.tahoe-lafs
          self.python27Packages.zkapauthorizer
        ];
        # Twisted's dropin.cache always collides between different
        # plugin-providing packages.
        ignoreCollisions = true;
      };
    }