summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2008-06-27 21:13:57 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2008-06-27 21:13:57 +0000
commit22374baf0f1a001dcbf2342a9f56cb12dd4a091d (patch)
tree2d242b1bc9991a56f96db229ea56a7286c501fc1
parentfdfe37eebdf10e7edcfe402dc9bc61f7b3e0074b (diff)
Rename install-mini to install-w32client
git-svn-id: svn://tug.org/texlive/trunk@9074 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/tlpkg/doc/install-w32client166
-rwxr-xr-xMaster/tlpkg/doc/install-w32client.bat28
2 files changed, 194 insertions, 0 deletions
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 = <FONTSCONF>;
+ 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