## ## perl.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2002 The OpenPKG Project ## Copyright (c) 2000-2002 Ralf S. Engelschall ## ## 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: 20020619 # list of sources Source0: ftp://ftp.cpan.org/pub/CPAN/src/%{name}-%{version}.tar.gz Patch0: perl.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206, gcc 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 %patch0 -p0 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 # install Perl versions of system header files ( cd /usr/include eval `$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installsitearch` echo *.h sys/*.h |\ xargs $RPM_BUILD_ROOT%{l_prefix}/bin/h2ph \ -d "$RPM_BUILD_ROOT$installsitearch" ) # 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