diff -r 5ba5c2911c12 -r 0d4f475bfc81 perl/perl.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perl/perl.spec Wed Jan 07 14:58:25 2009 +0100 @@ -0,0 +1,212 @@ +## +## 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: 20081225 + +# 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 + if [ -d $dir ]; then + if [ ".$libdirs" = . ]; then + libdirs="$dir" + else + libdirs="$libdirs $dir" + fi + fi + 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 + + # allow us to already use the temporary install perl(1) + PERL5LIB=$RPM_BUILD_ROOT%{l_prefix}/lib/perl + export PERL5LIB + + # install Perl versions of system header files + ( case "%{l_platform -t}" in + *-darwin* ) export DYLD_LIBRARY_PATH="`pwd`" ;; + esac + cd /usr/include + 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 "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installarchlib`" + eval "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installprivlib`" + eval "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installsitearch`" + eval "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installsitelib`" + eval "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installvendorarch`" + eval "`$RPM_BUILD_ROOT%{l_prefix}/bin/perl -V:installvendorlib`" + %{l_shtool} mkdir -f -p -m 755 \ + $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 +