Ressuscitate gperf as a port, now that we killed libg++ and it's no longer

in the source tree.

This is the most recent version, with support for the flags that egcs
needs.
This commit is contained in:
espie 1999-05-30 18:35:17 +00:00
parent 51ed357548
commit 64cf549998
6 changed files with 94 additions and 0 deletions

32
devel/gperf/Makefile Normal file
View File

@ -0,0 +1,32 @@
# $OpenBSD: Makefile,v 1.1.1.1 1999/05/30 18:35:17 espie Exp $
DISTNAME= gperf-2.7
PKGNAME= gperf-2.7-19981006
CATEGORIES= devel
MAINTAINER= espie@cvs.openbsd.org
# where the source files and patches can be fetched
#
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= gperf
DIRECTORY= egcs/infrastructure/
PATCH_SITES= ftp://egcs.cygnus.com/pub/${DIRECTORY}
PATCH_SITES+= ftp://ftp.goof.com/pub/pcg/${DIRECTORY}
PATCH_SITES+= ftp://go.cygnus.com/pub/ftp.cygnus.com/${DIRECTORY}
PATCH_DIST_STRIP=-p1
PATCHFILES= gperf-2.7-19981006.pat
NEED_VERSION=1.71
SEPARATE_BUILD= concurrent
GNU_CONFIGURE= yes
post-install:
@if [ ! -f ${PREFIX}/info/dir ]; then \
${SED} -ne '1,/Menu:/p' /usr/share/info/dir > ${PREFIX}/info/dir; \
fi
@install-info ${PREFIX}/info/make.info ${PREFIX}/info/dir
.include <bsd.port.mk>

6
devel/gperf/files/md5 Normal file
View File

@ -0,0 +1,6 @@
MD5 (gperf-2.7-19981006.pat) = 3206f67d214bef0e1de1068a87c22455
MD5 (gperf-2.7.tar.gz) = f37fb2d0ab56facb1f851ceb208504b9
RMD160 (gperf-2.7-19981006.pat) = 49365b6c81f0a844a8efbbeb8e492404cd7a062c
RMD160 (gperf-2.7.tar.gz) = ad98bf7c6a2c7c70043a05de2071a14c9c8a8240
SHA1 (gperf-2.7-19981006.pat) = 2289f74d503e7fb20c2ce76001cc74fc7ad46857
SHA1 (gperf-2.7.tar.gz) = 5c3a8f2d5d2cd9a5805b8158923784836829a69b

View File

@ -0,0 +1,35 @@
--- doc/Makefile.in.orig Sun May 30 20:23:12 1999
+++ doc/Makefile.in Sun May 30 20:24:46 1999
@@ -55,7 +55,7 @@
VPATH = $(srcdir)
-all : info dvi ps html
+all : info #dvi ps html
info : $(srcdir)/gperf.info
@@ -94,17 +94,17 @@
if [ ! -d $(mandir) ] ; then mkdir $(mandir) ; fi
if [ ! -d $(man1dir) ] ; then mkdir $(man1dir) ; fi
$(INSTALL_DATA) $(srcdir)/gperf.1 $(man1dir)/gperf.1
- if [ ! -d $(dvidir) ] ; then mkdir $(dvidir) ; fi
- $(INSTALL_DATA) $(srcdir)/gperf.dvi $(dvidir)/gperf.dvi
- if [ ! -d $(htmldir) ] ; then mkdir $(htmldir) ; fi
- $(INSTALL_DATA) $(srcdir)/gperf.html $(htmldir)/gperf.html
+# if [ ! -d $(dvidir) ] ; then mkdir $(dvidir) ; fi
+# $(INSTALL_DATA) $(srcdir)/gperf.dvi $(dvidir)/gperf.dvi
+# if [ ! -d $(htmldir) ] ; then mkdir $(htmldir) ; fi
+# $(INSTALL_DATA) $(srcdir)/gperf.html $(htmldir)/gperf.html
installdirs : force
if [ ! -d $(infodir) ] ; then mkdir $(infodir) ; fi
if [ ! -d $(mandir) ] ; then mkdir $(mandir) ; fi
if [ ! -d $(man1dir) ] ; then mkdir $(man1dir) ; fi
- if [ ! -d $(dvidir) ] ; then mkdir $(dvidir) ; fi
- if [ ! -d $(htmldir) ] ; then mkdir $(htmldir) ; fi
+# if [ ! -d $(dvidir) ] ; then mkdir $(dvidir) ; fi
+# if [ ! -d $(htmldir) ] ; then mkdir $(htmldir) ; fi
uninstall : force
$(RM) $(infodir)/gperf.info

1
devel/gperf/pkg/COMMENT Normal file
View File

@ -0,0 +1 @@
perfect hash functions, to help write parsers

17
devel/gperf/pkg/DESCR Normal file
View File

@ -0,0 +1,17 @@
GPERF generates perfect hash functions for sets of key words.
A perfect hash function is simply:
A hash function and a data structure that allows
recognition of a key word in a set of words using
exactly 1 probe into the data structure.
Output from the GPERF program is used to recognize reserved words in
the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU
indent program.
Author: Douglas C. Schmidt
Gperf was bundled with libg++. Now that libg++ has been removed from
the main tree, some people may find gperf useful.
the 19981006 patch adds the flags needed to rebuild egcs from gperf files.

3
devel/gperf/pkg/PLIST Normal file
View File

@ -0,0 +1,3 @@
info/gperf.info
man/man1/gperf.1
bin/gperf