-
Notifications
You must be signed in to change notification settings - Fork 0
/
Judy.spec
157 lines (126 loc) · 5.75 KB
/
Judy.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
%{?scl:%scl_package Judy}
%{!?scl:%global pkg_name %{name}}
Name: %{?scl_prefix}Judy
Version: 1.0.5
Release: 12%{?dist}
Summary: General purpose dynamic array
Group: System Environment/Libraries
License: LGPLv2+
URL: http://sourceforge.net/projects/judy/
Source0: http://downloads.sf.net/judy/Judy-%{version}.tar.gz
Source1: README.distro
# Make tests use shared instead of static libJudy
Patch0: Judy-1.0.4-test-shared.patch
# The J1* man pages were incorrectly being symlinked to Judy, rather than Judy1
# This patch corrects that; submitted upstream 2008/11/27
Patch1: Judy-1.0.4-fix-Judy1-mans.patch
# Fix some code with undefined behavior, commented on and removed by gcc
Patch2: Judy-1.0.5-undefined-behavior.patch
%description
Judy is a C library that provides a state-of-the-art core technology
that implements a sparse dynamic array. Judy arrays are declared
simply with a null pointer. A Judy array consumes memory only when it
is populated, yet can grow to take advantage of all available memory
if desired. Judy's key benefits are scalability, high performance, and
memory efficiency. A Judy array is extensible and can scale up to a
very large number of elements, bounded only by machine memory. Since
Judy is designed as an unbounded array, the size of a Judy array is
not pre-allocated but grows and shrinks dynamically with the array
population.
%package devel
Summary: Development libraries and headers for Judy
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the development libraries and header files
for developing applications that use the Judy library.
%prep
%setup -q -n judy-%{version}
%patch0 -p1 -b .test-shared
%patch1 -p1 -b .fix-Judy1-mans
%patch2 -p1 -b .behavior
cp -p %{SOURCE1} .
# make libtool able to handle soname in format sclname-1
sed -i -r 's|(major=\.)(`expr)|\1$verstring_prefix\2|' ltmain.sh
%build
export CFLAGS="%{optflags} -fno-strict-aliasing -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-copy-prop -fno-tree-vrp"
%configure --disable-static
%{?scl_prefix:export verstring_prefix="%{scl_prefix}"}
make
#%{?_smp_mflags}
# fails to compile properly with parallel make:
# http://sourceforge.net/tracker/index.php?func=detail&aid=2129019&group_id=55753&atid=478138
%install
make install DESTDIR=%{buildroot} INSTALL="install -p"
# get rid of static libs and libtool archives
rm -f %{buildroot}%{_libdir}/*.{a,la}
# clean out zero length and generated files from doc tree
rm -rf doc/man
rm -f doc/Makefile* doc/ext/README_deliver
[ -s doc/ext/COPYRIGHT ] || rm -f doc/ext/COPYRIGHT
[ -s doc/ext/LICENSE ] || rm -f doc/ext/LICENSE
%check
cd test
./Checkit
cd -
%files
%doc AUTHORS ChangeLog COPYING README README.distro examples/
%{_libdir}/libJudy.so.*
%files devel
%doc doc
%{_includedir}/Judy.h
%{_libdir}/libJudy.so
%{_mandir}/man3/J*.3*
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog
* Tue Jan 27 2015 Honza Horak <[email protected]> - 1.0.5-12
- Rename README.Fedora to README.distro
* Sun Jan 25 2015 Honza Horak <[email protected]> - 1.0.5-11
- Convert to SCL package
* Fri Aug 15 2014 Fedora Release Engineering <[email protected]> - 1.0.5-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jun 06 2014 Fedora Release Engineering <[email protected]> - 1.0.5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Feb 18 2014 Paul Howarth <[email protected]> - 1.0.5-8
- Fix some code with undefined behavior
- Build with -fno-strict-aliasing
- Disable various compiler tree optimizations that trigger reproducible
crashes in gtkwave without generating compiler warnings (#1064090)
* Fri Aug 02 2013 Fedora Release Engineering <[email protected]> - 1.0.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <[email protected]> - 1.0.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Jul 18 2012 Fedora Release Engineering <[email protected]> - 1.0.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 12 2012 Fedora Release Engineering <[email protected]> - 1.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Jan 6 2012 Paul Howarth <[email protected]> - 1.0.5-3
- Rebuilt for gcc 4.7
* Mon Feb 7 2011 Fedora Release Engineering <[email protected]> - 1.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Jul 18 2010 Paul Howarth <[email protected]> - 1.0.5-1
- Update to 1.0.5
- Added proper clean targets to enable multiple builds
- Added examples directory
- Correctly detects 32/64-bit build environment
- Allow explicit configure for 32/64-bit environment
- Cosmetic spec file clean-ups
* Fri Jul 24 2009 Fedora Release Engineering <[email protected]> - 1.0.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Feb 23 2009 Fedora Release Engineering <[email protected]> - 1.0.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Dec 13 2008 Charles R. Anderson <[email protected]> - 1.0.4-4
- For Judy1 man page fix, patch Makefile.{am,in} instead of
relying on autotools to regenerate the latter
- Add README.Fedora with upstream's license explanation
* Sun Nov 30 2008 Charles R. Anderson <[email protected]> - 1.0.4-3
- Fix Judy1 man page symlinks
- Use valid tag License: LGPLv2+ confirmed with upstream
- Use version macro in Source0
- Remove Makefiles from installed doc tree
* Thu Nov 27 2008 Charles R. Anderson <[email protected]> - 1.0.4-2
- Patch tests to run with shared library
- Run tests in check section
* Sun Oct 05 2008 Charles R. Anderson <[email protected]> - 1.0.4-1
- Initial package for Fedora