Revision: | 1.52 |
Committed: | Fri Feb 12 09:26:14 2010 UTC (15 years, 2 months ago) by eulisse |
Branch: | MAIN |
CVS Tags: | ebFor363slhc3p1, CMSSW_3_6_3_SLHC3, ebFor363slhc3, ebFor363slhc2, CMSSW_3_6_3_SLHC1_patch3, ebFor363slhc1pat3, CMSSW_3_6_3_SLHC1_patch2, ebFor363slhc1pat2, ebFor363slhc1pat1v0, CMSSW_3_6_3_SLHC1, CMSSW_3_6_1_patch7, smFor361patch7, CMSSW_3_6_3_hltpatch4, dsr20100805fwlite363, CMSSW_3_6_3_onlpatch4_ONLINE, smFor363patch2, FRONTEND_CONF_3_30_20100724, FRONTEND_CONF_3_29_20100723, CMSSW_3_6_3_onlpatch3_ONLINE, CMSSW_3_6_1_patch6, apFor361p6v0, CMSSW_3_6_3_patch1, apFor363p1v0, CMSSW_3_6_3_onlpatch2_ONLINE, CMSSW_3_6_1_patch5, smFor361patch5, CMSSW_3_6_3_onlpatch1_ONLINE, CMSSW_3_6_3_ONLINE, CMSSW_3_6_3, apFor363v0, CMSSW_3_6_2_ONLINE, fw361online_test5, CMSSW_3_6_2, apFor362v1, apFor362v0, fw361online_test4, CMSSW_3_6_1_patch4, apFor361p4v0, fw361online_test3, dsr20100526fwlite361, fw361online_test2, CMSSW_3_6_1_patch3, fw361online_test1, apFor361p3v0, CMSSW_3_6_1_patch2, apFor361p2v0, DQMGUI_5_2_1c, CMSSW_3_6_1_patch1, apFor361p1v2, apFor361p1v1, apFor361p1v0, CMSSW_3_6_1, apFor361v1, apFor361v0, fw360online_test5, fw360online_test4, fw360online_test3, sm100507pftrack, fw360online_test2, fw360online_test1, sm100506, sm100505a, sm100505, CMSSW_3_7_0_pre3, for370pre3, CMSSW_3_6_0_patch2, apFor360p2v0, CMSSW_3_6_0_patch1, apFor360p1v2, apFor360p1v1, apFor360p1v0, CMSSW_3_7_0_pre2, for370pre2, CMSSW_3_7_0_pre1, smFor370pre1, pe20100419a-for37X, pe20100419a-for36X-37X, pe20100419a-gcc45-from360, CMSSW_3_6_0, pe20100416a-for36X, pe20100414b-gcc45-from360p6, pe20100414-gcc45-from360p6, pe20100410-gcc45-from360p6, CMSSW_3_6_0_pre6, pe20100409b-for36X, dg-base-rev9, pe20100409a-for36X, CMSSW_3_6_0_pre5io, pe20100408a-for36Xio, DAS_20100407_slc5_amd64_gcc434, CMSSW_3_6_0_pre5, pe20100401a-for36X, pe20100330a-for36X, pe20100329a-for36X, dsr20100326fwlite355osx, DAS_20100326_slc5_amd64_gcc434, CMSSW_3_6_0_pre4, pe20100324a-for36X, dg-base-rev8, pe20100321a-for36X, CMSSW_3_6_0_pre3, pe20100313a-for36X, pe20100312a-for36X, pe20100311a-for36X, DAS_20100309_slc5_amd64_gcc434, pe20100307a-for36X, pe20100305e-for36X, pe20100305d-for36X, pe20100305c-for36X, pe20100305b-for36X, dg-base-rev7, forPHEDEX-web-20100301, dg-base-rev6, forPHEDEX-web-20100226, forPHEDEX-web-20100225, dg-base-rev5, dg-base-rev4, CRABSERVER_1_1_1_pre9_BUILD_SLC5rev3py24, dg-base-rev3, dg-base-rev2, dg-base-rev1, FRONTEND_CONF_3_24_20100217, ge20100212-boost, ge20100112-boost |
Changes since 1.51: | +16 -22 lines |
Log Message: | Updated to BOOST 1.42.0. * Spec file revision updated. * Now uses tar to copy includes in their destination area, rather than a for loop doing `install`. |
# | User | Rev | Content |
---|---|---|---|
1 | eulisse | 1.52 | ### RPM external boost 1.42.0 |
2 | elmer | 1.17 | %define boostver _%(echo %realversion | tr . _) |
3 | ratnik | 1.31 | Source: http://internap.dl.sourceforge.net/sourceforge/%{n}/%{n}%{boostver}.tar.gz |
4 | muzaffar | 1.46 | %define closingbrace ) |
5 | elmer | 1.47 | %define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac) |
6 | argiro | 1.1 | |
7 | ratnik | 1.25 | Requires: boost-build python bz2lib |
8 | muzaffar | 1.45 | %if "%online" != "true" |
9 | ratnik | 1.25 | Requires: zlib |
10 | %endif | ||
11 | |||
12 | argiro | 1.1 | %prep |
13 | %setup -n %{n}%{boostver} | ||
14 | |||
15 | %build | ||
16 | ratnik | 1.25 | PV="PYTHON_VERSION=$(echo $PYTHON_VERSION | sed 's/\.[0-9]*-.*$//')" |
17 | argiro | 1.1 | PR="PYTHON_ROOT=$PYTHON_ROOT" |
18 | ratnik | 1.25 | |
19 | elmer | 1.17 | # The following line assumes a version of the form x.y.z-XXXX, where the |
20 | # "-XXXX" part represents some CMS rebuild of version x.y.z | ||
21 | BZ2LIBR="BZIP2_LIBPATH=$BZ2LIB_ROOT/lib" | ||
22 | ratnik | 1.25 | BZ2LIBI="BZIP2_INCLUDE=$BZ2LIB_ROOT/include" |
23 | |||
24 | muzaffar | 1.45 | %if "%online" != "true" |
25 | eulisse | 1.8 | ZLIBR="ZLIB_LIBPATH=$ZLIB_ROOT/lib" |
26 | ZLIBI="ZLIB_INCLUDE=$ZLIB_ROOT/include" | ||
27 | |||
28 | argiro | 1.1 | case $(uname) in |
29 | dsr | 1.51 | Darwin ) bjam %makeprocesses -s$PR -s$PV -s$BZ2LIBR -s$ZLIBR toolset=darwin stage;; |
30 | * ) bjam %makeprocesses -s$PR -s$PV -s$BZ2LIBR -s$ZLIBR toolset=gcc stage;; | ||
31 | argiro | 1.1 | esac |
32 | ratnik | 1.25 | %else |
33 | dsr | 1.51 | bjam %makeprocesses -s$PR -s$PV -s$BZ2LIBR -s$BZ2LIBI toolset=gcc stage |
34 | ratnik | 1.25 | %endif |
35 | argiro | 1.1 | |
36 | %install | ||
37 | case $(uname) in Darwin ) so=dylib ;; * ) so=so ;; esac | ||
38 | eulisse | 1.52 | mkdir -p %i/lib %i/include |
39 | # copy files around in their final location. | ||
40 | # We use tar to reduce the number of processes required | ||
41 | # and because we need to build the build hierarchy for | ||
42 | # the files that we are copying. | ||
43 | pushd stage/lib | ||
44 | find . -name "*.$so*" -type f | tar cf - -T - | (cd %i/lib; tar xfp -) | ||
45 | popd | ||
46 | find boost -name '*.[hi]*' | tar cf - -T - | ( cd %i/include; tar xfp -) | ||
47 | ratnik | 1.19 | |
48 | eulisse | 1.42 | for l in `find %i/lib -name "*.$so.*"` |
49 | do | ||
50 | ln -s `basename $l` `echo $l | sed -e "s|[.]$so[.].*|.$so|"` | ||
51 | done | ||
52 | ratnik | 1.31 | |
53 | eulisse | 1.52 | pushd libs/python/pyste/install |
54 | python setup.py install --prefix=%i | ||
55 | popd | ||
56 | |||
57 | # Do all manipulation with files before creating symbolic links: | ||
58 | perl -p -i -e "s|^#!.*python|/usr/bin/env python|" $(find %{i}/lib %{i}/bin -type f) | ||
59 | ratnik | 1.16 | |
60 | eulisse | 1.41 | getLibName() |
61 | { | ||
62 | elmer | 1.48 | libname=`find %i/lib -name "libboost_$1.$so" -exec basename {} \;` |
63 | eulisse | 1.41 | echo $libname | sed -e 's|[.][^-]*$||;s|^lib||' |
64 | } | ||
65 | |||
66 | export BOOST_THREAD_LIB=`getLibName thread` | ||
67 | export BOOST_SIGNALS_LIB=`getLibName signals` | ||
68 | export BOOST_FILESYSTEM_LIB=`getLibName filesystem` | ||
69 | andreasp | 1.44 | export BOOST_SYSTEM_LIB=`getLibName system` |
70 | eulisse | 1.41 | export BOOST_PROGRAM_OPTIONS_LIB=`getLibName program_options` |
71 | export BOOST_PYTHON_LIB=`getLibName python` | ||
72 | export BOOST_REGEX_LIB=`getLibName regex` | ||
73 | lat | 1.49 | export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.) |
74 | eulisse | 1.41 | |
75 | muzaffar | 1.21 | # SCRAM ToolBox toolfile |
76 | mkdir -p %i/etc/scram.d | ||
77 | # boost toolfile | ||
78 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost | ||
79 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
80 | <Tool name=boost version=%v> | ||
81 | <info url="http://www.boost.org"></info> | ||
82 | eulisse | 1.41 | <lib name="@BOOST_THREAD_LIB@"> |
83 | <lib name="@BOOST_SIGNALS_LIB@"> | ||
84 | muzaffar | 1.21 | <Client> |
85 | <Environment name=BOOST_BASE default="%i"></Environment> | ||
86 | <Environment name=LIBDIR default="$BOOST_BASE/lib"></Environment> | ||
87 | <Environment name=INCLUDE default="$BOOST_BASE/include"></Environment> | ||
88 | </Client> | ||
89 | <use name=sockets> | ||
90 | dlange | 1.22 | <Runtime name=LD_LIBRARY_PATH value="$BOOST_BASE/lib" type=path> |
91 | <Runtime name=CMSSW_FWLITE_INCLUDE_PATH value="$BOOST_BASE/include" type=path> | ||
92 | muzaffar | 1.21 | </Tool> |
93 | EOF_TOOLFILE | ||
94 | |||
95 | # boost_filesystem toolfile | ||
96 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_filesystem | ||
97 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
98 | <Tool name=boost_filesystem version=%v> | ||
99 | <info url="http://www.boost.org"></info> | ||
100 | eulisse | 1.41 | <lib name="@BOOST_FILESYSTEM_LIB@"> |
101 | andreasp | 1.44 | <use name=boost_system> |
102 | <use name=boost> | ||
103 | </Tool> | ||
104 | EOF_TOOLFILE | ||
105 | |||
106 | # boost_system toolfile | ||
107 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_system | ||
108 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
109 | <Tool name=boost_system version=%v> | ||
110 | <info url="http://www.boost.org"></info> | ||
111 | <lib name="@BOOST_SYSTEM_LIB@"> | ||
112 | muzaffar | 1.21 | <use name=boost> |
113 | </Tool> | ||
114 | EOF_TOOLFILE | ||
115 | |||
116 | # boost_program_options toolfile | ||
117 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_program_options | ||
118 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
119 | <Tool name=boost_program_options version=%v> | ||
120 | <info url="http://www.boost.org"></info> | ||
121 | eulisse | 1.41 | <lib name="@BOOST_PROGRAM_OPTIONS_LIB@"> |
122 | muzaffar | 1.21 | <use name=boost> |
123 | </Tool> | ||
124 | EOF_TOOLFILE | ||
125 | |||
126 | # boost_python toolfile | ||
127 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_python | ||
128 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
129 | <Tool name=boost_python version=%v> | ||
130 | <info url="http://www.boost.org"></info> | ||
131 | eulisse | 1.41 | <lib name="@BOOST_PYTHON_LIB@"> |
132 | muzaffar | 1.21 | <Client> |
133 | <Environment name=BOOST_PYTHON_BASE default="%i"></Environment> | ||
134 | lat | 1.49 | <Environment name=PYSTE_EXEC default="$BOOST_PYTHON_BASE/lib/python@PYTHONV@/site-packages/Pyste/pyste.py"></Environment> |
135 | muzaffar | 1.21 | <Environment name=LIBDIR default="$BOOST_PYTHON_BASE/lib"></Environment> |
136 | <Environment name=INCLUDE default="$BOOST_PYTHON_BASE/include"></Environment> | ||
137 | </Client> | ||
138 | <use name=elementtree> | ||
139 | <use name=gccxml> | ||
140 | <use name=python> | ||
141 | </Tool> | ||
142 | EOF_TOOLFILE | ||
143 | |||
144 | # boost_regex toolfile | ||
145 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_regex | ||
146 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
147 | <Tool name=boost_regex version=%v> | ||
148 | <info url="http://www.boost.org"></info> | ||
149 | eulisse | 1.41 | <lib name="@BOOST_REGEX_LIB@"> |
150 | muzaffar | 1.21 | <use name=boost> |
151 | </Tool> | ||
152 | EOF_TOOLFILE | ||
153 | |||
154 | # boost_signals toolfile | ||
155 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_signals | ||
156 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
157 | <Tool name=boost_signals version=%v> | ||
158 | <info url="http://www.boost.org"></info> | ||
159 | eulisse | 1.41 | <lib name="@BOOST_SIGNALS_LIB@"> |
160 | muzaffar | 1.21 | <use name=boost> |
161 | </Tool> | ||
162 | EOF_TOOLFILE | ||
163 | |||
164 | elmer | 1.50 | # boost_header toolfile |
165 | cat << \EOF_TOOLFILE >%i/etc/scram.d/boost_header | ||
166 | <doc type=BuildSystem::ToolDoc version=1.0> | ||
167 | <Tool name=boost_header version=%v> | ||
168 | <info url="http://www.boost.org"></info> | ||
169 | <Client> | ||
170 | <Environment name=BOOSTHEADER_BASE default="%i"></Environment> | ||
171 | <Environment name=INCLUDE default="$BOOSTHEADER_BASE/include"></Environment> | ||
172 | </Client> | ||
173 | </Tool> | ||
174 | EOF_TOOLFILE | ||
175 | |||
176 | |||
177 | eulisse | 1.41 | perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/* |
178 | |||
179 | muzaffar | 1.21 | %post |
180 | %{relocateConfig}etc/scram.d/boost | ||
181 | %{relocateConfig}etc/scram.d/boost_filesystem | ||
182 | %{relocateConfig}etc/scram.d/boost_program_options | ||
183 | %{relocateConfig}etc/scram.d/boost_python | ||
184 | %{relocateConfig}etc/scram.d/boost_regex | ||
185 | %{relocateConfig}etc/scram.d/boost_signals | ||
186 | elmer | 1.50 | %{relocateConfig}etc/scram.d/boost_header |