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
+