summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2008-03-22 13:04:04 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-03-22 13:04:04 +0000
commitb7ee7d199908d97ecb4c9fabd41c11b39370c6c3 (patch)
tree6b1c23a6e09ef6548ac34675604c2531220d0ed2 /pkgs/misc
parent3bcb0f794f1178180938aa6cd19d35be67c0ed4f (diff)
downloadnixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar.gz
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar.bz2
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar.lz
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar.xz
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.tar.zst
nixpkgs-b7ee7d199908d97ecb4c9fabd41c11b39370c6c3.zip
TeXLive. Now more configurable, and more options included. Beamer class for conference slides added. Before asking questions, look in configurations/misc/raskin.nix or in all-packages.nix .
svn path=/nixpkgs/trunk/; revision=11257
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/tex/texlive/aggregate.nix58
-rw-r--r--pkgs/misc/tex/texlive/beamer.nix20
-rw-r--r--pkgs/misc/tex/texlive/cm-super.nix27
-rw-r--r--pkgs/misc/tex/texlive/default.nix21
-rw-r--r--pkgs/misc/tex/texlive/extra.nix19
-rw-r--r--pkgs/misc/tex/texlive/pgf.nix20
-rw-r--r--pkgs/misc/tex/texlive/xcolor.nix34
7 files changed, 180 insertions, 19 deletions
diff --git a/pkgs/misc/tex/texlive/aggregate.nix b/pkgs/misc/tex/texlive/aggregate.nix
new file mode 100644
index 00000000000..5a6df800451
--- /dev/null
+++ b/pkgs/misc/tex/texlive/aggregate.nix
@@ -0,0 +1,58 @@
+args : with args;
+rec {
+  phaseNames = ["doAggregate"];
+  name = "TeXLive-linkdir";
+
+  buildInputs = lib.closePropagation paths;
+
+  doAggregate = FullDepEntry (''
+
+    for currentPath in ${lib.concatStringsSep " " buildInputs}; do
+        echo Symlinking "$currentPath"
+        find $currentPath/share ! -type d | while read; do
+            REPLY="''${REPLY#$currentPath}"
+	    ensureDir $out/"$(dirname "$REPLY")"
+	    ln -fs $currentPath/"$REPLY" $out/"$REPLY"
+	    echo
+        done | while read; do head -n 99 >/dev/null; echo -n .; done
+	echo
+
+	cp -Trfp $currentPath/libexec $out/libexec || true
+    done
+
+    rm -r $out/share/texmf-config
+    find $out/share/texmf -type d | while read; do
+      REPLY="''${REPLY#$out/share/texmf}"
+      ensureDir $out/share/texmf-config/"$REPLY"
+    done
+
+    ensureDir $out/bin
+    for i in $out/libexec/*/*; do
+        echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i)
+        chmod a+x $out/bin/$(basename $i)
+    done
+
+    rm $out/share/texmf*/ls-R
+    for i in web2c texconfig fonts/map; do
+        cp -r $out/share/texmf/$i/* $out/share/texmf-config/$i || true
+    done
+
+    TEXMFCONFIG=$out/share/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
+    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
+    TEXMFCONFIG=$out/share/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
+    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
+  '') ["minInit" "defEnsureDir" "addInputs"];
+
+  meta = {
+    description = "TeX distribution directory";
+    longDescription = ''
+      Here all the files from different TeX-related 
+      packages are collected in one directory. Of 
+      course, mktexlsr is called. Later placed 
+      directories take precedence. It is supposed that
+      share and libexec are symlinked, and bin is
+      recreated with wrappers for libexec-located 
+      linked binaries.
+    '';
+  };
+}
diff --git a/pkgs/misc/tex/texlive/beamer.nix b/pkgs/misc/tex/texlive/beamer.nix
new file mode 100644
index 00000000000..ab960a5ca76
--- /dev/null
+++ b/pkgs/misc/tex/texlive/beamer.nix
@@ -0,0 +1,20 @@
+args: with args;
+rec {
+  name = "texlive-beamer-2007";
+  src = fetchurl {
+    url = http://ftp.de.debian.org/debian/pool/main/l/latex-beamer/latex-beamer_3.07.orig.tar.gz;
+    sha256 = "07ldhg5f0hcnhjgzg5g8ailqacn8zhqc8nl2jkxc43c2qxbvswbv";
+  };
+
+  buildInputs = [texLive];
+  propagatedBuildInputs = [texLiveLatexXColor texLivePGF];
+  phaseNames = ["doCopy"];
+  doCopy = FullDepEntry (''
+    ensureDir $out/share/texmf-dist/tex/latex/beamer
+    cp -r * $out/share/texmf-dist/tex/latex/beamer 
+  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
+
+  meta = {
+    description = "Extra components for TeXLive: beamer class";
+  };
+}
diff --git a/pkgs/misc/tex/texlive/cm-super.nix b/pkgs/misc/tex/texlive/cm-super.nix
new file mode 100644
index 00000000000..1844f267225
--- /dev/null
+++ b/pkgs/misc/tex/texlive/cm-super.nix
@@ -0,0 +1,27 @@
+args: with args;
+rec {
+  name = "texlive-cm-super-2007";
+  src = fetchurl {
+    url = ftp://195.178.192.118/debian/pool/main/c/cm-super/cm-super_0.3.3.orig.tar.gz;
+    sha256 = "1lxvnhqds2zi6ssz66r1b7s6p855lab7cgp0hdg247zkacbjxcfg";
+  };
+
+  phaseNames = ["doCopy"];
+  doCopy = FullDepEntry (''
+    ensureDir $out/share/texmf/fonts/enc
+    ensureDir $out/share/texmf/fonts/map
+    ensureDir $out/share/texmf/fonts/type1/public/cm-super
+    cp pfb/*.pfb $out/share/texmf/fonts/type1/public/cm-super
+    ensureDir $out/share/texmf/dvips/cm-super
+    cp dvips/*.{map,enc}  $out/share/texmf/dvips/cm-super
+    cp dvips/*.enc  $out/share/texmf/fonts/enc
+    cp dvips/*.map  $out/share/texmf/fonts/map
+    ensureDir $out/share/texmf/dvipdfm/config
+    cp dvipdfm/*.map  $out/share/texmf/dvipdfm/config
+  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
+  buildInputs = [texLive];
+
+  meta = {
+    description = "Extra components for TeXLive: CM-Super fonts";
+  };
+}
diff --git a/pkgs/misc/tex/texlive/default.nix b/pkgs/misc/tex/texlive/default.nix
index a25910ccac9..d515a452198 100644
--- a/pkgs/misc/tex/texlive/default.nix
+++ b/pkgs/misc/tex/texlive/default.nix
@@ -15,11 +15,6 @@ rec {
     sha256 = "0cmd9ryd57rzzg7g2gm3qn4ijakkacy810h5zncqd39p3i1yn6nx";
   };
 
-  cmSuperSrc = fetchurl {
-    url = ftp://195.178.192.118/debian/pool/main/c/cm-super/cm-super_0.3.3.orig.tar.gz;
-    sha256 = "1lxvnhqds2zi6ssz66r1b7s6p855lab7cgp0hdg247zkacbjxcfg";
-  };
-  
   setupHook = ./setup-hook.sh;
 
   doPreConfigure = FullDepEntry (''
@@ -39,18 +34,6 @@ rec {
     NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
   '') ["minInit" "doUnpack" "addInputs" "defEnsureDir"];
 
-  doInstallCMSuper = FullDepEntry (''
-    tar xf ${cmSuperSrc}
-    ensureDir $out/share/texmf/fonts/type1/public/cm-super
-    cp cm-super-*/pfb/*.pfb $out/share/texmf/fonts/type1/public/cm-super
-    ensureDir $out/share/texmf/dvips/cm-super
-    cp cm-super-*/dvips/*.{map,enc}  $out/share/texmf/dvips/cm-super
-    cp cm-super-*/dvips/*.enc  $out/share/texmf/fonts/enc
-    cp cm-super-*/dvips/*.map  $out/share/texmf/fonts/map
-    ensureDir $out/share/texmf/dvipdfm/config
-    cp cm-super-*/dvipdfm/*.map  $out/share/texmf/dvipdfm/config
-  '') ["minInit" "defEnsureDir" "doPreConfigure"];
-
   doPostInstall = FullDepEntry(''
     mv $out/bin $out/libexec
     ensureDir $out/bin
@@ -90,11 +73,11 @@ rec {
   ];
 
   phaseNames = ["doPreConfigure" "doConfigure" 
-    "doInstallCMSuper" "doMakeInstall" "doPostInstall"];
+    "doMakeInstall" "doPostInstall"];
 
   name = "texlive-core-2007";
   meta = {
     description = "A TeX distribution";
-    srcs = [texmfSrc langTexmfSrc cmSuperSrc];
+    srcs = [texmfSrc langTexmfSrc];
   };
 }
diff --git a/pkgs/misc/tex/texlive/extra.nix b/pkgs/misc/tex/texlive/extra.nix
new file mode 100644
index 00000000000..d67c02e7d92
--- /dev/null
+++ b/pkgs/misc/tex/texlive/extra.nix
@@ -0,0 +1,19 @@
+args: with args;
+rec {
+  name = "texlive-extra-2007";
+  src = fetchurl {
+    url = ftp://ftp.ru.debian.org/debian/pool/main/t/texlive-extra/texlive-extra_2007.dfsg.1.orig.tar.gz;
+    sha256 = "1440495dcsrwhnz1p1prs4rf84ca0v7fjwg7sdw7isnprnpiq7w5";
+  };
+
+  buildInputs = [texLive];
+  phaseNames = ["doCopy"];
+  doCopy = FullDepEntry (''
+    ensureDir $out/share
+    cp -r texmf* $out/share/
+  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
+
+  meta = {
+    description = "Extra components for TeXLive";
+  };
+}
diff --git a/pkgs/misc/tex/texlive/pgf.nix b/pkgs/misc/tex/texlive/pgf.nix
new file mode 100644
index 00000000000..3e7b5fc7fbc
--- /dev/null
+++ b/pkgs/misc/tex/texlive/pgf.nix
@@ -0,0 +1,20 @@
+args: with args;
+rec {
+  name = "texlive-pgf-2007";
+  src = fetchurl {
+    url = http://ftp.de.debian.org/debian/pool/main/p/pgf/pgf_1.18.orig.tar.gz;
+    sha256 = "1fk0m3rqsgdrxp2n6mbhh92819g1133w67lbgk66pqgspbrnk6h2";
+  };
+
+  propagatedBuildInputs = [texLiveLatexXColor texLive];
+
+  phaseNames = ["doCopy"];
+  doCopy = FullDepEntry (''
+    ensureDir $out/share/texmf/tex/generic/pgf
+    cp -r * $out/share/texmf/tex/generic/pgf
+  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
+
+  meta = {
+    description = "Extra components for TeXLive: graphics package";
+  };
+}
diff --git a/pkgs/misc/tex/texlive/xcolor.nix b/pkgs/misc/tex/texlive/xcolor.nix
new file mode 100644
index 00000000000..df9eb70689f
--- /dev/null
+++ b/pkgs/misc/tex/texlive/xcolor.nix
@@ -0,0 +1,34 @@
+args: with args;
+rec {
+  name = "texlive-latex-xcolor-2007";
+  src = fetchurl {
+    url = http://ftp.de.debian.org/debian/pool/main/l/latex-xcolor/latex-xcolor_2.11.orig.tar.gz;
+    sha256 = "0z78xfn5iq5ncg82sd6v2qrxs8p9hs3m4agaz90p4db5dvk2w0mn";
+  };
+
+  buildInputs = [texLive];
+  phaseNames = ["doCopy"];
+  doCopy = FullDepEntry (''
+    export HOME=$PWD
+
+    ensureDir $out/share/texmf/tex/latex/xcolor
+    ensureDir $out/share/texmf/dvips/xcolor
+    latex xcolor.ins 
+    cp *.sty *.def $out/share/texmf/tex/latex/xcolor
+    cp *.pro $out/share/texmf/dvips/xcolor
+
+    latex xcolor.dtx
+    latex xcolor.dtx
+    makeindex -s gind.ist xcolor.idx
+    latex xcolor.dtx
+    latex xcolor.dtx
+
+    rm *.sty *.pro *.ins *.def *.dtx
+    ensureDir $out/share/texmf/doc/latex-xcolor
+    cp *  $out/share/texmf/doc/latex-xcolor
+  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
+
+  meta = {
+    description = "Extra components for TeXLive: LaTeX color support";
+  };
+}