%define maketest 0 %define pkgname Term-Screen %define version 1.03 %define release 1mdk %define filelist %{name}-%{version}-filelist name: perl-%pkgname summary: A simple all-Perl Term::Cap based screen positioning module version: %version release: %release license: Artistic group: Development/Perl url: http://www.cpan.org buildroot: %{_tmppath}/%{pkgname}-%{version}-buildroot buildarch: noarch source: %{pkgname}-%{version}.tar.bz2 %description Term::Screen is a very simple screen positioning module that should work wherever C<Term::Cap> does. It is set up for Unix using stty's but these dependences are isolated by evals in the C<new> constructor. Thus you may create a child module implementing Screen with MS-DOS, ioctl, or other means to get raw and unblocked input. This is not a replacement for Curses -- it has no memory. This was written so that it could be easily changed to fit nasty systems, and to be available first thing. The input functions getch, key_pressed, echo, and noecho are implemented so as to work under a fairly standard Unix system. They use 'stty' to set raw and no echo modes and turn on auto flush. All of these are 'eval'ed so that this class can be inherited for new definitions easily. Term::Screen was designed to be "required", then used with object syntax as shown above. One quirk (which the author was used to so he didn't care) is that for function key translation, no delay is set. So for many terminals to get an esc character, you have to hit another char after it, generally another esc. # # This package was generated automatically with the cpan2rpm # utility. To get this software or for more information # please visit: http://perl.arix.com/ # %prep %setup -q -n %{pkgname}-%{version} chmod -R u+w %{_builddir}/%{pkgname}-%{version} %build grep -rsl '^#!.*perl' . | grep -v '.bak$' |xargs --no-run-if-empty \ %__perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' CFLAGS="$RPM_OPT_FLAGS" %{__perl} Makefile.PL `%{__perl} -MExtUtils::MakeMaker -e ' print qq|PREFIX=%{buildroot}%{_prefix}| if \$ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '` INSTALLDIRS=vendor %{__make} %if %maketest %{__make} test %endif %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %{makeinstall} `%{__perl} -MExtUtils::MakeMaker -e ' print \$ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=%{buildroot}%{_prefix}| : qq|DESTDIR=%{buildroot}| '` [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress # SuSE Linux if [ -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ] then %{__mkdir_p} %{buildroot}/var/adm/perl-modules %{__cat} `find %{buildroot} -name "perllocal.pod"` \ | %{__sed} -e s+%{buildroot}++g \ > %{buildroot}/var/adm/perl-modules/%{name} fi # remove special files find %{buildroot} -name "perllocal.pod" \ -o -name ".packlist" \ -o -name "*.bs" \ |xargs -i rm -f {} # no empty directories find %{buildroot}%{_prefix} \ -type d -depth \ -exec rmdir {} \; 2>/dev/null %{__perl} -MFile::Find -le ' find({ wanted => \&wanted, no_chdir => 1}, "%{buildroot}"); print "%doc Changes README"; for my $x (sort @dirs, @files) { push @ret, $x unless indirs($x); } print join "\n", sort @ret; sub wanted { return if /auto$/; local $_ = $File::Find::name; my $f = $_; s|^\Q%{buildroot}\E||; return unless length; return $files[@files] = $_ if -f $f; $d = $_; /\Q$d\E/ && return for reverse sort @INC; $d =~ /\Q$_\E/ && return for qw|/etc %_prefix/man %_prefix/bin %_prefix/share|; $dirs[@dirs] = $_; } sub indirs { my $x = shift; $x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs; } ' > %filelist [ -z %filelist ] && { echo "ERROR: empty %files listing" exit -1 } %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} #%files -f %filelist #%defattr(-,root,root) %files %defattr(-,root,root) %{perl_vendorlib}/* %_mandir/man3/* %changelog * Sun May 29 2005 Lev Givon <lev@columbia.edu> 1.03-1mdk - Adapted cpan2rpm-generated spec for Mandrake.