Переглянути джерело

New package: perl-db (Perl Modules for Berkeley-DB)

Ralf S. Engelschall 24 роки тому
батько
коміт
5d2a2913ff
1 змінених файлів з 154 додано та 0 видалено
  1. 154 0
      perl-db/perl-db.spec

+ 154 - 0
perl-db/perl-db.spec

@@ -0,0 +1,154 @@
+##
+##  perl-db.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
+##  Copyright (c) 2000-2001 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2001 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. 
+##  
+
+#   versions of individual parts
+%define       V_berkeleydb     0.17
+%define       V_db_file        1.801
+%define       V_db_file_lock   0.04
+
+#   package information
+Name:         perl-db
+Summary:      Perl Modules for use with Berkeley-DB
+URL:          http://www.cpan.org/
+Vendor:       Perl Community
+Packager:     The OpenPKG Project
+Distribution: OpenPKG [EXP]
+Group:        Language
+License:      GPL/Artistic
+Version:      20011227
+Release:      20011227
+
+#   list of sources
+Source0:      http://www.cpan.org/modules/by-module/BerkeleyDB/BerkeleyDB-%{V_berkeleydb}.tar.gz
+Source1:      http://www.cpan.org/modules/by-module/DB_File/DB_File-%{V_db_file}.tar.gz
+Source2:      http://www.cpan.org/modules/by-module/DB_File/DB_File-Lock-%{V_db_file_lock}.tar.gz
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20011227, perl, db, gcc
+PreReq:       OpenPKG, openpkg >= 20011227, perl, db
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    Various modules for using the GD library from within the Perl
+    language plus additional functionality for drawing various types of
+    charts and graphs.
+
+%prep
+    %setup0  -q -c -n %{name}-%{version}
+    %setup1  -q -T -D -a 1
+    %setup2  -q -T -D -a 2
+
+%build
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/lib/perl5 \
+        $RPM_BUILD_ROOT%{l_prefix}/man/man3
+
+    #   create a wrapper script which finds the includes
+    eval `$perl -V:archname`
+    perl=$RPM_BUILD_ROOT/perl
+    echo "#!/bin/sh" >$perl
+    echo "exec %{l_prefix}/bin/perl \\" >>$perl
+    echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/%{version} \\" >>$perl
+    echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/%{version}/${archname} \\" >>$perl
+    echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl \\" >>$perl
+    echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl/%{version} \\" >>$perl
+    echo " -I$RPM_BUILD_ROOT%{l_prefix}/lib/perl5/site_perl/%{version}/${archname} \\" >>$perl
+    echo " \"\$@\"" >>$perl
+    chmod a+x $perl
+
+    #   determine general tools and arguments
+    perlargs="PREFIX=$RPM_BUILD_ROOT%{l_prefix} PERL=$perl FULLPERL=$perl"
+    make="%{l_make} %{l_mflags}"
+    makeargs="PERL=$perl FULLPERL=$perl"
+
+    #   make sure our Perl is used
+    %{l_rpmtool} subst \
+        "s:\$^X:'$perl':g" \
+        -- `find . -name Makefile.PL -print`
+
+    #   build BerkeleyDB
+    ( cd BerkeleyDB-%{V_berkeleydb}
+      ( echo "INCLUDE = %{l_prefix}/include"
+        echo "LIB = %{l_prefix}/lib"
+      ) >config.in
+      $perl Makefile.PL $perlargs
+      $make $makeargs all
+      $make $makeargs install
+      %{l_prefix}/bin/pod2man BerkeleyDB.pod \
+          >$RPM_BUILD_ROOT%{l_prefix}/man/man3/BerkeleyDB.3
+    )
+
+    #   build DB_File
+    ( cd DB_File-%{V_db_file}
+      ( echo "PREFIX = size_t"
+        echo "HASH = u_int32_t"
+        echo "INCLUDE = %{l_prefix}/include"
+        echo "LIB = %{l_prefix}/lib"
+      ) >config.in
+      $perl Makefile.PL $perlargs
+      $make $makeargs all
+      $make $makeargs install
+      %{l_prefix}/bin/pod2man DB_File.pod \
+          >$RPM_BUILD_ROOT%{l_prefix}/man/man3/DB_File.3
+    )
+
+    #   build DB_File::Lock
+    ( cd DB_File-Lock-%{V_db_file_lock}
+      $perl Makefile.PL $perlargs
+      $make $makeargs all
+      $make $makeargs install
+    )
+
+    #   strip down installation tree
+    find $RPM_BUILD_ROOT%{l_prefix} -name perllocal.pod -print | xargs rm -f
+    find $RPM_BUILD_ROOT%{l_prefix} -name .packlist -print | xargs rm -f
+    find $RPM_BUILD_ROOT%{l_prefix} -type d -depth -print | (xargs rmdir >/dev/null 2>&1 || true)
+
+    #   determine installed files
+    eval `$perl -V:installarchlib -V:installprivlib -V:installsitearch -V:installsitelib`
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+        %{l_files_std} \
+        '%not %dir %{l_prefix}/lib/perl5' \
+        '%not %dir %{l_prefix}/lib/perl5/*' \
+        "%not %dir $installarchlib" \
+        "%not %dir $installprivlib" \
+        "%not %dir $installsitearch" \
+        "%not %dir $installsitelib" \
+        "%not %dir $installarchlib/auto" \
+        "%not %dir $installprivlib/auto" \
+        "%not %dir $installsitearch/auto" \
+        "%not %dir $installsitelib/auto"
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+