670ce7
Name:		Judy
670ce7
Version:	1.0.5
670ce7
Release:	18%{?dist}
670ce7
Summary:	General purpose dynamic array
670ce7
License:	LGPLv2+
670ce7
URL:		http://sourceforge.net/projects/judy/
670ce7
Source0:	http://downloads.sf.net/judy/Judy-%{version}.tar.gz
670ce7
# Make tests use shared instead of static libJudy
670ce7
Patch0:		Judy-1.0.4-test-shared.patch
670ce7
# The J1* man pages were incorrectly being symlinked to Judy, rather than Judy1
670ce7
# This patch corrects that; submitted upstream 2008/11/27
670ce7
Patch1:		Judy-1.0.4-fix-Judy1-mans.patch
670ce7
# Fix some code with undefined behavior, commented on and removed by gcc
670ce7
Patch2:		Judy-1.0.5-undefined-behavior.patch
670ce7
BuildRequires:	coreutils
670ce7
BuildRequires:	gawk
670ce7
BuildRequires:	gcc >= 4.1
670ce7
BuildRequires:	make
670ce7
BuildRequires:	sed
670ce7
670ce7
%description
670ce7
Judy is a C library that provides a state-of-the-art core technology
670ce7
that implements a sparse dynamic array. Judy arrays are declared
670ce7
simply with a null pointer. A Judy array consumes memory only when it
670ce7
is populated, yet can grow to take advantage of all available memory
670ce7
if desired. Judy's key benefits are scalability, high performance, and
670ce7
memory efficiency. A Judy array is extensible and can scale up to a
670ce7
very large number of elements, bounded only by machine memory. Since
670ce7
Judy is designed as an unbounded array, the size of a Judy array is
670ce7
not pre-allocated but grows and shrinks dynamically with the array
670ce7
population.
670ce7
670ce7
%package devel
670ce7
Summary:	Development libraries and headers for Judy
670ce7
Requires:	%{name} = %{version}-%{release}
670ce7
670ce7
%description devel
670ce7
This package contains the development libraries and header files
670ce7
for developing applications that use the Judy library.
670ce7
670ce7
%prep
670ce7
%setup -q -n judy-%{version}
670ce7
%patch0 -p1 -b .test-shared
670ce7
%patch1 -p1 -b .fix-Judy1-mans
670ce7
%patch2 -p1 -b .behavior
670ce7
670ce7
%build
670ce7
export CFLAGS="%{optflags} -fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp"
670ce7
%configure --disable-static
670ce7
make
670ce7
#%{?_smp_mflags}
670ce7
# fails to compile properly with parallel make:
670ce7
# http://sourceforge.net/tracker/index.php?func=detail&aid=2129019&group_id=55753&atid=478138
670ce7
670ce7
%install
670ce7
make install DESTDIR=%{buildroot} INSTALL="install -p"
670ce7
# get rid of static libs and libtool archives
670ce7
rm -f %{buildroot}%{_libdir}/*.{a,la}
670ce7
# clean out zero length and generated files from doc tree
670ce7
rm -rf doc/man
670ce7
rm -f doc/Makefile* doc/ext/README_deliver
670ce7
[ -s doc/ext/COPYRIGHT ] || rm -f doc/ext/COPYRIGHT
670ce7
[ -s doc/ext/LICENSE ] || rm -f doc/ext/LICENSE
670ce7
670ce7
%check
670ce7
cd test
670ce7
./Checkit
670ce7
cd -
670ce7
670ce7
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27)
670ce7
# ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
670ce7
%post -p /sbin/ldconfig
670ce7
%postun -p /sbin/ldconfig
670ce7
%endif
670ce7
670ce7
%files
670ce7
%if 0%{?_licensedir:1}
670ce7
%license COPYING
670ce7
%else
670ce7
%doc COPYING
670ce7
%endif
670ce7
%doc AUTHORS ChangeLog README examples/
670ce7
%{_libdir}/libJudy.so.*
670ce7
670ce7
%files devel
670ce7
%doc doc
670ce7
%{_includedir}/Judy.h
670ce7
%{_libdir}/libJudy.so
670ce7
%{_mandir}/man3/J*.3*
670ce7
670ce7
%changelog
670ce7
* Thu Oct 11 2018 Michal Schorm <mschorm@redhat.com> - 1.0.5-18
670ce7
- Remove README.Fedora; no longer needed since 1.0.5 version
670ce7
- Resolves: #1638717
670ce7
670ce7
* Thu Feb 08 2018 Paul Howarth <paul@city-fan.org> - 1.0.5-17
670ce7
- ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
670ce7
- Drop legacy BuildRoot: and Group: tags
670ce7
- Drop redundant explicit buildroot cleaning
670ce7
- Specify all explicitly-used build requirements
670ce7
- Use %%license where possible
670ce7
- Drop %%defattr, redundant since rpm 4.4
670ce7
670ce7
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-16
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
670ce7
670ce7
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-15
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
670ce7
670ce7
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-14
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
670ce7
670ce7
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-13
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
670ce7
670ce7
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-12
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
670ce7
670ce7
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-11
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
670ce7
670ce7
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-10
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
670ce7
670ce7
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-9
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
670ce7
670ce7
* Tue Feb 18 2014 Paul Howarth <paul@city-fan.org> - 1.0.5-8
670ce7
- Fix some code with undefined behavior
670ce7
- Build with -fno-strict-aliasing
670ce7
- Disable various compiler tree optimizations that trigger reproducible
670ce7
  crashes in gtkwave without generating compiler warnings (#1064090)
670ce7
670ce7
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-7
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
670ce7
670ce7
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-6
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
670ce7
670ce7
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-5
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
670ce7
670ce7
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-4
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
670ce7
670ce7
* Fri Jan  6 2012 Paul Howarth <paul@city-fan.org> - 1.0.5-3
670ce7
- Rebuilt for gcc 4.7
670ce7
670ce7
* Mon Feb  7 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-2
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
670ce7
670ce7
* Sun Jul 18 2010 Paul Howarth <paul@city-fan.org> - 1.0.5-1
670ce7
- Update to 1.0.5
670ce7
  - Added proper clean targets to enable multiple builds
670ce7
  - Added examples directory
670ce7
  - Correctly detects 32/64-bit build environment
670ce7
  - Allow explicit configure for 32/64-bit environment
670ce7
- Cosmetic spec file clean-ups
670ce7
670ce7
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-6
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
670ce7
670ce7
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-5
670ce7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
670ce7
670ce7
* Sat Dec 13 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-4
670ce7
- For Judy1 man page fix, patch Makefile.{am,in} instead of
670ce7
  relying on autotools to regenerate the latter
670ce7
- Add README.Fedora with upstream's license explanation
670ce7
670ce7
* Sun Nov 30 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-3
670ce7
- Fix Judy1 man page symlinks
670ce7
- Use valid tag License: LGPLv2+ confirmed with upstream
670ce7
- Use version macro in Source0
670ce7
- Remove Makefiles from installed doc tree
670ce7
670ce7
* Thu Nov 27 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-2
670ce7
- Patch tests to run with shared library
670ce7
- Run tests in check section
670ce7
670ce7
* Sun Oct 05 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-1
670ce7
- Initial package for Fedora