1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 sphinx,
12}:
13
14buildPythonPackage rec {
15 pname = "hieroglyph";
16 version = "2.1.0";
17
18 src = fetchFromGitHub {
19 owner = "nyergler";
20 repo = "hieroglyph";
21 tag = "hieroglyph-${version}";
22 hash = "sha256-nr5cHF0Lg2mjQvnOoM5HCmMUiGh1QOeTD0nc8BvCBOE=";
23 };
24
25 pyproject = true;
26
27 build-system = [ setuptools ];
28
29 patches = [
30 # https://github.com/nyergler/hieroglyph/pull/177hieroglyph-quickstart
31 (fetchpatch {
32 name = "hieroglyph-upgrade-versioneer";
33 url = "https://github.com/nyergler/hieroglyph/commit/9cebee269ac10964b2436c0204156b7bd620a3d4.patch";
34 hash = "sha256-ZvU7uASU727/NUAW8I7k9idzMpEdnuwRshdHm2/GQ3w=";
35 })
36 # https://github.com/nyergler/hieroglyph/pull/174
37 (fetchpatch {
38 name = "hieroglyph-slide-builder-type-error";
39 url = "https://github.com/nyergler/hieroglyph/pull/174/commits/d75c550f797e3635d33db11f50968755288962a7.patch";
40 hash = "sha256-qNQVgWL9jy0cwtxKUbWi3Qc77RU2H3raN0BzBjDk9C8=";
41 })
42 ];
43
44 # load_additional_themes has been deprecated, need to use its deprecated name
45 postPatch = ''
46 substituteInPlace src/hieroglyph/builder.py \
47 --replace-fail "theme_factory.load_additional_themes" "theme_factory._load_additional_themes"
48 '';
49
50 dependencies = [
51 setuptools
52 sphinx
53 ];
54
55 pythonImportsCheck = [ "hieroglyph" ];
56
57 # all tests fail; don't know why:
58 # test_absolute_paths_made_relative (hieroglyph.tests.test_path_fixing.PostProcessImageTests) ... ERROR
59 doCheck = false;
60
61 meta = with lib; {
62 description = "Generate HTML presentations from plain text sources";
63 homepage = "https://github.com/nyergler/hieroglyph/";
64 license = licenses.bsd3;
65 maintainers = with maintainers; [ juliendehos ];
66 };
67}