mitmproxy: convert to python3Packages

This commit is contained in:
Vincent Haupert 2020-07-23 13:28:26 +02:00 committed by Jon
parent bbdc1d118b
commit 0e5657498d
4 changed files with 117 additions and 58 deletions

View File

@ -0,0 +1,114 @@
{ stdenv
, fetchFromGitHub
, buildPythonPackage
, isPy27
# Mitmproxy requirements
, blinker
, brotli
, certifi
, click
, cryptography
, flask
, h2
, hyperframe
, kaitaistruct
, ldap3
, passlib
, protobuf
, pyasn1
, pyopenssl
, pyparsing
, pyperclip
, ruamel_yaml
, setuptools
, sortedcontainers
, tornado
, urwid
, wsproto
, publicsuffix2
, zstandard
# Additional check requirements
, beautifulsoup4
, glibcLocales
, pytest
, requests
, asynctest
, parver
, pytest-asyncio
, hypothesis
}:
buildPythonPackage rec {
pname = "mitmproxy";
version = "5.1.1";
disabled = isPy27;
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1lirlckpvd3c6s6q3p32w4k4yfna5mlgr1x9g39lhzzq0sdiz3lk";
};
postPatch = ''
# remove dependency constraints
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?//' -i setup.py
'';
doCheck = (!stdenv.isDarwin);
# examples.complex.xss_scanner doesn't import correctly with pytest5
checkPhase = ''
export HOME=$(mktemp -d)
export LC_CTYPE=en_US.UTF-8
pytest --ignore test/examples \
-k 'not test_find_unclaimed_URLs and not test_tcp'
'';
propagatedBuildInputs = [
setuptools
# setup.py
blinker
brotli
certifi
click
cryptography
flask
h2
hyperframe
kaitaistruct
ldap3
passlib
protobuf
publicsuffix2
pyasn1
pyopenssl
pyparsing
pyperclip
ruamel_yaml
sortedcontainers
tornado
urwid
wsproto
zstandard
];
checkInputs = [
asynctest
beautifulsoup4
flask
glibcLocales
hypothesis
parver
pytest
pytest-asyncio
requests
];
meta = with stdenv.lib; {
description = "Man-in-the-middle proxy";
homepage = "https://mitmproxy.org/";
license = licenses.mit;
maintainers = with maintainers; [ fpletz kamilchm ];
};
}

View File

@ -1,55 +0,0 @@
{ stdenv, fetchFromGitHub, python3Packages, glibcLocales, fetchpatch }:
with python3Packages;
buildPythonPackage rec {
pname = "mitmproxy";
version = "5.1.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1lirlckpvd3c6s6q3p32w4k4yfna5mlgr1x9g39lhzzq0sdiz3lk";
};
postPatch = ''
# remove dependency constraints
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?//' -i setup.py
'';
doCheck = (!stdenv.isDarwin);
# examples.complex.xss_scanner doesn't import correctly with pytest5
checkPhase = ''
export HOME=$(mktemp -d)
export LC_CTYPE=en_US.UTF-8
pytest --ignore test/examples \
-k 'not test_find_unclaimed_URLs and not test_tcp'
'';
propagatedBuildInputs = [
blinker brotli certifi cffi
click cryptography flask h11
h2 hpack hyperframe itsdangerous
jinja2 kaitaistruct ldap3 markupsafe
passlib protobuf publicsuffix2 pyasn1
pycparser pyopenssl pyparsing pyperclip
ruamel_yaml setuptools six sortedcontainers
tornado urwid werkzeug wsproto zstandard
];
checkInputs = [
beautifulsoup4 flask pytest
requests glibcLocales
asynctest parver pytest-asyncio
hypothesis
];
meta = with stdenv.lib; {
description = "Man-in-the-middle proxy";
homepage = "https://mitmproxy.org/";
license = licenses.mit;
maintainers = with maintainers; [ fpletz kamilchm ];
};
}

View File

@ -5470,9 +5470,7 @@ in
mirrorbits = callPackage ../servers/mirrorbits { };
mitmproxy = callPackage ../tools/networking/mitmproxy {
python3Packages = python37Packages;
};
mitmproxy = with python3Packages; toPythonApplication mitmproxy;
mjpegtools = callPackage ../tools/video/mjpegtools { };

View File

@ -3657,6 +3657,8 @@ in {
mistune = callPackage ../development/python-modules/mistune { };
mitmproxy = callPackage ../development/python-modules/mitmproxy { };
mixpanel = callPackage ../development/python-modules/mixpanel { };
mkl-service = callPackage ../development/python-modules/mkl-service { };