Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 20.09 1.7 kB view raw
1{ lib 2, buildPythonPackage 3, isPy3k 4, fetchPypi 5, doit 6, glibcLocales 7, pytest 8, pytestcov 9, mock 10, pygments 11, pillow 12, dateutil 13, docutils 14, Mako 15, unidecode 16, lxml 17, Yapsy 18, PyRSS2Gen 19, Logbook 20, blinker 21, natsort 22, requests 23, piexif 24, markdown 25, phpserialize 26, jinja2 27, Babel 28, freezegun 29, toml 30, notebook 31, ruamel_yaml 32, aiohttp 33, watchdog 34}: 35 36buildPythonPackage rec { 37 pname = "Nikola"; 38 version = "8.1.1"; 39 40 # Nix contains only Python 3 supported version of doit, which is a dependency 41 # of Nikola. Python 2 support would require older doit 0.29.0 (which on the 42 # other hand doesn't support Python 3.3). So, just disable Python 2. 43 disabled = !isPy3k; 44 45 checkInputs = [ pytest pytestcov mock glibcLocales freezegun ]; 46 47 propagatedBuildInputs = [ 48 # requirements.txt 49 doit pygments pillow dateutil docutils Mako markdown unidecode 50 lxml Yapsy PyRSS2Gen Logbook blinker natsort requests piexif Babel 51 # requirements-extras.txt 52 phpserialize jinja2 toml notebook ruamel_yaml aiohttp watchdog 53 ]; 54 55 src = fetchPypi { 56 inherit pname version; 57 sha256 = "cee35b011667a965eca01b7d36b54649c9434ab004d8556d6563b7d899df61ed"; 58 }; 59 60 patchPhase = '' 61 # upstream added bound so that requires.io doesn't send mails about update 62 # nikola should work with markdown 3.0: https://github.com/getnikola/nikola/pull/3175#issue-220147596 63 sed -i 's/Markdown>.*/Markdown/' requirements.txt 64 ''; 65 66 checkPhase = '' 67 LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" py.test . 68 ''; 69 70 meta = { 71 broken = true; 72 homepage = "https://getnikola.com/"; 73 description = "A modular, fast, simple, static website and blog generator"; 74 license = lib.licenses.mit; 75 maintainers = with lib.maintainers; [ jluttine ]; 76 }; 77}