about summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2008-03-20 15:40:26 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-03-20 15:40:26 +0000
commit5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13 (patch)
tree0598ae123d84f79a1cbef154d1dd38774c71e4ff /pkgs/misc
parent95f0e6a1a75dabb2131aae1db0a4ee30c802b2ca (diff)
downloadnixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar.gz
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar.bz2
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar.lz
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar.xz
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.tar.zst
nixlib-5f2bcdbdb6bb8bf39ccd749a0cf0e5c697a04e13.zip
Some refactorings in builderDefs. Psi is a simple showcase. TeXLive now works as far as English is concerned, and it is also updated up to newest builderDefs.
svn path=/nixpkgs/trunk/; revision=11235
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/tex/texlive/default.nix146
1 files changed, 76 insertions, 70 deletions
diff --git a/pkgs/misc/tex/texlive/default.nix b/pkgs/misc/tex/texlive/default.nix
index 9d984d09eec1..bc2443acbee3 100644
--- a/pkgs/misc/tex/texlive/default.nix
+++ b/pkgs/misc/tex/texlive/default.nix
@@ -1,73 +1,79 @@
-args : with args; with builderDefs {src="";} null;
-	let localDefs = builderDefs (rec {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = debian://pool/main/t/texlive-bin/texlive-bin_2007.orig.tar.gz;
-			sha256 = "1fz5lqbigdrdg0pmaynissd7wn59p2yj9f203nl93dcpffrapxjv";
-		};
-		texmfSrc = 
-		fetchurl {
-			url = debian://pool/main/t/texlive-base/texlive-base_2007.orig.tar.gz;
-			sha256 = "16a4dyliidk43qj0m4gpsl9ln7nqsdcdx1lkbk4wrm03xpx87zvh";
-		};
+args : with args; 
+rec {
+  src = fetchurl { 
+    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2007.orig.tar.gz;
+    sha256 = "1fz5lqbigdrdg0pmaynissd7wn59p2yj9f203nl93dcpffrapxjv";
+  };
+  
+  texmfSrc = fetchurl { 
+    url = mirror://debian/pool/main/t/texlive-base/texlive-base_2007.orig.tar.gz;
+    sha256 = "16a4dyliidk43qj0m4gpsl9ln7nqsdcdx1lkbk4wrm03xpx87zvh";
+  };
 
-		setupHook = ./setup-hook.sh;
+  langTexmfSrc = fetchurl {
+    url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2007.orig.tar.gz;
+    sha256 = "0cmd9ryd57rzzg7g2gm3qn4ijakkacy810h5zncqd39p3i1yn6nx";
+  };
+  
+  setupHook = ./setup-hook.sh;
 
-		doInstall = FullDepEntry (''
-			ensureDir $out
-			ensureDir $out/nix-support 
-			cp ${setupHook} $out/nix-support/setup-hook.sh
-			ensureDir $out/share
-			tar xf ${texmfSrc} -C $out/share --strip-components=1
-			cd build/source
-			sed -e s@/usr/bin/@@g -i $(grep /usr/bin/ -rl . )
-			sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
-			sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . ) 
-			NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
-			echo NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/unicode"
-			NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
-			./configure --prefix=$out \
-				--with-x11 \
-				--with-system-zlib \
-				--with-system-freetype2 \
-				--with-system-t1lib \
-				--with-system-pnglib \
-				--with-system-gd \
-				--with-system-icu \
-				--with-system-ncurses \
-				--enable-ipc \
-				--with-mktexfmt
-			make 
-			make install
-			mv $out/bin $out/libexec
-			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
-			texmf_var=$(mktemp -d /var/tmp/texmf-varXXXXXXXX)
-			mv $out/share/texmf-var/* $texmf_var/ 			
-			chmod -R a+rwX $texmf_var
-			ln -s $texmf_var $out/share/texmf-var
-			ln -s $out/share/texmf $out/share/texmf-config
-		'') ["minInit" "defEnsureDir" "doUnpack" "addInputs"];
-		buildInputs = [zlib bzip2 ncurses libpng ed flex bison libX11 xproto 
-			freetype t1lib gd libXaw icu ghostscript 
-			libXt libXpm libXmu libXext xextproto perl libSM 
-			libICE];
-		configureFlags = [];
-	}) args null; /* null is a terminator for sumArgs */
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "TeXLive-core-2007";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			[doInstall doForceShare doPropagate]);
-	meta = {
-		description = "
-		TeX distribution.
-";
-		inherit src;
-		srcs = [texmfSrc];
-	};
+  doPreConfigure = FullDepEntry (''
+    ensureDir $out
+    ensureDir $out/nix-support 
+    cp ${setupHook} $out/nix-support/setup-hook.sh
+    ensureDir $out/share
+    tar xf ${texmfSrc} -C $out/share --strip-components=1
+    tar xf ${langTexmfSrc} -C $out/share --strip-components=1
+    cp -r texmf* $out/share
+    cd build/source
+    sed -e s@/usr/bin/@@g -i $(grep /usr/bin/ -rl . )
+    sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
+    sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . ) 
+    sed -e 's/.*pyhyph.*/=&/' -i $out/share/texmf-config/tex/generic/config/language.dat
+
+    updmap --syncwithtrees
+
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
+  '') ["minInit" "doUnpack" "addInputs" "defEnsureDir"];
+
+  doPostInstall = FullDepEntry(''
+    mv $out/bin $out/libexec
+    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
+    texmf_var=$(mktemp -d /var/tmp/texmf-varXXXXXXXX)
+    mv $out/share/texmf-var/* $texmf_var/ 
+    chmod -R a+rwX $texmf_var
+    rm -r $out/share/texmf-var
+    rm -r /var/tmp/texmf-var
+    ln -sfT $texmf_var $out/share/texmf-var
+    ln -sfT $texmf_var /var/tmp/texmf-var
+    ln -s $out/share/texmf $out/share/texmf-config
+    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
+ '') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"];
+
+  buildInputs = [
+    zlib bzip2 ncurses libpng flex bison libX11 libICE
+    xproto freetype t1lib gd libXaw icu ghostscript ed 
+    libXt libXpm libXmu libXext xextproto perl libSM 
+  ];
+
+  configureFlags = [ "--with-x11" "--with-system-zlib" 
+    "--with-system-freetype2" "--with-system-t1lib" 
+    "--with-system-pnglib" "--with-system-gd" 
+    "--with-system-icu" "--with-system-ncurses" 
+    "--enable-ipc" "--with-mktexfmt"
+  ];
+
+  phaseNames = ["doPreConfigure" "doConfigure" 
+    "doMakeInstall" "doPostInstall"];
+
+  name = "texlive-core-2007";
+  meta = {
+    description = "A TeX distribution";
+    srcs = [texmfSrc langTexmfSrc];
+  };
 }