summary refs log tree commit diff
path: root/pkgs/misc/tex
diff options
context:
space:
mode:
authorAndres Löh <mail@andres-loeh.de>2006-01-27 20:51:41 +0000
committerAndres Löh <mail@andres-loeh.de>2006-01-27 20:51:41 +0000
commit719217d77a78de67089b4856aaa8dc00fc7789fb (patch)
tree509921fdf8dd30cc99d0b8d836e3483f0399f4f3 /pkgs/misc/tex
parent8d4e61d096e9c02e652b86f76c986504cd3c4ae3 (diff)
downloadnixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar.gz
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar.bz2
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar.lz
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar.xz
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.tar.zst
nixpkgs-719217d77a78de67089b4856aaa8dc00fc7789fb.zip
* modified tetex to support extra .sty's from other packages
* added lazylist and polytable (both tetex packages)
* added lhs2tex ebuild, depending on the two above

svn path=/nixpkgs/trunk/; revision=4609
Diffstat (limited to 'pkgs/misc/tex')
-rw-r--r--pkgs/misc/tex/lazylist/builder.sh18
-rw-r--r--pkgs/misc/tex/lazylist/default.nix15
-rw-r--r--pkgs/misc/tex/polytable/builder.sh21
-rw-r--r--pkgs/misc/tex/polytable/default.nix17
-rw-r--r--pkgs/misc/tex/tetex/builder.sh6
-rw-r--r--pkgs/misc/tex/tetex/default.nix4
-rw-r--r--pkgs/misc/tex/tetex/environment.patch35
-rw-r--r--pkgs/misc/tex/tetex/setup-hook.sh7
8 files changed, 123 insertions, 0 deletions
diff --git a/pkgs/misc/tex/lazylist/builder.sh b/pkgs/misc/tex/lazylist/builder.sh
new file mode 100644
index 00000000000..f355a55a99f
--- /dev/null
+++ b/pkgs/misc/tex/lazylist/builder.sh
@@ -0,0 +1,18 @@
+source $stdenv/setup
+
+phases="installPhase"
+dontMakeInstall="yes"
+prefix="$out"
+
+preInstall() {
+
+  ensureDir "$out/share/texmf-nix/tex/latex/lazylist"
+  cp lazylist.sty "$out/share/texmf-nix/tex/latex/lazylist"
+
+}
+
+preInstall=preInstall
+
+genericBuild
+
+
diff --git a/pkgs/misc/tex/lazylist/default.nix b/pkgs/misc/tex/lazylist/default.nix
new file mode 100644
index 00000000000..19637793b00
--- /dev/null
+++ b/pkgs/misc/tex/lazylist/default.nix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, tetex}:
+
+stdenv.mkDerivation {
+  name = "lazylist-1.0a";
+  builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = http://www.iai.uni-bonn.de/~loeh/lhs2tex/lazylist-1.0a.tar.bz2;
+    md5 = "8ef357df5845bd8d6075fca6e1f214ab";
+  };
+
+  buildInputs = [tetex];
+
+  inherit tetex;
+}
diff --git a/pkgs/misc/tex/polytable/builder.sh b/pkgs/misc/tex/polytable/builder.sh
new file mode 100644
index 00000000000..fa1143edcba
--- /dev/null
+++ b/pkgs/misc/tex/polytable/builder.sh
@@ -0,0 +1,21 @@
+source $stdenv/setup
+
+phases="installPhase"
+dontMakeInstall="yes"
+prefix="$out"
+
+preInstall() {
+
+  ensureDir "$out/share/texmf-nix/tex/latex/polytable"
+  ensureDir "$out/share/texmf-nix/doc/latex/polytable"
+  latex polytable.ins
+  pdflatex polytable.dtx
+  pdflatex polytable.dtx
+  cp polytable.sty "$out/share/texmf-nix/tex/latex/polytable"
+  cp polytable.pdf "$out/share/texmf-nix/doc/latex/polytable"
+
+}
+
+preInstall=preInstall
+
+genericBuild
diff --git a/pkgs/misc/tex/polytable/default.nix b/pkgs/misc/tex/polytable/default.nix
new file mode 100644
index 00000000000..639656342e2
--- /dev/null
+++ b/pkgs/misc/tex/polytable/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, tetex, lazylist}:
+
+assert tetex == lazylist.tetex;
+
+stdenv.mkDerivation {
+  name = "polytable-0.8.2";
+  builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = http://www.iai.uni-bonn.de/~loeh/polytable-0.8.2.tar.gz;
+    md5 = "c59edf035ae6e19b64b1ae920fea28e7";
+  };
+
+  propagatedBuildInputs = [tetex lazylist];
+
+  inherit tetex;
+}
diff --git a/pkgs/misc/tex/tetex/builder.sh b/pkgs/misc/tex/tetex/builder.sh
index 7f3dfa3d358..f3fe32fbb70 100644
--- a/pkgs/misc/tex/tetex/builder.sh
+++ b/pkgs/misc/tex/tetex/builder.sh
@@ -17,4 +17,10 @@ configureFlags="\
   --with-system-ncurses \
   "
 
