asciidoc: add support for qrcode filter

This commit is contained in:
Bjørn Forsman 2013-09-22 11:26:15 +02:00
parent 8a2251549f
commit 1b89cbb0ed

View File

@ -3,9 +3,10 @@
, enableDitaaFilter ? false, jre ? null , enableDitaaFilter ? false, jre ? null
, enableMscgenFilter ? false, mscgen ? null , enableMscgenFilter ? false, mscgen ? null
, enableDiagFilter ? false, blockdiag ? null, seqdiag ? null, actdiag ? null, nwdiag ? null , enableDiagFilter ? false, blockdiag ? null, seqdiag ? null, actdiag ? null, nwdiag ? null
, enableQrcodeFilter ? false, qrencode ? null
}: }:
assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter) -> unzip != null; assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter) -> unzip != null;
assert enableDitaaFilter -> jre != null; assert enableDitaaFilter -> jre != null;
assert enableMscgenFilter -> mscgen != null; assert enableMscgenFilter -> mscgen != null;
assert enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null; assert enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
@ -27,6 +28,11 @@ let
sha256 = "1qlqrdbqkdqqgfdhjsgdws1al0sacsyq6jmwxdfy7r8k7bv7n7mm"; sha256 = "1qlqrdbqkdqqgfdhjsgdws1al0sacsyq6jmwxdfy7r8k7bv7n7mm";
}; };
qrcodeFilterSrc = fetchurl {
url = "https://asciidoc-qrencode-filter.googlecode.com/files/qrcode-filter-1.0.zip";
sha256 = "0h4bql1nb4y4fmg2yvlpfjhvy22ln8jsaxdr10f8bfcg5lr0zkxs";
};
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -62,6 +68,11 @@ stdenv.mkDerivation rec {
-e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \ -e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \
-e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \ -e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \
"$out/etc/asciidoc/filters/diag/diag-filter.conf" "$out/etc/asciidoc/filters/diag/diag-filter.conf"
'' + optionalString enableQrcodeFilter ''
echo "Extracting qrcode filter"
unzip -d "$out/etc/asciidoc/filters/qrcode" "${qrcodeFilterSrc}"
sed -i -e "s|systemcmd('qrencode|systemcmd('${qrencode}/bin/qrencode|" \
"$out/etc/asciidoc/filters/qrcode/qrcode2img.py"
'' + '' '' + ''
for n in $(find "$out" . -name \*.py); do for n in $(find "$out" . -name \*.py); do
sed -i -e "s,^#![[:space:]]*/usr/bin/env python,#!${python}/bin/python,g" "$n" sed -i -e "s,^#![[:space:]]*/usr/bin/env python,#!${python}/bin/python,g" "$n"