##
## perl.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2004 The OpenPKG Project
## Copyright (c) 2000-2004 Ralf S. Engelschall
## Copyright (c) 2000-2004 Cable & Wireless
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package information
Name: perl
Summary: Practical Extraction and Reporting Language
URL: http://www.perl.com/
Vendor: The Perl Project
Packager: The OpenPKG Project
Distribution: OpenPKG
Class: CORE
Group: Language
License: GPL/Artistic
Version: 5.8.5
Release: 20040720
# list of sources
Source0: ftp://ftp.cpan.org/pub/CPAN/src/perl-%{version}.tar.gz
Patch0: perl.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, gcc
PreReq: OpenPKG, openpkg >= 20040130
AutoReq: no
AutoReqProv: no
%description
Perl ("Practical Reporting and Extraction Language") is a very
sophisticated and flexible (but this way also complex) programming
language. This is the original implementation of the Perl 5 interpreter
from Larry Wall and his community.
%track
prog perl = {
version = %{version}
url = ftp://ftp.cpan.org/pub/CPAN/src/
regex = perl-(5\.8\.\d+)\.tar\.gz
}
%prep
%setup -q
%patch -p0
chmod -R u+w .
%build
# configure the Perl package
%{l_shtool} subst \
-e 's;\(.*for thislib in $libswanted.*\);libswanted=`echo " $libswanted " | sed -e "s/ bind / /g" -e "s/ db / /g" -e "s/ gdbm / /g" -e "s/ iconv / /g"`\; \1;' \
-e 's;package=perl5;package=perl;' \
Configure
%{l_shtool} subst \
-e 's; */usr/local/lib;;' \
hints/freebsd.sh hints/netbsd.sh
./Configure \
-d -e -s \
-Dprefix=%{l_prefix} \
-Dvendorprefix=%{l_prefix} \
-Dinstallprefix=$RPM_BUILD_ROOT%{l_prefix} \
-Dinstallstyle="lib/perl5" \
-Dman1dir=%{l_prefix}/man/man1 \
-Dman3dir=%{l_prefix}/man/man3 \
-Dcc="%{l_cc}" -Doptimize="%{l_cflags -O}" \
-Dlocincpth="%{l_prefix}/include" \
-Dloclibpth="%{l_prefix}/lib" \
-Dldflags="%{l_ldflags}" \
-Dlibpth="%{l_prefix}/lib /lib /usr/lib /usr/ccs/lib" \
-Dglibpth="%{l_prefix}/lib /lib /usr/lib /usr/ccs/lib" \
-Dscriptdir="%{l_prefix}/bin" \
-Uinstallusrbinperl \
-Ui_malloc -Ui_iconv -Ui_db
# build the Perl package
%{l_make} %{l_mflags} -f Makefile
%install
rm -rf $RPM_BUILD_ROOT
# install the Perl package via standard procedure
%{l_make} %{l_mflags} -f Makefile install
# install Perl versions of system header files
( cd /usr/include
PERL5LIB=$RPM_BUILD_ROOT%{l_prefix}/lib/perl
export PERL5LIB
eval `$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installarchlib`
echo *.h sys/*.h |\
xargs $RPM_BUILD_ROOT%{l_prefix}/bin/perl \
$RPM_BUILD_ROOT%{l_prefix}/bin/h2ph -h -d $installarchlib
) || exit $?
# post-adjustments to installation tree
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/perl%{version}
rm -rf $RPM_BUILD_ROOT%{l_prefix}/man/man3
for name in \
libnetcfg perlaix perlamiga perlapollo \
perlbeos perlbs2000 perlcygwin perldgux perlepoc perlfreebsd perlhpux \
perlhurd perlirix perlmachten perlmacos perlmacosx perlmint perlmpeix \
perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris \
perlvmesa perlvms perlvos perlwin32; do
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/$name.1
done
# re-adjust configuration as mentioned in Perl's INSTALL document
$RPM_BUILD_ROOT%{l_prefix}/bin/perl -pi.orig \
-e "s:$RPM_BUILD_ROOT%{l_prefix}:%{l_prefix}:g" \
$RPM_BUILD_ROOT%{l_prefix}/lib/perl/%{version}/*/Config.pm \
`find $RPM_BUILD_ROOT%{l_prefix}/lib/perl/%{version}/ \
-type f -name ".packlist" -print`
find $RPM_BUILD_ROOT%{l_prefix}/lib/perl/ \
-name "*.orig" -print | xargs rm -f
# strip binary files
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true
# determine installed files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT