diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/literate-programming')
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 |