nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchpatch,
5 fetchPypi,
6 html5lib,
7 pytestCheckHook,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "mechanize";
13 version = "0.4.10";
14 pyproject = true;
15
16 src = fetchPypi {
17 inherit pname version;
18 hash = "sha256-HeqUf5vn6gq2EPe7xKTja0XWv9/O6imtPTiaiKGVfd8=";
19 };
20
21 patches = [
22 (fetchpatch {
23 name = "fix-cookietests-python3.13.patch";
24 url = "https://github.com/python-mechanize/mechanize/commit/0c1cd4b65697dee4e4192902c9a2965d94700502.patch";
25 hash = "sha256-Xlx8ZwHkFbJqeWs+/fllYZt3CZRu9rD8bMHHPuUlRv4=";
26 })
27 ];
28
29 build-system = [ setuptools ];
30
31 dependencies = [ html5lib ];
32
33 nativeCheckInputs = [ pytestCheckHook ];
34
35 pythonImportsCheck = [ "mechanize" ];
36
37 disabledTestPaths = [
38 # Tests require network access
39 "test/test_urllib2_localnet.py"
40 "test/test_functional.py"
41 ];
42
43 disabledTests = [
44 # Tests require network access
45 "test_pickling"
46 "test_password_manager"
47 ];
48
49 meta = {
50 description = "Stateful programmatic web browsing in Python";
51 homepage = "https://github.com/python-mechanize/mechanize";
52 changelog = "https://github.com/python-mechanize/mechanize/blob/v${version}/ChangeLog";
53 license = lib.licenses.bsd3;
54 maintainers = [ ];
55 };
56}