From 4f69ba13b48d4c5143e6914991c448b8c36147b9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Feb 2011 00:34:30 +0000 Subject: sources for new tlperl, from Siep git-svn-id: svn://tug.org/texlive/trunk@21478 c570f23f-e606-0410-a88d-b1316a301751 --- Master/source/tlperl/Config.pm.diff.gz | Bin 0 -> 528 bytes Master/source/tlperl/Config_heavy.pl.diff.gz | Bin 0 -> 2591 bytes Master/source/tlperl/Digest-SHA1-2.13.tar.gz | Bin 0 -> 39078 bytes Master/source/tlperl/File-Which-1.09.tar.gz | Bin 0 -> 15637 bytes Master/source/tlperl/Tk-804.029.tar.gz | Bin 0 -> 6924235 bytes Master/source/tlperl/Win32-API-0.59.tar.gz | Bin 0 -> 300662 bytes Master/source/tlperl/Win32-Shortcut-0.07.tar.gz | Bin 0 -> 19191 bytes Master/source/tlperl/Win32-TieRegistry-0.26.tar.gz | Bin 0 -> 67609 bytes Master/source/tlperl/Win32API-Registry-0.32.tar.gz | Bin 0 -> 45857 bytes Master/source/tlperl/perl-5.12.3.tar.bz2 | Bin 0 -> 12041247 bytes Master/source/tlperl/tlperl.README | 137 +++++++++++++++++++++ 11 files changed, 137 insertions(+) create mode 100644 Master/source/tlperl/Config.pm.diff.gz create mode 100644 Master/source/tlperl/Config_heavy.pl.diff.gz create mode 100644 Master/source/tlperl/Digest-SHA1-2.13.tar.gz create mode 100644 Master/source/tlperl/File-Which-1.09.tar.gz create mode 100644 Master/source/tlperl/Tk-804.029.tar.gz create mode 100644 Master/source/tlperl/Win32-API-0.59.tar.gz create mode 100644 Master/source/tlperl/Win32-Shortcut-0.07.tar.gz create mode 100644 Master/source/tlperl/Win32-TieRegistry-0.26.tar.gz create mode 100644 Master/source/tlperl/Win32API-Registry-0.32.tar.gz create mode 100644 Master/source/tlperl/perl-5.12.3.tar.bz2 create mode 100644 Master/source/tlperl/tlperl.README (limited to 'Master/source/tlperl') diff --git a/Master/source/tlperl/Config.pm.diff.gz b/Master/source/tlperl/Config.pm.diff.gz new file mode 100644 index 00000000000..72525be040f Binary files /dev/null and b/Master/source/tlperl/Config.pm.diff.gz differ diff --git a/Master/source/tlperl/Config_heavy.pl.diff.gz b/Master/source/tlperl/Config_heavy.pl.diff.gz new file mode 100644 index 00000000000..c9497e91d57 Binary files /dev/null and b/Master/source/tlperl/Config_heavy.pl.diff.gz differ diff --git a/Master/source/tlperl/Digest-SHA1-2.13.tar.gz b/Master/source/tlperl/Digest-SHA1-2.13.tar.gz new file mode 100644 index 00000000000..480605e0947 Binary files /dev/null and b/Master/source/tlperl/Digest-SHA1-2.13.tar.gz differ diff --git a/Master/source/tlperl/File-Which-1.09.tar.gz b/Master/source/tlperl/File-Which-1.09.tar.gz new file mode 100644 index 00000000000..13afdd04db4 Binary files /dev/null and b/Master/source/tlperl/File-Which-1.09.tar.gz differ diff --git a/Master/source/tlperl/Tk-804.029.tar.gz b/Master/source/tlperl/Tk-804.029.tar.gz new file mode 100644 index 00000000000..52fc67cceb5 Binary files /dev/null and b/Master/source/tlperl/Tk-804.029.tar.gz differ diff --git a/Master/source/tlperl/Win32-API-0.59.tar.gz b/Master/source/tlperl/Win32-API-0.59.tar.gz new file mode 100644 index 00000000000..7057fefeba8 Binary files /dev/null and b/Master/source/tlperl/Win32-API-0.59.tar.gz differ diff --git a/Master/source/tlperl/Win32-Shortcut-0.07.tar.gz b/Master/source/tlperl/Win32-Shortcut-0.07.tar.gz new file mode 100644 index 00000000000..91ae07c7352 Binary files /dev/null and b/Master/source/tlperl/Win32-Shortcut-0.07.tar.gz differ diff --git a/Master/source/tlperl/Win32-TieRegistry-0.26.tar.gz b/Master/source/tlperl/Win32-TieRegistry-0.26.tar.gz new file mode 100644 index 00000000000..bbd0ab95111 Binary files /dev/null and b/Master/source/tlperl/Win32-TieRegistry-0.26.tar.gz differ diff --git a/Master/source/tlperl/Win32API-Registry-0.32.tar.gz b/Master/source/tlperl/Win32API-Registry-0.32.tar.gz new file mode 100644 index 00000000000..30cb2cb09b2 Binary files /dev/null and b/Master/source/tlperl/Win32API-Registry-0.32.tar.gz differ diff --git a/Master/source/tlperl/perl-5.12.3.tar.bz2 b/Master/source/tlperl/perl-5.12.3.tar.bz2 new file mode 100644 index 00000000000..4d99a40d9f3 Binary files /dev/null and b/Master/source/tlperl/perl-5.12.3.tar.bz2 differ diff --git a/Master/source/tlperl/tlperl.README b/Master/source/tlperl/tlperl.README new file mode 100644 index 00000000000..2fb60a0fc68 --- /dev/null +++ b/Master/source/tlperl/tlperl.README @@ -0,0 +1,137 @@ +NOTES ON BUILDING TLPERL 2011 + +BUILD PLATFORM + +32-bits Windows XP Professional SP3 running under VirtualBox on +Linux. The user is no administrator. + +GETTING THE PERL SOURCE + +I downloaded from CPAN: the latest stable Perl source 5.12.3 + +COLLECTING A NATIVE BUILD ENVIRONMENT + +I found in the root of the distribution a file README.win32 +containing compilation instructions, which listed both the older +mingw32 from mingw.org and the newer mingw64 from mingw-w64.sf.net +as possible compilers. + +I downloaded and ran the automated downloader/installer +x86-mingw32-build-1.0-sh.tar.bz2. I selected gcc, g++ and, probably +unnecessarily, the MinGW developer toolkit. I skipped Fortran, Ada +and Objective C. I added the mingw32 bin subdirectory to the +searchpath. + +Based on the same README.win32 from the Perl source, I downloaded +dmake-4.12-2009-SHAY.zip from +http://search.cpan.org/dist/dmake. Following the file readme.txt in +the root of this archive, I created a directory dmake somewhere and +copied to it the file dmake.exe and the entire startup +subdirectory. I also added the dmake directory to the searchpath. + +BUILDING + +I went to the win32 subdirectory of the Perl source. In makefile.mk I +edited CCHOME to point to the root of my mingw installation: + + CCHOME *= X:\mingw32 + +and uncommented the lines + + GCC_4XX *= define + GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_dw2-1.dll + +Then I typed + + dmake + +and + + dmake install + +These actions did not change the searchpath. If dmake tried to do so +and failed then I missed it. No other symptoms of system integration +either. + +However, there were hard-coded paths in lib/Config.pm and +lib/Config_heavy.pl, which were likely to cause problems. + +I edited lib/Config.pm and lib/Config_heavy.pl to compute Perl's +location dynamically. To both I add the code + + my $rootdir = __FILE__; + $rootdir =~ s![\\/][^\\/]*[\\/][^\\/]*$!!; + $rootdir =~ s!/!\\!g; + +and used this in Config.pm for the definition of %Config, taking care +to replace single-quoted strings with double-quoted ones and +escaping backslashes where necessary. + +Config_heavy.pl got a similar treatment: in single-quoted +here-documents with markers !END! (very long) and EOVIRTUAL I +replaced the hard-coded Perl paths. Because the $rootdir variable +needed to be interpolated, I shifted from single- to double-quoting, +which required escaping backslashes, existing dollar characters +(e.g. in 'Id=$Id') and an `@'. No need to escape single- or double +quotes. + +I left the hard-coded paths for the mingw compiler alone. + +The original versions are still present under the names Config.pmold +and Config_heavy.plold. Diffs are here. + +To verify relocatability, I moved the tree elsewhere and added the +bin directory of the new location to my searchpath. + +Next some Windows-specific modules and Tk. I downloaded from CPAN: + +Win32-API-0.59.tar.gz +Win32-Shortcut-0.07.tar.gz +Win32API-Registry-0.32.tar.gz +Win32-TieRegistry-0.26.tar.gz +Tk-804.029.tar.gz + +and also, because of use- and require statements in TeX Live +third-party scripts: + +Digest-SHA1-2.13.tar.gz +File-Which-1.09.tar.gz + +They were all configured, compiled and installed with + + perl Makefile.PL + dmake + dmake install + +MODIFICATIONS FOR TEXLIVE + +- lib/Config.pm and lib/Config_heavy.pl now compute the location of + tlperl dynamically; see above. +- The html directory has been removed. +- The site/lib subdirectory is folded into lib. +- The bin subdirectory now only contains exe- and dll files. + Batch files and Perl scripts have been removed. +- Copied from mingw/bin to tlperl/bin: + libgcc_s_dw2_1.dll and libstdc++-6.dll. + +TESTING WITH TEXLIVE + +For testing the new Perl with the installer, I did an advanced +installation from the Master repository with the old tlperl replaced +with the new one. The Master repository is on a network share. I +selected scheme basic without source/doc but with format +generation. A lot of complaints about missing Perl files (to be +expected) but otherwise uneventful. + +For testing the new Perl with the installed TeX Live, I copied it +into the fresh installation. + +tlmgr appeared to work as intended, both from the command-line and in +gui mode, except that quitting took up to 20 seconds, but this does +not seem to be specific to this Perl. + +I also successfully ran epstopdf, updmap-sys and the uninstaller. + +Siep Kroonenberg + +Last revision: February 19 2011 -- cgit v1.2.3