forked from mirrors/nixpkgs
33afbf39f6
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
96 lines
2.6 KiB
Nix
96 lines
2.6 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchFromGitHub
|
|
, installShellFiles
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "ripe-atlas-tools";
|
|
version = "3.0.3";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "RIPE-NCC";
|
|
repo = "ripe-atlas-tools";
|
|
rev = "refs/tags/v${version}";
|
|
sha256 = "sha256-tNojduSNjJc8yOkDbuFLKoASqIV4P3mGuNbiIcf6Nac=";
|
|
};
|
|
|
|
postPatch = ''
|
|
# This mapping triggers network access on docs generation: https://github.com/RIPE-NCC/ripe-atlas-tools/issues/235
|
|
sed -i '/^intersphinx_mapping/d' docs/conf.py
|
|
# TODO: Ensure user-agent is picked up during build, remove me when https://github.com/RIPE-NCC/ripe-atlas-tools/pull/236
|
|
echo "include ripe/atlas/tools/user-agent" >> MANIFEST.in
|
|
'';
|
|
|
|
nativeBuildInputs = with python3.pkgs; [
|
|
sphinx-rtd-theme
|
|
sphinxHook
|
|
installShellFiles
|
|
];
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
ripe-atlas-cousteau
|
|
ripe-atlas-sagan
|
|
ujson
|
|
ipy
|
|
python-dateutil
|
|
requests
|
|
tzlocal
|
|
pyyaml
|
|
pyopenssl
|
|
];
|
|
|
|
preBuild = ''
|
|
echo "RIPE Atlas Tools [NixOS ${version}" > ripe/atlas/tools/user-agent
|
|
'';
|
|
|
|
postInstall = ''
|
|
installShellCompletion --cmd ripe-atlas --bash ./ripe-atlas-bash-completion.sh
|
|
'';
|
|
|
|
pythonImportsCheck = [
|
|
"ripe.atlas.tools"
|
|
];
|
|
|
|
nativeCheckInputs = with python3.pkgs; [
|
|
pytestCheckHook
|
|
];
|
|
|
|
disabledTests = [
|
|
# Network tests: https://github.com/RIPE-NCC/ripe-atlas-tools/issues/234
|
|
"test_arg_from_file"
|
|
"test_arg_from_stdin"
|
|
# We injected our user-agent so the tests will fail
|
|
"test_user_agent_mac"
|
|
"test_user_agent_windows"
|
|
"test_user_agent_xdg_absent"
|
|
"test_user_agent_xdg_present"
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
# Relies on `ripe-atlas` being available in the PATH, installed with autocompletions
|
|
"tests/test_bash_completion.py"
|
|
# AS lookups are not mocked up: https://github.com/RIPE-NCC/ripe-atlas-tools/blob/master/tests/renderers/test_traceroute_aspath.py#L26
|
|
"tests/renderers/test_traceroute_aspath.py"
|
|
# We already build Sphinx so we do not need to test it
|
|
"tests/test_docs.py"
|
|
];
|
|
|
|
HOME = "$TMPDIR"; # for cache generation.
|
|
|
|
# Necessary because it confuse the tests when it does "from ripe.atlas.sagan import X"
|
|
# version.py is used by Sphinx tests.
|
|
preCheck = ''
|
|
rm -rf ripe
|
|
mkdir -p ripe/atlas/tools
|
|
echo "__version__ = \"${version}\"" > ripe/atlas/tools/version.py
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "RIPE ATLAS project tools";
|
|
homepage = "https://github.com/RIPE-NCC/ripe-atlas-tools";
|
|
license = licenses.gpl3Only;
|
|
maintainers = with maintainers; [ raitobezarius ];
|
|
};
|
|
}
|