libboost-vl.spec 51 KB

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