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