Update perl to v5.26.1 (#3498)
* mingw-w64-perl: Fix packaging failure Fixes issue #3397 If $pkgbase is set, $pkgdir gets defaulted to $pkgdirbase/$pkgbase rather than $pkgdirbase/$pkgname during build(). Not a really bug in makepkg because $pkgdir is only officially supported in package() according to the manpage. * mingw-w64-perl: Rewrite recipe - Don't duplicate patch list. - Remove rsync call; it adds a build dependency and unnecessarily copies data that is soon purged anyway. If one wants to keep a local copy and build with --noextract, use a local development tree instead. - Add SRCURI variable to recipe in case one wants to override the source from which to build, for example a local development tree. - Keep old builds until explicitly removed (i.e. with the -C flag). - Use grep and xargs to find and replace all path-patterns rather than using many individual invocations and hardcoded paths (less maintenance). Also saves a list of the modified files for the install script to pick up. - Add check() to run "make test". - Delete unnecessary files before packaging. - Add profile.d entry to build a PATH that doesn't interfere with MSYS's default perl installation based on built configuration. - Install site and vendor dirs based on built configuration. * mingw-w64-perl: Update to v5.26.1 - Rebased patches onto vanilla perl v5.26.1 source tree - Enable parallel build and tests * mingw-w64-perl: Fix runperl Exclude runperl from 003-replace-batch-scripts-with-bare-perl.patch, as it's only useful if converted to a .bat file (RTFM) (issue #3167). * mingw-w64-perl: Switch to GNU make Reasons: - dmake is no longer maintained and not even recommended by the author. - GNU make is faster. - One less test failure. Changes: - Add changes to GNUmakefile to patchset. - Set mingw32-make as default make instead of dmake. * mingw-w64-perl: Unify relocation - Keep relocation code in one place and avoid hardcoded paths. - Don't replace ':' with '|', see https://tools.ietf.org/html/rfc8089#appendix-E.2.2 * mingw-w64-perl: Rename cpan home Rename cpan home dir (~/.cpan) to .cpan-w32/w64 to avoid clash with msys2 perl installation. To avoid multiple patches, replace the directory name at build() with a suitable value depending on CARCH. * mingw-w64-perl: Add provides packaging data * mingw-w64-perl: Seperate core/site/vendor dirs - Put core, site, and vendor scripts and modules as well as site and vendor binaries in seperate directories. Core binaries still goes in $prefix/bin. - Remove patch hunk that sets libpth to INST_LIB. Seems strange. - Add the maintainer script which was written to configure the directories for binaries, scripts, libraries etc. * mingw-w64-perl: Add manpages to package The Windows makefile(s) by default only builds html documentation. With this patch it builds manual pages as well. * mingw-w64-perl: Package docs seperately - Package manpages and html documentation seperately in perl-doc as they are quite large and many users may not want them. - Generate the install scripts for each package from a template, as they are very similiar, instead of duplicating code.
This commit is contained in:
@@ -1,133 +1,277 @@
|
||||
diff -aur old/win32/config.gc 001/win32/config.gc
|
||||
--- old/win32/config.gc 2014-09-14 08:31:07.000000000 -0300
|
||||
+++ 001/win32/config.gc 2015-01-05 20:37:05.264648400 -0200
|
||||
@@ -23,8 +23,8 @@
|
||||
diff --git old/win32/GNUmakefile 001/win32/GNUmakefile
|
||||
index fa04880..b149168 100644
|
||||
--- old/win32/GNUmakefile
|
||||
+++ 001/win32/GNUmakefile
|
||||
@@ -47,6 +47,7 @@ endif
|
||||
#
|
||||
INST_DRV := c:
|
||||
INST_TOP := $(INST_DRV)\perl
|
||||
+INST_DOC := $(INST_TOP)
|
||||
|
||||
#
|
||||
# Uncomment if you want to build a 32-bit Perl using a 32-bit compiler
|
||||
@@ -63,7 +64,15 @@ INST_TOP := $(INST_DRV)\perl
|
||||
# versioned installation can be obtained by setting INST_TOP above to a
|
||||
# path that includes an arbitrary version string.
|
||||
#
|
||||
-#INST_VER := \5.26.1
|
||||
+INST_VER := \5.26.1
|
||||
+INST_VER_PERL := \perl-5.26.1
|
||||
+
|
||||
+INST_SITE_VER := $(INST_VER)
|
||||
+#INST_VEND_VER := $(INST_VER)
|
||||
+#INST_CORE_VER := $(INST_VER)
|
||||
+INST_SITE_VER_PERL := $(INST_VER_PERL)
|
||||
+#INST_VEND_VER_PERL := $(INST_VER_PERL)
|
||||
+#INST_CORE_VER_PERL := $(INST_VER_PERL)
|
||||
|
||||
#
|
||||
# Comment this out if you DON'T want your perl installation to have
|
||||
@@ -511,12 +520,12 @@ CPANDIR = ..\cpan
|
||||
PODDIR = ..\pod
|
||||
HTMLDIR = .\html
|
||||
|
||||
-INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
|
||||
-INST_BIN = $(INST_SCRIPT)$(INST_ARCH)
|
||||
-INST_LIB = $(INST_TOP)$(INST_VER)\lib
|
||||
-INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
|
||||
+INST_SCRIPT = $(INST_TOP)\bin\core_perl$(INST_CORE_VER)
|
||||
+INST_BIN = $(INST_TOP)\bin$(INST_CORE_VER_PERL)$(INST_ARCH)
|
||||
+INST_LIB = $(INST_TOP)\lib\perl5\core_perl$(INST_CORE_VER)
|
||||
+INST_ARCHLIB = $(INST_TOP)\lib\perl5\core_perl$(INST_CORE_VER)$(INST_ARCH)
|
||||
INST_COREDIR = $(INST_ARCHLIB)\CORE
|
||||
-INST_HTML = $(INST_TOP)$(INST_VER)\html
|
||||
+INST_HTML = $(INST_DOC)\share\doc\perl5$(INST_CORE_VER)
|
||||
|
||||
#
|
||||
# Programs to compile, build .lib files and link
|
||||
@@ -1143,8 +1152,15 @@ DYNALOADER = ..\DynaLoader$(o)
|
||||
# -- BKS 10-17-1999
|
||||
CFG_VARS = \
|
||||
"INST_TOP=$(INST_TOP)" \
|
||||
+ "INST_DOC=$(INST_DOC)" \
|
||||
"INST_VER=$(INST_VER)" \
|
||||
"INST_ARCH=$(INST_ARCH)" \
|
||||
+ "INST_SITE_VER=$(INST_SITE_VER)" \
|
||||
+ "INST_VEND_VER=$(INST_VEND_VER)" \
|
||||
+ "INST_CORE_VER=$(INST_CORE_VER)" \
|
||||
+ "INST_SITE_VER_PERL=$(INST_SITE_VER_PERL)" \
|
||||
+ "INST_VEND_VER_PERL=$(INST_VEND_VER_PERL)" \
|
||||
+ "INST_CORE_VER_PERL=$(INST_CORE_VER_PERL)" \
|
||||
"archname=$(ARCHNAME)" \
|
||||
"cc=$(CC)" \
|
||||
"ld=$(LINK32)" \
|
||||
@@ -1689,7 +1705,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
|
||||
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
|
||||
|
||||
..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs Extensions_normalize utils
|
||||
- $(PERLEXE) -f ..\pod\buildtoc -q
|
||||
+ $(PERLEXE) -I..\lib -Ilib -f ..\pod\buildtoc -q
|
||||
|
||||
# Note that the pod cleanup in this next section is parsed (and regenerated
|
||||
# by pod/buildtoc so please check that script before making changes here
|
||||
diff --git old/win32/config.gc 001/win32/config.gc
|
||||
index 8a50293..1f6b770 100644
|
||||
--- old/win32/config.gc
|
||||
+++ 001/win32/config.gc
|
||||
@@ -23,8 +23,8 @@ api_subversion='~PERL_API_SUBVERSION~'
|
||||
api_version='~PERL_API_VERSION~'
|
||||
api_versionstring='~PERL_API_REVISION~.~PERL_API_VERSION~.~PERL_API_SUBVERSION~'
|
||||
ar='~ARCHPREFIX~ar'
|
||||
-archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
|
||||
-archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
|
||||
+archlib='~INST_TOP~\lib\perl5~INST_VER~\core_perl~INST_ARCH~'
|
||||
+archlibexp='~INST_TOP~\lib\perl5~INST_VER~\core_perl~INST_ARCH~'
|
||||
+archlib='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~~INST_ARCH~'
|
||||
+archlibexp='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~~INST_ARCH~'
|
||||
archname64=''
|
||||
archname='MSWin32'
|
||||
archobjs=''
|
||||
@@ -32,8 +32,8 @@
|
||||
@@ -32,8 +32,8 @@ asctime_r_proto='0'
|
||||
awk='awk'
|
||||
baserev='5'
|
||||
bash=''
|
||||
-bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
|
||||
-binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
|
||||
+bin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
+binexp='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
+bin='~INST_TOP~\bin~INST_CORE_VER_PERL~~INST_ARCH~'
|
||||
+binexp='~INST_TOP~\bin~INST_CORE_VER_PERL~~INST_ARCH~'
|
||||
bison=''
|
||||
bootstrap_charset='undef'
|
||||
byacc='byacc'
|
||||
@@ -515,9 +515,9 @@
|
||||
@@ -49,8 +49,8 @@ ccflags_uselargefiles=''
|
||||
ccname='~cc~'
|
||||
ccsymbols=''
|
||||
ccversion=''
|
||||
-cf_by='nobody'
|
||||
-cf_email='nobody@no.where.net'
|
||||
+cf_by=' '
|
||||
+cf_email=' '
|
||||
cf_time=''
|
||||
charbits='8'
|
||||
chgrp=''
|
||||
@@ -600,10 +600,10 @@ d_uselocale='undef'
|
||||
d_usleep='undef'
|
||||
d_usleepproto='undef'
|
||||
d_ustat='undef'
|
||||
-d_vendorarch='undef'
|
||||
+d_vendorarch='define'
|
||||
d_vendorbin='undef'
|
||||
-d_vendorbin='undef'
|
||||
-d_vendorlib='undef'
|
||||
-d_vendorscript='undef'
|
||||
+d_vendorarch='define'
|
||||
+d_vendorbin='define'
|
||||
+d_vendorlib='define'
|
||||
d_vendorscript='undef'
|
||||
+d_vendorscript='define'
|
||||
d_vfork='undef'
|
||||
d_void_closedir='undef'
|
||||
@@ -719,33 +719,33 @@
|
||||
d_voidsig='define'
|
||||
@@ -707,10 +707,10 @@ h_fcntl='false'
|
||||
h_sysfile='true'
|
||||
hint='recommended'
|
||||
hostcat='ypcat hosts'
|
||||
-html1dir=' '
|
||||
-html1direxp=''
|
||||
-html3dir=' '
|
||||
-html3direxp=''
|
||||
+html1dir='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
+html1direxp='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
+html3dir='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
+html3direxp='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
i16size='2'
|
||||
i16type='short'
|
||||
i32size='4'
|
||||
@@ -812,41 +812,41 @@ i_varhdr='varargs.h'
|
||||
i_vfork='undef'
|
||||
i_xlocale='undef'
|
||||
ignore_versioned_solibs=''
|
||||
-inc_version_list=''
|
||||
+inc_version_list=' '
|
||||
inc_version_list_init='0'
|
||||
incpath=''
|
||||
inews=''
|
||||
initialinstalllocation=''
|
||||
-installarchlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
|
||||
-installbin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
|
||||
+installarchlib='~INST_TOP~\lib\perl5~INST_VER~\core_perl~INST_ARCH~'
|
||||
+installbin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
installhtml1dir=''
|
||||
installhtml3dir=''
|
||||
-installhtml1dir=''
|
||||
-installhtml3dir=''
|
||||
-installhtmldir='~INST_TOP~~INST_VER~\html'
|
||||
-installhtmlhelpdir='~INST_TOP~~INST_VER~\htmlhelp'
|
||||
-installman1dir='~INST_TOP~~INST_VER~\man\man1'
|
||||
-installman3dir='~INST_TOP~~INST_VER~\man\man3'
|
||||
+installhtmldir='~INST_TOP~\share\doc\perl5~INST_VER~'
|
||||
+installhtmlhelpdir='~INST_TOP~\share\doc\perl5~INST_VER~\htmlhelp'
|
||||
+installman1dir='~INST_TOP~\share\man\man1~INST_VER_PERL~'
|
||||
+installman3dir='~INST_TOP~\share\man\man3~INST_VER_PERL~'
|
||||
installprefix='~INST_TOP~~INST_VER~'
|
||||
installprefixexp='~INST_TOP~~INST_VER~'
|
||||
-installprefix='~INST_TOP~~INST_VER~'
|
||||
-installprefixexp='~INST_TOP~~INST_VER~'
|
||||
-installprivlib='~INST_TOP~~INST_VER~\lib'
|
||||
+installprivlib='~INST_TOP~\lib\perl5~INST_VER~\core_perl'
|
||||
installscript='~INST_TOP~~INST_VER~\bin'
|
||||
-installscript='~INST_TOP~~INST_VER~\bin'
|
||||
-installsitearch='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
|
||||
-installsitebin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
|
||||
+installsitearch='~INST_TOP~\lib\perl5~INST_VER~\site_perl~INST_ARCH~'
|
||||
+installsitebin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
installsitehtml1dir=''
|
||||
installsitehtml3dir=''
|
||||
-installsitehtml1dir=''
|
||||
-installsitehtml3dir=''
|
||||
-installsitelib='~INST_TOP~\site~INST_VER~\lib'
|
||||
+installsitelib='~INST_TOP~\lib\perl5~INST_VER~\site_perl'
|
||||
installsiteman1dir=''
|
||||
installsiteman3dir=''
|
||||
installsitescript=''
|
||||
installstyle='lib'
|
||||
-installsiteman1dir=''
|
||||
-installsiteman3dir=''
|
||||
-installsitescript=''
|
||||
-installstyle='lib'
|
||||
+installarchlib='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~~INST_ARCH~'
|
||||
+installbin='~INST_TOP~\bin~INST_CORE_VER_PERL~~INST_ARCH~'
|
||||
+installhtml1dir='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
+installhtml3dir='~INST_DOC~\share\doc\perl5\core_perl~INST_CORE_VER~'
|
||||
+installhtmldir='~INST_DOC~\share\doc\perl5~INST_CORE_VER~'
|
||||
+installhtmlhelpdir='~INST_DOC~\share\doc\perl5~INST_CORE_VER~\htmlhelp'
|
||||
+installman1dir='~INST_DOC~\share\man\man1'
|
||||
+installman3dir='~INST_DOC~\share\man\man3'
|
||||
+installprefix='~INST_TOP~'
|
||||
+installprefixexp='~INST_TOP~'
|
||||
+installprivlib='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~'
|
||||
+installscript='~INST_TOP~\bin\core_perl~INST_CORE_VER~'
|
||||
+installsitearch='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+installsitebin='~INST_TOP~\bin\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+installsitehtml1dir='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+installsitehtml3dir='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+installsitelib='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~'
|
||||
+installsiteman1dir='~INST_DOC~\local\man\man1'
|
||||
+installsiteman3dir='~INST_DOC~\local\man\man3'
|
||||
+installsitescript='~INST_TOP~\bin\site_perl~INST_SITE_VER~'
|
||||
+installstyle='lib/perl5'
|
||||
installusrbinperl='undef'
|
||||
-installvendorarch=''
|
||||
-installvendorbin=''
|
||||
+installvendorarch='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl~INST_ARCH~'
|
||||
+installvendorbin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
installvendorhtml1dir=''
|
||||
installvendorhtml3dir=''
|
||||
-installvendorhtml1dir=''
|
||||
-installvendorhtml3dir=''
|
||||
-installvendorlib=''
|
||||
+installvendorlib='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl'
|
||||
installvendorman1dir=''
|
||||
installvendorman3dir=''
|
||||
installvendorscript=''
|
||||
@@ -765,7 +765,7 @@
|
||||
lib_ext='.a'
|
||||
libc='libmsvcrt.a'
|
||||
libperl='libperl.a'
|
||||
-libpth=''
|
||||
+libpth='~INST_TOP~\lib\perl5~INST_VER~\core_perl'
|
||||
libs=''
|
||||
libsdirs=''
|
||||
libsfiles=''
|
||||
@@ -800,11 +800,11 @@
|
||||
-installvendorman1dir=''
|
||||
-installvendorman3dir=''
|
||||
-installvendorscript=''
|
||||
+installvendorarch='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+installvendorbin='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+installvendorhtml1dir='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+installvendorhtml3dir='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+installvendorlib='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+installvendorman1dir='~INST_DOC~\share\man\man1'
|
||||
+installvendorman3dir='~INST_DOC~\share\man\man3'
|
||||
+installvendorscript='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~'
|
||||
intsize='4'
|
||||
issymlink=''
|
||||
ivdformat='"ld"'
|
||||
@@ -899,12 +899,12 @@ make_set_make='#'
|
||||
mallocobj='malloc.o'
|
||||
mallocsrc='malloc.c'
|
||||
malloctype='void *'
|
||||
-man1dir='~INST_TOP~~INST_VER~\man\man1'
|
||||
-man1direxp='~INST_TOP~~INST_VER~\man\man1'
|
||||
+man1dir='~INST_TOP~\share\man\man1~INST_VER_PERL~'
|
||||
+man1direxp='~INST_TOP~\share\man\man1~INST_VER_PERL~'
|
||||
man1ext='1'
|
||||
-man1ext='1'
|
||||
-man3dir='~INST_TOP~~INST_VER~\man\man3'
|
||||
-man3direxp='~INST_TOP~~INST_VER~\man\man3'
|
||||
+man3dir='~INST_TOP~\share\man\man3~INST_VER_PERL~'
|
||||
+man3direxp='~INST_TOP~\share\man\man3~INST_VER_PERL~'
|
||||
man3ext='3'
|
||||
-man3ext='3'
|
||||
+man1dir='~INST_DOC~\share\man\man1'
|
||||
+man1direxp='~INST_DOC~\share\man\man1'
|
||||
+man1ext='1perl'
|
||||
+man3dir='~INST_DOC~\share\man\man3'
|
||||
+man3direxp='~INST_DOC~\share\man\man3'
|
||||
+man3ext='3perl'
|
||||
mips_type=''
|
||||
mistrustnm=''
|
||||
@@ -858,7 +858,7 @@
|
||||
mkdir='mkdir'
|
||||
@@ -946,7 +946,7 @@ optimize='-O2'
|
||||
orderlib='false'
|
||||
osname='MSWin32'
|
||||
osvers='4.0'
|
||||
-otherlibdirs=''
|
||||
+otherlibdirs=' '
|
||||
package='perl5'
|
||||
pager='more /e'
|
||||
passcat=''
|
||||
@@ -956,9 +956,9 @@ perl5=''
|
||||
perl='perl'
|
||||
perl_patchlevel='~PERL_PATCHLEVEL~'
|
||||
perl_static_inline='static __inline__'
|
||||
perladmin=''
|
||||
-perladmin=''
|
||||
+perladmin=' '
|
||||
perllibs='~libs~'
|
||||
-perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
|
||||
+perlpath='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~\perl.exe'
|
||||
+perlpath='~INST_TOP~\bin~INST_CORE_VER_PERL~~INST_ARCH~\perl.exe'
|
||||
pg=''
|
||||
phostname='hostname'
|
||||
pidtype='int'
|
||||
@@ -867,8 +867,8 @@
|
||||
@@ -967,8 +967,8 @@ pmake=''
|
||||
pr=''
|
||||
prefix='~INST_TOP~'
|
||||
prefixexp='~INST_TOP~'
|
||||
-privlib='~INST_TOP~~INST_VER~\lib'
|
||||
-privlibexp='~INST_TOP~~INST_VER~\lib'
|
||||
+privlib='~INST_TOP~\lib\perl5~INST_VER~\core_perl'
|
||||
+privlibexp='~INST_TOP~\lib\perl5~INST_VER~\core_perl'
|
||||
+privlib='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~'
|
||||
+privlibexp='~INST_TOP~\lib\perl5\core_perl~INST_CORE_VER~'
|
||||
procselfexe=''
|
||||
prototype='define'
|
||||
ptrsize='4'
|
||||
@@ -934,17 +934,17 @@
|
||||
@@ -1006,8 +1006,8 @@ sPRIu64='"lu"'
|
||||
sPRIx64='"lx"'
|
||||
sSCNfldbl='"Lf"'
|
||||
sched_yield=''
|
||||
-scriptdir='~INST_TOP~~INST_VER~\bin'
|
||||
-scriptdirexp='~INST_TOP~~INST_VER~\bin'
|
||||
+scriptdir='~INST_TOP~\bin\core_perl~INST_CORE_VER~'
|
||||
+scriptdirexp='~INST_TOP~\bin\core_perl~INST_CORE_VER~'
|
||||
sed='sed'
|
||||
seedfunc='Perl_drand48_init'
|
||||
selectminbits='32'
|
||||
@@ -1034,25 +1034,25 @@ sig_num='0 1 2 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20
|
||||
sig_num_init='0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
|
||||
sig_size='27'
|
||||
signal_t='void'
|
||||
@@ -135,23 +279,53 @@ diff -aur old/win32/config.gc 001/win32/config.gc
|
||||
-sitearchexp='~INST_TOP~\site~INST_VER~\lib~INST_ARCH~'
|
||||
-sitebin='~INST_TOP~\site~INST_VER~\bin~INST_ARCH~'
|
||||
-sitebinexp='~INST_TOP~\site~INST_VER~\bin~INST_ARCH~'
|
||||
+sitearch='~INST_TOP~\lib\perl5~INST_VER~\site_perl~INST_ARCH~'
|
||||
+sitearchexp='~INST_TOP~\lib\perl5~INST_VER~\site_perl~INST_ARCH~'
|
||||
+sitebin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
+sitebinexp='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
sitehtml1dir=''
|
||||
sitehtml1direxp=''
|
||||
sitehtml3dir=''
|
||||
sitehtml3direxp=''
|
||||
-sitehtml1dir=''
|
||||
-sitehtml1direxp=''
|
||||
-sitehtml3dir=''
|
||||
-sitehtml3direxp=''
|
||||
-sitelib='~INST_TOP~\site~INST_VER~\lib'
|
||||
+sitelib='~INST_TOP~\lib\perl5~INST_VER~\site_perl'
|
||||
sitelib_stem=''
|
||||
-sitelib_stem=''
|
||||
-sitelibexp='~INST_TOP~\site~INST_VER~\lib'
|
||||
+sitelibexp='~INST_TOP~\lib\perl5~INST_VER~\site_perl'
|
||||
siteman1dir=''
|
||||
siteman1direxp=''
|
||||
siteman3dir=''
|
||||
@@ -1054,17 +1054,17 @@
|
||||
-siteman1dir=''
|
||||
-siteman1direxp=''
|
||||
-siteman3dir=''
|
||||
-siteman3direxp=''
|
||||
-siteprefix='~INST_TOP~\site~INST_VER~'
|
||||
-siteprefixexp='~INST_TOP~\site~INST_VER~'
|
||||
-sitescript=''
|
||||
-sitescriptexp=''
|
||||
+sitearch='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+sitearchexp='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+sitebin='~INST_TOP~\bin\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+sitebinexp='~INST_TOP~\bin\site_perl~INST_SITE_VER~~INST_ARCH~'
|
||||
+sitehtml1dir='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+sitehtml1direxp='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+sitehtml3dir='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+sitehtml3direxp='~INST_DOC~\share\doc\perl5\site_perl~INST_SITE_VER~'
|
||||
+sitelib='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~'
|
||||
+sitelib_stem='~INST_TOP~\lib\perl5\site_perl'
|
||||
+sitelibexp='~INST_TOP~\lib\perl5\site_perl~INST_SITE_VER~'
|
||||
+siteman1dir='~INST_DOC~\local\man\man1'
|
||||
+siteman1direxp='~INST_DOC~\local\man\man1'
|
||||
+siteman3dir='~INST_DOC~\local\man\man3'
|
||||
+siteman3direxp='~INST_DOC~\local\man\man3'
|
||||
+siteprefix='~INST_TOP~'
|
||||
+siteprefixexp='~INST_TOP~'
|
||||
+sitescript='~INST_TOP~\bin\site_perl~INST_SITE_VER~'
|
||||
+sitescriptexp='~INST_TOP~\bin\site_perl~INST_SITE_VER~'
|
||||
sizesize='4'
|
||||
sizetype='size_t'
|
||||
sleep=''
|
||||
@@ -1145,7 +1145,7 @@ useshrplib='true'
|
||||
usesitecustomize='undef'
|
||||
usesocks='undef'
|
||||
usethreads='undef'
|
||||
-usevendorprefix='undef'
|
||||
+usevendorprefix='define'
|
||||
usevfork='false'
|
||||
usrinc='/usr/include'
|
||||
uuname=''
|
||||
@@ -1156,25 +1156,25 @@ uvtype='unsigned long'
|
||||
uvuformat='"lu"'
|
||||
uvxformat='"lx"'
|
||||
vaproto='undef'
|
||||
@@ -159,86 +333,158 @@ diff -aur old/win32/config.gc 001/win32/config.gc
|
||||
-vendorarchexp=''
|
||||
-vendorbin=''
|
||||
-vendorbinexp=''
|
||||
+vendorarch='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl~INST_ARCH~'
|
||||
+vendorarchexp='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl~INST_ARCH~'
|
||||
+vendorbin='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
+vendorbinexp='~INST_TOP~\bin~INST_VER_PERL~~INST_ARCH~'
|
||||
vendorhtml1dir=' '
|
||||
vendorhtml1direxp=''
|
||||
vendorhtml3dir=' '
|
||||
vendorhtml3direxp=''
|
||||
-vendorhtml1dir=' '
|
||||
-vendorhtml1direxp=''
|
||||
-vendorhtml3dir=' '
|
||||
-vendorhtml3direxp=''
|
||||
-vendorlib=''
|
||||
+vendorlib='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl'
|
||||
vendorlib_stem=''
|
||||
-vendorlib_stem=''
|
||||
-vendorlibexp=''
|
||||
+vendorlibexp='~INST_TOP~\lib\perl5~INST_VER~\vendor_perl'
|
||||
vendorman1dir=' '
|
||||
vendorman1direxp=''
|
||||
vendorman3dir=' '
|
||||
diff -aur old/win32/makefile.mk 001/win32/makefile.mk
|
||||
--- old/win32/makefile.mk 2014-09-14 08:31:07.000000000 -0300
|
||||
+++ 001/win32/makefile.mk 2015-01-05 20:37:05.274414000 -0200
|
||||
@@ -44,6 +44,7 @@
|
||||
-vendorman1dir=' '
|
||||
-vendorman1direxp=''
|
||||
-vendorman3dir=' '
|
||||
-vendorman3direxp=''
|
||||
-vendorprefix=''
|
||||
-vendorprefixexp=''
|
||||
-vendorscript=''
|
||||
-vendorscriptexp=''
|
||||
+vendorarch='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+vendorarchexp='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+vendorbin='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+vendorbinexp='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~~INST_ARCH~'
|
||||
+vendorhtml1dir='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorhtml1direxp='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorhtml3dir='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorhtml3direxp='~INST_DOC~\share\doc\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorlib='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorlib_stem='~INST_TOP~\lib\perl5\vendor_perl'
|
||||
+vendorlibexp='~INST_TOP~\lib\perl5\vendor_perl~INST_VEND_VER~'
|
||||
+vendorman1dir='~INST_DOC~\share\man\man1'
|
||||
+vendorman1direxp='~INST_DOC~\share\man\man1'
|
||||
+vendorman3dir='~INST_DOC~\share\man\man3'
|
||||
+vendorman3direxp='~INST_DOC~\share\man\man3'
|
||||
+vendorprefix='~INST_TOP~'
|
||||
+vendorprefixexp='~INST_TOP~'
|
||||
+vendorscript='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~'
|
||||
+vendorscriptexp='~INST_TOP~\bin\vendor_perl~INST_VEND_VER~'
|
||||
version=''
|
||||
version_patchlevel_string=''
|
||||
versiononly='undef'
|
||||
diff --git old/win32/makefile.mk 001/win32/makefile.mk
|
||||
index bbc9efc..a4c9017 100644
|
||||
--- old/win32/makefile.mk
|
||||
+++ 001/win32/makefile.mk
|
||||
@@ -28,6 +28,7 @@
|
||||
#
|
||||
INST_DRV *= c:
|
||||
INST_TOP *= $(INST_DRV)\perl
|
||||
+INST_DOC *= $(INST_TOP)
|
||||
|
||||
#
|
||||
# Uncomment if you want to build a 32-bit Perl using a 32-bit compiler
|
||||
@@ -44,7 +45,15 @@ INST_TOP *= $(INST_DRV)\perl
|
||||
# versioned installation can be obtained by setting INST_TOP above to a
|
||||
# path that includes an arbitrary version string.
|
||||
#
|
||||
#INST_VER *= \5.22.0
|
||||
+#INST_VER_PERL *= \perl-5.22.0
|
||||
-#INST_VER *= \5.26.1
|
||||
+INST_VER *= \5.26.1
|
||||
+INST_VER_PERL *= \perl-5.26.1
|
||||
+
|
||||
+INST_SITE_VER *= $(INST_VER)
|
||||
+#INST_VEND_VER *= $(INST_VER)
|
||||
+#INST_CORE_VER *= $(INST_VER)
|
||||
+INST_SITE_VER_PERL *= $(INST_VER_PERL)
|
||||
+#INST_VEND_VER_PERL *= $(INST_VER_PERL)
|
||||
+#INST_CORE_VER_PERL *= $(INST_VER_PERL)
|
||||
|
||||
#
|
||||
# Comment this out if you DON'T want your perl installation to have
|
||||
@@ -403,10 +404,10 @@
|
||||
#
|
||||
INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
|
||||
INST_BIN = $(INST_SCRIPT)$(INST_ARCH)
|
||||
@@ -488,12 +497,12 @@ CPANDIR = ..\cpan
|
||||
PODDIR = ..\pod
|
||||
HTMLDIR = .\html
|
||||
|
||||
-INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin
|
||||
-INST_BIN = $(INST_SCRIPT)$(INST_ARCH)
|
||||
-INST_LIB = $(INST_TOP)$(INST_VER)\lib
|
||||
+INST_LIB = $(INST_TOP)$(INST_VER)\lib\perl5\core_perl
|
||||
INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
|
||||
-INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
|
||||
+INST_SCRIPT = $(INST_TOP)\bin\core_perl$(INST_CORE_VER)
|
||||
+INST_BIN = $(INST_TOP)\bin$(INST_CORE_VER_PERL)$(INST_ARCH)
|
||||
+INST_LIB = $(INST_TOP)\lib\perl5\core_perl$(INST_CORE_VER)
|
||||
+INST_ARCHLIB = $(INST_TOP)\lib\perl5\core_perl$(INST_CORE_VER)$(INST_ARCH)
|
||||
INST_COREDIR = $(INST_ARCHLIB)\CORE
|
||||
-INST_HTML = $(INST_TOP)$(INST_VER)\html
|
||||
+INST_HTML = $(INST_TOP)$(INST_VER)\share\doc\perl5
|
||||
+INST_HTML = $(INST_DOC)\share\doc\perl5$(INST_CORE_VER)
|
||||
|
||||
#
|
||||
# Programs to compile, build .lib files and link
|
||||
@@ -951,7 +952,7 @@
|
||||
libs=$(LIBFILES:f) ~ \
|
||||
incpath=$(CCINCDIR) ~ \
|
||||
libperl=$(PERLIMPLIB:f) ~ \
|
||||
- libpth=$(CCLIBDIR);$(EXTRALIBDIRS) ~ \
|
||||
+ libpth=$(INST_LIB);$(EXTRALIBDIRS) ~ \
|
||||
libc=$(LIBC) ~ \
|
||||
make=dmake ~ \
|
||||
_o=$(o) ~ \
|
||||
@@ -1392,12 +1393,12 @@
|
||||
copy ..\README.vos ..\pod\perlvos.pod
|
||||
copy ..\README.win32 ..\pod\perlwin32.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5220delta.pod
|
||||
- $(PERLEXE) $(PL2BAT) $(UTILS)
|
||||
+ $(PERLEXE) -I..\lib $(PL2BAT) $(UTILS)
|
||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||
@@ -1100,8 +1109,15 @@ DYNALOADER = ..\DynaLoader$(o)
|
||||
# -- BKS 10-17-1999
|
||||
CFG_VARS = \
|
||||
INST_TOP=$(INST_TOP) ~ \
|
||||
+ INST_DOC=$(INST_DOC) ~ \
|
||||
INST_VER=$(INST_VER) ~ \
|
||||
INST_ARCH=$(INST_ARCH) ~ \
|
||||
+ INST_SITE_VER=$(INST_SITE_VER) ~ \
|
||||
+ INST_VEND_VER=$(INST_VEND_VER) ~ \
|
||||
+ INST_CORE_VER=$(INST_CORE_VER) ~ \
|
||||
+ INST_SITE_VER_PERL=$(INST_SITE_VER_PERL) ~ \
|
||||
+ INST_VEND_VER_PERL=$(INST_VEND_VER_PERL) ~ \
|
||||
+ INST_CORE_VER_PERL=$(INST_CORE_VER_PERL) ~ \
|
||||
archname=$(ARCHNAME) ~ \
|
||||
cc=$(CC) ~ \
|
||||
ld=$(LINK32) ~ \
|
||||
@@ -1604,7 +1620,7 @@ utils: $(HAVEMINIPERL) ..\utils\Makefile
|
||||
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
|
||||
|
||||
..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs
|
||||
..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs Extensions_normalize utils
|
||||
- $(PERLEXE) -f ..\pod\buildtoc -q
|
||||
+ $(PERLEXE) -I..\lib -Ilib -f ..\pod\buildtoc -q
|
||||
|
||||
# Note that the pod cleanup in this next section is parsed (and regenerated
|
||||
# by pod/buildtoc so please check that script before making changes here
|
||||
diff -aur old/win32/win32.c 001/win32/win32.c
|
||||
--- old/win32/win32.c 2014-09-14 08:31:07.000000000 -0300
|
||||
+++ 001/win32/win32.c 2015-01-05 20:37:05.286132800 -0200
|
||||
@@ -373,7 +373,11 @@
|
||||
EXTERN_C char *
|
||||
win32_get_privlib(const char *pl, STRLEN *const len)
|
||||
{
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
char *stdlib = "lib";
|
||||
+#else
|
||||
+ char *stdlib = "lib/perl5/core_perl";
|
||||
+#endif
|
||||
char buffer[MAX_PATH+1];
|
||||
SV *sv = NULL;
|
||||
diff --git old/win32/win32.c 001/win32/win32.c
|
||||
index 2e82c53..528da6a 100644
|
||||
--- old/win32/win32.c
|
||||
+++ 001/win32/win32.c
|
||||
@@ -382,10 +382,36 @@ get_emd_part(SV **prev_pathp, STRLEN *const len, char *trailing_path, ...)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -401,7 +405,11 @@
|
||||
+#define MSYS_PERL_VENDORLIB "lib/perl5/vendor_perl"
|
||||
+#define MSYS_SITELIB "lib/perl5/site_perl"
|
||||
+#define MSYS_PRIVLIB "lib/perl5/core_perl"
|
||||
+
|
||||
+#ifndef PERL_VENDORLIB_NAME
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
+# define PERL_VENDORLIB_NAME "vendor"
|
||||
+#else
|
||||
+# define PERL_VENDORLIB_NAME MSYS_PERL_VENDORLIB
|
||||
+#endif
|
||||
+#endif
|
||||
+#ifndef SITELIB_NAME
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
+# define SITELIB_NAME "site"
|
||||
+#else
|
||||
+# define SITELIB_NAME MSYS_SITELIB
|
||||
+#endif
|
||||
+#endif
|
||||
+#ifndef PRIVLIB_NAME
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
+# define PRIVLIB_NAME "lib"
|
||||
+#else
|
||||
+# define PRIVLIB_NAME MSYS_PRIVLIB
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
EXTERN_C char *
|
||||
win32_get_privlib(WIN32_NO_REGISTRY_M_(const char *pl) STRLEN *const len)
|
||||
{
|
||||
- char *stdlib = "lib";
|
||||
+ char *stdlib = PRIVLIB_NAME;
|
||||
SV *sv = NULL;
|
||||
#ifndef WIN32_NO_REGISTRY
|
||||
char buffer[MAX_PATH+1];
|
||||
@@ -419,7 +445,11 @@ win32_get_xlib(const char *pl, WIN32_NO_REGISTRY_M_(const char *xlib)
|
||||
|
||||
/* $xlib .=
|
||||
* ";$EMD/" . ((-d $EMD/../../../$]) ? "../../.." : "../.."). "/$libname/$]/lib"; */
|
||||
@@ -249,8 +495,8 @@ diff -aur old/win32/win32.c 001/win32/win32.c
|
||||
+#endif
|
||||
(void)get_emd_part(&sv1, NULL, pathstr, ARCHNAME, "bin", pl, NULL);
|
||||
|
||||
/* $HKCU{$xlib} || $HKLM{$xlib} . ---; */
|
||||
@@ -409,7 +417,11 @@
|
||||
#ifndef WIN32_NO_REGISTRY
|
||||
@@ -429,7 +459,11 @@ win32_get_xlib(const char *pl, WIN32_NO_REGISTRY_M_(const char *xlib)
|
||||
|
||||
/* $xlib .=
|
||||
* ";$EMD/" . ((-d $EMD/../../../$]) ? "../../.." : "../.."). "/$libname/lib"; */
|
||||
@@ -262,23 +508,18 @@ diff -aur old/win32/win32.c 001/win32/win32.c
|
||||
(void)get_emd_part(&sv2, NULL, pathstr, ARCHNAME, "bin", pl, NULL);
|
||||
|
||||
if (!sv1 && !sv2)
|
||||
@@ -430,11 +442,19 @@
|
||||
@@ -450,13 +484,9 @@ win32_get_xlib(const char *pl, WIN32_NO_REGISTRY_M_(const char *xlib)
|
||||
EXTERN_C char *
|
||||
win32_get_sitelib(const char *pl, STRLEN *const len)
|
||||
{
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
return win32_get_xlib(pl, "sitelib", "site", len);
|
||||
+#else
|
||||
+ return win32_get_xlib(pl, "sitelib", "lib/perl5/site_perl", len);
|
||||
+#endif
|
||||
- return win32_get_xlib(pl, WIN32_NO_REGISTRY_M_("sitelib") "site", len);
|
||||
+ return win32_get_xlib(pl, WIN32_NO_REGISTRY_M_("sitelib") SITELIB_NAME, len);
|
||||
}
|
||||
|
||||
#ifndef PERL_VENDORLIB_NAME
|
||||
+#ifdef PERL_IS_MINIPERL
|
||||
# define PERL_VENDORLIB_NAME "vendor"
|
||||
+#else
|
||||
+# define PERL_VENDORLIB_NAME "lib/perl5/vendor_perl"
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
-#ifndef PERL_VENDORLIB_NAME
|
||||
-# define PERL_VENDORLIB_NAME "vendor"
|
||||
-#endif
|
||||
-
|
||||
EXTERN_C char *
|
||||
win32_get_vendorlib(const char *pl, STRLEN *const len)
|
||||
{
|
||||
|
||||
@@ -1,13 +1,28 @@
|
||||
diff -aur 001/win32/makefile.mk 002/win32/makefile.mk
|
||||
--- 001/win32/makefile.mk 2015-01-05 20:37:05.274414000 -0200
|
||||
+++ 002/win32/makefile.mk 2015-01-05 20:37:54.890625000 -0200
|
||||
@@ -1349,7 +1349,7 @@
|
||||
diff --git 001/win32/GNUmakefile 002/win32/GNUmakefile
|
||||
index b149168..9c6d629 100644
|
||||
--- 001/win32/GNUmakefile
|
||||
+++ 002/win32/GNUmakefile
|
||||
@@ -1656,7 +1656,7 @@ endif
|
||||
|
||||
doc: $(PERLEXE) ..\pod\perltoc.pod
|
||||
- $(PERLEXE) ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
|
||||
- --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
|
||||
+ $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
|
||||
+ --podpath=pod:lib:utils --htmlroot="@PERL_RELOCATE_HTML@/share/doc/perl5" \
|
||||
doc: $(PERLEXE) $(PERLDLL) ..\pod\perltoc.pod
|
||||
$(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
|
||||
- --podpath=pod:lib:utils --htmlroot="file://$(subst :,|,$(INST_HTML))"\
|
||||
+ --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML)" \
|
||||
--recurse
|
||||
|
||||
..\utils\Makefile: $(CONFIGPM) ..\utils\Makefile.PL
|
||||
diff --git 001/win32/makefile.mk 002/win32/makefile.mk
|
||||
index a4c9017..56cf889 100644
|
||||
--- 001/win32/makefile.mk
|
||||
+++ 002/win32/makefile.mk
|
||||
@@ -1570,8 +1570,8 @@ rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE)
|
||||
|
||||
|
||||
doc: $(PERLEXE) $(PERLDLL) ..\pod\perltoc.pod
|
||||
- $(PERLEXE) ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
|
||||
- --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
|
||||
+ $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
|
||||
+ --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML)" \
|
||||
--recurse
|
||||
|
||||
..\utils\Makefile: $(CONFIGPM) ..\utils\Makefile.PL
|
||||
|
||||
@@ -1,56 +1,34 @@
|
||||
diff -aur 002/installperl 003/installperl
|
||||
--- 002/installperl 2015-01-05 20:37:16.838867100 -0200
|
||||
+++ 003/installperl 2015-01-05 20:38:45.015625000 -0200
|
||||
@@ -19,7 +19,7 @@
|
||||
if ($Is_VMS) { eval 'use VMS::Filespec;' }
|
||||
}
|
||||
diff --git 002/installperl 003/installperl
|
||||
index af61203..334310e 100644
|
||||
--- 002/installperl
|
||||
+++ 003/installperl
|
||||
@@ -27,7 +27,7 @@ BEGIN {
|
||||
my $SO_MODE = $Is_AmigaOS ? 0777 : 0555;
|
||||
my $NON_SO_MODE = $Is_AmigaOS ? 0666 : 0444;
|
||||
|
||||
-my $scr_ext = ($Is_VMS ? '.Com' : $Is_W32 ? '.bat' : '');
|
||||
+my $scr_ext = ($Is_VMS ? '.Com' : '');
|
||||
|
||||
use File::Find;
|
||||
use File::Compare;
|
||||
diff -aur 002/win32/bin/pl2bat.pl 003/win32/bin/pl2bat.pl
|
||||
--- 002/win32/bin/pl2bat.pl 2015-01-05 20:37:16.143554600 -0200
|
||||
+++ 003/win32/bin/pl2bat.pl 2015-01-05 20:38:45.023437500 -0200
|
||||
@@ -1,5 +1,4 @@
|
||||
- eval 'exec perl -x -S "$0" ${1+"$@"}'
|
||||
- if 0; # In case running under some shell
|
||||
+#!perl -w
|
||||
diff --git 002/win32/GNUmakefile 003/win32/GNUmakefile
|
||||
index 9c6d629..5781bc3 100644
|
||||
--- 002/win32/GNUmakefile
|
||||
+++ 003/win32/GNUmakefile
|
||||
@@ -938,34 +938,7 @@ PERLDEP = $(PERLIMPLIB)
|
||||
PL2BAT = bin\pl2bat.pl
|
||||
|
||||
require 5;
|
||||
use Getopt::Std;
|
||||
diff -aur 002/win32/bin/search.pl 003/win32/bin/search.pl
|
||||
--- 002/win32/bin/search.pl 2015-01-05 20:37:16.129882800 -0200
|
||||
+++ 003/win32/bin/search.pl 2015-01-05 20:38:45.046875000 -0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/perl -w
|
||||
+#!perl -w
|
||||
'di';
|
||||
'ig00';
|
||||
##############################################################################
|
||||
diff -aur 002/win32/makefile.mk 003/win32/makefile.mk
|
||||
--- 002/win32/makefile.mk 2015-01-05 20:37:54.890625000 -0200
|
||||
+++ 003/win32/makefile.mk 2015-01-05 21:28:09.955078100 -0200
|
||||
@@ -723,40 +723,6 @@
|
||||
PERLDEP = perldll.def
|
||||
|
||||
|
||||
-PL2BAT = bin\pl2bat.pl
|
||||
-
|
||||
-UTILS = \
|
||||
UTILS = \
|
||||
- ..\utils\h2ph \
|
||||
- ..\utils\splain \
|
||||
- ..\utils\perlbug \
|
||||
- ..\utils\pl2pm \
|
||||
- ..\utils\c2ph \
|
||||
- ..\utils\pstruct \
|
||||
- ..\utils\h2xs \
|
||||
- ..\utils\perldoc \
|
||||
- ..\utils\perlivp \
|
||||
- ..\utils\libnetcfg \
|
||||
- ..\utils\enc2xs \
|
||||
- ..\utils\encguess \
|
||||
- ..\utils\encguess \
|
||||
- ..\utils\piconv \
|
||||
- ..\utils\corelist \
|
||||
- ..\utils\cpan \
|
||||
@@ -69,29 +47,117 @@ diff -aur 002/win32/makefile.mk 003/win32/makefile.mk
|
||||
- bin\pl2bat.pl \
|
||||
- bin\perlglob.pl \
|
||||
- bin\search.pl
|
||||
-
|
||||
.IF "$(CCTYPE)" == "GCC"
|
||||
+ bin\runperl.pl
|
||||
|
||||
CFGSH_TMPL = config.gc
|
||||
@@ -1393,7 +1356,6 @@
|
||||
copy ..\README.vos ..\pod\perlvos.pod
|
||||
copy ..\README.win32 ..\pod\perlwin32.pod
|
||||
copy ..\pod\perldelta.pod ..\pod\perl5220delta.pod
|
||||
- $(PERLEXE) -I..\lib $(PL2BAT) $(UTILS)
|
||||
$(MINIPERL) -I..\lib ..\autodoc.pl ..
|
||||
$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
|
||||
ifeq ($(CCTYPE),GCC)
|
||||
|
||||
@@ -1530,7 +1492,41 @@
|
||||
if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\*.*
|
||||
$(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*
|
||||
if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\*.*
|
||||
- $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.*
|
||||
@@ -1836,6 +1809,37 @@ installbare : utils ..\pod\perltoc.pod
|
||||
$(XCOPY) $(GLOBEXE) $(INST_BIN)\$(NULL)
|
||||
if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\$(NULL)
|
||||
$(XCOPY) "bin\*.bat" $(INST_SCRIPT)\$(NULL)
|
||||
+ $(XCOPY) ..\utils\h2ph $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\splain $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perlbug $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\pl2pm $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\h2xs $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perldoc $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perlivp $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\libnetcfg $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\enc2xs $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\encguess $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\piconv $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\corelist $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\cpan $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\xsubpp $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\pod2html $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\prove $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\ptar $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\ptardiff $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\ptargrep $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\zipdetails $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\shasum $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\instmodsh $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\json_pp $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\exetype.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\pl2bat.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\perlglob.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\search.pl $(INST_SCRIPT)
|
||||
+ rename $(INST_SCRIPT)\exetype.pl exetype
|
||||
+ rename $(INST_SCRIPT)\pl2bat.pl pl2bat
|
||||
+ rename $(INST_SCRIPT)\perlglob.pl perlglob
|
||||
+ rename $(INST_SCRIPT)\search.pl search
|
||||
|
||||
installhtml : doc
|
||||
$(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\$(NULL)
|
||||
diff --git 002/win32/bin/pl2bat.pl 003/win32/bin/pl2bat.pl
|
||||
index 443f590..f3e1e55 100644
|
||||
--- 002/win32/bin/pl2bat.pl
|
||||
+++ 003/win32/bin/pl2bat.pl
|
||||
@@ -1,5 +1,4 @@
|
||||
- eval 'exec perl -x -S "$0" ${1+"$@"}'
|
||||
- if 0; # In case running under some shell
|
||||
+#!perl -w
|
||||
|
||||
require 5;
|
||||
use Getopt::Std;
|
||||
diff --git 002/win32/bin/search.pl 003/win32/bin/search.pl
|
||||
index cd6e6ad..98cadb8 100644
|
||||
--- 002/win32/bin/search.pl
|
||||
+++ 003/win32/bin/search.pl
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/perl -w
|
||||
+#!perl -w
|
||||
'di';
|
||||
'ig00';
|
||||
##############################################################################
|
||||
diff --git 002/win32/makefile.mk 003/win32/makefile.mk
|
||||
index 56cf889..d1911e6 100644
|
||||
--- 002/win32/makefile.mk
|
||||
+++ 003/win32/makefile.mk
|
||||
@@ -897,34 +897,7 @@ PERLDEP = $(PERLIMPLIB)
|
||||
PL2BAT = bin\pl2bat.pl
|
||||
|
||||
UTILS = \
|
||||
- ..\utils\h2ph \
|
||||
- ..\utils\splain \
|
||||
- ..\utils\perlbug \
|
||||
- ..\utils\pl2pm \
|
||||
- ..\utils\h2xs \
|
||||
- ..\utils\perldoc \
|
||||
- ..\utils\perlivp \
|
||||
- ..\utils\libnetcfg \
|
||||
- ..\utils\enc2xs \
|
||||
- ..\utils\encguess \
|
||||
- ..\utils\piconv \
|
||||
- ..\utils\corelist \
|
||||
- ..\utils\cpan \
|
||||
- ..\utils\xsubpp \
|
||||
- ..\utils\pod2html \
|
||||
- ..\utils\prove \
|
||||
- ..\utils\ptar \
|
||||
- ..\utils\ptardiff \
|
||||
- ..\utils\ptargrep \
|
||||
- ..\utils\zipdetails \
|
||||
- ..\utils\shasum \
|
||||
- ..\utils\instmodsh \
|
||||
- ..\utils\json_pp \
|
||||
- bin\exetype.pl \
|
||||
- bin\runperl.pl \
|
||||
- bin\pl2bat.pl \
|
||||
- bin\perlglob.pl \
|
||||
- bin\search.pl
|
||||
+ bin\runperl.pl
|
||||
|
||||
.IF "$(CCTYPE)" == "GCC"
|
||||
|
||||
@@ -1752,6 +1725,37 @@ installbare : utils ..\pod\perltoc.pod
|
||||
$(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*
|
||||
if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\*.*
|
||||
$(XCOPY) bin\*.bat $(INST_SCRIPT)\*.*
|
||||
+ $(XCOPY) ..\utils\h2ph $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\splain $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perlbug $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\pl2pm $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\c2ph $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\pstruct $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\h2xs $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perldoc $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\perlivp $(INST_SCRIPT)
|
||||
@@ -112,12 +178,10 @@ diff -aur 002/win32/makefile.mk 003/win32/makefile.mk
|
||||
+ $(XCOPY) ..\utils\instmodsh $(INST_SCRIPT)
|
||||
+ $(XCOPY) ..\utils\json_pp $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\exetype.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\runperl.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\pl2bat.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\perlglob.pl $(INST_SCRIPT)
|
||||
+ $(XCOPY) bin\search.pl $(INST_SCRIPT)
|
||||
+ rename $(INST_SCRIPT)\exetype.pl exetype
|
||||
+ rename $(INST_SCRIPT)\runperl.pl runperl
|
||||
+ rename $(INST_SCRIPT)\pl2bat.pl pl2bat
|
||||
+ rename $(INST_SCRIPT)\perlglob.pl perlglob
|
||||
+ rename $(INST_SCRIPT)\search.pl search
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
diff -aur 003/cpan/CPAN/lib/CPAN/FirstTime.pm 004/cpan/CPAN/lib/CPAN/FirstTime.pm
|
||||
--- 003/cpan/CPAN/lib/CPAN/FirstTime.pm 2015-01-06 21:07:13.509562500 -0200
|
||||
+++ 004/cpan/CPAN/lib/CPAN/FirstTime.pm 2015-01-07 09:17:32.727227100 -0200
|
||||
@@ -1470,6 +1470,21 @@
|
||||
diff --git 003/cpan/CPAN/lib/CPAN/FirstTime.pm 004/cpan/CPAN/lib/CPAN/FirstTime.pm
|
||||
index 531c115..39fb1b1 100644
|
||||
--- 003/cpan/CPAN/lib/CPAN/FirstTime.pm
|
||||
+++ 004/cpan/CPAN/lib/CPAN/FirstTime.pm
|
||||
@@ -1492,6 +1492,22 @@ sub _init_external_progs {
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -10,12 +11,13 @@ diff -aur 003/cpan/CPAN/lib/CPAN/FirstTime.pm 004/cpan/CPAN/lib/CPAN/FirstTime.p
|
||||
+ # programs in the 64-bit shell.
|
||||
+
|
||||
+ if ($^O eq 'MSWin32') {
|
||||
+ if ($progname eq 'make') {
|
||||
+ # Make doesn't like the cmd.exe-friendly makefiles that are
|
||||
+ # created when installing modules, so let's stick to dmake.
|
||||
+ $CPAN::Config->{$progname} = 'dmake';
|
||||
+ } else {
|
||||
+ $CPAN::Config->{$progname} = $progname;
|
||||
+ $CPAN::Config->{$progname} = $CPAN::Config->{$progname}
|
||||
+ || $Config::Config{$progname}
|
||||
+ || $progname;
|
||||
+ if ($CPAN::Config->{$progname} eq 'make') {
|
||||
+ # (msys) make doesn't like the cmd.exe-friendly makefiles that are
|
||||
+ # created when installing modules, so stick to mingw32-make.
|
||||
+ $CPAN::Config->{$progname} = 'mingw32-make';
|
||||
+ }
|
||||
+ next;
|
||||
+ }
|
||||
|
||||
12
mingw-w64-perl/005-rename-cpan-home.patch
Normal file
12
mingw-w64-perl/005-rename-cpan-home.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff --git 004/cpan/CPAN/lib/CPAN/HandleConfig.pm 005/cpan/CPAN/lib/CPAN/HandleConfig.pm
|
||||
index c72439f..879d87b 100644
|
||||
--- 004/cpan/CPAN/lib/CPAN/HandleConfig.pm
|
||||
+++ 005/cpan/CPAN/lib/CPAN/HandleConfig.pm
|
||||
@@ -538,6 +538,7 @@ sub cpan_home_dir_candidates {
|
||||
push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE};
|
||||
|
||||
$CPAN::Config->{load_module_verbosity} = $old_v;
|
||||
+ # @@CPAN_HOME@@ This is a placeholder so we can reliably search and update $dotcpan
|
||||
my $dotcpan = $^O eq 'VMS' ? '_cpan' : '.cpan';
|
||||
@dirs = map { File::Spec->catdir($_, $dotcpan) } grep { defined } @dirs;
|
||||
return wantarray ? @dirs : $dirs[0];
|
||||
64
mingw-w64-perl/006-generate-manpages.patch
Normal file
64
mingw-w64-perl/006-generate-manpages.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
diff --git 005/installman 006/installman
|
||||
index 53117ab..5b85abd 100644
|
||||
--- 005/installman
|
||||
+++ 006/installman
|
||||
@@ -1,7 +1,9 @@
|
||||
#!./perl -w
|
||||
|
||||
BEGIN {
|
||||
- @INC = qw(lib);
|
||||
+ chdir '..' if !-d 'lib' and -d '../lib';
|
||||
+ @INC = 'lib';
|
||||
+ $ENV{PERL5LIB} = 'lib';
|
||||
|
||||
# This needs to be at BEGIN time, before any use of Config
|
||||
# install_lib itself loads and imports Config into main::
|
||||
@@ -146,7 +148,7 @@ sub pod2man {
|
||||
next;
|
||||
}
|
||||
|
||||
- if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin' || $^O eq 'cygwin') {
|
||||
+ if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin' || $^O eq 'cygwin' || $^O eq 'MSWin32' ) {
|
||||
$manpage =~ s#::#.#g;
|
||||
}
|
||||
my $tmp = "${mandir}/${manpage}.tmp";
|
||||
diff --git 005/win32/GNUmakefile 006/win32/GNUmakefile
|
||||
index 5781bc3..f31dfbe 100644
|
||||
--- 005/win32/GNUmakefile
|
||||
+++ 006/win32/GNUmakefile
|
||||
@@ -1800,7 +1800,14 @@ distclean: realclean
|
||||
-if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
|
||||
-del /f ..\t\test_state
|
||||
|
||||
-install : all installbare installhtml
|
||||
+install : all installbare installhtml installman
|
||||
+
|
||||
+install.bare : all installbare
|
||||
+
|
||||
+install.doc : all installhtml installman
|
||||
+
|
||||
+installman : ..\pod\perltoc.pod
|
||||
+ $(PERLEXE) ..\installman
|
||||
|
||||
installbare : utils ..\pod\perltoc.pod
|
||||
$(PERLEXE) ..\installperl
|
||||
diff --git 005/win32/makefile.mk 006/win32/makefile.mk
|
||||
index d1911e6..2305272 100644
|
||||
--- 005/win32/makefile.mk
|
||||
+++ 006/win32/makefile.mk
|
||||
@@ -1716,7 +1716,14 @@ distclean: realclean
|
||||
-if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
|
||||
-del /f ..\t\test_state
|
||||
|
||||
-install : all installbare installhtml
|
||||
+install : all installbare installhtml installman
|
||||
+
|
||||
+install.bare : all installbare
|
||||
+
|
||||
+install.doc : all installhtml installman
|
||||
+
|
||||
+installman : ..\pod\perltoc.pod
|
||||
+ $(PERLEXE) ..\installman
|
||||
|
||||
installbare : utils ..\pod\perltoc.pod
|
||||
$(PERLEXE) ..\installperl
|
||||
@@ -1,105 +1,394 @@
|
||||
# Maintainer: Alexey Pavlov <Alexpux@gmail.com>
|
||||
# Contributor: Renato Silva <br.renatosilva@gmail.com>
|
||||
# Contributor: Niklas Holm <jadedcyborg@gmail.com>
|
||||
|
||||
_realname=perl
|
||||
# Order is important, primary package first
|
||||
declare -rga _realname=(perl perl-doc)
|
||||
url='https://www.perl.org'
|
||||
pkgdesc='A highly capable, feature-rich programming language (mingw-w64)'
|
||||
license=(GPL1+ Artistic1)
|
||||
arch=(any)
|
||||
pkgver=5.22.0
|
||||
# If you are upgrading to a new version, please run setup_perl_dirs.sh on the
|
||||
# (patched) source tree to update hard-coded path values. If there are any
|
||||
# changes, update the exisitng patches or add a new one.
|
||||
pkgver=5.26.1
|
||||
pkgrel=1
|
||||
install="perl-${CARCH}.install"
|
||||
options=(staticlibs strip '!purge')
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
makedepends=(${MINGW_PACKAGE_PREFIX}-gcc)
|
||||
depends=(${MINGW_PACKAGE_PREFIX}-gcc-libs
|
||||
${MINGW_PACKAGE_PREFIX}-winpthreads
|
||||
${MINGW_PACKAGE_PREFIX}-dmake)
|
||||
options=(staticlibs strip '!purge' emptydirs)
|
||||
pkgbase="mingw-w64-${_realname}"
|
||||
pkgname=()
|
||||
declare -ga _pkgname=()
|
||||
# Associative array to map current pkgname (in package_x()) to realname
|
||||
declare -gA _pkgname_ht=()
|
||||
local _n _p
|
||||
for _n in "${_realname[@]}"; do
|
||||
_p="${MINGW_PACKAGE_PREFIX}-${_n}"
|
||||
_pkgname_ht+=(["${_p}"]="${_n}")
|
||||
_pkgname+=("${_p}")
|
||||
pkgname+=("${_p}")
|
||||
done
|
||||
readonly _pkgname _pkgname_ht
|
||||
makedepends=(
|
||||
${MINGW_PACKAGE_PREFIX}-gcc
|
||||
)
|
||||
depends=(
|
||||
${MINGW_PACKAGE_PREFIX}-gcc-libs
|
||||
${MINGW_PACKAGE_PREFIX}-winpthreads
|
||||
${MINGW_PACKAGE_PREFIX}-make
|
||||
)
|
||||
declare -rga _sources=(
|
||||
perlprofile.in
|
||||
perlinstall.in
|
||||
)
|
||||
if [[ -z "${SRCURI:-}" ]]; then
|
||||
declare -rga _patches=(
|
||||
001-fhs-directory-structure.patch
|
||||
002-relocate-html-documentation.patch
|
||||
003-replace-batch-scripts-with-bare-perl.patch
|
||||
004-fix-cpan-external-programs.patch
|
||||
005-rename-cpan-home.patch
|
||||
006-generate-manpages.patch
|
||||
)
|
||||
source=(
|
||||
"https://www.cpan.org/src/5.0/${_realname}-${pkgver}.tar.xz"
|
||||
"${_patches[@]}"
|
||||
"${_sources[@]}"
|
||||
)
|
||||
else
|
||||
source=(
|
||||
"${_realname}-${pkgver}::${SRCURI}"
|
||||
"${_sources[@]}"
|
||||
)
|
||||
SKIPCHECKSUMS=1
|
||||
fi
|
||||
## Populated by the patchprov script found at
|
||||
## https://github.com/Alexpux/MSYS2-packages/blob/master/perl/patchprov
|
||||
## and edited manually to add package prefix.
|
||||
provides=("${MINGW_PACKAGE_PREFIX}-perl-archive-tar=2.24"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-attribute-handlers=0.99"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-autodie=2.29"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-autoloader=5.74"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-autouse=1.11"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-b-debug=1.24"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-base=2.26"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-bignum=0.47"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-carp=1.42"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-compress-raw-bzip2=2.074"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-compress-raw-zlib=2.074"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-config-perl-v=0.28"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-constant=1.33"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-cpan-meta-requirements=2.140"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-cpan-meta-yaml=0.018"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-cpan-meta=2.150010"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-cpan=2.18"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-data-dumper=2.167"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-db_file=1.840"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-devel-ppport=3.35"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-devel-selfstubber=1.06"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-digest-md5=2.55"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-digest-sha=5.96"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-digest=1.17_01"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-dumpvalue=1.18"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-encode=2.88"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-encoding-warnings=0.13"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-env=1.04"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-experimental=0.016"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-exporter=5.72"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-cbuilder=0.280225"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-constant=0.23"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-install=2.04"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-makemaker=7.24"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-manifest=1.70"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-extutils-parsexs=3.34"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-file-fetch=0.52"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-file-path=2.12_01"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-file-temp=0.2304"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-filter-simple=0.93"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-filter-util-call=1.55"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-getopt-long=2.49"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-http-tiny=0.070"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-i18n-collate=1.02"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-i18n-langtags=0.42"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-if=0.0606"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-io-compress=2.074"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-io-socket-ip=0.38"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-io-zlib=1.10"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-io=1.38"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-ipc-cmd=0.96"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-ipc-sysv=2.07"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-json-pp=2.27400_02"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-lib=0.64"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-libnet=3.10"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-locale-codes=3.42"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-locale-maketext-simple=0.21_01"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-locale-maketext=1.28"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-math-bigint-fastcalc=0.5005"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-math-bigint=1.999806"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-math-bigrat=0.2611"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-math-complex=1.5901"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-memoize=1.03_01"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-mime-base64=3.15"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-module-corelist=5.20170922_26"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-module-load-conditional=0.68"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-module-load=0.32"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-module-loaded=0.08"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-module-metadata=1.000033"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-net-ping=2.55"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-params-check=0.38"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-parent=0.236"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pathtools=3.67"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-perl-ostype=1.010"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-perlfaq=5.021011"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-perlio-via-quotedprint=0.08"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-checker=1.73"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-escapes=1.07"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-parser=1.63"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-perldoc=3.28"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-simple=3.35"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-pod-usage=1.69"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-podlators=5.006"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-safe=2.40"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-scalar-list-utils=1.46_02"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-search-dict=1.07"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-selfloader=1.23"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-socket=2.020_03"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-storable=2.62"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-sys-syslog=0.35"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-term-ansicolor=4.06"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-term-cap=1.17"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-term-complete=1.403"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-term-readline=1.16"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-test-harness=3.38"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-test-simple=1.302073"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-test=1.30"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-text-abbrev=1.02"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-text-balanced=2.03"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-text-parsewords=3.30"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-text-tabs=2013.0523"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-thread-queue=3.12"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-thread-semaphore=2.13"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-threads-shared=1.56"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-threads=2.15"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-tie-file=1.02"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-tie-refhash=1.39"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-time-hires=1.9741"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-time-local=1.25"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-time-piece=1.31"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-unicode-collate=1.19"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-unicode-normalize=1.25"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-version=0.9917"
|
||||
"${MINGW_PACKAGE_PREFIX}-perl-xsloader=0.27")
|
||||
## End of patchprov modifications
|
||||
|
||||
source=("https://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2"
|
||||
001-fhs-directory-structure.patch
|
||||
002-relocate-html-documentation.patch
|
||||
003-replace-batch-scripts-with-bare-perl.patch
|
||||
004-fix-cpan-external-programs.patch)
|
||||
## Run updpkgsums to update
|
||||
sha256sums=('fe8208133e73e47afc3251c08d2c21c5a60160165a8ab8b669c43a420e4ec680'
|
||||
'e08491b314a125e8b6aad211eed18e7fde1d2db9a6aea1b4a77d837c3efbc12a'
|
||||
'ccfc7c417e109790046e41cd425e09c91214f72e4cea7138ffb69bb8cb9eb313'
|
||||
'726cabf22ec69923bf2253ff7d8f504b0698054da909a812d1d6716ce4d1320b'
|
||||
'33bf80656a00e050f25da056eef69781701ecaf2dc4608b0049fefc938decca5'
|
||||
'b6055ad4e61133bf819cb50a36bac8a848c8649bcca70e4d0e48da60edd200e5'
|
||||
'611427bc16f389000c5d030db7351507e36583c8ae9f1a3d20a019ffbe96cdc8'
|
||||
'54d8a5fc218031ee1354c8780a7af5de64f712ad63abdf029b09d33b664d6b0f'
|
||||
'ff2bbc16a26d0583f344a8c88a055a5396c8b0d15e2498169c1ff996ca0d74ae')
|
||||
|
||||
sha256sums=('3689fdb519133d039f49e12834764ff4c1de8f8d925dea44a952ca110d0ac9f7'
|
||||
'03f11be186d8a3cba4a5cc8d30afd2026bcbb30c1537e69bef0facc30af66801'
|
||||
'5c3988d3b856aedb52eeccc06a403bb3b99698615cc30a7855a728f010a98a1e'
|
||||
'0ac16aff60cbe657b9465e05402f48700e694d5aeab8fa3cb84065b7c5a1c1f8'
|
||||
'8e958e32df2bdac25c3e596a4492539e934c85ca06e921ebf2f929b7614dec7b')
|
||||
declare -rg _build="build-${CARCH}-${_realname}-${pkgver}"
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${pkgver}"
|
||||
attrib.exe -r //s
|
||||
patch -p1 -i "${srcdir}"/001-fhs-directory-structure.patch
|
||||
patch -p1 -i "${srcdir}"/002-relocate-html-documentation.patch
|
||||
patch -p1 -i "${srcdir}"/003-replace-batch-scripts-with-bare-perl.patch
|
||||
patch -p1 -i "${srcdir}"/004-fix-cpan-external-programs.patch
|
||||
local p
|
||||
for p in "${_patches[@]}"; do
|
||||
msg2 "Applying %s" "$p"
|
||||
patch -p1 -i "${srcdir}"/"$p"
|
||||
done
|
||||
}
|
||||
|
||||
_build() {
|
||||
local win64
|
||||
unset SHELL
|
||||
cd "${srcdir}/build-${CARCH}-${_realname}-${pkgver}/win32"
|
||||
[[ "$(uname --machine)" = x86_64 && "${CARCH}" = i686 ]] && win64="WIN64=undef"
|
||||
PATH="${MINGW_PREFIX}/bin:${SYSTEMROOT}/system32:${SYSTEMROOT}:${PATH}" dmake \
|
||||
CCHOME="$(cygpath -w "${MINGW_PREFIX}")" INST_TOP="$(cygpath -w "${pkgdir}${MINGW_PREFIX}")" ${win64} ${_target}
|
||||
_make() {
|
||||
# Please read README.win32 in the source package.
|
||||
# Using pkgdirbase here is not supported but required since we need the
|
||||
# package directory at build time, something which makepkg doesn't consider.
|
||||
local prefix="$(cygpath -w "${pkgdirbase}/${_pkgname[0]}${MINGW_PREFIX}")"
|
||||
local docprefix="$(cygpath -w "${pkgdirbase}/${_pkgname[1]}${MINGW_PREFIX}")"
|
||||
local cchome="$(cygpath -w "${MINGW_PREFIX}")"
|
||||
local sysroot="$(cygpath -u "${SYSTEMROOT}")"
|
||||
local -i jobs="${JOBS:-$(nproc)}"
|
||||
# README.win32 recommends bulding under Windows' default shell (cmd.exe)
|
||||
# and win32/makefile.mk recommends setting SHELL to it as well
|
||||
local cmd="$(cygpath -u "${COMSPEC}")"
|
||||
local cmdline=(
|
||||
"${cmd}" //C mingw32-make
|
||||
-j"${jobs}"
|
||||
TEST_JOBS="${jobs}"
|
||||
CCTYPE=GCC
|
||||
CCHOME="${cchome}"
|
||||
INST_DRV="${prefix:0:2}"
|
||||
INST_TOP="${prefix}"
|
||||
INST_DOC="${docprefix}"
|
||||
SHELL="${COMSPEC}"
|
||||
PLMAKE=mingw32-make
|
||||
)
|
||||
if [[ "$(uname --machine)" == "x86_64" && "${CARCH}" == "i686" ]]; then
|
||||
cmdline+=(WIN64=undef)
|
||||
fi
|
||||
cd "${srcdir}/${_build}/win32"
|
||||
msg2 "Running \"%s\"" "${cmdline[*]}$( (($#)) && echo -n " $*")"
|
||||
# Setting PATH here is not strictly necessary but it might make compilation
|
||||
# slightly faster to have the mostly used commands early on the PATH and
|
||||
# avoids interference with other programs on the PATH during tests.
|
||||
PATH="${sysroot}/system32:${sysroot}:${MINGW_PREFIX}/bin" "${cmdline[@]}" "$@"
|
||||
}
|
||||
|
||||
build() {
|
||||
msg2 "Synchronizing build directory"
|
||||
rsync --recursive --times "${srcdir}/${_realname}-${pkgver}"/* "${srcdir}/build-${CARCH}-${_realname}-${pkgver}"
|
||||
_build
|
||||
if [[ -e "${srcdir}/${_build}" ]]; then
|
||||
local -i i=1
|
||||
while [[ -e "${srcdir}/${_build}~${i}" ]]; do ((++i)); done
|
||||
mv -T "${srcdir}/${_build}" "${srcdir}/${_build}~${i}"
|
||||
fi
|
||||
mv -T "${srcdir}/${_realname}-${pkgver}" "${srcdir}/${_build}"
|
||||
local postfix
|
||||
[[ "${CARCH}" == "x86_64" ]] && postfix="w64" || postfix="w32"
|
||||
sed -ri "/@@CPAN_HOME@@/{N;s/([\._])cpan/\1cpan-${postfix}/g;D}" \
|
||||
"${srcdir}/${_build}/cpan/CPAN/lib/CPAN/HandleConfig.pm"
|
||||
_make
|
||||
}
|
||||
|
||||
package() {
|
||||
_target=install _build
|
||||
check() {
|
||||
# Some tests will fail, this is expected on Windows. Still, it might be good
|
||||
# to have this information in the build logs.
|
||||
_make test || true
|
||||
}
|
||||
|
||||
eval "package_${_pkgname[0]}() { _package_bare; }" # perl
|
||||
eval "package_${_pkgname[1]}() { _package_doc; }" # perl-doc
|
||||
|
||||
_package_common() {
|
||||
install="${pkgname}.install"
|
||||
|
||||
cd "${pkgdir}${MINGW_PREFIX}"
|
||||
mkdir -p lib/perl5/vendor_perl
|
||||
attrib.exe -r //s
|
||||
|
||||
# Licenses
|
||||
install -Dm644 "${srcdir}/${_realname}-${pkgver}/README" share/licenses/${_realname}/README
|
||||
install -Dm644 "${srcdir}/${_realname}-${pkgver}/Copying" share/licenses/${_realname}/Copying
|
||||
install -Dm644 "${srcdir}/${_realname}-${pkgver}/Artistic" share/licenses/${_realname}/Artistic
|
||||
msg2 "Cleaning up"
|
||||
find -O3 . \( -type f \( \
|
||||
-name '.packlist' -o -name 'perllocal.pod' -o -name '*.tmp' \
|
||||
-o -name '*.pod' ! -path '*/pods/*' \
|
||||
\) -o -type d -empty \) -delete
|
||||
|
||||
# Path relocation. This is done by replacing hard-coded paths with relocate
|
||||
# patterns that will be resolved on package installation. The HTML
|
||||
# documentation is handled with a patch, the rest is handled below.
|
||||
# patterns that will be resolved on package installation.
|
||||
|
||||
local root_pattern
|
||||
local root_pattern_double
|
||||
local pkgdir_pattern
|
||||
local pkgdir_pattern_double
|
||||
|
||||
root_pattern=$(cygpath -w /)
|
||||
root_pattern="${root_pattern%\\}"
|
||||
root_pattern="${root_pattern//\\/\\\\}"
|
||||
root_pattern_double="${root_pattern//\\\\/\\\\\\\\}"
|
||||
pkgdir_pattern=$(cygpath -w "${pkgdir}")
|
||||
pkgdir_pattern="${pkgdir_pattern//\\/\\\\}"
|
||||
pkgdir_pattern_double="${pkgdir_pattern//\\\\/\\\\\\\\}"
|
||||
local grep_args=() sed_args=() paths=() single= double= html= path=
|
||||
mapfile -t -d $'\0' paths < <(printf "${pkgdirbase}/%s/\0" "${_pkgname[@]}")
|
||||
for path in "${paths[@]}" /; do
|
||||
single="$(cygpath -w "${path}")"
|
||||
single="${single//\\/\\\\}" # \ -> \\
|
||||
double="${single//\\\\/\\\\\\\\}" # \\ -> \\\\
|
||||
html="${single//\\\\/\\\/}" # \\ -> \/
|
||||
grep_args+=(
|
||||
-e "${html}"
|
||||
-e "${double}"
|
||||
-e "${single}"
|
||||
)
|
||||
sed_args+=(
|
||||
-e "s/${html}/@PERL_RELOCATE_HTML@\\//g"
|
||||
-e "s/${double}/@PERL_RELOCATE_DOUBLE@\\\\\\\\/g"
|
||||
-e "s/${single}/@PERL_RELOCATE@\\\\/g"
|
||||
)
|
||||
done
|
||||
|
||||
msg2 "Creating relocate patterns for:"
|
||||
printf " ${root_pattern}\n"
|
||||
printf " ${root_pattern_double}\n"
|
||||
printf " ${pkgdir_pattern}\n"
|
||||
printf " ${pkgdir_pattern_double}\n"
|
||||
|
||||
sed -i "s/${pkgdir_pattern}/@PERL_RELOCATE@/g" lib/perl5/core_perl/.packlist
|
||||
sed -i "s/${pkgdir_pattern_double}/@PERL_RELOCATE_DOUBLE@/g" lib/perl5/core_perl/CORE/config.h
|
||||
sed -i "s/${root_pattern}/@PERL_RELOCATE@/g" lib/perl5/core_perl/Config.pm
|
||||
sed -i "s/${root_pattern_double}/@PERL_RELOCATE_DOUBLE@/g" lib/perl5/core_perl/Config.pm
|
||||
sed -i "s/${pkgdir_pattern_double}/@PERL_RELOCATE_DOUBLE@/g" lib/perl5/core_perl/Config.pm
|
||||
sed -i "s/${root_pattern}/@PERL_RELOCATE@/g" lib/perl5/core_perl/Config_heavy.pl
|
||||
sed -i "s/${root_pattern_double}/@PERL_RELOCATE_DOUBLE@/g" lib/perl5/core_perl/Config_heavy.pl
|
||||
sed -i "s/${pkgdir_pattern}/@PERL_RELOCATE@/g" lib/perl5/core_perl/Config_heavy.pl
|
||||
|
||||
for script in \
|
||||
c2ph corelist cpan enc2xs encguess exetype h2ph h2xs instmodsh json_pp libnetcfg perlbug \
|
||||
perldoc perlglob perlivp perlthanks piconv pl2bat pl2pm pod2html pod2man pod2text pod2usage podchecker \
|
||||
podselect prove pstruct ptar ptardiff ptargrep runperl search shasum splain xsubpp zipdetails ; do
|
||||
sed -i "s/${pkgdir_pattern}/@PERL_RELOCATE@/g" bin/${script}
|
||||
local -i i
|
||||
for ((i=0; i<${#grep_args[@]}; ++i)); do
|
||||
if ((i%2 == 1)); then
|
||||
plain "%b" "${grep_args[i]}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Attach list of files containing relocate patterns for use in post-install script.
|
||||
# Update perl-*.install if changing the filename.
|
||||
local relocate_list="./share/${_pkgname_ht["${pkgname}"]}/.relocate_list"
|
||||
install -Dvm644 <(grep -rilZ "${grep_args[@]}" . ) "${relocate_list}"
|
||||
|
||||
xargs -0 -a "${relocate_list}" sed -i "${sed_args[@]}"
|
||||
|
||||
install -Dvm644 <(sed \
|
||||
-e "s/@PREFIX@/${MINGW_PREFIX//\//\\\/}/g" \
|
||||
-e "s/@FILELIST@/${relocate_list//\//\\\/}/g" \
|
||||
-e "/@REM@/d" \
|
||||
"${srcdir}"/perlinstall.in) \
|
||||
"${startdir}/${install}"
|
||||
}
|
||||
|
||||
_package_doc() {
|
||||
pkgdesc="Perl manpages and html documentation (mingw-64)"
|
||||
optdepends=("${_pkgname[0]}")
|
||||
provides=()
|
||||
_make install.doc
|
||||
_package_common
|
||||
}
|
||||
|
||||
_package_bare() {
|
||||
optdepends=("${_pkgname[1]}")
|
||||
_make install.bare
|
||||
_package_common
|
||||
|
||||
msg2 "Post-install configuration"
|
||||
local config_heavy="$(find . -name Config_heavy.pl -print -quit)"
|
||||
|
||||
### Perl Settings ###
|
||||
# Change man page extensions for site and vendor module builds.
|
||||
sed -i -e '/^man1ext=/ s/=.*/='"'"'1p'"'"'/' \
|
||||
-e '/^man3ext=/ s/=.*/='"'"'3pm'"'"'/' \
|
||||
"${config_heavy}"
|
||||
|
||||
msg2 "Getting PATH components"
|
||||
local skip_paths=("${MINGW_PREFIX}/bin")
|
||||
local path_arr=()
|
||||
# Parse the configuration for paths that should be added to PATH
|
||||
# The sorting is a bit hacky...
|
||||
local p
|
||||
while IFS='' read -r p; do
|
||||
p="${p//\\/\/}"
|
||||
if [[ -n "${p}" \
|
||||
&& ! "$(printf '%s\n' "${skip_paths[@]}" "${path_arr[@]}")" \
|
||||
=~ (^|$'\n')"${p}"($'\n'|$) ]]; then
|
||||
path_arr+=("${p}")
|
||||
fi
|
||||
done < <(\
|
||||
sed -nr \
|
||||
-e "s/^installsitebin='@PERL_.*?@(.*)'/1\\t\\1/p" \
|
||||
-e "s/^installsitescript='@PERL_.*?@(.*)'/2\\t\\1/p" \
|
||||
-e "s/^installvendorbin='@PERL_.*?@(.*)'/3\\t\\1/p" \
|
||||
-e "s/^installvendorscript='@PERL_.*?@(.*)'/4\\t\\1/p" \
|
||||
-e "s/^installbin='@PERL_.*?@(.*)'/5\\t\\1/p" \
|
||||
-e "s/^installscript='@PERL_.*?@(.*)'/6\\t\\1/p" \
|
||||
"${config_heavy}" \
|
||||
| sort -n -k1,1 | cut -f2- | uniq
|
||||
)
|
||||
local path="$(IFS=':'; echo "${path_arr[*]}")"
|
||||
|
||||
msg2 "Adding extra files"
|
||||
local profile="/etc/profile.d/z-${_realname}-${CARCH}.sh"
|
||||
install -Dvm644 <(sed \
|
||||
-e "/^\s*local\s\+mypath=/ s/=.*/=\"${path//\//\\\/}\"/" \
|
||||
-e "s/@PREFIX@/${MINGW_PREFIX//\//\\\/}/g" \
|
||||
-e "s/@FILENAME@/${profile//\//\\\/}/g" \
|
||||
-e "/@REM@/d" \
|
||||
"${srcdir}"/perlprofile.in) \
|
||||
"${pkgdir}${profile}"
|
||||
|
||||
# Link perl executable to main bin directory
|
||||
local perldir="$(dirname "$(find ./bin -name "perl.exe" -print -quit)")"
|
||||
if [[ "${perldir}" != ./bin ]]; then
|
||||
ln -vt ./bin/ "${perldir}/perl"{.exe,5*.dll}
|
||||
fi
|
||||
|
||||
# Add these so we have them on PATH before installing the first package
|
||||
sed -nr "s/^install(vendor|site)(bin|script|lib|arch|(man|html)[13]dir)='@PERL_.*?@(.*)'/\\4/p" "${config_heavy}" \
|
||||
| sort | uniq | while IFS='' read -r p; do p="${pkgdir}${p//\\/\/}"; [[ -e "${p}" ]] || echo "${p}"; done \
|
||||
| xargs -r install -dvm755
|
||||
|
||||
# Licenses
|
||||
install -Dvm644 -t "share/licenses/${_realname}" "${srcdir}/${_build}/"{README,Copying,Artistic}
|
||||
|
||||
}
|
||||
|
||||
# vim: set ts=4 sw=4 et ai:
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
_relocating() {
|
||||
printf "%6s"
|
||||
printf "relocating ${1}\n"
|
||||
}
|
||||
|
||||
post_install() {
|
||||
basedir="$(pwd -W)"
|
||||
basedir="${basedir%/}"
|
||||
basedir="${basedir//\//\\\\}"
|
||||
basedir_double="${basedir//\\\\/\\\\\\\\}"
|
||||
basedir_html="${basedir//\\\\/\\\/}"
|
||||
|
||||
_relocating configuration
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw32/lib/perl5/core_perl/.packlist
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw32/lib/perl5/core_perl/Config_heavy.pl
|
||||
sed -i "s/@PERL_RELOCATE_DOUBLE@/${basedir_double}/g" /mingw32/lib/perl5/core_perl/Config.pm
|
||||
sed -i "s/@PERL_RELOCATE_DOUBLE@/${basedir_double}/g" /mingw32/lib/perl5/core_perl/CORE/config.h
|
||||
|
||||
_relocating scripts
|
||||
for script in c2ph corelist cpan enc2xs encguess exetype h2ph h2xs instmodsh json_pp libnetcfg perlbug \
|
||||
perldoc perlglob perlivp perlthanks piconv pl2bat pl2pm pod2html pod2man pod2text pod2usage podchecker podselect \
|
||||
prove pstruct ptar ptardiff ptargrep runperl search shasum splain xsubpp zipdetails ; do
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw32/bin/${script}
|
||||
done
|
||||
|
||||
_relocating documentation
|
||||
find /mingw32/share/doc/perl5 -type f -name '*.html' -exec \
|
||||
sed -i "s/@PERL_RELOCATE_HTML@/file:\\/\\/\\/${basedir_html}\\/mingw32/g" '{}' \;
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
_relocating() {
|
||||
printf "%6s"
|
||||
printf "relocating ${1}\n"
|
||||
}
|
||||
|
||||
post_install() {
|
||||
basedir="$(pwd -W)"
|
||||
basedir="${basedir%/}"
|
||||
basedir="${basedir//\//\\\\}"
|
||||
basedir_double="${basedir//\\\\/\\\\\\\\}"
|
||||
basedir_html="${basedir//\\\\/\\\/}"
|
||||
|
||||
_relocating configuration
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw64/lib/perl5/core_perl/.packlist
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw64/lib/perl5/core_perl/Config_heavy.pl
|
||||
sed -i "s/@PERL_RELOCATE_DOUBLE@/${basedir_double}/g" /mingw64/lib/perl5/core_perl/Config.pm
|
||||
sed -i "s/@PERL_RELOCATE_DOUBLE@/${basedir_double}/g" /mingw64/lib/perl5/core_perl/CORE/config.h
|
||||
|
||||
_relocating scripts
|
||||
for script in c2ph corelist cpan enc2xs encguess exetype h2ph h2xs instmodsh json_pp libnetcfg perlbug \
|
||||
perldoc perlglob perlivp perlthanks piconv pl2bat pl2pm pod2html pod2man pod2text pod2usage podchecker podselect \
|
||||
prove pstruct ptar ptardiff ptargrep runperl search shasum splain xsubpp zipdetails ; do
|
||||
sed -i "s/@PERL_RELOCATE@/${basedir}/g" /mingw64/bin/${script}
|
||||
done
|
||||
|
||||
_relocating documentation
|
||||
find /mingw64/share/doc/perl5 -type f -name '*.html' -exec \
|
||||
sed -i "s/@PERL_RELOCATE_HTML@/file:\\/\\/\\/${basedir_html}\\/mingw64/g" '{}' \;
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
||||
22
mingw-w64-perl/perlinstall.in
Normal file
22
mingw-w64-perl/perlinstall.in
Normal file
@@ -0,0 +1,22 @@
|
||||
post_install() {
|
||||
basedir="$(pwd -W)"
|
||||
basedir="${basedir%/}"
|
||||
basedir="${basedir//\//\\\\}"
|
||||
basedir_double="${basedir//\\\\/\\\\\\\\}"
|
||||
basedir_html="${basedir//\\\\/\\\/}"
|
||||
|
||||
# PREFIX is an absolute path, i.e. /mingw64 @REM@
|
||||
cd "@PREFIX@"
|
||||
printf "%s Replacing perl relocation patterns\n" "->"
|
||||
# FILELIST (and its contents) is relative to PREFIX @REM@
|
||||
xargs -0 -r -a "@FILELIST@" sed -i \
|
||||
-e "s/@PERL_RELOCATE_DOUBLE@/${basedir_double}/g" \
|
||||
-e "s/@PERL_RELOCATE@/${basedir}/g" \
|
||||
-e "s/@PERL_RELOCATE_HTML@/\\/\\/${basedir_html}/g"
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
||||
|
||||
# vim: set ts=4 sw=4 et ai syn=sh:
|
||||
32
mingw-w64-perl/perlprofile.in
Normal file
32
mingw-w64-perl/perlprofile.in
Normal file
@@ -0,0 +1,32 @@
|
||||
# This script is meant to be installed in /etc/profile.d and sourced
|
||||
# *after* any PATH modifications done by MSYS Perl.
|
||||
# Lines marked @REM@ are removed when generating the actual profile script
|
||||
|
||||
[ "${MSYSTEM_PREFIX}" != "@PREFIX@" ] && return 0
|
||||
|
||||
if [ "$(echo -n "$PATH" | wc -l)" -gt 0 ]; then
|
||||
echo "@FILENAME@: ERROR: PATH contains line break, skipping PATH setup" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
modify_path() {
|
||||
# @REM@ mypath is determined in package() based on the built configuration
|
||||
local mypath=""
|
||||
|
||||
# Remove MSYS perl modules from PATH to avoid conflicts
|
||||
local newpath="$(echo "${PATH}" \
|
||||
| sed 's/:/\n/g' \
|
||||
| grep -v '/usr/bin/.*_perl' \
|
||||
| if [ -n "${mypath}" ]; then sed '/^\@PREFIX@\/bin$/a '"${mypath}"; else cat; fi \
|
||||
| paste -s -d : - \
|
||||
)"
|
||||
[ -z "${newpath}" ] && return 1
|
||||
|
||||
PATH="${newpath}"
|
||||
}
|
||||
|
||||
modify_path
|
||||
|
||||
unset modify_path
|
||||
|
||||
# vim: set ts=4 sw=4 et ai syn=sh:
|
||||
172
mingw-w64-perl/setup_perl_dirs.sh
Normal file
172
mingw-w64-perl/setup_perl_dirs.sh
Normal file
@@ -0,0 +1,172 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Helper script to configure directories for binaries, scripts, libraries etc.
|
||||
# Uses sed to make the necessary changes in the source. Comes with a couple of
|
||||
# caveats: Compared to posix, the windows-version is a bit crippled in terms of
|
||||
# flexibility.
|
||||
#
|
||||
# 1. Shared and arch-dependant libs must reside in the same directory, because
|
||||
# of how Windows loads DLL's.
|
||||
# 2. It's not enough to change config.gc; scripts get their values from this but
|
||||
# binaries are compiled with hardcoded paths configured in win32/win32.c.
|
||||
# Because... [reasons].
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o errtrace
|
||||
set -o pipefail
|
||||
|
||||
progpath="$(realpath "$0")"
|
||||
progdir="${progpath%/*}"
|
||||
progname="${progpath##*/}"
|
||||
|
||||
usage() {
|
||||
echo "Usage: ${progname} [path to src tree root]"
|
||||
}
|
||||
|
||||
if [[ -z "${1:-}" || ! -d "${1}/win32" ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
srcdir="${1}"
|
||||
|
||||
bin='\\bin'
|
||||
scr='\\bin'
|
||||
priv='\\lib\\perl5' # shared libs
|
||||
arch='\\lib\\perl5' # arch-dependant libs
|
||||
html='\\share\\doc\\perl5'
|
||||
core='\\core_perl'
|
||||
site='\\site_perl'
|
||||
vend='\\vendor_perl'
|
||||
|
||||
# If one want, for example perl.exe in $PREFIX/bin, set bin_core to "${bin}"
|
||||
bin_core="${bin}"
|
||||
bin_site="${bin}${site}"
|
||||
bin_vend="${bin}${vend}"
|
||||
scr_core="${scr}${core}"
|
||||
scr_site="${scr}${site}"
|
||||
scr_vend="${scr}${vend}"
|
||||
priv_core="${priv}${core}"
|
||||
priv_site="${priv}${site}"
|
||||
priv_vend="${priv}${vend}"
|
||||
arch_core="${arch}${core}"
|
||||
arch_site="${arch}${site}"
|
||||
arch_vend="${arch}${vend}"
|
||||
html_core="${html}${core}"
|
||||
html_site="${html}${site}"
|
||||
html_vend="${html}${vend}"
|
||||
|
||||
declare -i \
|
||||
CORE_VER=0 \
|
||||
SITE_VER=1 \
|
||||
VEND_VER=0 \
|
||||
ARCH=0
|
||||
|
||||
### ###
|
||||
### No need to change anything below this line ###
|
||||
### ###
|
||||
|
||||
null=''
|
||||
|
||||
path() {
|
||||
if (( $3 == 0 )); then
|
||||
A='~'
|
||||
B='~'
|
||||
elif (( $3 == 1 )); then
|
||||
A='$('
|
||||
B=')'
|
||||
fi
|
||||
if [[ "${!1}" != *perl* ]]; then
|
||||
P='_PERL'
|
||||
else
|
||||
P=''
|
||||
fi
|
||||
printf "%s%s%s%s" \
|
||||
"$([[ "${4:-}" == "doc" ]] && printf "${A}INST_DOC${B}" || printf "${A}INST_TOP${B}")" \
|
||||
"${!1}" \
|
||||
"$(if (( $2 >= 1 )); then
|
||||
if [[ "$1" == *site ]]; then printf "${A}INST_SITE_VER${P}${B}"
|
||||
elif [[ "$1" == *vend ]]; then printf "${A}INST_VEND_VER${P}${B}"
|
||||
else printf "${A}INST_CORE_VER${P}${B}"
|
||||
fi
|
||||
fi)" \
|
||||
"$( (( $2 >= 2 )) && printf "${A}INST_ARCH${B}")"
|
||||
}
|
||||
|
||||
sed -i -E \
|
||||
-e "/^d_((priv|arch)lib|(site|vendor)(arch|lib|bin|script))=/ s/=.*/='define'/" \
|
||||
-e "/^(install|site|vendor)?prefix(exp)?=/ s/=.*/='~INST_TOP~'/" \
|
||||
-e "/^libpth=/ s/=.*/=''/" \
|
||||
-e "/^installstyle=/ s/=.*/='lib\/perl5'/" \
|
||||
-e "/^perlpath=/ s/=.*/='$(path bin_core 2 0)"'\\perl.exe'"'/" \
|
||||
-e "/^(install)?script(dir)?(exp)?=/ s/=.*/='$(path scr_core 1 0)'/" \
|
||||
-e "/^(install)?bin(exp)?=/ s/=.*/='$(path bin_core 2 0)'/" \
|
||||
-e "/^(install)?sitescript(exp)?=/ s/=.*/='$(path scr_site 1 0)'/" \
|
||||
-e "/^(install)?sitebin(exp)?=/ s/=.*/='$(path bin_site 2 0)'/" \
|
||||
-e "/^(install)?vendorscript(exp)?=/ s/=.*/='$(path scr_vend 1 0)'/" \
|
||||
-e "/^(install)?vendorbin(exp)?=/ s/=.*/='$(path bin_vend 2 0)'/" \
|
||||
-e "/^(install)?privlib(exp)?=/ s/=.*/='$(path priv_core 1 0)'/" \
|
||||
-e "/^(install)?archlib(exp)?=/ s/=.*/='$(path arch_core 2 0)'/" \
|
||||
-e "/^(install)?sitelib_stem=/ s/=.*/='$(path priv_site 0 0)'/" \
|
||||
-e "/^(install)?sitelib(exp)?=/ s/=.*/='$(path priv_site 1 0)'/" \
|
||||
-e "/^(install)?sitearch(exp)?=/ s/=.*/='$(path arch_site 2 0)'/" \
|
||||
-e "/^(install)?vendorlib_stem=/ s/=.*/='$(path priv_vend 0 0)'/" \
|
||||
-e "/^(install)?vendorlib(exp)?=/ s/=.*/='$(path priv_vend 1 0)'/" \
|
||||
-e "/^(install)?vendorarch(exp)?=/ s/=.*/='$(path arch_vend 2 0)'/" \
|
||||
-e "/^(install)?htmldir(exp)?=/ s/=.*/='$(path html 1 0 doc)'/" \
|
||||
-e "/^(install)?htmlhelpdir(exp)?=/ s/=.*/='$(path html 1 0 doc)"'\\htmlhelp'"'/" \
|
||||
-e "/^(install)?html[13]dir(exp)?=/ s/=.*/='$(path html_core 1 0 doc)'/" \
|
||||
-e "/^(install)?sitehtml[13]dir(exp)?=/ s/=.*/='$(path html_site 1 0 doc)'/" \
|
||||
-e "/^(install)?vendorhtml[13]dir(exp)?=/ s/=.*/='$(path html_vend 1 0 doc)'/" \
|
||||
-e "/^(install)?(vendor)?man1dir(exp)?=/ s/=.*/='$(path null 0 0 doc)"'\\share\\man\\man1'"'/" \
|
||||
-e "/^(install)?(vendor)?man3dir(exp)?=/ s/=.*/='$(path null 0 0 doc)"'\\share\\man\\man3'"'/" \
|
||||
-e "/^(install)?siteman1dir(exp)?=/ s/=.*/='$(path null 0 0 doc)"'\\local\\man\\man1'"'/" \
|
||||
-e "/^(install)?siteman3dir(exp)?=/ s/=.*/='$(path null 0 0 doc)"'\\local\\man\\man3'"'/" \
|
||||
-e "/^man1ext=/ s/=.*/='1perl'/" \
|
||||
-e "/^man3ext=/ s/=.*/='3perl'/" \
|
||||
-e "/^usevendorprefix=/ s/=.*/='define'/" \
|
||||
-e "/^otherlibdirs=/ s/=.*/=' '/" \
|
||||
-e "/^d_perl_otherlibdirs=/ s/=.*/='undef'/" \
|
||||
-e "/^inc_version_list=/ s/=.*/=' '/" \
|
||||
-e "/^inc_version_list_init=/ s/=.*/='0'/" \
|
||||
-e "/^d_inc_version_list=/ s/=.*/='undef'/" \
|
||||
-e "/^cf_by=/ s/=.*/=' '/" \
|
||||
-e "/^cf_email=/ s/=.*/=' '/" \
|
||||
-e "/^perladmin=/ s/=.*/=' '/" \
|
||||
"${srcdir}"/win32/config.gc
|
||||
|
||||
# We have no (site|vendor)man(1|3)ext, to get the same effect, change man(1|3)ext after make install
|
||||
|
||||
sed -i -E \
|
||||
-e "/^INST_SCRIPT\s+=/ s/=.*/= $(path scr_core 1 1)/" \
|
||||
-e "/^INST_BIN\s+=/ s/=.*/= $(path bin_core 2 1)/" \
|
||||
-e "/^INST_LIB\s+=/ s/=.*/= $(path priv_core 1 1)/" \
|
||||
-e "/^INST_ARCHLIB\s+=/ s/=.*/= $(path arch_core 2 1)/" \
|
||||
-e "/^INST_HTML\s+=/ s/=.*/= $(path html 1 1 doc)/" \
|
||||
-e "s/^#?(INST_VER\s)/\1/" \
|
||||
-e "s/^#?(INST_CORE_VER\s)/$( ((CORE_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_SITE_VER\s)/$( ((SITE_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_VEND_VER\s)/$( ((VEND_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_CORE_VER_PERL\s)/$( ((CORE_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_SITE_VER_PERL\s)/$( ((SITE_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_VEND_VER_PERL\s)/$( ((VEND_VER)) || echo -n '#')\1/" \
|
||||
-e "s/^#?(INST_ARCH\s)/$( ((ARCH)) || echo -n '#')\1/" \
|
||||
"${srcdir}"/win32/{GNUmakefile,makefile.mk}
|
||||
|
||||
vendlib="${priv_vend//\\\\/\\\/}"
|
||||
vendlib="${vendlib#\\\/}"
|
||||
sitelib="${priv_site//\\\\/\\\/}"
|
||||
sitelib="${sitelib#\\\/}"
|
||||
privlib="${priv_core//\\\\/\\\/}"
|
||||
privlib="${privlib#\\\/}"
|
||||
|
||||
sed -i -E \
|
||||
-e "/^#\s*define\s+MSYS_PERL_VENDORLIB/ s/\".*\"/\"${vendlib}\"/" \
|
||||
-e "/^#\s*define\s+MSYS_SITELIB/ s/\".*\"/\"${sitelib}\"/" \
|
||||
-e "/^#\s*define\s+MSYS_PRIVLIB/ s/\".*\"/\"${privlib}\"/" \
|
||||
"${srcdir}"/win32/win32.c
|
||||
|
||||
exit 0
|
||||
|
||||
# vim: set ts=4 sw=4 et ai:
|
||||
Reference in New Issue
Block a user