summary refs log tree commit diff
path: root/pkgs/tools/typesetting/asciidoc
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2013-09-22 14:29:43 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2013-09-22 23:04:39 +0200
commit524315194c77563a3d57724aa41cffdfab1959df (patch)
tree9aff6a1d1e2a26d38212e26152a4bc97dcb02720 /pkgs/tools/typesetting/asciidoc
parent1b89cbb0ed798794baf14c7842102de71286760b (diff)
downloadnixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar.gz
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar.bz2
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar.lz
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar.xz
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.tar.zst
nixpkgs-524315194c77563a3d57724aa41cffdfab1959df.zip
asciidoc: add support for matplotlib filter
Diffstat (limited to 'pkgs/tools/typesetting/asciidoc')
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index b2d3d182610..a381fb863eb 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -4,12 +4,14 @@
 , enableMscgenFilter ? false, mscgen ? null
 , enableDiagFilter ? false, blockdiag ? null, seqdiag ? null, actdiag ? null, nwdiag ? null
 , enableQrcodeFilter ? false, qrencode ? null
+, enableMatplotlibFilter ? false, matplotlib ? null, numpy ? null
 }:
 
 assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter) -> unzip != null;
 assert enableDitaaFilter -> jre != null;
 assert enableMscgenFilter -> mscgen != null;
 assert enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
+assert enableMatplotlibFilter -> matplotlib != null && numpy != null;
 
 let
   ditaaFilterSrc = fetchurl {
@@ -33,6 +35,13 @@ let
     sha256 = "0h4bql1nb4y4fmg2yvlpfjhvy22ln8jsaxdr10f8bfcg5lr0zkxs";
   };
 
+  # latest commit in master branch as per 2013-09-22
+  matplotlibFilterSrc = let commit = "75f0d009629f93f33fab04b83faca20cc35dd358"; in fetchurl rec {
+    name = "mplw-${commit}.tar.gz";
+    url = "https://api.github.com/repos/lvv/mplw/tarball/${commit}";
+    sha256 = "0yfhkm2dr8gnp0fcg25x89hwiymkri2m5cyqzmzragzwj0hbmcf1";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -73,6 +82,15 @@ stdenv.mkDerivation rec {
     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"
+  '' + optionalString enableMatplotlibFilter ''
+    echo "Extracting mpl (matplotlib) filter"
+    mkdir -p "$out/etc/asciidoc/filters/mpl"
+    tar xvf "${matplotlibFilterSrc}" -C "$out/etc/asciidoc/filters/mpl" --strip-components=1
+    # Add matplotlib and numpy to sys.path
+    matplotlib_path="$(toPythonPath ${matplotlib})"
+    numpy_path="$(toPythonPath ${numpy})"
+    sed -i "/^import.*sys/asys.path.append(\"$matplotlib_path\"); sys.path.append(\"$numpy_path\");" \
+        "$out/etc/asciidoc/filters/mpl/mplw.py"
   '' + ''
     for n in $(find "$out" . -name \*.py); do
       sed -i -e "s,^#![[:space:]]*/usr/bin/env python,#!${python}/bin/python,g" "$n"