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