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

55 lines
1.3 KiB
Nix
Raw Normal View History

{ stdenv, lib, fetchFromGitHub, python3Packages, gettext }:
with python3Packages;
buildPythonApplication rec {
pname = "linkchecker";
version = "10.0.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v" + version;
sha256 = "sha256-gcaamRxGn124LZ8rU+WzjRookU3akDO0ZyzI7/S6kFA=";
};
nativeBuildInputs = [ gettext ];
propagatedBuildInputs = [
configargparse
argcomplete
beautifulsoup4
pyopenssl
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 18:29:20 +02:00
# test_timeit2 is flakey, and depends sleep being precise to the milisecond
checkPhase = ''
2017-02-26 12:21:24 +01:00
${lib.optionalString stdenv.isDarwin ''
# network tests fails on darwin
2020-12-08 02:55:13 +01: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 12:21:24 +01:00
''}
2020-09-29 18:29:20 +02: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 ];
};
}