1{
2 buildPythonApplication,
3 fetchPypi,
4 pandocfilters,
5 panflute,
6 lib,
7 pandoc,
8 pandoc-acro,
9 texliveTeTeX,
10 runCommand,
11}:
12
13let
14 pname = "pandoc-acro";
15 version = "0.10.1";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-JMfSQXX+BCGdFQYPFB+r08WRnhT3aXfnBNINROxCUA0=";
20 };
21in
22buildPythonApplication {
23 format = "setuptools";
24 inherit pname version src;
25
26 propagatedBuildInputs = [
27 pandocfilters
28 panflute
29 ];
30
31 # Something in the tests does not typecheck, but the tool works well.
32 doCheck = false;
33
34 passthru.tests.example-doc =
35 let
36 env = {
37 nativeBuildInputs = [
38 pandoc
39 pandoc-acro
40 (texliveTeTeX.withPackages (
41 ps: with ps; [
42 acro
43 translations
44 ]
45 ))
46 ];
47 };
48 in
49 runCommand "pandoc-acro-example-docs" env ''
50 set -euo pipefail
51 exampleFile="${pname}-${version}/tests/example.md"
52 metadataFile="${pname}-${version}/tests/metadata.yaml"
53 tar --extract "--file=${src}" "$exampleFile" "$metadataFile"
54 mkdir $out
55
56 pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \
57 -T pdf -o $out/example.pdf
58 pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \
59 -T txt -o $out/example.txt
60
61 ! grep -q "\+afaik" $out/example.txt
62 '';
63
64 meta = with lib; {
65 homepage = "https://pypi.org/project/pandoc-acro/";
66 description = "Pandoc filter which manages acronyms in Pandoc flavored Markdown sources";
67 license = licenses.bsd2;
68 maintainers = with maintainers; [ tfc ];
69 mainProgram = "pandoc-acro";
70 };
71}