diff --git a/perl-curses/perl-curses.spec b/perl-curses/perl-curses.spec new file mode 100644 index 0000000000..4f98a339a6 --- /dev/null +++ b/perl-curses/perl-curses.spec @@ -0,0 +1,170 @@ +## +## perl-curses.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. +## + +# versions of individual parts +%define V_curses 1.06 +%define V_curses_ui 0.63 +%define V_curses_widgets 1.992 +%define V_cdk_perl 20010421 + +# package information +Name: perl-curses +Summary: Perl Modules for use with Curses +URL: http://www.cpan.org/ +Vendor: Perl Community +Packager: The OpenPKG Project +Distribution: OpenPKG [EXP] +Group: Language +License: GPL/Artistic +Version: 20020117 +Release: 20020117 + +# list of sources +Source0: http://www.cpan.org/modules/by-module/Curses/Curses-%{V_curses}.tar.gz +Source1: http://www.cpan.org/modules/by-module/Curses/Curses-UI-%{V_curses_ui}.tar.gz +Source2: http://www.cpan.org/modules/by-module/Curses/CursesWidgets-%{V_curses_widgets}.tar.gz +Source3: ftp://invisible-island.net/cdk/cdk-perl-%{V_cdk_perl}.tgz + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20011227, perl, ncurses, cdk +PreReq: OpenPKG, openpkg >= 20011227, perl, ncurses, cdk +AutoReq: no +AutoReqProv: no + +%description + Various modules for using the Curses library from within the Perl + language plus additional widgets. + +%prep + %setup0 -q -c -n %{name}-%{version} + %setup1 -q -T -D -a 1 + %setup2 -q -T -D -a 2 + %setup3 -q -T -D -a 3 + +%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 + chmod -R u+w . + %{l_rpmtool} subst \ + "s:\$^X:'$perl':g" \ + -- `find . -name Makefile.PL -print` + + # build Curses + ( cd Curses-%{V_curses} + hint="unknown" + case "%{l_target}" in + *-freebsd* ) hint="freebsd.ncurses" ;; + *-linux* ) hint="linux.ncurses" ;; + *-solaris* ) hint="solaris" ;; + esac + if [ -f hints/c-$hint.h ]; then + cp hints/c-$hint.h c-config.h + fi + %{l_rpmtool} subst \ + 's:my $inc;:my $inc = "-I%{l_prefix}/include -I%{l_prefix}/include/ncurses";:' \ + 's:my $libs;:my $libs = "-L%{l_prefix}/lib -lpanel -lmenu -lform -lncurses";:' \ + -- Makefile.PL + $perl Makefile.PL $perlargs PANELS MENUS FORMS + $make $makeargs all + $make $makeargs install + ) + + # build Curses::UI + ( cd Curses-UI-%{V_curses_ui} + $perl Makefile.PL $perlargs + $make $makeargs all + $make $makeargs install + ) + + # build Curses::Widgets + ( cd CursesWidgets-%{V_curses_widgets} + $perl Makefile.PL $perlargs + $make $makeargs all + $make $makeargs install + ) + + # build Cdk + ( cd cdk-perl-%{V_cdk_perl} + %{l_rpmtool} subst \ + 's;-L/usr/local/lib;-L%{l_prefix}/lib;' \ + 's;-I/usr/include/ncurses;-I%{l_prefix}/include/ncurses;' \ + 's;-I/usr/local/include/cdk;-I%{l_prefix}/include/cdk;' \ + -- Makefile.PL + $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 +