diff --git a/pkgs/development/python-modules/pandoc-xnos/default.nix b/pkgs/development/python-modules/pandoc-xnos/default.nix new file mode 100644 index 00000000000..ce365708b35 --- /dev/null +++ b/pkgs/development/python-modules/pandoc-xnos/default.nix @@ -0,0 +1,30 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +, pandocfilters +, psutil +}: + +buildPythonPackage rec { + pname = "pandoc-xnos"; + version = "2.5.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tomduck"; + repo = pname; + rev = version; + sha256 = "sha256-beiGvN0DS6s8wFjcDKozDuwAM2OApX3lTRaUDRUqLeU="; + }; + + propagatedBuildInputs = [ pandocfilters psutil ]; + + pythonImportsCheck = [ "pandocxnos" ]; + + meta = with lib; { + description = "Pandoc filter suite providing facilities for cross-referencing in markdown documents"; + homepage = "https://github.com/tomduck/pandoc-xnos"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ ppenguin ]; + }; +} diff --git a/pkgs/tools/misc/pandoc-eqnos/default.nix b/pkgs/tools/misc/pandoc-eqnos/default.nix new file mode 100644 index 00000000000..310826c35b0 --- /dev/null +++ b/pkgs/tools/misc/pandoc-eqnos/default.nix @@ -0,0 +1,30 @@ +{ buildPythonApplication +, fetchFromGitHub +, lib +, pandoc-xnos +}: + +buildPythonApplication rec { + pname = "pandoc-eqnos"; + version = "2.5.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tomduck"; + repo = pname; + rev = version; + sha256 = "sha256-7GQdfGHhtQs6LZK+ZyMmcPSkoFfBWmATTMejMiFcS7Y="; + }; + + propagatedBuildInputs = [ pandoc-xnos ]; + + # Different pandoc executables are not available + doCheck = false; + + meta = with lib; { + description = "Standalone pandoc filter from the pandoc-xnos suite for numbering equations and equation references"; + homepage = "https://github.com/tomduck/pandoc-eqnos"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ ppenguin ]; + }; +} diff --git a/pkgs/tools/misc/pandoc-fignos/default.nix b/pkgs/tools/misc/pandoc-fignos/default.nix new file mode 100644 index 00000000000..846d1abe8d7 --- /dev/null +++ b/pkgs/tools/misc/pandoc-fignos/default.nix @@ -0,0 +1,30 @@ +{ buildPythonApplication +, fetchFromGitHub +, lib +, pandoc-xnos +}: + +buildPythonApplication rec { + pname = "pandoc-fignos"; + version = "2.4.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tomduck"; + repo = pname; + rev = version; + sha256 = "sha256-eDwAW0nLB4YqrWT3Ajt9bmX1A43wl+tOPm2St5VpCLk="; + }; + + propagatedBuildInputs = [ pandoc-xnos ]; + + # Different pandoc executables are not available + doCheck = false; + + meta = with lib; { + description = "Standalone pandoc filter from the pandoc-xnos suite for numbering figures and figure references"; + homepage = "https://github.com/tomduck/pandoc-fignos"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ ppenguin ]; + }; +} diff --git a/pkgs/tools/misc/pandoc-secnos/default.nix b/pkgs/tools/misc/pandoc-secnos/default.nix new file mode 100644 index 00000000000..95c67dde0ec --- /dev/null +++ b/pkgs/tools/misc/pandoc-secnos/default.nix @@ -0,0 +1,34 @@ +{ buildPythonApplication +, fetchFromGitHub +, lib +, pandoc-xnos +}: + +buildPythonApplication rec { + pname = "pandoc-secnos"; + version = "2.2.2"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tomduck"; + repo = pname; + rev = version; + sha256 = "sha256-J9KLZvioYM3Pl2UXjrEgd4PuLTwCLYy9SsJIzgw5/jU="; + }; + + propagatedBuildInputs = [ pandoc-xnos ]; + + patches = [ + ./patch/fix-manifest.patch + ]; + + # Different pandoc executables are not available + doCheck = false; + + meta = with lib; { + description = "Standalone pandoc filter from the pandoc-xnos suite for numbering sections and section references"; + homepage = "https://github.com/tomduck/pandoc-secnos"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ ppenguin ]; + }; +} diff --git a/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch b/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch new file mode 100644 index 00000000000..782e5b5e07c --- /dev/null +++ b/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch @@ -0,0 +1,39 @@ +From 165ee1f4c1208636254392335d34934dc50d273e Mon Sep 17 00:00:00 2001 +From: ppenguin +Date: Tue, 15 Mar 2022 23:15:07 +0100 +Subject: [PATCH] fix setup.py to work in nixpkgs + +--- + setup.py | 13 ++----------- + 1 file changed, 2 insertions(+), 11 deletions(-) + +diff --git a/setup.py b/setup.py +index d705846..d7345a2 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,10 +42,10 @@ + + author='Thomas J. Duck', + author_email='tomduck@tomduck.ca', +- description='Equation number filter for pandoc', ++ description='Section number filter for pandoc', + long_description=DESCRIPTION, + license='GPL', +- keywords='pandoc equation numbers filter', ++ keywords='pandoc section numbers filter', + url='https://github.com/tomduck/pandoc-secnos', + download_url='https://github.com/tomduck/pandoc-secnos/tarball/' + \ + __version__, +@@ -63,12 +63,3 @@ + 'Programming Language :: Python' + ] + ) +- +-# Check that the pandoc-secnos script is on the PATH +-if not shutil.which('pandoc-secnos'): +- msg = """ +- ERROR: `pandoc-secnos` script not found. This will need to +- be corrected. If you need help, please file an Issue at +- https://github.com/tomduck/pandoc-secnos/issues.\n""" +- print(textwrap.dedent(msg)) +- sys.exit(-1) diff --git a/pkgs/tools/misc/pandoc-tablenos/default.nix b/pkgs/tools/misc/pandoc-tablenos/default.nix new file mode 100644 index 00000000000..f3d67826a45 --- /dev/null +++ b/pkgs/tools/misc/pandoc-tablenos/default.nix @@ -0,0 +1,30 @@ +{ buildPythonApplication +, fetchFromGitHub +, lib +, pandoc-xnos +}: + +buildPythonApplication rec { + pname = "pandoc-tablenos"; + version = "2.3.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "tomduck"; + repo = pname; + rev = version; + sha256 = "sha256-FwzsRziY3PoySo9hIFuLw6tOO9oQij6oQEyoY8HgnII="; + }; + + propagatedBuildInputs = [ pandoc-xnos ]; + + # Different pandoc executables are not available + doCheck = false; + + meta = with lib; { + description = "Standalone pandoc filter from the pandoc-xnos suite for numbering tables and table references"; + homepage = "https://github.com/tomduck/pandoc-tablenos"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ ppenguin ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 24322febb49..51e27786b7f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8694,7 +8694,11 @@ with pkgs; pandoc-plantuml-filter = python3Packages.callPackage ../tools/misc/pandoc-plantuml-filter { }; - panicparse = callPackage ../tools/misc/panicparse { }; + # pandoc-*nos is a filter suite, where pandoc-xnos has all functionality and the others are used for only specific functionality + pandoc-eqnos = python3Packages.callPackage ../tools/misc/pandoc-eqnos { }; + pandoc-fignos = python3Packages.callPackage ../tools/misc/pandoc-fignos { }; + pandoc-secnos = python3Packages.callPackage ../tools/misc/pandoc-secnos { }; + pandoc-tablenos = python3Packages.callPackage ../tools/misc/pandoc-tablenos { }; patray = callPackage ../tools/audio/patray { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b9cf66372a5..807ad190323 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6073,6 +6073,8 @@ in { pandoc-attributes = callPackage ../development/python-modules/pandoc-attributes { }; + pandoc-xnos = callPackage ../development/python-modules/pandoc-xnos { }; + pandocfilters = callPackage ../development/python-modules/pandocfilters { }; panel = callPackage ../development/python-modules/panel { };