2019-04-10 17:18:04 +02:00

95 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# This is a buildpkg build.sh script
# build.sh helper functions
. ${BUILDPKG_SCRIPTS}/build.sh.functions
#
###########################################################
# Check the following 4 variables before running the script
topdir=perl
version=5.28.1
pkgver=1
source[0]=http://www.cpan.org/src/5.0/perl-${version}.tar.gz
# If there are no patches, simply comment this
#patch[0]=
# Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions
# Global settings
make_check_target="test"
__configure="sh Configure"
[ "$arch" = "sparc" ] && arch_name="sun4-solaris"
[ "$arch" = "i386" ] && arch_name="i86pc-solaris"
configure_args=(-Dcc=gcc -Doptimize='-O2' -Darchname=${arch_name} -Dprefix=$prefix -Dmyhostname=localhost -Dcf_by="Tom G. Christensen" -Dcf_email=swpkg@jupiterrise.com -Dperladmin=root@localhost -Dinstallprefix=${stagedir}${prefix} -Dman3ext=3pm -Uinstallusrbinperl -Dpager=/usr/bin/more -Dlocincpth=/usr/tgcware/include -Dloclibpth=/usr/tgcware/lib -des -Dinc_version_list='5.16.3')
# Force alignment on SPARC since the configure test can fail:
# https://rt.perl.org/Public/Bug/Display.html?id=133495
[ "$arch" = "sparc" ] && configure_args+=(-Dd_u32align)
reg prep
prep()
{
generic_prep
}
reg build
build()
{
setdir source
$__configure "${configure_args[@]}"
${__make} LDDLFLAGS="-shared -L$prefix/lib -R$prefix/lib" CLDFLAGS="-L$prefix/lib -R$prefix/lib"
}
reg check
check()
{
generic_check
}
reg install
install()
{
generic_install UNKNOWN
new_perl_lib=${stagedir}${prefix}/lib/perl5/$version
new_arch_lib=${stagedir}${prefix}/lib/perl5/$version/${arch_name}
new_perl="${stagedir}${prefix}/bin/perl"
echo "new_perl = $new_perl"
echo "new_perl_lib = $new_perl_lib"
echo "new_arch_lib = $new_arch_lib"
export LD_LIBRARY_PATH=$new_arch_lib/CORE; export PERL5LIB=$new_perl_lib;
# fix the packlist and friends
$new_perl -i -p -e "s|$stagedir||g;" ${stagedir}${prefix}/lib/perl5/$version/${arch_name}/.packlist
$new_perl -i -p -e "s|$stagedir||g;" ${stagedir}${prefix}/lib/perl5/$version/${arch_name}/Config.pm
$new_perl -i -p -e "s|$stagedir||g;" ${stagedir}${prefix}/lib/perl5/$version/${arch_name}/Config_heavy.pl
for i in ${stagedir}${prefix}/bin/*
do
if [ ! -z "`head -1 $i|grep perl`" ]; then
$new_perl -i -p -e "s|$stagedir||g;" $i
fi
done
# Strip shared libraries
cd $stagedir
find . -name '*.so' -print | ${__xargs} chmod 755
do_strip_shared
cd -
# Mark as compatible since we add 5.16.3 to @INC
compat perl 5.16.3 1 1
}
reg pack
pack()
{
generic_pack
}
reg distclean
distclean()
{
clean distclean
}
###################################################
# No need to look below here
###################################################
build_sh $*