70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
{
|
|
buildPythonApplication,
|
|
fetchPypi,
|
|
pandocfilters,
|
|
panflute,
|
|
lib,
|
|
pandoc,
|
|
pandoc-acro,
|
|
texliveTeTeX,
|
|
runCommand,
|
|
}:
|
|
|
|
let
|
|
pname = "pandoc-acro";
|
|
version = "0.10.1";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-JMfSQXX+BCGdFQYPFB+r08WRnhT3aXfnBNINROxCUA0=";
|
|
};
|
|
in
|
|
buildPythonApplication {
|
|
inherit pname version src;
|
|
|
|
propagatedBuildInputs = [
|
|
pandocfilters
|
|
panflute
|
|
];
|
|
|
|
# Something in the tests does not typecheck, but the tool works well.
|
|
doCheck = false;
|
|
|
|
passthru.tests.example-doc =
|
|
let
|
|
env = {
|
|
nativeBuildInputs = [
|
|
pandoc
|
|
pandoc-acro
|
|
(texliveTeTeX.withPackages (
|
|
ps: with ps; [
|
|
acro
|
|
translations
|
|
]
|
|
))
|
|
];
|
|
};
|
|
in
|
|
runCommand "pandoc-acro-example-docs" env ''
|
|
set -euo pipefail
|
|
exampleFile="${pname}-${version}/tests/example.md"
|
|
metadataFile="${pname}-${version}/tests/metadata.yaml"
|
|
tar --extract "--file=${src}" "$exampleFile" "$metadataFile"
|
|
mkdir $out
|
|
|
|
pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \
|
|
-T pdf -o $out/example.pdf
|
|
pandoc -F pandoc-acro "$exampleFile" "--metadata-file=$metadataFile" \
|
|
-T txt -o $out/example.txt
|
|
|
|
! grep -q "\+afaik" $out/example.txt
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://pypi.org/project/pandoc-acro/";
|
|
description = "Pandoc filter which manages acronyms in Pandoc flavored Markdown sources";
|
|
license = licenses.bsd2;
|
|
maintainers = with maintainers; [ tfc ];
|
|
mainProgram = "pandoc-acro";
|
|
};
|
|
}
|