diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix index f7f36edfb2012c..7d4dceef89980b 100644 --- a/pkgs/development/python-modules/papis/default.nix +++ b/pkgs/development/python-modules/papis/default.nix @@ -1,116 +1,118 @@ { lib, - stdenv, - arxiv2bib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + + # dependencies + arxiv, beautifulsoup4, bibtexparser, - buildPythonPackage, - chardet, click, colorama, - configparser, dominate, - fetchFromGitHub, filetype, habanero, isbnlib, lxml, + platformdirs, prompt-toolkit, pygments, pyparsing, - pytestCheckHook, python-doi, python-slugify, - pythonOlder, pyyaml, requests, stevedore, - tqdm, - typing-extensions, - whoosh, -}: + # tests + docutils, + git, + pytestCheckHook, + sphinx, + sphinx-click, +}: buildPythonPackage rec { pname = "papis"; - version = "0.13"; - format = "setuptools"; - - disabled = pythonOlder "3.7"; + version = "0.14"; + pyproject = true; src = fetchFromGitHub { owner = "papis"; - repo = pname; + repo = "papis"; rev = "refs/tags/v${version}"; - hash = "sha256-iRrf37hq+9D01JRaQIqg7yTPbLX6I0ZGnzG3r1DX464="; + hash = "sha256-UpZoMYk4URN8tSFGIynVzWMk+9S0izROAgbx6uI2cN8="; }; - propagatedBuildInputs = [ - arxiv2bib + build-system = [ hatchling ]; + + dependencies = [ + + pyyaml + arxiv beautifulsoup4 bibtexparser - chardet click colorama - configparser dominate filetype habanero isbnlib lxml + platformdirs prompt-toolkit pygments pyparsing python-doi python-slugify - pyyaml requests stevedore - tqdm - typing-extensions - whoosh ]; postPatch = '' - substituteInPlace setup.cfg \ + substituteInPlace pyproject.toml \ --replace "--cov=papis" "" ''; - nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "papis" ]; + + nativeCheckInputs = [ + docutils + git + pytestCheckHook + sphinx + sphinx-click + ]; preCheck = '' export HOME=$(mktemp -d); ''; - pytestFlagsArray = [ "papis tests" ]; + pytestFlagsArray = [ + "papis" + "tests" + ]; disabledTestPaths = [ + # Require network access "tests/downloaders" "papis/downloaders/usenix.py" ]; disabledTests = [ - "get_document_url" - "match" - "test_doi_to_data" - "test_downloader_getter" - "test_general" - "test_get_config_dirs" - "test_get_configuration" - "test_get_data" - "test_valid_dblp_key" - "test_validate_arxivid" - "test_yaml" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "test_default_opener" ]; - - pythonImportsCheck = [ "papis" ]; + # Require network access + "test_yaml_unicode_dump" + ]; - meta = with lib; { + meta = { description = "Powerful command-line document and bibliography manager"; mainProgram = "papis"; homepage = "https://papis.readthedocs.io/"; changelog = "https://github.com/papis/papis/blob/v${version}/CHANGELOG.md"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ nico202 teto ];