You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

132 lines
5.0 KiB

##
## perl.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/>
## Copyright (c) 2000-2002 Ralf S. Engelschall <rse@engelschall.com>
##
## 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 [REL]
Group: Language
License: GPL/Artistic
Version: 5.6.1
Release: 20020510
# list of sources
Source0: ftp://ftp.cpan.org/pub/CPAN/src/%{name}-%{version}.tar.gz
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20020206, gcc, gzip
PreReq: OpenPKG, openpkg >= 20020206
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.
%prep
%setup -q
chmod -R u+w .
# Support both "ld: Software Generation Utilities" and "ld:
# Solaris Link Editors" in the internal outputs of the Solaris
# 2.8 ld (latest patch-cluster as of February 2002 with patch
# #109147-14 or newer), because Perl's Configure else thinks the
# Solaris ld is GNU ld and horribly horses up...
%{l_shtool} subst -e 's;ld: Software Generation Utilities;ld: So;g' hints/solaris_2.sh
%build
# Eval hack for obsolete Linux versions (like Debian 2.2) with too old
# binutils where our GCC 3.0 makes trouble on Perl loading DSO based modules.
# In order to avoid having to require the user to update to binutils 2.11,
# we have to force Perl to use the system-supplied compiler... :-(
cc="%{l_cc}"
cflags="%{l_cflags -O}"
case "%{l_target}" in
*-linux* )
v=unknown
if [ -f /etc/debian_version ]; then
v=`/usr/bin/dpkg -l binutils | grep binutils | awk '{ print $3; }'`
elif [ -f /etc/redhat-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
elif [ -f /etc/SuSE-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
else
v=`(ld --version | grep "^GNU ld " | sed -e 's;^GNU ld ;;') 2>/dev/null`
fi
case "$v" in
2.1[1-9].* ) ;;
* ) cc=`%{l_shtool} path -p/bin:/usr/bin:$PATH cc`; cflags="-O" ;;
esac
;;
esac
# configure the Perl package
./Configure \
-d -e -s \
-Dprefix=%{l_prefix} \
-Dinstallprefix=$RPM_BUILD_ROOT%{l_prefix} \
-Dcc="$cc" -Doptimize="$cflags" \
-Dlocincpth="%{l_prefix}/include" \
-Dldflags="-L%{l_prefix}/lib" \
-Dlibpth="%{l_prefix}/lib /lib /usr/lib /usr/ccs/lib" \
-Uinstallusrbinperl \
-Ui_db
# build the Perl package
%{l_make} %{l_mflags -O} -f Makefile
%install
rm -rf $RPM_BUILD_ROOT
# install the Perl package via standard procedure
%{l_make} %{l_mflags} -f Makefile install
# post-adjustments to installation tree
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/perl%{version}
# 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/perl5/%{version}/*/Config.pm \
`find $RPM_BUILD_ROOT%{l_prefix}/lib/perl5/%{version}/ -type f -name ".packlist" -print`
find $RPM_BUILD_ROOT%{l_prefix}/lib/perl5/ -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