{ lib, fetchFromGitHub, python3, python3Packages, stdenv, warctools, }: let rethinkdb = python3Packages.buildPythonPackage rec { pname = "rethinkdb"; version = "2.4.10.post1"; src = python3Packages.fetchPypi { inherit pname version; hash = "sha256-NjTgPuE91jf9cZa4BHS/RMZNProd0GnqkrlJJnAqYL0="; }; pyproject = true; build-system = [ python3Packages.setuptools ]; dependencies = [ python3Packages.six python3Packages.looseversion ]; }; in let doublethink = python3Packages.buildPythonPackage rec { pname = "doublethink"; version = "0.4.10"; src = python3Packages.fetchPypi { inherit pname version; hash = "sha256-8rtseqS7sk6idcqkDrDKGppPO9+xwk9yqWl6l0fuuQM="; }; pyproject = true; build-system = [ python3Packages.setuptools ]; dependencies = [ rethinkdb ]; pythonRelaxDeps = [ "rethinkdb" ]; }; urlcanon = python3Packages.buildPythonPackage rec { pname = "urlcanon"; version = "0.3.1"; src = python3Packages.fetchPypi { inherit pname version; hash = "sha256-MPW/Di5KD+tt2e4TmkGApdSTEX6KFEhWnaPXPBi5K2I="; }; pyproject = true; build-system = [ python3Packages.setuptools ]; dependencies = [ python3Packages.idna ]; }; in python3Packages.buildPythonPackage rec { pname = "warcprox"; version = "2.11.0"; pyproject = true; src = fetchFromGitHub { owner = "internetarchive" ; repo = "warcprox"; rev = "f6256c691c9b066272f27969c6bce5d0195d33b1"; hash = "sha256-eYgI0F5PQDNd/t9nhWfN0cF3AG2oHcI/wnwQEhexMuo="; }; build-system = [ python3Packages.setuptools ]; dependencies = [ python3Packages.requests python3Packages.pyyaml python3Packages.rfc3986 python3Packages.cachetools python3Packages.pysocks python3Packages.cryptography doublethink rethinkdb urlcanon warctools ]; pythonRelaxDeps = [ "cryptography" "doublethink" ]; doCheck = false; pythonImportsCheck = [ "warcprox" "warcprox.main" ]; meta = { description = "WARC writing MITM HTTP/S proxy"; homepage = "https://github.com/internetarchive/warcprox"; license = lib.licenses.gpl2Plus; #maintainers = with lib.maintainers; [ ]; }; }