nixpkgs/pkgs/tools/networking/linkchecker/default.nix

54 lines
1.4 KiB
Nix
Raw Normal View History

{ stdenv, lib, fetchFromGitHub, python3Packages, gettext }:
with python3Packages;
buildPythonApplication rec {
pname = "linkchecker";
version = "unstable-2020-08-15";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "0086c28b3a419faa60562f2713346996062c03c2";
sha256 = "0am5id8vqlqn1gb9jri0vjgiq5ffgrjq8yzdk1zc98gn2n0397wl";
};
nativeBuildInputs = [ gettext ];
propagatedBuildInputs = [
ConfigArgParse
argcomplete
beautifulsoup4
dnspython
pyxdg
requests
];
checkInputs = [
parameterized
pytest
];
postPatch = ''
sed -i 's/^requests.*$/requests>=2.2/' requirements.txt
sed -i "s/'request.*'/'requests >= 2.2'/" setup.py
'';
2020-09-29 17:29:20 +01:00
# test_timeit2 is flakey, and depends sleep being precise to the milisecond
checkPhase = ''
2017-02-26 11:21:24 +00:00
${lib.optionalString stdenv.isDarwin ''
# network tests fails on darwin
2020-12-08 01:55:13 +00:00
rm tests/test_network.py tests/checker/test_http*.py tests/checker/test_content_allows_robots.py tests/checker/test_noproxy.py
2017-02-26 11:21:24 +00:00
''}
2020-09-29 17:29:20 +01:00
pytest --ignore=tests/checker/{test_telnet,telnetserver}.py \
-k 'not TestLoginUrl and not test_timeit2'
'';
meta = {
description = "Check websites for broken links";
homepage = "https://linkcheck.github.io/linkchecker/";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ peterhoeg tweber ];
};
}