Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 python3Packages, 4 fetchFromGitHub, 5}: 6 7python3Packages.buildPythonApplication rec { 8 pname = "rendercv"; 9 version = "2.2"; 10 pyproject = true; 11 12 src = fetchFromGitHub { 13 owner = "rendercv"; 14 repo = "rendercv"; 15 tag = "v${version}"; 16 hash = "sha256-bIEuzMGV/l8Cunc4W04ESFYTKhNH+ffkA6eXGbyu3A0="; 17 }; 18 19 build-system = with python3Packages; [ hatchling ]; 20 21 dependencies = with python3Packages; [ 22 jinja2 23 phonenumbers 24 email-validator 25 pydantic 26 pycountry 27 pydantic-extra-types 28 ruamel-yaml 29 # full 30 typer 31 markdown 32 watchdog 33 typst 34 rendercv-fonts 35 packaging 36 ]; 37 38 pythonRelaxDeps = [ 39 "phonenumbers" 40 "pydantic-extra-types" 41 "pydantic" 42 "ruamel-yaml" 43 ]; 44 45 pythonImportsCheck = [ "rendercv" ]; 46 47 nativeCheckInputs = with python3Packages; [ 48 pypdf 49 pytestCheckHook 50 ]; 51 52 disabledTests = [ 53 "test_are_all_the_theme_files_the_same" 54 # It needs internet to download resources 55 "test_render_a_pdf_from_typst" 56 "test_render_pngs_from_typst" 57 "test_render_command_overriding_input_file_settings" 58 ]; 59 60 disabledTestPaths = [ 61 # It fails due to missing internet resources 62 "tests/test_cli.py" 63 ]; 64 65 doCheck = true; 66 67 meta = { 68 description = "Typst-based CV/resume generator"; 69 homepage = "https://rendercv.com"; 70 changelog = "https://docs.rendercv.com/changelog/#22-january-25-2025"; 71 license = lib.licenses.mit; 72 maintainers = with lib.maintainers; [ theobori ]; 73 mainProgram = "rendercv"; 74 }; 75}