mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-08 14:23:40 +00:00
78 lines
1.6 KiB
Nix
78 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
|
|
# build-system,
|
|
setuptools,
|
|
|
|
# dependencies
|
|
babel,
|
|
langcodes,
|
|
tld,
|
|
urllib3,
|
|
|
|
# tests
|
|
pytest-httpserver,
|
|
pytestCheckHook,
|
|
}:
|
|
|
|
buildPythonPackage (finalAttrs: {
|
|
pname = "courlan";
|
|
version = "1.4.0";
|
|
pyproject = true;
|
|
__structuredAttrs = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "adbar";
|
|
repo = "courlan";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-hDbeAd/gil6S8zggBjmrDmnW3DMMdRvG1vULuhYA1zc=";
|
|
};
|
|
|
|
# Tests try to write to /tmp directly. use $TMPDIR instead.
|
|
postPatch =
|
|
let
|
|
courlanBinPath = "${placeholder "out"}/bin/courlan";
|
|
in
|
|
''
|
|
substituteInPlace tests/unit_tests.py \
|
|
--replace-fail \
|
|
'assert os.system("courlan --help") == 0' \
|
|
'assert os.system("${courlanBinPath} --help") == 0' \
|
|
--replace-fail \
|
|
'courlan_bin = "courlan"' \
|
|
'courlan_bin = "${courlanBinPath}"'
|
|
'';
|
|
|
|
build-system = [ setuptools ];
|
|
|
|
dependencies = [
|
|
babel
|
|
langcodes
|
|
tld
|
|
urllib3
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytest-httpserver
|
|
pytestCheckHook
|
|
];
|
|
|
|
# disable tests that require an internet connection
|
|
disabledTests = [ "test_urlcheck" ];
|
|
|
|
pythonImportsCheck = [ "courlan" ];
|
|
|
|
__darwinAllowLocalNetworking = true;
|
|
|
|
meta = {
|
|
description = "Clean, filter and sample URLs to optimize data collection";
|
|
homepage = "https://github.com/adbar/courlan";
|
|
changelog = "https://github.com/adbar/courlan/blob/${finalAttrs.src.tag}/HISTORY.md";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ jokatzke ];
|
|
mainProgram = "courlan";
|
|
};
|
|
})
|