Details on this package are located in Section 10.77.2, “Contents of Perl.”
The Perl package contains the Practical Extraction and Report Language.
By default, Perl's Compress::Raw::Zlib and Compress::Raw::Bzip2 modules build and link against internal copies of Zlib and Bzip2. The following command will make Perl use the system-installed copies of these libraries:
sed -i -e '/^BUILD_ZLIB/s/True/False/' \ -e '/^INCLUDE/s,\./zlib-src,/usr/include,' \ -e '/^LIB/s,\./zlib-src,/usr/lib32,' \ cpan/Compress-Raw-Zlib/config.in
Perl does not, by default, know about library directories with
names other than lib
. The following
patch will allow it to install to other directories:
patch -Np1 -i ../perl-5.20.0-Configure_multilib-1.patch
We still need to tell perl to actually use lib32
:
echo 'installstyle="lib32/perl5"' >> hints/linux.sh
To have full control over the way Perl is set up, you can run the interactive Configure script and hand-pick the way this package is built. If you prefer instead to use the defaults that Perl auto-detects, prepare Perl for compilation with:
./configure.gnu --prefix=/usr \ -Dvendorprefix=/usr \ -Dman1dir=/usr/share/man/man1 \ -Dman3dir=/usr/share/man/man3 \ -Dpager="/bin/less -isR" \ -Dlibpth="/usr/local/lib32 /lib32 /usr/lib32" \ -Dcc="gcc ${BUILDN32}" \ -Dusethreads -Duseshrplib
The meaning of the new configure option:
-Dlibpth="/usr/local/lib32 /lib32
/usr/lib32"
This tells Perl to link against the N32 libraries.
-Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3
Since Groff is not installed yet, configure.gnu thinks that we do not want man pages for Perl. Issuing these parameters overrides this decision.
-Dpager="/bin/less -isR"
Less has not yet been installed, so by default perldoc will invoke the more program for viewing documentation. This option ensures that it will use less instead.
-Dusethreads
This tells Perl to use threads.
-Duseshrplib
This tells Perl to build a shared libperl.
Compile the package:
make
To test the results, issue:
make test
Install the package and remove the variables set previously:
make install unset BUILD_ZLIB BUILD_BZIP2
Add a suffix to the perl binary which will be used by the multiarch wrapper:
mv -v /usr/bin/perl{,-n32} mv -v /usr/bin/perl5.20.0{,-n32}
Details on this package are located in Section 10.77.2, “Contents of Perl.”