about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/literate-programming
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/literate-programming')
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/eweb/default.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix29
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/noweb/no-FAQ.patch11
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/nuweb/default.nix38
6 files changed, 159 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix
new file mode 100644
index 000000000000..035374d3e900
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/Literate/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit, dmd, dub }:
+
+stdenv.mkDerivation {
+  name = "Literate-2019-01-08";
+
+  src = fetchgit {
+    url = "https://github.com/zyedidia/Literate.git";
+    rev = "e20c5c86713701d4d17fd2881779d758a27a3e5a";
+    sha256 = "1pr7iipcnp6jxi13341p5b3szdrvs7aixpfbwifj6lgbb45vg9sm";
+  };
+
+  buildInputs = [ dmd dub ];
+
+  installPhase = "install -D bin/lit $out/bin/lit";
+
+  meta = with stdenv.lib; {
+    description = "A literate programming tool for any language";
+    homepage    = http://literate.zbyedidia.webfactional.com/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/eweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/eweb/default.nix
new file mode 100644
index 000000000000..17a7731896ee
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/eweb/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, python3, asciidoc }:
+
+stdenv.mkDerivation rec{
+
+  name = "eweb-${meta.version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/eweb/${name}.tar.bz2";
+    sha256 = "1xy7vm2sj5q6s620fm25klmnwnz9xkrxmx4q2f8h6c85ydisayd5";
+  };
+
+  buildInputs = [ python3 asciidoc ];
+
+  installPhase = ''
+    install -d $out/bin $out/share/doc/${name}
+    cp etangle.py $out/bin
+    cp etangle.w etangle.html $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    version = "9.10" ;
+    homepage = http://eweb.sf.net;
+    description = "An Asciidoc-based literate programming tool, written in Python";
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix
new file mode 100644
index 000000000000..66b44d1fc835
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+
+  name = "funnelweb-${meta.version}";
+  src = fetchurl {
+    url = http://www.ross.net/funnelweb/download/funnelweb_v320/funnelweb_v320_source.tar.gz;
+    sha256 = "0zqhys0j9gabrd12mnk8ibblpc8dal4kbl8vnhxmdlplsdpwn4wg";
+  };
+
+  buildPhase = ''
+    cd source
+    ${stdenv.cc}/bin/cc -D__linux__ -o fw *.c
+  '';
+
+  installPhase = ''
+    install -d $out/bin
+    install fw $out/bin/fw
+  '';
+
+  meta = with stdenv.lib; {
+    version = "3.20";
+    description = "A simple, reliable literate-programming macro preprocessor";
+    homepage = http://www.ross.net/funnelweb/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
+#TODO: implement it for other platforms
+#TODO: Documentation files
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
new file mode 100644
index 000000000000..44df2b1e1534
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, gawk}:
+
+stdenv.mkDerivation {
+  name = "noweb-2.11b";
+  src = fetchurl {
+    urls = [ "http://ftp.de.debian.org/debian/pool/main/n/noweb/noweb_2.11b.orig.tar.gz"
+             "ftp://www.eecs.harvard.edu/pub/nr/noweb.tgz"
+          ];
+    sha256 = "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9";
+  };
+  preBuild = ''
+    mkdir -p $out/lib/noweb
+    cd src
+    makeFlags="BIN=$out/bin LIB=$out/lib/noweb MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex"
+  '';
+  preInstall=''mkdir -p $out/share/texmf/tex/latex'';
+  postInstall= ''
+    substituteInPlace $out/bin/cpif --replace "PATH=/bin:/usr/bin" ""
+    for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} \
+             $out/lib/noweb/{toroff,btdefn,totex,noidx,unmarkup,toascii,tohtml,emptydefn}; do
+      substituteInPlace $f --replace "nawk" "${gawk}/bin/awk"
+    done
+  '';
+  patches = [ ./no-FAQ.patch ];
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/noweb/no-FAQ.patch b/nixpkgs/pkgs/development/tools/literate-programming/noweb/no-FAQ.patch
new file mode 100644
index 000000000000..3230924990b8
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/noweb/no-FAQ.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile	2006-06-12 22:14:20.000000000 +0200
++++ b/src/Makefile	2010-06-17 11:30:11.804018145 +0200
+@@ -198,7 +198,7 @@
+ 	(cd elisp; ci -l $(CINAME) $(CIMSG) *.el)
+ 	ci -l $(CINAME) $(CIMSG) Makefile.nw INSTALL INSTALL.DOS README FAQ COPYRIGHT nwmake *.nw
+ 
+-source: FAQ
++source:
+ 	for i in c shell lib xdoc icon awk tex; do (cd $$i; make CPIF=">" source); done
+ 	sleep 1
+ 	for i in c shell lib xdoc icon awk tex; do (cd $$i; make touch); done
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/nuweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/nuweb/default.nix
new file mode 100644
index 000000000000..00397978054b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/literate-programming/nuweb/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, tex}:
+
+stdenv.mkDerivation rec{
+
+  name = "nuweb-${version}";
+  version = "1.58";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/nuweb/${name}.tar.gz";
+    sha256 = "0q51i3miy15fv4njjp82yws01qfjxvqx5ly3g3vh8z3h7iq9p47y";
+  };
+
+  buildInputs = [ tex ];
+
+  patchPhase = ''
+    sed -ie 's|nuweb -r|./nuweb -r|' Makefile
+  '';
+  buildPhase = ''
+    make nuweb
+    make nuweb.pdf nuwebdoc.pdf all
+  '';
+  installPhase = ''
+    install -d $out/bin $out/share/man/man1 $out/share/doc/${name} $out/share/emacs/site-lisp
+    cp nuweb $out/bin
+    cp nuweb.el $out/share/emacs/site-lisp
+    gzip -c nuweb.1 > $out/share/man/man1/nuweb.1.gz
+    cp htdocs/index.html nuweb.w nuweb.pdf nuwebdoc.pdf README $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple literate programming tool";
+    homepage = http://nuweb.sourceforge.net;
+    license = licenses.free;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+# TODO: nuweb.el Emacs integration