libboost-vl.spec 51 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. %define _unpackaged_files_terminate_build 1
  3. # Support for documentation installation As the %%doc macro erases the
  4. # target directory ($RPM_BUILD_ROOT%%{_docdir}/%%{name}), manually
  5. # installed documentation must be saved into a temporary dedicated
  6. # directory.
  7. # XXX note that as of rpm 4.9.1, this shouldn't be necessary anymore.
  8. # We should be able to install directly.
  9. %global boost_docdir __tmp_docdir
  10. %global boost_examplesdir __tmp_examplesdir
  11. %bcond_without context
  12. %bcond_without python3
  13. %bcond_with mpich
  14. %bcond_with openmpi
  15. %define major 1
  16. %define minor 66
  17. %define teeny 0
  18. %define tarname boost
  19. %define lnkver %{major}_%{minor}
  20. %define pkgver %{major}_%{minor}_%{teeny}
  21. %ifnarch %{ix86} x86_64
  22. # Avoid using Boost.Context on non-x86 arches. s390 is not
  23. # supported at all and there were _syntax errors_ in PPC code. This
  24. # should be enabled on a case-by-case basis as the arches are tested
  25. # and fixed.
  26. %bcond_with context
  27. %else
  28. %bcond_without context
  29. %endif
  30. Summary: Portable C++ source libraries
  31. Summary(ja): ポータブルな C++ ソースライブラリ
  32. Name: libboost
  33. Version: %{major}.%{minor}.%{teeny}
  34. Release: 5%{?_dist_release}
  35. Source0: http://downloads.sourceforge.net/%{tarname}/%{tarname}_%{pkgver}.tar.bz2
  36. Source1: ver.py
  37. Source2: libboost_thread.so
  38. License: distributable
  39. Group: System Environment/Libraries
  40. URL: http://www.boost.org/
  41. BuildRequires: python-devel apache2-devel bzip2-devel zlib-devel libicu-devel
  42. BuildRequires: libaio-devel lam
  43. BuildRequires: libquadmath-devel
  44. %if %{with python3}
  45. BuildRequires: python3-devel
  46. %endif
  47. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  48. # https://svn.boost.org/trac/boost/ticket/6150
  49. Patch4: boost-1.50.0-fix-non-utf8-files.patch
  50. # Add a manual page for bjam, based on the on-line documentation:
  51. # http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
  52. Patch5: boost-1.48.0-add-bjam-man-page.patch
  53. # https://bugzilla.redhat.com/show_bug.cgi?id=828856
  54. # https://bugzilla.redhat.com/show_bug.cgi?id=828857
  55. # https://svn.boost.org/trac/boost/ticket/6701
  56. Patch15: boost-1.58.0-pool.patch
  57. # https://svn.boost.org/trac/boost/ticket/5637
  58. Patch25: boost-1.57.0-mpl-print.patch
  59. # https://svn.boost.org/trac/boost/ticket/9038
  60. Patch51: boost-1.58.0-pool-test_linking.patch
  61. # https://bugzilla.redhat.com/show_bug.cgi?id=1102667
  62. Patch61: boost-1.57.0-python-libpython_dep.patch
  63. Patch62: boost-1.57.0-python-abi_letters.patch
  64. # https://bugzilla.redhat.com/show_bug.cgi?id=1190039
  65. Patch65: boost-1.66.0-build-optflags.patch
  66. # Prevent gcc.jam from setting -m32 or -m64.
  67. Patch68: boost-1.58.0-address-model.patch
  68. # https://bugzilla.redhat.com/show_bug.cgi?id=1318383
  69. Patch82: boost-1.60.0-no-rpath.patch
  70. Vendor: Project Vine
  71. Distribution: Vine Linux
  72. Obsoletes: %{name}-date-time-devel %{name}-filesystem-devel %{name}-graph-devel
  73. Obsoletes: %{name}-iostreams-devel %{name}-program-options-devel
  74. Obsoletes: %{name}-python-devel %{name}-regex-devel
  75. Obsoletes: %{name}-serialization-devel %{name}-signals-devel %{name}-test-devel
  76. Obsoletes: %{name}-thread-devel %{name}-wave-devel
  77. %description
  78. Boost provides free peer-reviewed portable C++ source libraries. The emphasis
  79. is on libraries which work well with the C++ Standard Library. The libraries
  80. are intended to be widely useful, and are in regular use by thousands of
  81. programmers across a broad spectrum of applications.
  82. A further goal is to establish "existing practice" and provide reference
  83. implementations so that Boost libraries are suitable for eventual
  84. standardization. Ten Boost libraries will be included in the C++ Standards
  85. Committee's upcoming C++ Standard Library Technical Report as a step toward
  86. becoming part of a future C++ Standard.
  87. %description -l ja
  88. Boost は公開レビューされたフリーのC++ライブラリ群です。 C++ の標準ライブラリに
  89. 準拠することに重点を置いて開発されています。使いやすく、広い分野のアプリ
  90. ケーションにおいて日常的に多くの開発者に用いられることを目指しています。
  91. さらなる目標は、最終的な標準化に適合した「存在する実例」としてリファレンス実装
  92. を提供することです。10 の Boost ライブラリが、将来の C++ 標準になるための一歩
  93. として、C++ 標準化委員会が策定中の C++ 標準ライブラリテクニカルレポートに
  94. 含まれる予定です。
  95. %package atomic
  96. Summary: Run-Time component of boost atomic library
  97. Group: System Environment/Libraries
  98. %description atomic
  99. Run-Time support for Boost.Atomic, a library that provides atomic data
  100. types and operations on these data types, as well as memory ordering
  101. constraints required for coordinating multiple threads through atomic
  102. variables.
  103. %package chrono
  104. Summary: Run-Time component of boost chrono library
  105. Group: System Environment/Libraries
  106. Requires: %{name}-system = %{version}-%{release}
  107. %description chrono
  108. Run-Time support for Boost.Chrono, a set of useful time utilities.
  109. %package container
  110. Summary: Run-Time component of boost container library
  111. Group: System Environment/Libraries
  112. Requires: %{name} = %{version}-%{release}
  113. %description container
  114. Boost.Container library implements several well-known containers,
  115. including STL containers. The aim of the library is to offers advanced
  116. features not present in standard containers or to offer the latest
  117. standard draft features for compilers that comply with C++03.
  118. %if %{with context}
  119. %package context
  120. Summary: Run-Time component of boost context switching library
  121. Group: System Environment/Libraries
  122. Requires: %{name} = %{version}-%{release}
  123. %description context
  124. Run-Time support for Boost.Context, a foundational library that
  125. provides a sort of cooperative multitasking on a single thread.
  126. %package coroutine
  127. Summary: Run-Time component of boost coroutine library
  128. Group: System Environment/Libraries
  129. Requires: %{name} = %{version}-%{release}
  130. %description coroutine
  131. Run-Time support for Boost.Coroutine, a library that provides
  132. generalized subroutines which allow multiple entry points for
  133. suspending and resuming execution.
  134. %endif
  135. %package date-time
  136. Summary: Set of data-time libralies in %{name}
  137. Group: System Environment/Libraries
  138. Requires: %{name} = %{version}-%{release}
  139. %description date-time
  140. Set of data-time libralies in %{name}
  141. %package fiber
  142. Summary: Set of fiber libralies in %{name}
  143. Group: System Environment/Libraries
  144. Requires: %{name} = %{version}-%{release}
  145. %description fiber
  146. Set of fiber libralies in %{name}
  147. %package filesystem
  148. Summary: Set of filesystem operation libralies in %{name}
  149. Group: System Environment/Libraries
  150. Requires: %{name} = %{version}-%{release}
  151. %description filesystem
  152. Set of filesystem operation libralies in %{name}
  153. %package graph
  154. Summary: Set of Graphviz libralies in %{name}
  155. Group: System Environment/Libraries
  156. Requires: %{name} = %{version}-%{release}
  157. %description graph
  158. Set of Graphviz libralies in %{name}
  159. %package iostreams
  160. Summary: Set of streams and i/o filters libralies in %{name}
  161. Group: System Environment/Libraries
  162. Requires: %{name} = %{version}-%{release}
  163. %description iostreams
  164. Set of streams and i/o filters libralies in %{name}
  165. %package locale
  166. Summary: Run-Time component of boost locale library
  167. Group: System Environment/Libraries
  168. Requires: %{name}-chrono = %{version}-%{release}
  169. Requires: %{name}-system = %{version}-%{release}
  170. Requires: %{name}-thread = %{version}-%{release}
  171. %description locale
  172. Run-Time support for Boost.Locale, a set of localization and Unicode
  173. handling tools.
  174. %package log
  175. Summary: Run-Time component of boost logging library
  176. Group: System Environment/Libraries
  177. %description log
  178. Boost.Log library aims to make logging significantly easier for the
  179. application developer. It provides a wide range of out-of-the-box
  180. tools along with public interfaces for extending the library.
  181. %package math
  182. Summary: Set of math libralies in %{name}
  183. Group: System Environment/Libraries
  184. Requires: %{name} = %{version}-%{release}
  185. %description math
  186. Set of math libralies in %{name}
  187. %package program-options
  188. Summary: Set of program options libralies in %{name}
  189. Group: System Environment/Libraries
  190. Requires: %{name} = %{version}-%{release}
  191. %description program-options
  192. Set of program options libralies in %{name}
  193. %package python
  194. Summary: Set of Python libralies in %{name}
  195. Group: System Environment/Libraries
  196. Requires: %{name} = %{version}-%{release}
  197. %description python
  198. Set of Python libralies in %{name}
  199. %if %{with python3}
  200. %package python3
  201. Summary: Run-Time component of boost python library for Python 3
  202. Group: System Environment/Libraries
  203. %description python3
  204. The Boost Python Library is a framework for interfacing Python and
  205. C++. It allows you to quickly and seamlessly expose C++ classes,
  206. functions and objects to Python, and vice versa, using no special
  207. tools -- just your C++ compiler. This package contains run-time
  208. support for Boost Python Library compiled for Python 3.
  209. %package python3-devel
  210. Summary: Shared object symbolic links for Boost.Python 3
  211. Group: System Environment/Libraries
  212. Requires: %{name}-python3 = %{version}-%{release}
  213. Requires: %{name}-devel = %{version}-%{release}
  214. %description python3-devel
  215. Shared object symbolic links for Python 3 variant of Boost.Python.
  216. %endif
  217. %package random
  218. Summary: Set of random number generation libralies in %{name}
  219. Group: System Environment/Libraries
  220. Requires: %{name} = %{version}-%{release}
  221. %description random
  222. Set of random number generation libralies in %{name}
  223. %package regex
  224. Summary: Set of regular expression libralies in %{name}
  225. Group: System Environment/Libraries
  226. Requires: %{name} = %{version}-%{release}
  227. %description regex
  228. Set of regular expression libralies in %{name}
  229. %package serialization
  230. Summary: Set of serialization libralies in %{name}
  231. Group: System Environment/Libraries
  232. Requires: %{name} = %{version}-%{release}
  233. %description serialization
  234. Set of serialization libralies in %{name}
  235. %package signals
  236. Summary: Set of signals and slots libralies in %{name}
  237. Group: System Environment/Libraries
  238. Requires: %{name} = %{version}-%{release}
  239. %description signals
  240. Set of signals and slots libralies in %{name}
  241. %package stacktrace
  242. Summary: Call-stack libraries in %{name}
  243. Group: System Environment/Libraries
  244. Requires: %{name} = %{version}-%{release}
  245. %description stacktrace
  246. simple C++03 library that provides information about call sequence in a
  247. human-readable form
  248. %package system
  249. Summary: Operating system support
  250. Group: System Environment/Libraries
  251. Requires: %{name} = %{version}-%{release}
  252. %description system
  253. Operating system support, including the diagnostics support
  254. that will be part of the C++0x standard library
  255. %package test
  256. Summary: Set of libraries for writing and executing tests in %{name}
  257. Group: System Environment/Libraries
  258. Requires: %{name} = %{version}-%{release}
  259. %description test
  260. Set of libraries for writing and executing tests in %{name}
  261. %package thread
  262. Summary: Set of multi-thread libraries in %{name}
  263. Group: System Environment/Libraries
  264. Requires: %{name} = %{version}-%{release}
  265. %description thread
  266. Set of multi-thread libraries in %{name}
  267. %package timer
  268. Summary: Run-Time component of boost timer library
  269. Group: System Environment/Libraries
  270. Requires: %{name}-chrono = %{version}-%{release}
  271. Requires: %{name}-system = %{version}-%{release}
  272. %description timer
  273. "How long does my C++ code take to run?"
  274. The Boost Timer library answers that question and does so portably,
  275. with as little as one #include and one additional line of code.
  276. %package type_erasure
  277. Summary: Run-Time component of boost type erasure library
  278. Group: System Environment/Libraries
  279. Requires: %{name}-chrono = %{version}-%{release}
  280. Requires: %{name}-system = %{version}-%{release}
  281. %description type_erasure
  282. The Boost.TypeErasure library provides runtime polymorphism in C++
  283. that is more flexible than that provided by the core language.
  284. %package wave
  285. Summary: Set of wave libraries in %{name}
  286. Group: System Environment/Libraries
  287. Requires: %{name} = %{version}-%{release}
  288. %description wave
  289. Set of wave libraries in %{name}
  290. %package devel
  291. Summary: Header files and libraries for developing apps which will use %{name}
  292. Summary(ja): %{name}の開発に必要なヘッダファイル及びライブラリ
  293. Group: Development/Libraries
  294. Requires: %{name} = %{version}-%{release}
  295. Requires: libicu-devel
  296. Requires: libquadmath-devel
  297. %description devel
  298. The %{name}-devel package contains the header files and libraries needed
  299. to develop programs that use the Boost library.
  300. %description devel -l ja
  301. %{name}-devel パッケージは Boost ライブラリを使うプログラムの開発に必要な
  302. ヘッダファイルやライブラリを含んでいます。
  303. %package doc
  304. Summary: Documents of %{name}
  305. Summary(ja): %{name}のドキュメント
  306. Group: Applications/Documentation
  307. Requires: %{name} = %{version}-%{release}
  308. %description doc
  309. The %{name}-doc package contains the documents about the boost library.
  310. %description doc -l ja
  311. %{name}-doc パッケージは Boost ライブラリについてのドキュメントを含んでいます。
  312. %package build
  313. Summary: Cross platform build system for C++ projects
  314. Group: Development/Tools
  315. Requires: %{name}-jam
  316. BuildArch: noarch
  317. %description build
  318. Boost.Build is an easy way to build C++ projects, everywhere. You name
  319. your pieces of executable and libraries and list their sources. Boost.Build
  320. takes care about compiling your sources with the right options,
  321. creating static and shared libraries, making pieces of executable, and other
  322. chores -- whether you're using GCC, MSVC, or a dozen more supported
  323. C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems.
  324. %package doctools
  325. Summary: Tools for working with Boost documentation
  326. Group: Applications/Publishing
  327. Requires: docbook-dtds
  328. Requires: docbook-style-xsl
  329. %description doctools
  330. Tools for working with Boost documentation in BoostBook or QuickBook format.
  331. %package jam
  332. Summary: A low-level build tool
  333. Group: Development/Tools
  334. %description jam
  335. Boost.Jam (BJam) is the low-level build engine tool for Boost.Build.
  336. Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown
  337. a number of significant features and is now developed independently
  338. %if %{with openmpi}
  339. %package openmpi
  340. Summary: Run-Time component of Boost.MPI library
  341. Group: System Environment/Libraries
  342. BuildRequires: openmpi-devel
  343. Requires: %{name}-serialization = %{version}-%{release}
  344. %description openmpi
  345. Run-Time support for Boost.MPI-OpenMPI, a library providing a clean C++
  346. API over the OpenMPI implementation of MPI.
  347. %package openmpi-python
  348. Summary: Python run-time component of Boost.MPI library
  349. Group: System Environment/Libraries
  350. Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
  351. Requires: %{name}-python%{?_isa} = %{version}-%{release}
  352. Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
  353. %description openmpi-python
  354. Python support for Boost.MPI-OpenMPI, a library providing a clean C++
  355. API over the OpenMPI implementation of MPI.
  356. %package graph-openmpi
  357. Summary: Run-Time component of parallel boost graph library
  358. Group: System Environment/Libraries
  359. Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
  360. Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
  361. %description graph-openmpi
  362. Run-Time support for the Parallel BGL graph library. The interface and
  363. graph components are generic, in the same sense as the the Standard
  364. Template Library (STL). This libraries in this package use OpenMPI
  365. back-end to do the parallel work.
  366. %endif
  367. %if %{with mpich}
  368. %package mpich
  369. Summary: Run-Time component of Boost.MPI library
  370. Group: System Environment/Libraries
  371. BuildRequires: mpich-devel
  372. Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
  373. Provides: boost-mpich2 = %{version}-%{release}
  374. Obsoletes: boost-mpich2 < 1.53.0-9
  375. %description mpich
  376. Run-Time support for Boost.MPI-MPICH, a library providing a clean C++
  377. API over the MPICH implementation of MPI.
  378. %package mpich-python
  379. Summary: Python run-time component of Boost.MPI library
  380. Group: System Environment/Libraries
  381. Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
  382. Requires: %{name}-python%{?_isa} = %{version}-%{release}
  383. Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
  384. Provides: boost-mpich2-python = %{version}-%{release}
  385. Obsoletes: boost-mpich2-python < 1.53.0-9
  386. %description mpich-python
  387. Python support for Boost.MPI-MPICH, a library providing a clean C++
  388. API over the MPICH implementation of MPI.
  389. %package graph-mpich
  390. Summary: Run-Time component of parallel boost graph library
  391. Group: System Environment/Libraries
  392. Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
  393. Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
  394. Provides: boost-graph-mpich2 = %{version}-%{release}
  395. Obsoletes: boost-graph-mpich2 < 1.53.0-9
  396. %description graph-mpich
  397. Run-Time support for the Parallel BGL graph library. The interface and
  398. graph components are generic, in the same sense as the the Standard
  399. Template Library (STL). This libraries in this package use MPICH
  400. back-end to do the parallel work.
  401. %endif
  402. #### compat32 packages ####
  403. %package -n compat32-%{name}-atomic
  404. Summary: Run-Time component of boost atomic library
  405. Group: System Environment/Libraries
  406. %description -n compat32-%{name}-atomic
  407. Run-Time support for Boost.Atomic, a library that provides atomic data
  408. types and operations on these data types, as well as memory ordering
  409. constraints required for coordinating multiple threads through atomic
  410. variables.
  411. %package -n compat32-%{name}-chrono
  412. Summary: Run-Time component of boost chrono library
  413. Group: System Environment/Libraries
  414. Requires: compat32-%{name}-system = %{version}-%{release}
  415. %description -n compat32-%{name}-chrono
  416. Run-Time support for Boost.Chrono, a set of useful time utilities.
  417. %package -n compat32-%{name}-container
  418. Summary: Run-Time component of boost container library
  419. Group: System Environment/Libraries
  420. %description -n compat32-%{name}-container
  421. Boost.Container library implements several well-known containers,
  422. including STL containers. The aim of the library is to offers advanced
  423. features not present in standard containers or to offer the latest
  424. standard draft features for compilers that comply with C++03.
  425. %if %{with context}
  426. %package -n compat32-%{name}-context
  427. Summary: Run-Time component of boost context switching library
  428. Group: System Environment/Libraries
  429. %description -n compat32-%{name}-context
  430. Run-Time support for Boost.Context, a foundational library that
  431. provides a sort of cooperative multitasking on a single thread.
  432. %package -n compat32-%{name}-coroutine
  433. Summary: Run-Time component of boost coroutine library
  434. Group: System Environment/Libraries
  435. %description -n compat32-%{name}-coroutine
  436. Run-Time support for Boost.Coroutine, a library that provides
  437. generalized subroutines which allow multiple entry points for
  438. suspending and resuming execution.
  439. %endif
  440. %package -n compat32-%{name}-date-time
  441. Summary: Set of data-time libralies in %{name}
  442. Group: System Environment/Libraries
  443. %description -n compat32-%{name}-date-time
  444. Set of data-time libralies in %{name}
  445. %package -n compat32-%{name}-fiber
  446. Summary: Set of fiber libralies in %{name}
  447. Group: System Environment/Libraries
  448. %description -n compat32-%{name}-fiber
  449. Set of filesystem operation libralies in %{name}
  450. %package -n compat32-%{name}-filesystem
  451. Summary: Set of filesystem operation libralies in %{name}
  452. Group: System Environment/Libraries
  453. %description -n compat32-%{name}-filesystem
  454. Set of filesystem operation libralies in %{name}
  455. %if 0
  456. %package -n compat32-%{name}-graph
  457. Summary: Set of Graphviz libralies in %{name}
  458. Group: System Environment/Libraries
  459. %description -n compat32-%{name}-graph
  460. Set of Graphviz libralies in %{name}
  461. %endif
  462. %package -n compat32-%{name}-iostreams
  463. Summary: Set of streams and i/o filters libralies in %{name}
  464. Group: System Environment/Libraries
  465. %description -n compat32-%{name}-iostreams
  466. Set of streams and i/o filters libralies in %{name}
  467. %if 0
  468. %package -n compat32-%{name}-locale
  469. Summary: Run-Time component of boost locale library
  470. Group: System Environment/Libraries
  471. Requires: compat32-%{name}-chrono = %{version}-%{release}
  472. Requires: compat32-%{name}-system = %{version}-%{release}
  473. Requires: compat32-%{name}-thread = %{version}-%{release}
  474. %description -n compat32-%{name}-locale
  475. Run-Time support for Boost.Locale, a set of localization and Unicode
  476. handling tools.
  477. %endif
  478. %if 0
  479. %package -n compat32-%{name}-log
  480. Summary: Run-Time component of boost logging library
  481. Group: System Environment/Libraries
  482. %description -n compat32-%{name}-log
  483. Boost.Log library aims to make logging significantly easier for the
  484. application developer. It provides a wide range of out-of-the-box
  485. tools along with public interfaces for extending the library.
  486. %endif
  487. %package -n compat32-%{name}-math
  488. Summary: Set of math libralies in %{name}
  489. Group: System Environment/Libraries
  490. %description -n compat32-%{name}-math
  491. Set of math libralies in %{name}
  492. %package -n compat32-%{name}-program-options
  493. Summary: Set of program options libralies in %{name}
  494. Group: System Environment/Libraries
  495. %description -n compat32-%{name}-program-options
  496. Set of program options libralies in %{name}
  497. %if 0
  498. %package -n compat32-%{name}-python
  499. Summary: Set of Python libralies in %{name}
  500. Group: System Environment/Libraries
  501. %description -n compat32-%{name}-python
  502. Set of Python libralies in %{name}
  503. %endif
  504. %if 0
  505. %if %{with python3}
  506. %package -n compat32-%{name}-python3
  507. Summary: Run-Time component of boost python library for Python 3
  508. Group: System Environment/Libraries
  509. %description -n compat32-%{name}-python3
  510. The Boost Python Library is a framework for interfacing Python and
  511. C++. It allows you to quickly and seamlessly expose C++ classes,
  512. functions and objects to Python, and vice versa, using no special
  513. tools -- just your C++ compiler. This package contains run-time
  514. support for Boost Python Library compiled for Python 3.
  515. %endif
  516. %endif
  517. %package -n compat32-%{name}-random
  518. Summary: Set of random number generation libralies in %{name}
  519. Group: System Environment/Libraries
  520. %description -n compat32-%{name}-random
  521. Set of random number generation libralies in %{name}
  522. %if 0
  523. %package -n compat32-%{name}-regex
  524. Summary: Set of regular expression libralies in %{name}
  525. Group: System Environment/Libraries
  526. %description -n compat32-%{name}-regex
  527. Set of regular expression libralies in %{name}
  528. %endif
  529. %package -n compat32-%{name}-serialization
  530. Summary: Set of serialization libralies in %{name}
  531. Group: System Environment/Libraries
  532. %description -n compat32-%{name}-serialization
  533. Set of serialization libralies in %{name}
  534. %package -n compat32-%{name}-signals
  535. Summary: Set of signals and slots libralies in %{name}
  536. Group: System Environment/Libraries
  537. %description -n compat32-%{name}-signals
  538. Set of signals and slots libralies in %{name}
  539. %package -n compat32-%{name}-stacktrace
  540. Summary: Call-stack libraries in %{name}
  541. Group: System Environment/Libraries
  542. Requires: %{name} = %{version}-%{release}
  543. %description -n compat32-%{name}-stacktrace
  544. simple C++03 library that provides information about call sequence in a
  545. human-readable form
  546. %package -n compat32-%{name}-system
  547. Summary: Operating system support
  548. Group: System Environment/Libraries
  549. %description -n compat32-%{name}-system
  550. Operating system support, including the diagnostics support
  551. that will be part of the C++0x standard library
  552. %package -n compat32-%{name}-test
  553. Summary: Set of libraries for writing and executing tests in %{name}
  554. Group: System Environment/Libraries
  555. %description -n compat32-%{name}-test
  556. Set of libraries for writing and executing tests in %{name}
  557. %package -n compat32-%{name}-thread
  558. Summary: Set of multi-thread libraries in %{name}
  559. Group: System Environment/Libraries
  560. %description -n compat32-%{name}-thread
  561. Set of multi-thread libraries in %{name}
  562. %package -n compat32-%{name}-timer
  563. Summary: Run-Time component of boost timer library
  564. Group: System Environment/Libraries
  565. Requires: compat32-%{name}-chrono = %{version}-%{release}
  566. Requires: compat32-%{name}-system = %{version}-%{release}
  567. %description -n compat32-%{name}-timer
  568. "How long does my C++ code take to run?"
  569. The Boost Timer library answers that question and does so portably,
  570. with as little as one #include and one additional line of code.
  571. %package -n compat32-%{name}-type_erasure
  572. Summary: Run-Time component of boost type erasure library
  573. Group: System Environment/Libraries
  574. Requires: compat32-%{name}-chrono = %{version}-%{release}
  575. Requires: compat32-%{name}-system = %{version}-%{release}
  576. %description -n compat32-%{name}-type_erasure
  577. The Boost.TypeErasure library provides runtime polymorphism in C++
  578. that is more flexible than that provided by the core language.
  579. %package -n compat32-%{name}-wave
  580. Summary: Set of wave libraries in %{name}
  581. Group: System Environment/Libraries
  582. %description -n compat32-%{name}-wave
  583. Set of wave libraries in %{name}
  584. %prep
  585. %setup -q -n %{tarname}_%{pkgver}
  586. %patch4 -p1
  587. %patch5 -p1
  588. %patch15 -p0
  589. %patch25 -p1
  590. %patch51 -p1
  591. %patch61 -p1
  592. %patch62 -p1
  593. %patch65 -p1
  594. %patch68 -p1
  595. %patch82 -p0
  596. # At least python2_version needs to be a macro so that it's visible in
  597. # %%install as well.
  598. %global python2_version %(/usr/bin/python2 %{SOURCE1})
  599. %if %{with python3}
  600. %global python3_version %(/usr/bin/python3 %{SOURCE1})
  601. %global python3_abiflags %(/usr/bin/python3-config --abiflags)
  602. %endif
  603. %build
  604. : PYTHON2_VERSION=%{python2_version}
  605. %if %{with python3}
  606. : PYTHON3_VERSION=%{python3_version}
  607. : PYTHON3_ABIFLAGS=%{python3_abiflags}
  608. %endif
  609. # There are many strict aliasing warnings, and it's not feasible to go
  610. # through them all at this time.
  611. # There are also lots of noisy but harmless unused local typedef warnings.
  612. export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations"
  613. cat > ./tools/build/src/user-config.jam << "EOF"
  614. import os ;
  615. local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
  616. using gcc : : : <compileflags>$(RPM_OPT_FLAGS) ;
  617. %if %{with openmpi} || %{with mpich}
  618. using mpi ;
  619. %endif
  620. using python : %{python2_version} : /usr/bin/python2 : /usr/include/python%{python2_version} : : : : ;
  621. EOF
  622. ./bootstrap.sh --with-toolset=gcc --with-icu
  623. # N.B. When we build the following with PCH, parts of boost (math
  624. # library in particular) end up being built second time during
  625. # installation. Unsure why that is, but all sub-builds need to be
  626. # built with pch=off to avoid this.
  627. echo ============================= build serial ==================
  628. ./b2 -d+2 -q %{?_smp_mflags} \
  629. --without-mpi --without-graph_parallel --build-dir=serial \
  630. %if !%{with context}
  631. --without-context --without-coroutine --without-coroutine2 \
  632. --without-fiber \
  633. %endif
  634. variant=release threading=multi debug-symbols=on pch=off \
  635. python=%{python2_version} stage
  636. # See libs/thread/build/Jamfile.v2 for where this file comes from.
  637. if [ $(find serial -type f -name has_atomic_flag_lockfree \
  638. -print -quit | wc -l) -ne 0 ]; then
  639. DEF=D
  640. else
  641. DEF=U
  642. fi
  643. m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \
  644. %{SOURCE2} > $(basename %{SOURCE2})
  645. %if %{with python3}
  646. # Previously, we built python 2.x and 3.x interfaces simultaneously.
  647. # However, this doesn't work once trying to build other Python components
  648. # such as libboost_numpy. Therefore, we build for each separately, while
  649. # minimizing duplicate compilation as much as possible.
  650. cat > python3-config.jam << "EOF"
  651. import os ;
  652. local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
  653. using gcc : : : <compileflags>$(RPM_OPT_FLAGS) ;
  654. %if %{with openmpi} || %{with mpich}
  655. using mpi ;
  656. %endif
  657. using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ;
  658. EOF
  659. echo ============================= build serial-py3 ==================
  660. ./b2 -d+2 -q %{?_smp_mflags} \
  661. --user-config=./python3-config.jam \
  662. --with-python --build-dir=serial-py3 \
  663. variant=release threading=multi debug-symbols=on pch=off \
  664. python=%{python3_version} stage
  665. %endif
  666. # Build MPI parts of Boost with OpenMPI support
  667. %if %{with openmpi} || %{with mpich}
  668. # First, purge all modules so that user environment doesn't conflict
  669. # with the build.
  670. module purge ||:
  671. %endif
  672. %if %{with openmpi}
  673. %{_openmpi_load}
  674. echo ============================= build $MPI_COMPILER ==================
  675. ./b2 -d+2 -q %{?_smp_mflags} \
  676. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
  677. variant=release threading=multi debug-symbols=on pch=off \
  678. python=%{python2_version} stage
  679. %if %{with python3}
  680. echo ============================= build $MPI_COMPILER-py3 ==================
  681. ./b2 -d+2 -q %{?_smp_mflags} \
  682. --user-config=./python3-config.jam \
  683. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
  684. variant=release threading=multi debug-symbols=on pch=off \
  685. python=%{python3_version} stage
  686. %endif
  687. %{_openmpi_unload}
  688. export PATH=/bin${PATH:+:}$PATH
  689. %endif
  690. # Build MPI parts of Boost with MPICH support
  691. %if %{with mpich}
  692. %{_mpich_load}
  693. echo ============================= build $MPI_COMPILER ==================
  694. ./b2 -d+2 -q %{?_smp_mflags} \
  695. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
  696. variant=release threading=multi debug-symbols=on pch=off \
  697. python=%{python2_version} stage
  698. %if %{with python3}
  699. echo ============================= build $MPI_COMPILER-py3 ==================
  700. ./b2 -d+2 -q %{?_smp_mflags} \
  701. --user-config=./python3-config.jam \
  702. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
  703. variant=release threading=multi debug-symbols=on pch=off \
  704. python=%{python3_version} stage
  705. %endif
  706. %{_mpich_unload}
  707. export PATH=/bin${PATH:+:}$PATH
  708. %endif
  709. echo ============================= build Boost.Build ==================
  710. (cd tools/build
  711. ./bootstrap.sh --with-toolset=gcc)
  712. %check
  713. :
  714. %install
  715. rm -rf $RPM_BUILD_ROOT
  716. #cd %{_builddir}/%{name}_%{pkgver}
  717. %if %{with openmpi} || %{with mpich}
  718. # First, purge all modules so that user environment doesn't conflict
  719. # with the build.
  720. module purge ||:
  721. %endif
  722. %if %{with openmpi}
  723. %{_openmpi_load}
  724. # XXX We want to extract this from RPM flags
  725. # b2 instruction-set=i686 etc.
  726. echo ============================= install $MPI_COMPILER ==================
  727. ./b2 -q %{?_smp_mflags} \
  728. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
  729. --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
  730. variant=release threading=multi debug-symbols=on pch=off \
  731. python=%{python2_version} stage
  732. # Move Python module to proper location for automatic loading
  733. mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost
  734. touch ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/__init__.py
  735. mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
  736. ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/
  737. %if %{with python3}
  738. echo ============================= install $MPI_COMPILER-py3 ==================
  739. ./b2 -q %{?_smp_mflags} \
  740. --user-config=./python3-config.jam \
  741. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
  742. --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
  743. variant=release threading=multi debug-symbols=on pch=off \
  744. python=%{python3_version} stage
  745. # Move Python module to proper location for automatic loading
  746. mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost
  747. touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py
  748. mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
  749. ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
  750. %endif
  751. # Remove generic parts of boost that were built for dependencies.
  752. rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
  753. %{_openmpi_unload}
  754. export PATH=/bin${PATH:+:}$PATH
  755. %endif
  756. %if %{with mpich}
  757. %{_mpich_load}
  758. echo ============================= install $MPI_COMPILER ==================
  759. ./b2 -q %{?_smp_mflags} \
  760. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
  761. --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
  762. variant=release threading=multi debug-symbols=on pch=off \
  763. python=%{python2_version} stage
  764. # Move Python module to proper location for automatic loading
  765. mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost
  766. touch ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/__init__.py
  767. mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
  768. ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/
  769. %if %{with python3}
  770. echo ============================= install $MPI_COMPILER-py3 ==================
  771. ./b2 -q %{?_smp_mflags} \
  772. --user-config=./python3-config.jam \
  773. --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
  774. --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
  775. variant=release threading=multi debug-symbols=on pch=off \
  776. python=%{python3_version} stage
  777. # Move Python module to proper location for automatic loading
  778. mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost
  779. touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py
  780. mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
  781. ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
  782. %endif
  783. # Remove generic parts of boost that were built for dependencies.
  784. rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
  785. %{_mpich_unload}
  786. export PATH=/bin${PATH:+:}$PATH
  787. %endif
  788. echo ============================= install serial ==================
  789. ./b2 -d+2 -q %{?_smp_mflags} \
  790. --without-mpi --without-graph_parallel --build-dir=serial \
  791. %if !%{with context}
  792. --without-context --without-coroutine --without-coroutine2 \
  793. --without-fiber \
  794. %endif
  795. --prefix=$RPM_BUILD_ROOT%{_prefix} \
  796. --libdir=$RPM_BUILD_ROOT%{_libdir} \
  797. variant=release threading=multi debug-symbols=on pch=off \
  798. python=%{python2_version} install
  799. # Override DSO symlink with a linker script. See the linker script
  800. # itself for details of why we need to do this.
  801. [ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present
  802. rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
  803. install -p -m 644 $(basename %{SOURCE2}) $RPM_BUILD_ROOT%{_libdir}/
  804. %if %{with python3}
  805. echo ============================= install serial-py3 ==================
  806. ./b2 -d+2 -q %{?_smp_mflags} \
  807. --user-config=python3-config.jam \
  808. --with-python --build-dir=serial-py3 \
  809. --prefix=$RPM_BUILD_ROOT%{_prefix} \
  810. --libdir=$RPM_BUILD_ROOT%{_libdir} \
  811. variant=release threading=multi debug-symbols=on pch=off \
  812. python=%{python3_version} install
  813. %endif
  814. echo ============================= install Boost.Build ==================
  815. (cd tools/build
  816. ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
  817. # Fix some permissions
  818. chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/alias.py
  819. chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
  820. # We don't want to distribute this
  821. rm -f $RPM_BUILD_ROOT%{_bindir}/b2
  822. # Not a real file
  823. rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/project.ann.py
  824. # Empty file
  825. rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
  826. # Install the manual page
  827. %{__install} -p -m 644 v2/doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
  828. )
  829. echo ============================= install Boost.QuickBook ==================
  830. (cd tools/quickbook
  831. ../build/b2 --prefix=$RPM_BUILD_ROOT%{_prefix}
  832. %{__install} -p -m 755 ../../dist/bin/quickbook $RPM_BUILD_ROOT%{_bindir}/
  833. cd ../boostbook
  834. find dtd -type f -name '*.dtd' | while read tobeinstalledfiles; do
  835. install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles
  836. done
  837. find xsl -type f | while read tobeinstalledfiles; do
  838. install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles
  839. done
  840. )
  841. # Install documentation files (HTML pages) within the temporary place
  842. echo ============================= install documentation ==================
  843. # Prepare the place to temporarily store the generated documentation
  844. rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
  845. DOCPATH=%{boost_docdir}
  846. DOCREGEX='.*\.\(html?\|css\|png\|gif\)'
  847. find libs doc more -type f -regex $DOCREGEX \
  848. | sed -n '/\//{s,/[^/]*$,,;p}' \
  849. | sort -u > tmp-doc-directories
  850. sed "s:^:$DOCPATH/:" tmp-doc-directories \
  851. | xargs -P 0 --no-run-if-empty %{__install} -d
  852. cat tmp-doc-directories | while read tobeinstalleddocdir; do
  853. find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX -print0 \
  854. | xargs -P 0 -0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir
  855. done
  856. rm -f tmp-doc-directories
  857. %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html boost.png rst.css boost.css
  858. echo ============================= install examples ==================
  859. # Fix a few non-standard issues (DOS and/or non-UTF8 files)
  860. sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp
  861. for tmp_doc_file in flyweight/example/Jamfile.v2 \
  862. format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \
  863. multi_index/example/hashed.cpp serialization/example/demo_output.txt
  864. do
  865. mv libs/${tmp_doc_file} libs/${tmp_doc_file}.iso8859
  866. iconv -f ISO8859-1 -t UTF8 < libs/${tmp_doc_file}.iso8859 > libs/${tmp_doc_file}
  867. touch -r libs/${tmp_doc_file}.iso8859 libs/${tmp_doc_file}
  868. rm -f libs/${tmp_doc_file}.iso8859
  869. done
  870. # Prepare the place to temporarily store the examples
  871. rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html
  872. EXAMPLESPATH=%{boost_examplesdir}
  873. find libs -type d -name example -exec find {} -type f \; \
  874. | sed -n '/\//{s,/[^/]*$,,;p}' \
  875. | sort -u > tmp-doc-directories
  876. sed "s:^:$EXAMPLESPATH/:" tmp-doc-directories \
  877. | xargs -P 0 --no-run-if-empty %{__install} -d
  878. rm -f tmp-doc-files-to-be-installed && touch tmp-doc-files-to-be-installed
  879. cat tmp-doc-directories | while read tobeinstalleddocdir
  880. do
  881. find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f \
  882. >> tmp-doc-files-to-be-installed
  883. done
  884. cat tmp-doc-files-to-be-installed | while read tobeinstalledfiles
  885. do
  886. if test -s $tobeinstalledfiles
  887. then
  888. tobeinstalleddocdir=`dirname $tobeinstalledfiles`
  889. %{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir $tobeinstalledfiles
  890. fi
  891. done
  892. rm -f tmp-doc-files-to-be-installed
  893. rm -f tmp-doc-directories
  894. %{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt
  895. # MPI subpackages don't need the ldconfig magic. They are hidden by
  896. # default, in MPI back-end-specific directory, and only show to the
  897. # user after the relevant environment module has been loaded.
  898. # rpmlint will report that as errors, but it is fine.
  899. ln -s ./%{tarname} ${RPM_BUILD_ROOT}/%{_includedir}/%{tarname}-%{lnkver}
  900. # remove unuse files
  901. rm -f ${RPM_BUILD_ROOT}/%{_libdir}/%{name}_*.a
  902. %clean
  903. rm -rf $RPM_BUILD_ROOT
  904. # MPI subpackages don't need the ldconfig magic. They are hidden by
  905. # default, in MPI back-end-specific directory, and only show to the
  906. # user after the relevant environment module has been loaded.
  907. # rpmlint will report that as errors, but it is fine.
  908. %post atomic -p /sbin/ldconfig
  909. %post chrono -p /sbin/ldconfig
  910. %post container -p /sbin/ldconfig
  911. %if %{with context}
  912. %post context -p /sbin/ldconfig
  913. %post coroutine -p /sbin/ldconfig
  914. %endif
  915. %post date-time -p /sbin/ldconfig
  916. %post filesystem -p /sbin/ldconfig
  917. %post graph -p /sbin/ldconfig
  918. %post iostreams -p /sbin/ldconfig
  919. %post locale -p /sbin/ldconfig
  920. %post log -p /sbin/ldconfig
  921. %post math -p /sbin/ldconfig
  922. %post program-options -p /sbin/ldconfig
  923. %post python -p /sbin/ldconfig
  924. %post random -p /sbin/ldconfig
  925. %post regex -p /sbin/ldconfig
  926. %post serialization -p /sbin/ldconfig
  927. %post signals -p /sbin/ldconfig
  928. %post system -p /sbin/ldconfig
  929. %post test -p /sbin/ldconfig
  930. %post thread -p /sbin/ldconfig
  931. %post timer -p /sbin/ldconfig
  932. %post type_erasure -p /sbin/ldconfig
  933. %post wave -p /sbin/ldconfig
  934. %postun atomic -p /sbin/ldconfig
  935. %postun chrono -p /sbin/ldconfig
  936. %postun container -p /sbin/ldconfig
  937. %if %{with context}
  938. %postun context -p /sbin/ldconfig
  939. %postun coroutine -p /sbin/ldconfig
  940. %endif
  941. %postun date-time -p /sbin/ldconfig
  942. %postun filesystem -p /sbin/ldconfig
  943. %postun graph -p /sbin/ldconfig
  944. %postun iostreams -p /sbin/ldconfig
  945. %postun locale -p /sbin/ldconfig
  946. %postun log -p /sbin/ldconfig
  947. %postun math -p /sbin/ldconfig
  948. %postun program-options -p /sbin/ldconfig
  949. %postun python -p /sbin/ldconfig
  950. %postun random -p /sbin/ldconfig
  951. %postun regex -p /sbin/ldconfig
  952. %postun serialization -p /sbin/ldconfig
  953. %postun signals -p /sbin/ldconfig
  954. %postun system -p /sbin/ldconfig
  955. %postun test -p /sbin/ldconfig
  956. %postun thread -p /sbin/ldconfig
  957. %postun timer -p /sbin/ldconfig
  958. %postun type_erasure -p /sbin/ldconfig
  959. %postun wave -p /sbin/ldconfig
  960. %files
  961. %defattr(-,root,root)
  962. %license LICENSE_1_0.txt
  963. %files atomic
  964. %defattr(-, root, root, -)
  965. %license LICENSE_1_0.txt
  966. %{_libdir}/libboost_atomic.so.*
  967. %files chrono
  968. %defattr(-, root, root, -)
  969. %license LICENSE_1_0.txt
  970. %{_libdir}/libboost_chrono.so.*
  971. %files container
  972. %license LICENSE_1_0.txt
  973. %{_libdir}/libboost_container.so.*
  974. %if %{with context}
  975. %files context
  976. %defattr(-, root, root, -)
  977. %license LICENSE_1_0.txt
  978. %{_libdir}/libboost_context.so.*
  979. %files coroutine
  980. %license LICENSE_1_0.txt
  981. %{_libdir}/libboost_coroutine.so.*
  982. %endif
  983. %files date-time
  984. %license LICENSE_1_0.txt
  985. %{_libdir}/%{name}_date_time*.so.*
  986. %files filesystem
  987. %license LICENSE_1_0.txt
  988. %{_libdir}/%{name}_filesystem*.so.*
  989. %files fiber
  990. %license LICENSE_1_0.txt
  991. %{_libdir}/%{name}_fiber*.so.*
  992. %files graph
  993. %license LICENSE_1_0.txt
  994. %{_libdir}/%{name}_graph*.so.*
  995. %files iostreams
  996. %license LICENSE_1_0.txt
  997. %{_libdir}/%{name}_iostreams*.so.*
  998. %files locale
  999. %defattr(-, root, root, -)
  1000. %license LICENSE_1_0.txt
  1001. %{_libdir}/libboost_locale.so.*
  1002. %files log
  1003. %defattr(-, root, root, -)
  1004. %license LICENSE_1_0.txt
  1005. %{_libdir}/libboost_log.so.*
  1006. %{_libdir}/libboost_log_setup.so.*
  1007. %files math
  1008. %license LICENSE_1_0.txt
  1009. %{_libdir}/%{name}_math_*.so.*
  1010. %files program-options
  1011. %license LICENSE_1_0.txt
  1012. %{_libdir}/%{name}_program_options*.so.*
  1013. %files python
  1014. %license LICENSE_1_0.txt
  1015. %{_libdir}/%{name}_python.so.*
  1016. %if %{with python3}
  1017. %files python3
  1018. %license LICENSE_1_0.txt
  1019. %{_libdir}/libboost_python3.so.*
  1020. %files python3-devel
  1021. %license LICENSE_1_0.txt
  1022. %{_libdir}/libboost_python3.so
  1023. %endif
  1024. %files random
  1025. %license LICENSE_1_0.txt
  1026. %{_libdir}/%{name}_random*.so.*
  1027. %files regex
  1028. %license LICENSE_1_0.txt
  1029. %{_libdir}/%{name}_regex*.so.*
  1030. %files serialization
  1031. %license LICENSE_1_0.txt
  1032. %{_libdir}/%{name}_serialization*.so.*
  1033. %{_libdir}/%{name}_wserialization*.so.*
  1034. %files signals
  1035. %license LICENSE_1_0.txt
  1036. %{_libdir}/%{name}_signals*.so.*
  1037. %files stacktrace
  1038. %license LICENSE_1_0.txt
  1039. %{_libdir}/%{name}_stacktrace*.so.*
  1040. %files system
  1041. %license LICENSE_1_0.txt
  1042. %{_libdir}/%{name}_system*.so.*
  1043. %files test
  1044. %license LICENSE_1_0.txt
  1045. %{_libdir}/%{name}_prg_exec_monitor*.so.*
  1046. %{_libdir}/%{name}_unit_test_framework*.so.*
  1047. %files thread
  1048. %license LICENSE_1_0.txt
  1049. %{_libdir}/%{name}_thread*.so.*
  1050. %files timer
  1051. %defattr(-, root, root, -)
  1052. %license LICENSE_1_0.txt
  1053. %{_libdir}/libboost_timer.so.*
  1054. %files type_erasure
  1055. %license LICENSE_1_0.txt
  1056. %{_libdir}/libboost_type_erasure.so.*
  1057. %files wave
  1058. %license LICENSE_1_0.txt
  1059. %{_libdir}/%{name}_wave*.so.*
  1060. %files devel
  1061. %defattr(-,root,root)
  1062. %{_includedir}/boost/
  1063. %{_includedir}/boost-%{lnkver}
  1064. %{_libdir}/%{name}_*.so
  1065. %files doc
  1066. %doc index.htm index.html boost.css boost.png rst.css doc libs more
  1067. %files build
  1068. %license LICENSE_1_0.txt
  1069. %{_datadir}/boost-build
  1070. %files doctools
  1071. %license LICENSE_1_0.txt
  1072. %{_bindir}/quickbook
  1073. %{_datadir}/boostbook/
  1074. %files jam
  1075. %license LICENSE_1_0.txt
  1076. %{_bindir}/bjam
  1077. %{_mandir}/man1/bjam.1*
  1078. # OpenMPI packages
  1079. %if %{with openmpi}
  1080. %files openmpi
  1081. %license LICENSE_1_0.txt
  1082. %{_libdir}/openmpi/lib/libboost_mpi.so.*
  1083. %files openmpi-python
  1084. %license LICENSE_1_0.txt
  1085. %{_libdir}/openmpi/lib/libboost_mpi_python.so.*
  1086. %{_libdir}/openmpi/lib/mpi.so
  1087. %files graph-openmpi
  1088. %license LICENSE_1_0.txt
  1089. %{_libdir}/openmpi/lib/libboost_graph_parallel.so.*
  1090. %endif
  1091. # MPICH packages
  1092. %if %{with mpich}
  1093. %files mpich
  1094. %license LICENSE_1_0.txt
  1095. %{_libdir}/mpich/lib/libboost_mpi.so.*
  1096. %files mpich-python
  1097. %license LICENSE_1_0.txt
  1098. %{_libdir}/mpich/lib/libboost_mpi_python.so.*
  1099. %{_libdir}/mpich/lib/mpi.so
  1100. %files graph-mpich
  1101. %license LICENSE_1_0.txt
  1102. %{_libdir}/mpich/lib/libboost_graph_parallel.so.*
  1103. %endif
  1104. %if %{build_compat32}
  1105. %files -n compat32-%{name}-atomic
  1106. %defattr(-, root, root, -)
  1107. %license LICENSE_1_0.txt
  1108. %{_libdir}/libboost_atomic.so.*
  1109. %files -n compat32-%{name}-chrono
  1110. %defattr(-, root, root, -)
  1111. %license LICENSE_1_0.txt
  1112. %{_libdir}/libboost_chrono.so.*
  1113. %files -n compat32-%{name}-container
  1114. %license LICENSE_1_0.txt
  1115. %{_libdir}/libboost_container.so.*
  1116. %if %{with context}
  1117. %files -n compat32-%{name}-context
  1118. %defattr(-, root, root, -)
  1119. %license LICENSE_1_0.txt
  1120. %{_libdir}/libboost_context.so.*
  1121. %files -n compat32-%{name}-coroutine
  1122. %license LICENSE_1_0.txt
  1123. %{_libdir}/libboost_coroutine.so.*
  1124. %endif
  1125. %files -n compat32-%{name}-date-time
  1126. %license LICENSE_1_0.txt
  1127. %{_libdir}/%{name}_date_time*.so.*
  1128. %files -n compat32-%{name}-fiber
  1129. %license LICENSE_1_0.txt
  1130. %{_libdir}/%{name}_fiber*.so.*
  1131. %files -n compat32-%{name}-filesystem
  1132. %license LICENSE_1_0.txt
  1133. %{_libdir}/%{name}_filesystem*.so.*
  1134. %if 0
  1135. %files -n compat32-%{name}-graph
  1136. %license LICENSE_1_0.txt
  1137. %{_libdir}/%{name}_graph*.so.*
  1138. %endif
  1139. %files -n compat32-%{name}-iostreams
  1140. %license LICENSE_1_0.txt
  1141. %{_libdir}/%{name}_iostreams*.so.*
  1142. %if 0
  1143. %files -n compat32-%{name}-locale
  1144. %defattr(-, root, root, -)
  1145. %license LICENSE_1_0.txt
  1146. %{_libdir}/libboost_locale.so.*
  1147. %endif
  1148. %if 0
  1149. %files -n compat32-%{name}-log
  1150. %defattr(-, root, root, -)
  1151. %license LICENSE_1_0.txt
  1152. %{_libdir}/libboost_log.so.*
  1153. %{_libdir}/libboost_log_setup.so.*
  1154. %endif
  1155. %files -n compat32-%{name}-math
  1156. %license LICENSE_1_0.txt
  1157. %{_libdir}/%{name}_math_*.so.*
  1158. %files -n compat32-%{name}-program-options
  1159. %license LICENSE_1_0.txt
  1160. %{_libdir}/%{name}_program_options*.so.*
  1161. %if 0
  1162. %files -n compat32-%{name}-python
  1163. %license LICENSE_1_0.txt
  1164. %{_libdir}/%{name}_python.so.*
  1165. %if %{with python3}
  1166. %files -n compat32-%{name}-python3
  1167. %license LICENSE_1_0.txt
  1168. %{_libdir}/libboost_python3.so.*
  1169. %endif
  1170. %endif
  1171. %files -n compat32-%{name}-random
  1172. %license LICENSE_1_0.txt
  1173. %{_libdir}/%{name}_random*.so.*
  1174. %if 0
  1175. %files -n compat32-%{name}-regex
  1176. %license LICENSE_1_0.txt
  1177. %{_libdir}/%{name}_regex*.so.*
  1178. %endif
  1179. %files -n compat32-%{name}-serialization
  1180. %license LICENSE_1_0.txt
  1181. %{_libdir}/%{name}_serialization*.so.*
  1182. %{_libdir}/%{name}_wserialization*.so.*
  1183. %files -n compat32-%{name}-signals
  1184. %license LICENSE_1_0.txt
  1185. %{_libdir}/%{name}_signals*.so.*
  1186. %files -n compat32-%{name}-stacktrace
  1187. %license LICENSE_1_0.txt
  1188. %{_libdir}/%{name}_stacktrace*.so.*
  1189. %files -n compat32-%{name}-system
  1190. %license LICENSE_1_0.txt
  1191. %{_libdir}/%{name}_system*.so.*
  1192. %files -n compat32-%{name}-test
  1193. %license LICENSE_1_0.txt
  1194. %{_libdir}/%{name}_prg_exec_monitor*.so.*
  1195. %{_libdir}/%{name}_unit_test_framework*.so.*
  1196. %files -n compat32-%{name}-thread
  1197. %license LICENSE_1_0.txt
  1198. %{_libdir}/%{name}_thread*.so.*
  1199. %files -n compat32-%{name}-timer
  1200. %defattr(-, root, root, -)
  1201. %license LICENSE_1_0.txt
  1202. %{_libdir}/libboost_timer.so.*
  1203. %files -n compat32-%{name}-type_erasure
  1204. %license LICENSE_1_0.txt
  1205. %{_libdir}/libboost_type_erasure.so.*
  1206. %files -n compat32-%{name}-wave
  1207. %license LICENSE_1_0.txt
  1208. %{_libdir}/%{name}_wave*.so.*
  1209. %endif
  1210. %changelog
  1211. * Fri Mar 20 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.66.0-5
  1212. - rebuilt with gcc-9 anf icu-66.
  1213. * Sun Oct 13 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.66.0-4
  1214. - rebuilt with icu-65.
  1215. * Wed Sep 11 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.66.0-3
  1216. - rebuilt with gcc-8.
  1217. - added a subpackage 'libboost-fiber'.
  1218. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.66.0-2
  1219. - rebuilt with libicu-60.2.
  1220. * Sun Jan 07 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.66.0-1
  1221. - updated to boost_1_66_0.
  1222. - dropped Patch36, 63 and 81.
  1223. - updated Patch65.
  1224. - imported Patch82 from rawhide.
  1225. - added a subpackage 'libboost-stacktrace'.
  1226. * Sat Jul 16 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.60.0-3
  1227. - added compat32-* packages.
  1228. * Tue Jun 28 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.60.0-2
  1229. - rebuild with python3-3.5.2
  1230. * Mon Jun 6 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.60.0-1
  1231. - updated to boost_1_60_0.
  1232. - dropped all patches.
  1233. - imported patches from rawhide.
  1234. - moved *.so into libboost-devel.
  1235. * Mon Nov 25 2013 IWAI, Masaharu <iwaim.sub@gmail.com> 1.54.0-1
  1236. - update to boost_1_54_0
  1237. - all package: including license file
  1238. - drop boost_filesystem patch (Patch0)
  1239. - sync Fedora boost-1.54.0-5.fc21
  1240. - new packages: atomic, chrono, context, locale, log, timer
  1241. - add patches
  1242. - Patch4, 5, 9, 15, 18..28, 31..38, 42..55
  1243. * Sun Feb 20 2011 Munehiro Yamamoto <munepi@vinelinux.org> 1.45.0-2
  1244. - fixed crashing throwing exception
  1245. "std::runtime_error: locale::facet::_S_create_c_locale name not valid"
  1246. on some systems (FreeBSD and some linuxes) when current locale
  1247. (LANG,LC_ALL) is not "C"
  1248. * Tue Jan 18 2011 Shu KONNO <owa@bg.wakwak.com> 1.45.0-1
  1249. - updated to boost_1_45_0
  1250. - added random sub-package
  1251. * Wed Apr 14 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.42.0-4
  1252. - rebuilt again on ppc
  1253. * Sat Apr 10 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.42.0-3
  1254. - rebuilt with libicu-4.4
  1255. * Mon Feb 08 2010 Shu KONNO <owa@bg.wakwak.com> 1.42.0-2
  1256. - added "-licui18n" to bjam
  1257. - added BR: lam
  1258. * Sun Feb 07 2010 Shu KONNO <owa@bg.wakwak.com> 1.42.0-1
  1259. - updated to boost_1_42_0
  1260. - rebuilt with new toolchain and python-2.6
  1261. - added user-config.jam to make libboost_mpi
  1262. - added BR: libaio-devel
  1263. - added %%{post,postun} -p /sbin/ldconfig
  1264. - dropt no use parameter EXPAT_INCLUDE and EXPAT_LIBPATH
  1265. - dropt %{_libdir}/%{name}_test_exec_monitor-*.a in %%files %{name}-test
  1266. - dropt %%{post,postun} devel section
  1267. * Sun Mar 22 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.36.0-2vl5
  1268. - rebuilt with libicu-4.0.1
  1269. - changed Group to System Environment/Libraries (except devel package)
  1270. * Sat Aug 16 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.36.0-1vl5
  1271. - new upstream release
  1272. - add -math subpackage
  1273. * Fri Aug 15 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.35.0-2vl5
  1274. - build with python-2.5
  1275. - add libboost_XXXX.so symlinks
  1276. * Thu May 8 2008 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.35.0-1vl5
  1277. - upstream release
  1278. - applied new versioning policy
  1279. - add EXPAT_INCLUDE and EXPAT_LIBPATH to enable GraphML support
  1280. - add new package libboost-system
  1281. - Obsolete: *-devel packages
  1282. * Sat Sep 8 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.34.1-0vl3
  1283. - rebuilt with libicu-3.6
  1284. - changed doc Group to Applications/Documentation
  1285. * Sat Aug 18 2007 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.34.1-0vl2
  1286. - upstream release
  1287. * Thu Jun 14 2007 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.34.0-0vl3
  1288. - add --libdir=%%{_libdir} to cope with x86_64 environment
  1289. * Sun Jun 10 2007 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.34.0-0vl2
  1290. - upstream release
  1291. - use Easy Build and Install process with ./configure
  1292. - add BuildRequires: libicu-devel
  1293. - remove %%{_libdir}/libboost_test_exec_monitor-*.so* from %%files -n libboost-test
  1294. - add new packages: libboost-graph, libboost-graph-devel, libboost-wave
  1295. - add files to doc package
  1296. * Sun May 13 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.33.1-0vl2
  1297. - rebuilt with new toolchain
  1298. * Sat Feb 4 2006 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.33.1-0vl1
  1299. - upstream release
  1300. * Mon Dec 12 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.33.0-0vl3
  1301. - fixed typo in Groups:
  1302. - devel packages also moved to Development/Libraries group
  1303. * Mon Sep 19 2005 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.33.0-0vl2
  1304. - spec modified to avoid errors on non-ix86 archtecture
  1305. (previously the path linuxx86 was explicitly used)
  1306. * Sun Sep 11 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.33.0-0vl1
  1307. - initial release for Vine Linux
  1308. * Sat Sep 10 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.33.0-0vl0.3
  1309. - link /usr/include/boost_%{lnkver}/boost to /usr/include/boost
  1310. * Sat Sep 10 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.33.0-0vl0.2
  1311. - change package name from boost to libboost
  1312. - separated into sub-packages
  1313. * Fri Jun 17 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.33.0-0vl0.1
  1314. - upstream release
  1315. - add BuildRequires: bzip2-devel zlib-devel
  1316. * Fri Jun 17 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.7
  1317. - added so.* file
  1318. * Mon Apr 25 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.6
  1319. - moved %post, %postun script to -devel package
  1320. * Mon Apr 25 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.5
  1321. - moved doc/html to -devel package
  1322. - make a symbolic link on %{_includedir}/boost
  1323. * Mon Apr 25 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.4
  1324. - fixed character code to euc-jp
  1325. * Mon Apr 25 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.3
  1326. - add %doc files
  1327. * Fri Apr 22 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.2
  1328. - remove Requires
  1329. - split -devel package
  1330. * Fri Apr 22 2005 KANEKO Seiji <giraffe@m2.pbc.ne.jp> 1.32.0-0vl0.1
  1331. - initial build for Vine Linux