diff --git a/llgen/llgen.spec b/llgen/llgen.spec
new file mode 100644
index 0000000000..ab5a82ac38
--- /dev/null
+++ b/llgen/llgen.spec
@@ -0,0 +1,84 @@
+##
+## llgen.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.
+##
+
+# package information
+Name: llgen
+Summary: Extended LL(1) Parser Generator
+URL: http://www.cs.vu.nl/~ceriel/LLgen.html
+Vendor: Ceriel Jacobs
+Packager: The OpenPKG Project
+Distribution: OpenPKG [EXP]
+Group: Converter
+License: MIT-style
+Version: 19990423
+Release: 20020716
+
+# list of sources
+Source0: ftp://ftp.cs.vu.nl/pub/ceriel/LLgen.tar.gz
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20020206
+PreReq: OpenPKG, openpkg >= 20020206
+AutoReq: no
+AutoReqProv: no
+
+%description
+ LLgen is a tool for generating an efficient recursive descent parser
+ from an ELL(1) grammar. The grammar may be ambiguous or more general
+ than ELL(1): there are both static and dynamic facilities to resolve
+ the ambiguities.
+
+%prep
+ %setup -q -n LLgen
+
+%build
+ %{l_make} %{l_mflags} \
+ CC="%{l_cc}" \
+ CFLAGS="%{l_cflags -O}" \
+ INSTALLDIR=%{l_prefix}/bin \
+ LIBDIR=%{l_prefix}/share/llgen \
+ MANDIR=%{l_prefix}/man/man1
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/bin \
+ $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
+ $RPM_BUILD_ROOT%{l_prefix}/share/llgen
+ %{l_make} %{l_mflags} install \
+ CC="%{l_cc}" \
+ CFLAGS="%{l_cflags -O}" \
+ INSTALLDIR=$RPM_BUILD_ROOT%{l_prefix}/bin \
+ LIBDIR=$RPM_BUILD_ROOT%{l_prefix}/share/llgen \
+ MANDIR=$RPM_BUILD_ROOT%{l_prefix}/man/man1
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+