## ## perl.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. ## ## 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: OpenPKG Foundation e.V. Distribution: OpenPKG Community Class: CORE Group: Perl License: GPL/Artistic Version: 5.10.0 Release: 20080328 # 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\.10\.\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 optimize="" case "%{l_platform -t}" in amd64-* ) optimize="%{l_cflags}" ;; *-aix* ) optimize="%{l_cflags}" ;; *-* ) optimize="%{l_cflags -O}" ;; esac if [ ".$optimize" = . ]; then optimize="-Uoptimize" else optimize="-Doptimize=$optimize" fi libdirs="" for dir in %{l_prefix}/lib /lib64 /usr/lib64 /lib /usr/lib /usr/ccs/lib; do [ -d $dir ] && libdirs="$libdirs $dir" done ./Configure \ -d -e -s \ -Dcf_by="%{l_openpkg_release}" \ -Dcf_email="http://www.openpkg.org/" \ -Dprefix=%{l_prefix} \ -Dvendorprefix=%{l_prefix} \ -Dinstallprefix=%{l_prefix} \ -Dinstallstyle="lib/perl5" \ -Dman1dir=%{l_prefix}/man/man1 \ -Dman3dir=%{l_prefix}/man/man3 \ -Dcc="%{l_prefix}/bin/gcc" "$optimize" \ -Dlocincpth="%{l_prefix}/include" \ -Dloclibpth="%{l_prefix}/lib" \ -Dldflags="%{l_ldflags}" \ -Dlibpth="$libdirs" \ -Dglibpth="$libdirs" \ -Dscriptdir="%{l_prefix}/bin" \ -Uinstallusrbinperl \ -Ui_malloc -Ui_iconv -Ui_db \ -Uusedevel # 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 DESTDIR=$RPM_BUILD_ROOT # install Perl versions of system header files ( case "%{l_platform -t}" in *-darwin* ) export DYLD_LIBRARY_PATH="`pwd`" ;; esac 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 $RPM_BUILD_ROOT$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 ( case "%{l_platform -t}" in *-darwin* ) export DYLD_LIBRARY_PATH="`pwd`" ;; esac $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 ) || exit $? # assume ownership for various arch/site/vendor install dirs ( eval `./perl -V:installarchlib \ -V:installprivlib \ -V:installsitearch \ -V:installsitelib \ -V:installvendorarch \ -V:installvendorlib` %{l_shtool} mkdir -p "$RPM_BUILD_ROOT$installarchlib/auto" \ "$RPM_BUILD_ROOT$installprivlib/auto" \ "$RPM_BUILD_ROOT$installsitearch/auto" \ "$RPM_BUILD_ROOT$installsitelib/auto" \ "$RPM_BUILD_ROOT$installvendorarch/auto" \ "$RPM_BUILD_ROOT$installvendorlib/auto" ) || exit $? # strip binary files strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true # resolve file conflicts (with perl-locale) rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/enc2xs \ $RPM_BUILD_ROOT%{l_prefix}/bin/piconv # resolve file conflicts (with perl-module) rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/corelist \ $RPM_BUILD_ROOT%{l_prefix}/bin/config_data \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/config_data.1 # resolve file conflicts (with perl-sys) rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/ptar \ $RPM_BUILD_ROOT%{l_prefix}/bin/ptardiff \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ptar.1 \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/ptardiff.1 # resolve file conflicts (with perl-crypto) rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/shasum \ $RPM_BUILD_ROOT%{l_prefix}/man/man1/shasum.1 # determine installed files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean rm -rf $RPM_BUILD_ROOT