+postInstall() {
+    ensureDir "$out/nix-support"
+    cp $setupHook $out/nix-support/setup-hook
+}
+postInstall=postInstall
+
 genericBuild
diff --git a/pkgs/misc/tex/tetex/default.nix b/pkgs/misc/tex/tetex/default.nix
index c24566a96bb..4e786b1a978 100644
--- a/pkgs/misc/tex/tetex/default.nix
+++ b/pkgs/misc/tex/tetex/default.nix
@@ -15,4 +15,8 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [flex bison zlib libpng ncurses ed];
+
+  patches = [./environment.patch];
+
+  setupHook = ./setup-hook.sh;
 }
diff --git a/pkgs/misc/tex/tetex/environment.patch b/pkgs/misc/tex/tetex/environment.patch
new file mode 100644
index 00000000000..6e652849b77
--- /dev/null
+++ b/pkgs/misc/tex/tetex/environment.patch
@@ -0,0 +1,35 @@
+diff -rc --exclude=texmf.in tetex-src-3.0.orig/texk/kpathsea/texmf.in-teTeX tetex-src-3.0/texk/kpathsea/texmf.in-teTeX
+*** tetex-src-3.0.orig/texk/kpathsea/texmf.in-teTeX	2006-01-27 17:33:11.000000000 +0100
+--- tetex-src-3.0/texk/kpathsea/texmf.in-teTeX	2006-01-27 17:38:35.000000000 +0100
+***************
+*** 104,109 ****
+--- 104,115 ----
+  %   TEXMFCONFIG = @texmf@-config
+  TEXMFCONFIG = $HOME/.texmf-config
+  
++ % TEXMFNIX is supposed to be unset. It's used by the Nix
++ % system to add trees during the build of nix-expressions.
++ 
++ % TEXMFNIXHOME, for packages in the user environment.
++ TEXMFNIXHOME = $HOME/.nix-profile/share/texmf-nix
++ 
+  % Now, list all the texmf trees. If you have multiple trees you can
+  % use shell brace notation, like this:
+  %   TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
+***************
+*** 111,117 ****
+  %
+  % For texconfig to work properly, TEXMFCONGIG and TEXMFVAR should be named
+  % explicitly and before all other trees.
+! TEXMF = {!!$TEXMFCONFIG,!!$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+  
+  % The system trees.  These are the trees that are shared by all the users.
+  SYSTEXMF = $TEXMFLOCAL;$TEXMFMAIN;$TEXMFDIST
+--- 117,123 ----
+  %
+  % For texconfig to work properly, TEXMFCONGIG and TEXMFVAR should be named
+  % explicitly and before all other trees.
+! TEXMF = {!!$TEXMFCONFIG,!!$TEXMFVAR,$TEXMFNIX,$TEXMFHOME,$TEXMFNIXHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+  
+  % The system trees.  These are the trees that are shared by all the users.
+  SYSTEXMF = $TEXMFLOCAL;$TEXMFMAIN;$TEXMFDIST
diff --git a/pkgs/misc/tex/tetex/setup-hook.sh b/pkgs/misc/tex/tetex/setup-hook.sh
new file mode 100644
index 00000000000..435b6948e29
--- /dev/null
+++ b/pkgs/misc/tex/tetex/setup-hook.sh
@@ -0,0 +1,7 @@
+addTeXMFPath () {
+    if test -d "$1/share/texmf-nix"; then
+        export TEXMFNIX="${TEXMFNIX}${TEXMFNIX:+:}$1/share/texmf-nix"
+    fi
+}
+
+envHooks=(${envHooks[@]} addTeXMFPath)