#
# spec file for package gperf
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           gperf
Version:        3.1
Release:        2.6
Summary:        A Compiler Tool for Generating Perfect Hash Functions
License:        GPL-3.0-or-later
Group:          Development/Languages/C and C++
Url:            https://gnu.org/software/gperf/
Source0:        https://ftp.gnu.org/pub/gnu/gperf/gperf-%{version}.tar.gz
Source1:        https://ftp.gnu.org/pub/gnu/gperf/gperf-%{version}.tar.gz.sig
Source2:        https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=%{name}&download=1#/%{name}.keyring
Patch0:         testsuite-race.patch
BuildRequires:  gcc-c++
Requires(post): %{install_info_prereq}
Requires(preun): %{install_info_prereq}

%description
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
one probe into the data structure.

%prep
%setup -q
%patch0 -p1

%build
%configure	\
	--htmldir=%{_defaultdocdir}/%{name}
make %{?_smp_mflags}

%check
make %{?_smp_mflags} check

%install
%make_install
rm -f %{buildroot}%{_prefix}/doc/gperf/gperf.html
rm -f %{buildroot}%{_datadir}/doc/gperf/gperf.html

%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}

%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}

%files
%defattr (-,root,root)
%doc README NEWS AUTHORS COPYING ChangeLog doc/*.html
%{_bindir}/gperf
%{_infodir}/gperf.info%{ext_info}
%{_mandir}/man1/gperf.1%{ext_man}

%changelog
* Tue Mar  6 2018 schwab@suse.de
- testsuite-race.patch: fix race condition in testsuite
* Thu Jan  5 2017 mpluskal@suse.com
- Update to version 3.1:
  * The generated C code is now in ANSI-C by default.
  * The 'len' parameter of the hash function and of the lookup
    function is now of type 'size_t' instead of 'unsigned int'.
  * Added option --constants-prefix.
  * Added declaration %%define constants-prefix.
- Some packaging changes:
  * https urls for downloads
  * keyring is now fetched from savannah
* Thu Apr  2 2015 mpluskal@suse.com
- Add gpg signature
- Correct info requirements
- Cleanup spec file with spec-cleaner
* Sun Dec  7 2014 jengelh@inai.de
- Remove ancient specfile tags, and provide homepage URL.
* Fri Feb 26 2010 puzel@novell.com
- update to gperf-3.0.4
  * gperf is now licensed under the GPL version 3 or newer.
  * The generated C code gives less warnings with gcc-4.2.x
    in c99 or gnu99 mode.
  * The generated C code is compatible with gcc-4.3.x in c99 or
    gnu99 mode.
- clean up specfile using macros
- make check in correct specfile section
* Mon Dec 14 2009 jengelh@medozas.de
- enable parallel building
* Mon Jul 17 2006 ro@suse.de
- update to 3.0.2
  - documentation fixes
  - Fix #line directives for filenames containing backslashes
  - add option --length-table-name
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Sat May 21 2005 schwab@suse.de
- Fix missing declaration.
* Sun Oct 19 2003 ro@suse.de
- don't build as root
* Mon Jun 16 2003 ro@suse.de
- update to 3.0.1 (documentation and testsuite fixes)
* Mon May 19 2003 ro@suse.de
- remove unpackaged file
* Thu May 15 2003 ro@suse.de
- update to 3.0 with many additional options
* Mon May 12 2003 ro@suse.de
- fix file list
* Thu Apr 24 2003 ro@suse.de
- fix install_info --delete call and move from preun to postun
* Thu Feb  6 2003 ro@suse.de
- added install-info macros
* Mon Oct 28 2002 ro@suse.de
- buildrooted
* Tue Sep 17 2002 ro@suse.de
- removed bogus self-provides
* Wed Feb 27 2002 ro@suse.de
- bzipped source
- added docu files to filelist (#13968)
* Wed Jun 13 2001 schwab@suse.de
- Don't link statically any more.
* Fri Sep 29 2000 ro@suse.de
- update to 2.7.2
* Mon Sep 25 2000 ro@suse.de
- sorted
* Thu Jan 20 2000 ro@suse.de
- specfile cleanup, man,info -> usr/share
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Thu Jan 14 1999 ro@suse.de
- link statically: needed when rebuilding libstdc++
* Thu Jan 14 1999 ro@suse.de
- created initial package using jurix dif