## ## 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: 20020206 # 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 >= 20020206, perl, ncurses, cdk, perl-term PreReq: OpenPKG, openpkg >= 20020206, perl, ncurses, cdk AutoReq: no AutoReqProv: no %description Various modules for using the Curses library from within the Perl language plus additional widgets: - Curses (%{V_curses}) - Curses::UI (%{V_curses_ui}) - Curses::Widgets (%{V_curses_widgets}) - Cdk (%{V_cdk_perl}) %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_shtool} subst \ -e "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_shtool} subst \ -e 's:my $inc;:my $inc = "-I%{l_prefix}/include -I%{l_prefix}/include/ncurses";:' \ -e '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_shtool} subst \ -e 's;-L/usr/local/lib;-L%{l_prefix}/lib;' \ -e 's;-I/usr/include/ncurses;-I%{l_prefix}/include/ncurses;' \ -e '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