diff --git a/pkgs/by-name/re/rendercv/package.nix b/pkgs/by-name/re/rendercv/package.nix new file mode 100644 index 000000000000..01c7872ff46c --- /dev/null +++ b/pkgs/by-name/re/rendercv/package.nix @@ -0,0 +1,75 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication rec { + pname = "rendercv"; + version = "2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rendercv"; + repo = "rendercv"; + tag = "v${version}"; + hash = "sha256-bIEuzMGV/l8Cunc4W04ESFYTKhNH+ffkA6eXGbyu3A0="; + }; + + build-system = with python3Packages; [ hatchling ]; + + dependencies = with python3Packages; [ + jinja2 + phonenumbers + email-validator + pydantic + pycountry + pydantic-extra-types + ruamel-yaml + # full + typer + markdown + watchdog + typst + rendercv-fonts + packaging + ]; + + pythonRelaxDeps = [ + "phonenumbers" + "pydantic-extra-types" + "pydantic" + "ruamel-yaml" + ]; + + pythonImportsCheck = [ "rendercv" ]; + + nativeCheckInputs = with python3Packages; [ + pypdf + pytestCheckHook + ]; + + disabledTests = [ + "test_are_all_the_theme_files_the_same" + # It needs internet to download resources + "test_render_a_pdf_from_typst" + "test_render_pngs_from_typst" + "test_render_command_overriding_input_file_settings" + ]; + + disabledTestPaths = [ + # It fails due to missing internet resources + "tests/test_cli.py" + ]; + + doCheck = true; + + meta = { + description = "Typst-based CV/resume generator"; + homepage = "https://rendercv.com"; + changelog = "https://docs.rendercv.com/changelog/#22-january-25-2025"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ theobori ]; + mainProgram = "rendercv"; + }; +} diff --git a/pkgs/development/python-modules/rendercv-fonts/default.nix b/pkgs/development/python-modules/rendercv-fonts/default.nix new file mode 100644 index 000000000000..570aeb766933 --- /dev/null +++ b/pkgs/development/python-modules/rendercv-fonts/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + pythonOlder, + hatchling, +}: + +buildPythonPackage rec { + pname = "rendercv-fonts"; + version = "0.4.0"; + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "rendercv"; + repo = "rendercv-fonts"; + tag = "v${version}"; + hash = "sha256-fQ9iNN3hRCrhut+1F6q3dJEWoKUQyPol0/SyTPUPK1c="; + }; + + build-system = [ hatchling ]; + + # pythonRelaxDeps seems not taking effect for the build-system dependencies + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail 'hatchling==1.26.3' 'hatchling' \ + ''; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "rendercv_fonts" ]; + + meta = { + description = "Python package with some fonts for the rendercv package"; + homepage = "https://github.com/rendercv/rendercv-fonts"; + changelog = "https://github.com/rendercv/rendercv-fonts/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ theobori ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 23323d8d82ea..1e5e4e2af05d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15515,6 +15515,8 @@ self: super: with self; { rencode = callPackage ../development/python-modules/rencode { }; + rendercv-fonts = callPackage ../development/python-modules/rendercv-fonts { }; + reno = callPackage ../development/python-modules/reno { }; renson-endura-delta = callPackage ../development/python-modules/renson-endura-delta { };