nixpkgs/pkgs/development/python-modules/nikola/default.nix
2024-03-18 01:43:57 +01:00

137 lines
2.2 KiB
Nix

{ lib
, aiohttp
, babel
, blinker
, buildPythonPackage
, docutils
, doit
, feedparser
, fetchPypi
, fetchpatch2
, freezegun
, ghp-import
, hsluv
, html5lib
, ipykernel
, jinja2
, lxml
, mako
, markdown
, micawber
, mock
, natsort
, notebook
, phpserialize
, piexif
, pillow
, pygal
, pygments
, pyphen
, pyrss2gen
, pytestCheckHook
, python-dateutil
, pythonOlder
, requests
, ruamel-yaml
, setuptools
, toml
, typogrify
, unidecode
, watchdog
, yapsy
}:
buildPythonPackage rec {
pname = "nikola";
version = "8.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
pname = "Nikola";
inherit version;
hash = "sha256-VYuhiGLMTHcOZM8/bGZT7Xx5BOHo9gsMPjufYglrBL0=";
};
patches = [
(fetchpatch2 {
name = "nikola-pytest8-compat.patch";
url = "https://github.com/getnikola/nikola/commit/5f1003f91cd59f62622d379efe9be5fb19a1ed3e.patch";
hash = "sha256-2H3125RUnwvN/XgwgfRe1139rhAz/9viMEcUYRGQMPs=";
})
];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov nikola --cov-report term-missing" ""
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
babel
blinker
docutils
doit
feedparser
ghp-import
hsluv
html5lib
ipykernel
jinja2
lxml
mako
markdown
micawber
natsort
notebook
phpserialize
piexif
pillow
pygal
pygments
pyphen
pyrss2gen
python-dateutil
requests
ruamel-yaml
toml
typogrify
unidecode
watchdog
yapsy
];
nativeCheckInputs = [
freezegun
mock
pytestCheckHook
];
disabledTests = [
# AssertionError
"test_compiling_markdown"
# Date formatting slightly differs from expectation
"test_format_date_long"
"test_format_date_timezone"
"test_format_date_locale_variants"
"test_format_date_locale_variants"
];
pythonImportsCheck = [
"nikola"
];
meta = with lib; {
description = "Static website and blog generator";
homepage = "https://getnikola.com/";
changelog = "https://github.com/getnikola/nikola/blob/v${version}/CHANGES.txt";
license = licenses.mit;
maintainers = with maintainers; [ jluttine ];
};
}