Kaynağa Gözat

new package: gperf 3.0.1 (Generate Perfect Hash Functions)

Ralf S. Engelschall 20 yıl önce
ebeveyn
işleme
8feaf75582
2 değiştirilmiş dosya ile 109 ekleme ve 0 silme
  1. 14 0
      gperf/gperf.patch
  2. 95 0
      gperf/gperf.spec

+ 14 - 0
gperf/gperf.patch

@@ -0,0 +1,14 @@
+Index: src/positions.h
+--- src/positions.h.orig	2003-04-07 11:48:19 +0200
++++ src/positions.h	2005-12-27 19:07:08 +0100
+@@ -26,6 +26,10 @@
+ #ifndef positions_h
+ #define positions_h 1
+ 
++/* Forward declarations */
++class PositionIterator;
++class PositionReverseIterator;
++
+ /* This class denotes a set of byte positions, used to access a keyword.  */
+ 
+ class Positions

+ 95 - 0
gperf/gperf.spec

@@ -0,0 +1,95 @@
+##
+##  gperf.spec -- OpenPKG RPM Package Specification
+##  Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
+##  Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
+##
+##  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:         gperf
+Summary:      Generate Perfect Hash Functions
+URL:          http://www.gnu.org/software/gperf/gperf.html
+Vendor:       GNU
+Packager:     OpenPKG
+Distribution: OpenPKG
+Class:        EVAL
+Group:        Language
+License:      GPL
+Version:      3.0.1
+Release:      20051227
+
+#   list of sources
+Source0:      ftp://ftp.gnu.org/gnu/gperf/gperf-%{version}.tar.gz
+Patch0:       gperf.patch
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20040130, gcc, make
+PreReq:       OpenPKG, openpkg >= 20040130
+AutoReq:      no
+AutoReqProv:  no
+
+%description
+    GNU gperf is a "perfect hash function" generator. For a given list
+    of strings, it produces a hash function and hash table, in form
+    of C or C++ code, for looking up a value depending on the input
+    string. The hash function is perfect, which means that the hash
+    table has no collisions, and the hash table lookup needs a single
+    string comparison only. GNU gperf is highly customizable. There are
+    options for generating C or C++ code, for emitting switch statements
+    or nested ifs instead of a hash table, and for tuning the algorithm
+    employed by GNU gperf.
+
+%track
+    prog gperf = {
+        version   = %{version}
+        url       = ftp://ftp.gnu.org/gnu/gperf/
+        regex     = gperf-(__VER__)\.tar\.gz
+    }
+
+%prep
+    %setup -q
+    %patch -p0
+
+%build
+    CC="%{l_cc}" \
+    CXX="%{l_cxx}" \
+    CFLAGS="%{l_cflags -O}" \
+    CXXFLAGS="%{l_cxxflags -O}" \
+    CPPFLAGS="%{l_cppflags}" \
+    LDFLAGS="%{l_ldflags}" \
+    ./configure \
+        --prefix=%{l_prefix} \
+        --mandir=%{l_prefix}/man
+    %{l_make} %{l_mflags -O}
+
+%install
+    rm -rf $RPM_BUILD_ROOT
+    %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
+    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
+    rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
+    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+