about summary refs log tree commit diff
path: root/pkgs/development/python-modules/python-creole/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/python-creole/default.nix')
-rw-r--r--pkgs/development/python-modules/python-creole/default.nix89
1 files changed, 89 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/python-creole/default.nix b/pkgs/development/python-modules/python-creole/default.nix
new file mode 100644
index 0000000000000..a02a08e2b44b2
--- /dev/null
+++ b/pkgs/development/python-modules/python-creole/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, runtimeShell
+
+# build
+, poetry-core
+
+# propagates
+, docutils
+
+# tests
+, pytestCheckHook
+, readme_renderer
+, textile
+}:
+
+buildPythonPackage rec {
+  pname = "python-creole";
+  version = "1.4.10";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "jedie";
+    repo = "python-creole";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-8pXOnLNjhIv0d+BqjW8wlb6BT6CmFHSsxn5wLOv3LBQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+
+    substituteInPlace Makefile \
+      --replace "/bin/bash" "${runtimeShell}"
+
+    sed -i "/-cov/d" pytest.ini
+  '';
+
+  propagatedBuildInputs = [
+    docutils
+  ];
+
+  pythonImportsCheck = [
+    "creole"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    readme_renderer
+    textile
+  ];
+
+  preCheck = ''
+    export PATH=$out/bin:$PATH
+  '';
+
+  disabledTests = [
+    # macro didn't expect argument
+    "test_macro_wrong_arguments_quite"
+    "test_macro_wrong_arguments_with_error_report"
+    # rendering mismatches, likely docutils version mismatch
+    "test_headlines1"
+    "test_simple_table"
+  ];
+
+  disabledTestPaths = [
+    # requires poetry
+    "creole/tests/test_Makefile.py"
+    # requires poetry_publish
+    "creole/publish.py"
+    "creole/tests/test_project_setup.py"
+    # rendering differencenes, likely docutils version mismatch
+    "creole/tests/test_cross_compare_rest.py"
+    "creole/tests/test_rest2html.py"
+  ];
+
+  meta = with lib; {
+    description = "Creole markup tools written in Python";
+    homepage = "https://github.com/jedie/python-creole";
+    changelog = "https://github.com/jedie/python-creole/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hexa ];
+  };
+}