From 22374baf0f1a001dcbf2342a9f56cb12dd4a091d Mon Sep 17 00:00:00 2001 From: Siep Kroonenberg Date: Fri, 27 Jun 2008 21:13:57 +0000 Subject: Rename install-mini to install-w32client git-svn-id: svn://tug.org/texlive/trunk@9074 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/doc/install-w32client | 166 +++++++++++++++++++++++++++++++++ Master/tlpkg/doc/install-w32client.bat | 28 ++++++ 2 files changed, 194 insertions(+) create mode 100755 Master/tlpkg/doc/install-w32client create mode 100755 Master/tlpkg/doc/install-w32client.bat (limited to 'Master') diff --git a/Master/tlpkg/doc/install-w32client b/Master/tlpkg/doc/install-w32client new file mode 100755 index 00000000000..396da99be12 --- /dev/null +++ b/Master/tlpkg/doc/install-w32client @@ -0,0 +1,166 @@ +#!/usr/bin/env perl + +# copy this file and install-w32client.bat to the same directory +# as texmf, texmf-dist etc. + +# sample mini-installer to give Windows systems access to an +# existing TeXLive installation + +# it assumes a standard directory layout, which avoids hard-coded paths. +# if this is not the case, adjustments may be necessary. + +$^W = 1; + +use TeXLive::TLUtils qw(mkdirhier conv_to_win_path); +#use Cwd 'abs_path'; +use TeXLive::TLWinGoo qw(non_admin add_texbindir_to_path setenv_reg + init_unshortbat add_desktop_shortcut add_menu_shortcut + register_extension register_file_type + update_assocs broadcast_env + create_uninstaller); +use strict; + +# the code below assumes that this script is in $texdir, +# the directory above texmf, texmf-dist etc. + +my $texdir=$0; +$texdir=~s!\\!/!g; +$texdir=~s!(.*)/.*$!$1!; + +# private runtime-generated files +$::texlive_release = '2008'; +my $texdirw = $ENV{'USERPROFILE'}.'/.texlive'.$::texlive_release; +$texdirw=~s!\\!/!g; +my $private_var = $texdirw.'/texmf-var'; +my $private_var_bsl = $private_var; +$private_var_bsl =~ s!/!\\!g; + +# make only per-user modifications +non_admin(); + +# general + +add_texbindir_to_path($texdir.'/bin/win32'); +broadcast_env(); + +my $mainmenu = "TeX Live 2008"; +my $texbindir_bsl = $texdir.'/bin/win32'; +$texbindir_bsl =~ s!/!\\!g; + +mkdirhier("$texdirw/tlpkg/installer"); +create_uninstaller($texdir, $texdirw, $private_var, $texdirw.'/texmf-config'); +init_unshortbat($texdirw); + +# if the path can't be fixed globally add command prompt +# with texbindir prepended to path + +if (uc(TeXLive::TLWinGoo::win_which_dir('tex.exe')) ne + uc($texdir.'/bin/win32') or + uc(TeXLive::TLWinGoo::win_which_dir('pdftex.exe')) ne + uc($texdir.'/bin/win32') or + uc(TeXLive::TLWinGoo::win_which_dir('luatex.exe')) ne + uc($texdir.'/bin/win32')) { + add_menu_shortcut( + $mainmenu, + 'TeX Live Prompt', + '', + $ENV{'COMSPEC'}, + "/k \"path $texbindir_bsl;%path%\"", + '', + ); +} + +# texlive manual + +add_menu_shortcut( + $mainmenu, + 'TeX Live Manual (en)', + '', # default pdf icon + $texdir.'/texmf-doc/doc/english/texlive-en/live.pdf', + '', + '', +); + +# texdoctk documentation browser + +if (-e $texdir.'/bin/win32/texdoctk.bat') { + add_menu_shortcut( + $mainmenu, + 'TeXdoc GUI', + '', # icon + $texdir.'/bin/win32/texdoctk.bat', + '', # arguments + 'batgui', # any non-null value to hide command-prompt + ) +} + +# psview + +add_desktop_shortcut( + $texdirw, + 'PS_View', + $texdir.'/tlpkg/tlpsv/psv.exe', # icon, not prog! + $texdir.'/bin/win32/psv.bat', + '', # no args + 'batgui', # any non-null value to hide command-prompt +); +add_menu_shortcut( + $mainmenu, + 'PS_View', + $texdir.'/tlpkg/tlpsv/psv.exe', # icon, not prog! + $texdir.'/bin/win32/psv.bat', + '', # no args + 'batgui', # any non-null value to hide command-prompt +); +register_extension(".ps", "PostScript"); +register_extension(".eps", "PostScript"); +register_file_type("PostScript", + '"'.$texdir.'/tlpkg/tlpsv/gswxlua.exe" -g '. + '"'.$texdir.'/tlpkg/tlgs/bin/gsdll32.dll" -l '. + '"'.$texdir.'/tlpkg/tlpsv/psv.wx.lua" -p '. + '"'.$texdir.'/tlpkg/tlpsv/psv_view.ps" -sINPUT="%1"'); +update_assocs(); + +# xetex + +if (-e $texdir.'/bin/win32/xetex.exe') { + my $xetexmfcnf = $private_var.'/web2c'; + my $texmfcnf = $xetexmfcnf.';'.$texdir.'/texmf/web2c'; + setenv_reg('TEXMFCNF', $texmfcnf); + broadcast_env(); + mkdirhier($private_var."/fonts"); + system("xcopy", "/e", "/i", "/q", "/y", "\"$texbindir_bsl\\conf\"", + "\"$private_var_bsl\\fonts\\conf\""); + system("xcopy", "/e", "/i", "/q", "/y", "\"$texbindir_bsl\\cache\"", + "\"$private_var_bsl\\fonts\\cache\""); + if (open(FONTSCONF, "<$texdir/bin/win32/conf/fonts.conf")) { + my @lines = ; + close(FONTSCONF); + if (open(FONTSCONF, ">$private_var/fonts/conf/fonts.conf")) { + my $winfontdir; + $winfontdir = $ENV{'SystemRoot'}.'/fonts'; + $winfontdir =~ s!\\!/!g; + foreach (@lines) { + $_ =~ s!c:/Program Files/texlive/2008!$texdir!; + $_ =~ s!c:/windows/fonts!$winfontdir!; + print FONTSCONF; + } + close(FONTSCONF); + } else { + warn("Cannot open $private_var/fonts/conf/fonts.conf for writing\n"); + } + } else { + warn ("Cannot open $texdir/bin/win32/conf/fonts.conf\n"); + } + mkdirhier($xetexmfcnf); + if (open(TMF, ">$xetexmfcnf/texmf.cnf")) { + print TMF "FONTCONFIG_PATH=\$TEXMFVAR/fonts/conf\n"; + print TMF "FC_CACHEDIR=\$TEXMFVAR/fonts/cache\n"; + close TMF; + } else { + warn("Cannot open $xetexmfcnf/texmf.cnf for writing\n"); + } + $ENV{'TEXMFCNF'} = $texmfcnf; + $ENV{'PATH'} = $texbindir_bsl.';'.$ENV{'PATH'}; + system("\"$texbindir_bsl\\fc-cache.exe\"", "-v", "-r"); +} diff --git a/Master/tlpkg/doc/install-w32client.bat b/Master/tlpkg/doc/install-w32client.bat new file mode 100755 index 00000000000..0d22ada6688 --- /dev/null +++ b/Master/tlpkg/doc/install-w32client.bat @@ -0,0 +1,28 @@ +@echo off + +rem copy this file and install-w32client to the same directory +rem as texmf, texmf-dist etc. + +rem TeX Live Root; ends with backslash +rem This may also work with UNC names + +set texdir=%~dp0 +set tldrive=%~d0 + +%tldrive% +cd %texdir% + +rem use provided Perl + +set PERL5SAVE=%PERL5LIB% +set PERL5LIB=%texdir%tlpkg\tlperl\lib;%texdir%tlpkg +"%texdir%tlpkg\tlperl\bin\perl" "%~dpn0" %* +rem pause Done + +rem cleanup in case of start from command-line + +set PERL5LIB=%PERL5SAVE% +set PERL5SAVE= +set tldrive= +set texdir= +pause \ No newline at end of file -- cgit v1.2.3