oops
[boost.git] / boost.spec
1 %bcond_with tests
2 %define sonamever 4
3
4 Name: boost
5 Summary: The Boost C++ Libraries
6 Version: 1.37.0
7 Release: 6%{?dist}
8 License: Boost
9 URL: http://www.boost.org/
10 Group: System Environment/Libraries
11 Source: boost_1_37_0.tar.bz2
12 Obsoletes: boost-doc <= 1.30.2
13 Obsoletes: boost-python <= 1.30.2
14 Provides: boost-python = %{version}-%{release}
15 Provides: boost-doc = %{version}-%{release}
16 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
17 BuildRequires: libstdc++-devel
18 BuildRequires: bzip2-libs
19 BuildRequires: bzip2-devel
20 BuildRequires: zlib-devel
21 BuildRequires: python-devel
22 BuildRequires: libicu-devel
23 BuildRequires: chrpath
24 Patch0: boost-configure.patch
25 Patch1: boost-use-rpm-optflags.patch
26 Patch2: boost-run-tests.patch
27 Patch3: boost-gcc43.patch
28 Patch4: boost-gcc-soname.patch
29 Patch5: boost-function_template.patch
30 Patch6: boost-unneccessary_iostreams.patch
31 Patch7: boost-1_37_0-smp.patch
32 Patch8: boost-bitset.patch
33
34 %description
35 Boost provides free peer-reviewed portable C++ source libraries.  The
36 emphasis is on libraries which work well with the C++ Standard
37 Library, in the hopes of establishing "existing practice" for
38 extensions and providing reference implementations so that the Boost
39 libraries are suitable for eventual standardization. (Some of the
40 libraries have already been proposed for inclusion in the C++
41 Standards Committee's upcoming C++ Standard Library Technical Report.)
42
43 %package devel
44 Summary: The Boost C++ headers and shared development libraries
45 Group: Development/Libraries
46 Requires: boost = %{version}-%{release}
47 Provides: boost-python-devel = %{version}-%{release}
48
49 %description devel
50 Headers and shared object symlinks for the Boost C++ libraries.
51
52 %package static
53 Summary: The Boost C++ static development libraries
54 Group: Development/Libraries
55 Requires: boost-devel = %{version}-%{release}
56 Obsoletes: boost-devel-static < 1.34.1-14
57 Provides: boost-devel-static = %{version}-%{release}
58
59 %description static
60 Static Boost C++ libraries.
61
62 %package doc
63 Summary: The Boost C++ html docs
64 Group: Documentation
65 Provides: boost-python-docs = %{version}-%{release}
66
67 %description doc
68 HTML documentation files for Boost C++ libraries.
69
70 %prep
71 %setup -q -n %{name}_1_37_0
72 %patch0 -p0
73 %patch1 -p0
74 %patch2 -p0
75 %patch3 -p1
76 sed 's/!!!SONAME!!!/%{sonamever}/' %{PATCH4} | %{__patch} -p1 --fuzz=0
77 %patch5 -p0
78 %patch6 -p0
79 sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0
80 %patch8 -p1
81
82 %build
83 BOOST_ROOT=`pwd`
84 staged_dir=stage
85 export BOOST_ROOT
86
87 # build make tools, ie bjam, necessary for building libs, docs, and testing
88 (cd tools/jam/src && ./build.sh)
89 BJAM=`find tools/jam/src/ -name bjam -a -type f`
90
91 BUILD_FLAGS="--with-toolset=gcc"
92 PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
93 PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
94 REGEX_FLAGS="--with-icu"
95 ./configure $BUILD_FLAGS $PYTHON_FLAGS $REGEX_FLAGS 
96 make all
97
98 # build docs, requires a network connection for docbook XSLT stylesheets
99 #cd ./doc
100 #chmod +x ../tools/boostbook/setup_boostbook.sh
101 #../tools/boostbook/setup_boostbook.sh
102 #$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=../user-config.jam html
103 #cd ..
104
105 %check
106 %if %{with tests}
107 echo "<p>" `uname -a` "</p>" > status/regression_comment.html
108 echo "" >> status/regression_comment.html
109 echo "<p>" `g++ --version` "</p>" >> status/regression_comment.html
110 echo "" >> status/regression_comment.html
111
112 chmod +x tools/regression/run_tests.sh
113 ./tools/regression/run_tests.sh
114
115 results1=status/cs-`uname`.html
116 results2=status/cs-`uname`-links.html
117 email=benjamin.kosnik@gmail.com
118 if [ -f $results1 ] && [ -f $results2 ]; then
119   echo "sending results starting"
120   testdate=`date +%Y%m%d`
121   testarch=`uname -m`
122   results=boost-results-$testdate-$testarch.tar.bz2
123   tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2
124   bzip2 -f boost-results-$testdate-$testarch.tar 
125   echo | mutt -s "$testdate boost regression $testarch" -a $results $email 
126   echo "sending results finished"
127 else
128   echo "error sending results"
129 fi
130 %endif
131
132 %install
133 rm -rf $RPM_BUILD_ROOT
134 mkdir -p $RPM_BUILD_ROOT%{_libdir}
135 mkdir -p $RPM_BUILD_ROOT%{_includedir}
136 mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
137
138 # install lib
139 for i in `find stage -type f -name \*.a`; do
140   NAME=`basename $i`;
141   install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME;
142 done;
143 for i in `find stage -type f -name \*.so`; do
144   NAME=$i;
145   SONAME=$i.%{sonamever};
146   VNAME=$i.%{version};
147   base=`basename $i`;
148   NAMEbase=$base;
149   SONAMEbase=$base.%{sonamever};
150   VNAMEbase=$base.%{version};
151   mv $i $VNAME;
152
153   # remove rpath
154   chrpath --delete $VNAME;
155
156   ln -s $VNAMEbase $SONAME;
157   ln -s $VNAMEbase $NAME;
158   install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase; 
159
160   mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase;
161   mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase;
162 done;
163
164 # install include files
165 find %{name} -type d | while read a; do
166   mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a
167   find $a -mindepth 1 -maxdepth 1 -type f \
168   | xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a
169 done
170
171 # install doc files
172 DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/
173 find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
174     | sed -n '/\//{s,/[^/]*$,,;p}' \
175     | sort -u > tmp-doc-directories
176 sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p
177 cat tmp-doc-directories | while read a; do
178     find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \
179     | xargs install -m 644 -p -t $DOCPATH$a
180 done
181 rm tmp-doc-directories
182 install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm
183
184 # remove scripts used to generate include files
185 find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;
186
187 %clean
188 rm -rf $RPM_BUILD_ROOT
189
190 %post -p /sbin/ldconfig
191
192 %postun -p /sbin/ldconfig
193
194 %files
195 %defattr(-, root, root, -)
196 %{_libdir}/*.so.%{version}
197 %{_libdir}/*.so.%{sonamever}
198
199 %files devel
200 %defattr(-, root, root, -)
201 %{_includedir}/boost
202 %{_libdir}/*.so
203
204 %files static
205 %defattr(-, root, root, -)
206 %{_libdir}/*.a
207
208 %files doc
209 %defattr(-, root, root, -)
210 %doc %{_docdir}/%{name}-%{version}
211
212 %changelog
213 * Mon Mar 23 2009 Petr Machata <pmachata@redhat.com> - 1.37.0-6
214 - Apply a SMP patch from Stefan Ring
215 - Apply a workaround for "cannot appear in a constant-expression" in
216   dynamic_bitset library.
217 - Resolves: #491537
218
219 * Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.37.0-4
220 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
221
222 * Mon Jan 12 2009 Petr Machata <pmachata@redhat.com> - 1.37.0-3
223 - Apply a unneccessary_iostreams patch from Caolan McNamara
224 - Fix soname patch so that it applies with fuzz=0.  Use fuzz=0 option
225   in spec file just like ordinary patches do.
226 - Resolves: #479409
227
228 * Fri Dec 19 2008 Petr Machata <pmachata@redhat.com> - 1.37.0-2
229 - Apply a function_template patch from Caolan McNamara
230 - Resolves: #477131
231
232 * Tue Dec 16 2008 Benjamin Kosnik <bkoz@redhat.com> - 1.37.0-1
233 - Fix rpmlint rpath errors.
234 - Fix rpmlint warnings on tabs and spaces.
235 - Bump SONAME to 4
236
237 * Tue Nov 17 2008 Benjamin Kosnik <bkoz@redhat.com> - 1.37.0-0.1
238 - Rebase to 1.37.0.
239
240 * Tue Oct 21 2008 Benjamin Kosnik <bkoz@redhat.com> - 1.36.0-1
241 - Rebase to 1.36.0.
242
243 * Mon Oct  6 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-17
244 - Fix gcc43 patch to apply cleanly under --fuzz=0
245 - Resolves: #465003
246
247 * Mon Aug 11 2008 Petr Machata <pmachata@redhat.com> - 1.36.0-0.1.beta1
248 - Rebase to 1.36.0.beta1
249   - Drop boost-regex.patch and portions of boost-gcc43.patch, port the rest
250   - Automate SONAME tracking and bump SONAME to 4
251   - Adjust boost-configure.patch to include threading=single,multi explicitly
252
253 * Thu Jun 12 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-16
254 - Fix "changes meaning of keywords" in boost date_time
255 - Related: #450718
256
257 * Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.34.1-15
258 - fix license tag
259
260 * Thu Mar 27 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-14
261 - Change devel-static back to static.
262 - Related: #225622
263
264 * Wed Mar 26 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-13
265 - Install library doc files
266 - Revamp %%install phase to speed up overall build time
267 - Some cleanups per merge review
268 - Resolves: #437032
269
270 * Thu Feb 14 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-12
271 - Fix "changes meaning of keywords" in boost python
272 - Resolves: #432694
273
274 * Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-11
275 - Fix "changes meaning of special_values_parser" in boost date_time
276 - Resolves: #432433
277
278 * Wed Feb  6 2008 Petr Machata <pmachata@redhat.com> - 1.34.1-10
279 - Fixes for GCC 4.3
280 - Resolves: #431609
281
282 * Mon Jan 14 2008 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-7
283 - Fixes for boost.regex (rev 42674).
284
285 * Wed Sep 19 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-5
286 - (#283771: Linking against boost libraries fails).
287
288 * Tue Aug 21 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-4
289 - Rebuild.
290
291 * Wed Aug 08 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-3
292 - Rebuild for icu 3.8 bump.
293
294 * Thu Aug 02 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-2
295 - SONAME to 3.
296
297 * Tue Jul 31 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1-1
298 - Update to boost_1_34_1.
299 - Source via http.
300 - Philipp Thomas <pth.suse.de> fix for RPM_OPT_FLAGS
301 - Philipp Thomas <pth.suse.de> fix for .so sym links.
302 - (#225622) Patrice Dumas review comments. 
303
304 * Tue Jun 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.1.rc1-0.1
305 - Update to boost_1_34_1_RC1.
306
307 * Mon Apr 02 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-13
308 - (#225622: Merge Review: boost)
309   Change static to devel-static.
310
311 * Mon Mar 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-12
312 - (#233523: libboost_python needs rebuild against python 2.5)
313   Use patch.
314
315 * Mon Mar 26 2007 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-11
316 - (#225622: Merge Review: boost)
317   Source to http.
318   BuildRoot to preferred value.
319   PreReq to post/postun -p
320   Clarified BSL as GPL-Compatible, Free Software License.
321   Remove Obsoletes.
322   Add Provides boost-python.
323   Remove mkdir -p $RPM_BUILD_ROOT%%{_docdir}
324   Added periods for decription text. 
325   Fix Group field.
326   Remove doc Requires boost.
327   Preserve timestamps on install.
328   Use %%defattr(-, root, root, -)
329   Added static package for .a libs.
330   Install static libs with 0644 permissions.
331   Use %%doc for doc files.
332
333 * Mon Jan 22 2007 Benjamin Kosnik <bkoz@redhat.com> 1.34.0-0.5
334 - Update to boost.RC_1_34_0 snapshot as of 2007-01-19.
335 - Modify build procedures for boost build v2.
336 - Add *-mt variants for libraries, or at least variants that use
337   threads (regex and thread).
338
339 * Thu Nov 23 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-10
340 - (#182414: boost: put tests in %%check section) via Rex Dieter
341 - Fix EVR with %%{?dist} tag via Gianluca Sforna
342
343 * Wed Nov 15 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-9
344 - (#154784: boost-debuginfo package is empty)
345
346 * Tue Nov 14 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-8
347 - (#205866: Revert scanner.hpp change.)
348
349 * Mon Nov 13 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-7
350 - (#205866: boost::spirit generates warnings with -Wshadow)
351 - (#205863: serialization lib generates warnings)
352 - (#204326: boost RPM missing dependencies)
353 - (#193465: [SIGNAL/BIND] Regressions with GCC 4.1)
354 - BUILD_FLAGS, add, to see actual compile line.
355 - REGEX_FLAGS, add, to compile regex with ICU support.
356
357 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-6.1
358 - rebuild
359
360 * Tue May 16 2006 Karsten Hopp <karsten@redhat.de> 1.33.1-6
361 - buildrequire python-devel for Python.h
362
363 * Thu Feb 16 2006 Florian La Roche <laroche@redhat.com> - 1.33.1-5
364 - use the real version number to point to the shared libs
365
366 * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-4.2
367 - bump again for double-long bug on ppc(64)
368
369 * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-4.1
370 - rebuilt for new gcc4.1 snapshot and glibc changes
371
372 * Thu Jan 05 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-4
373 - Fix symbolic links.
374
375 * Wed Jan 04 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-3
376 - Update to boost-1.33.1.
377 - (#176485: Missing BuildRequires)
378 - (#169271: /usr/lib/libboost*.so.? links missing in package)
379
380 * Thu Dec 22 2005 Jesse Keating <jkeating@redhat.com> 1.33.1-2
381 - rebuilt
382
383 * Mon Nov 14 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-1
384 - Update to boost-1.33.1 beta.
385 - Run testsuite, gather results.
386
387 * Tue Oct 11 2005 Nils Philippsen <nphilipp@redhat.com> 1.33.0-4
388 - build require bzip2-devel and zlib-devel
389
390 * Tue Aug 23 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.0-3
391 - Create doc package again.
392 - Parts of the above by Neal Becker <ndbecker2@gmail.com>.
393
394 * Fri Aug 12 2005 Benjamin Kosnik <bkoz@redhat.com> 1.33.0-1
395 - Update to boost-1.33.0, update SONAME to 2 due to ABI changes.
396 - Simplified PYTHON_VERSION by Philipp Thomas <pth@suse.de>
397
398 * Tue May 24 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-6
399 - (#153093: boost warns that gcc 4.0.0 is an unknown compiler)
400 - (#152205: development .so symlinks should be in -devel subpackage)
401 - (#154783: linker .so symlinks missing from boost-devel package)
402
403 * Fri Mar 18 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-5
404 - Revert boost-base.patch to old behavior.
405 - Use SONAMEVERSION instead of dllversion.
406
407 * Wed Mar 16 2005 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-4
408 - (#142612: Compiling Boost 1.32.0 Failed in RHEL 3.0 on Itanium2) 
409 - (#150069: libboost_python.so is missing)
410 - (#141617: bad patch boost-base.patch)
411 - (#122817: libboost_*.so symlinks missing)
412 - Re-add boost-thread.patch.
413 - Change boost-base.patch to show thread tags.
414 - Change boost-gcc-tools.patch to use SOTAG, compile with dllversion.
415 - Add symbolic links to files.
416 - Sanity check can compile with gcc-3.3.x, gcc-3.4.2, gcc-4.0.x., gcc-4.1.x.
417
418 * Thu Dec 02 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-3
419 - (#122817: libboost_*.so symlinks missing)
420 - (#141574: half of the package is missing)
421 - (#141617: bad patch boost-base.patch)
422
423 * Wed Dec 01 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-2
424 - Remove bogus Obsoletes.
425
426 * Mon Nov 29 2004 Benjamin Kosnik <bkoz@redhat.com> 1.32.0-1
427 - Update to 1.32.0
428
429 * Wed Sep 22 2004 Than Ngo <than@redhat.com> 1.31.0-9
430 - cleanup specfile
431 - fix multiarch problem
432
433 * Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
434 - rebuilt
435
436 * Wed May 05 2004 Warren Togami <wtogami@redhat.com> 1.31.0-7
437 - missing Obsoletes boost-python
438
439 * Mon May 03 2004 Benjamin Kosnik <bkoz@redhat.com> 
440 - (#121630: gcc34 patch needed)
441
442 * Wed Apr 21 2004 Warren Togami <wtogami@redhat.com>
443 - #121415 FC2 BLOCKER: Obsoletes boost-python-devel, boost-doc
444 - other cleanups
445
446 * Tue Mar 30 2004 Benjamin Kosnik <bkoz@redhat.com> 
447 - Remove bjam dependency. (via Graydon).
448 - Fix installed library names.
449 - Fix SONAMEs in shared libraries.
450 - Fix installed header location.
451 - Fix installed permissions.
452
453 * Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
454 - rebuilt
455
456 * Mon Feb 09 2004 Benjamin Kosnik <bkoz@redhat.com> 1.31.0-2
457 - Update to boost-1.31.0
458
459 * Thu Jan 22 2004 Benjamin Kosnik <bkoz@redhat.com> 1.31.0-1
460 - Update to boost-1.31.0.rc2
461 - (#109307:  Compile Failure with boost libraries)
462 - (#104831:  Compile errors in apps using Boost.Python...)
463 - Unify into boost, boost-devel rpms.
464 - Simplify installation using bjam and prefix install.
465
466 * Tue Sep 09 2003 Nalin Dahyabhai <nalin@redhat.com> 1.30.2-2
467 - require boost-devel instead of devel in subpackages which require boost-devel
468 - remove stray Prefix: tag
469
470 * Mon Sep 08 2003 Benjamin Kosnik <bkoz@redhat.com> 1.30.2-1
471 - change license to Freely distributable
472 - verify installation of libboost_thread
473 - more boost-devel removals
474 - deal with lack of _REENTRANT on ia64/s390
475 - (#99458) rpm -e fixed via explict dir additions
476 - (#103293) update to 1.30.2
477
478 * Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
479 - rebuilt
480
481 * Tue May 13 2003 Florian La Roche <Florian.LaRoche@redhat.de>
482 - remove packager, change to new Group:
483
484 * Tue May 06 2003 Tim Powers <timp@redhat.com> 1.30.0-3
485 - add deffattr's so we don't have unknown users owning files