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}