bc058c
Name:		Judy
bc058c
Version:	1.0.5
bc058c
Release:	28%{?dist}
bc058c
Summary:	General purpose dynamic array
bc058c
License:	LGPLv2+
bc058c
URL:		http://sourceforge.net/projects/judy/
bc058c
Source0:	http://downloads.sf.net/judy/Judy-%{version}.tar.gz
bc058c
Source1:	README.Fedora
bc058c
Patch0:		Judy-1.0.4-test-shared.patch
bc058c
Patch1:		Judy-1.0.4-fix-Judy1-mans.patch
bc058c
Patch2:		Judy-1.0.5-undefined-behavior.patch
bc058c
BuildRequires:	coreutils
bc058c
BuildRequires:	gawk
bc058c
BuildRequires:	gcc >= 4.1
bc058c
BuildRequires:	make
bc058c
BuildRequires:	sed
bc058c
bc058c
%description
bc058c
Judy is a C library that provides a state-of-the-art core technology that
bc058c
implements a sparse dynamic array. Judy arrays are declared simply with a null
bc058c
pointer. A Judy array consumes memory only when it is populated, yet can grow
bc058c
to take advantage of all available memory if desired. Judy's key benefits are
bc058c
scalability, high performance, and memory efficiency. A Judy array is
bc058c
extensible and can scale up to a very large number of elements, bounded only by
bc058c
machine memory. Since Judy is designed as an unbounded array, the size of a
bc058c
Judy array is not pre-allocated but grows and shrinks dynamically with the
bc058c
array population.
bc058c
bc058c
%package devel
bc058c
Summary:	Development libraries and headers for Judy
bc058c
Requires:	%{name} = %{version}-%{release}
bc058c
bc058c
%description devel
bc058c
This package contains the development libraries and header files
bc058c
for developing applications that use the Judy library.
bc058c
bc058c
%prep
bc058c
%setup -q -n judy-%{version}
bc058c
bc058c
# Make tests use shared instead of static libJudy
bc058c
%patch0 -p1 -b .test-shared
bc058c
bc058c
# The J1* man pages were incorrectly being symlinked to Judy, rather than Judy1
bc058c
# This patch corrects that; submitted upstream 2008/11/27
bc058c
%patch1 -p1 -b .fix-Judy1-mans
bc058c
bc058c
# Fix some code with undefined behavior, commented on and removed by gcc
bc058c
%patch2 -p1 -b .behavior
bc058c
bc058c
# README.Fedora
bc058c
cp -p %{SOURCE1} .
bc058c
bc058c
%build
bc058c
%set_build_flags
bc058c
case "%{__cc}" in
bc058c
gcc)	COMPILER_SPECIFIC_FLAGS="-fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp";;
bc058c
*)	COMPILER_SPECIFIC_FLAGS="-fno-strict-aliasing";;
bc058c
esac
bc058c
export CFLAGS="%{optflags} $COMPILER_SPECIFIC_FLAGS"
bc058c
%configure --disable-static
bc058c
make
bc058c
#%{?_smp_mflags}
bc058c
# fails to compile properly with parallel make:
bc058c
# https://sourceforge.net/p/judy/bugs/22/
bc058c
bc058c
%install
bc058c
%make_install
bc058c
# get rid of static libs and libtool archives
bc058c
rm -f %{buildroot}%{_libdir}/*.{a,la}
bc058c
# clean out zero length and generated files from doc tree
bc058c
rm -rf doc/man
bc058c
rm -f doc/Makefile* doc/ext/README_deliver
bc058c
[ -s doc/ext/COPYRIGHT ] || rm -f doc/ext/COPYRIGHT
bc058c
[ -s doc/ext/LICENSE ] || rm -f doc/ext/LICENSE
bc058c
bc058c
# multi-lib trick - remove the timestamp from the man page comment
bc058c
sed -i -e 's|\(Auto-translated to nroff.*\.\./tool/jhton at\).*$|\1 <timestamp removed>|' %{buildroot}%{_mandir}/man3/J*.3*
bc058c
bc058c
%check
bc058c
cd test
bc058c
./Checkit
bc058c
cd -
bc058c
bc058c
%files
bc058c
%license COPYING README.Fedora
bc058c
%doc AUTHORS ChangeLog README examples/
bc058c
%{_libdir}/libJudy.so.1
bc058c
%{_libdir}/libJudy.so.1.*
bc058c
bc058c
%files devel
bc058c
%doc doc
bc058c
%{_includedir}/Judy.h
bc058c
%{_libdir}/libJudy.so
bc058c
%{_mandir}/man3/J*.3*
bc058c
bc058c
%changelog
bc058c
* Mon Aug 09 2021 Honza Horak <hhorak@redhat.com> - 1.0.5-28
bc058c
- Remove timestamp to make the man pages non-conflicting
bc058c
  Resolves: #1915251
bc058c
bc058c
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.5-27
bc058c
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
bc058c
  Related: rhbz#1991688
bc058c
bc058c
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.5-26
bc058c
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
bc058c
bc058c
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-25
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
bc058c
bc058c
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-24
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
bc058c
bc058c
* Wed Mar 25 2020 Paul Howarth <paul@city-fan.org> - 1.0.5-23
bc058c
- Don't pass gcc-only compiler flags to other compilers, e.g. clang
bc058c
  (based on https://src.fedoraproject.org/rpms/Judy/pull-request/3 from
bc058c
  Timm Baeder)
bc058c
bc058c
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-22
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
bc058c
bc058c
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-21
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
bc058c
bc058c
* Mon Jul 22 2019 Paul Howarth <paul@city-fan.org> - 1.0.5-20
bc058c
- Modernize spec
bc058c
  - Use %%make_install
bc058c
  - Use %%set_build_flags
bc058c
  - Drop conditionals for building with old distributions
bc058c
  - Re-format %%description to 80 columns
bc058c
  - Comment patch applications in %%prep section
bc058c
bc058c
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-19
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
bc058c
bc058c
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-18
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
bc058c
bc058c
* Thu Feb  8 2018 Paul Howarth <paul@city-fan.org> - 1.0.5-17
bc058c
- ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
bc058c
- Drop legacy BuildRoot: and Group: tags
bc058c
- Drop redundant explicit buildroot cleaning
bc058c
- Specify all explicitly-used build requirements
bc058c
- Use %%license where possible
bc058c
- Drop %%defattr, redundant since rpm 4.4
bc058c
bc058c
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-16
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
bc058c
bc058c
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-15
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
bc058c
bc058c
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-14
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
bc058c
bc058c
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-13
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
bc058c
bc058c
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-12
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
bc058c
bc058c
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-11
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
bc058c
bc058c
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-10
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
bc058c
bc058c
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-9
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
bc058c
bc058c
* Tue Feb 18 2014 Paul Howarth <paul@city-fan.org> - 1.0.5-8
bc058c
- Fix some code with undefined behavior
bc058c
- Build with -fno-strict-aliasing
bc058c
- Disable various compiler tree optimizations that trigger reproducible
bc058c
  crashes in gtkwave without generating compiler warnings (#1064090)
bc058c
bc058c
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-7
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
bc058c
bc058c
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-6
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
bc058c
bc058c
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-5
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
bc058c
bc058c
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-4
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
bc058c
bc058c
* Fri Jan  6 2012 Paul Howarth <paul@city-fan.org> - 1.0.5-3
bc058c
- Rebuilt for gcc 4.7
bc058c
bc058c
* Mon Feb  7 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-2
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
bc058c
bc058c
* Sun Jul 18 2010 Paul Howarth <paul@city-fan.org> - 1.0.5-1
bc058c
- Update to 1.0.5
bc058c
  - Added proper clean targets to enable multiple builds
bc058c
  - Added examples directory
bc058c
  - Correctly detects 32/64-bit build environment
bc058c
  - Allow explicit configure for 32/64-bit environment
bc058c
- Cosmetic spec file clean-ups
bc058c
bc058c
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-6
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
bc058c
bc058c
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-5
bc058c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
bc058c
bc058c
* Sat Dec 13 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-4
bc058c
- For Judy1 man page fix, patch Makefile.{am,in} instead of
bc058c
  relying on autotools to regenerate the latter
bc058c
- Add README.Fedora with upstream's license explanation
bc058c
bc058c
* Sun Nov 30 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-3
bc058c
- Fix Judy1 man page symlinks
bc058c
- Use valid tag License: LGPLv2+ confirmed with upstream
bc058c
- Use version macro in Source0
bc058c
- Remove Makefiles from installed doc tree
bc058c
bc058c
* Thu Nov 27 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-2
bc058c
- Patch tests to run with shared library
bc058c
- Run tests in check section
bc058c
bc058c
* Sun Oct 05 2008 Charles R. Anderson <cra@wpi.edu> - 1.0.4-1
bc058c
- Initial package for Fedora