2020-09-25 04:45:31 +00:00
|
|
|
{ stdenv, lib, fetchFromGitHub, python3Packages, gettext }:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-09-25 04:45:31 +00:00
|
|
|
with python3Packages;
|
|
|
|
|
|
|
|
buildPythonApplication rec {
|
2020-04-24 23:36:52 +00:00
|
|
|
pname = "linkchecker";
|
2021-02-05 17:12:51 +00:00
|
|
|
version = "10.0.0";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = pname;
|
|
|
|
repo = pname;
|
2021-02-05 17:12:51 +00:00
|
|
|
rev = "v" + version;
|
|
|
|
sha256 = "sha256-gcaamRxGn124LZ8rU+WzjRookU3akDO0ZyzI7/S6kFA=";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ gettext ];
|
|
|
|
|
2020-09-25 04:45:31 +00:00
|
|
|
propagatedBuildInputs = [
|
2020-04-24 23:36:52 +00:00
|
|
|
ConfigArgParse
|
|
|
|
argcomplete
|
2020-09-25 04:45:31 +00:00
|
|
|
beautifulsoup4
|
2020-04-24 23:36:52 +00:00
|
|
|
dnspython
|
|
|
|
pyxdg
|
|
|
|
requests
|
|
|
|
];
|
|
|
|
|
2020-09-25 04:45:31 +00:00
|
|
|
checkInputs = [
|
2020-04-24 23:36:52 +00:00
|
|
|
parameterized
|
|
|
|
pytest
|
|
|
|
];
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
sed -i 's/^requests.*$/requests>=2.2/' requirements.txt
|
|
|
|
sed -i "s/'request.*'/'requests >= 2.2'/" setup.py
|
|
|
|
'';
|
|
|
|
|
2020-10-07 09:15:18 +00:00
|
|
|
# test_timeit2 is flakey, and depends sleep being precise to the milisecond
|
2020-04-24 23:36:52 +00:00
|
|
|
checkPhase = ''
|
|
|
|
${lib.optionalString stdenv.isDarwin ''
|
|
|
|
# network tests fails on darwin
|
2020-12-25 13:55:36 +00:00
|
|
|
rm tests/test_network.py tests/checker/test_http*.py tests/checker/test_content_allows_robots.py tests/checker/test_noproxy.py
|
2020-04-24 23:36:52 +00:00
|
|
|
''}
|
2020-10-07 09:15:18 +00:00
|
|
|
pytest --ignore=tests/checker/{test_telnet,telnetserver}.py \
|
|
|
|
-k 'not TestLoginUrl and not test_timeit2'
|
2020-04-24 23:36:52 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Check websites for broken links";
|
|
|
|
homepage = "https://linkcheck.github.io/linkchecker/";
|
|
|
|
license = lib.licenses.gpl2;
|
|
|
|
maintainers = with lib.maintainers; [ peterhoeg tweber ];
|
|
|
|
};
|
|
|
|
}
|