Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/, dev-libs/boost/files/
Date: Sun, 20 Jun 2021 16:54:51
Message-Id: 1624208021.39b9d36ebaea34160707caa323f6982e6d0dea37.asturm@gentoo
1 commit: 39b9d36ebaea34160707caa323f6982e6d0dea37
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jun 20 16:34:38 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun Jun 20 16:53:41 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39b9d36e
7
8 dev-libs/boost: Drop 1.75.0
9
10 Package-Manager: Portage-3.0.20, Repoman-3.0.3
11 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
12
13 dev-libs/boost/Manifest | 1 -
14 dev-libs/boost/boost-1.75.0.ebuild | 356 ---------------------
15 .../files/boost-1.73-property-tree-include.patch | 45 ---
16 3 files changed, 402 deletions(-)
17
18 diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
19 index 0018f7c4bee..7dfc65e764d 100644
20 --- a/dev-libs/boost/Manifest
21 +++ b/dev-libs/boost/Manifest
22 @@ -1,2 +1 @@
23 -DIST boost_1_75_0.tar.bz2 121849575 BLAKE2B ce7ecd8bcee518ce54f7e5302f202acbea60cedd6ae9248708c0bb5bbc2713607b2e1967a9e6f77cc20a4c008c1ee4db651def55937efc80407487a7a44fa8d6 SHA512 d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94accd35f1128e7c4faf6c27adb6f4bb54e5477a6bde983dfc7aa33c4eed03a
24 DIST boost_1_76_0.tar.bz2 110073117 BLAKE2B 45445e6a9725cb99131e0b831b2fac0840d083692c13887b41adeac5cb8b3732026db3641d6be20591a676b78a87fcf363eb9b1508f87ed26039bba6a1ced533 SHA512 5d68bed98c57e03b4cb2420d9b856e5f0669561a6142a4b0c9c8a58dc5b6b28e16ccbb16ac559c3a3198c45769a246bf996b96cb7b6a019dd15f05c2270e9429
25
26 diff --git a/dev-libs/boost/boost-1.75.0.ebuild b/dev-libs/boost/boost-1.75.0.ebuild
27 deleted file mode 100644
28 index eafcc5779bb..00000000000
29 --- a/dev-libs/boost/boost-1.75.0.ebuild
30 +++ /dev/null
31 @@ -1,356 +0,0 @@
32 -# Copyright 1999-2021 Gentoo Authors
33 -# Distributed under the terms of the GNU General Public License v2
34 -
35 -EAPI=7
36 -
37 -PYTHON_COMPAT=( python3_{7,8,9} )
38 -
39 -inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
40 -
41 -MY_PV="$(ver_rs 1- _)"
42 -MAJOR_V="$(ver_cut 1-2)"
43 -
44 -DESCRIPTION="Boost Libraries for C++"
45 -HOMEPAGE="https://www.boost.org/"
46 -SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
47 -
48 -LICENSE="Boost-1.0"
49 -SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
50 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
51 -IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
52 -REQUIRED_USE="
53 - mpi? ( threads )
54 - python? ( ${PYTHON_REQUIRED_USE} )"
55 -
56 -# the tests will never fail because these are not intended as sanity
57 -# tests at all. They are more a way for upstream to check their own code
58 -# on new compilers. Since they would either be completely unreliable
59 -# (failing for no good reason) or completely useless (never failing)
60 -# there is no point in having them in the ebuild to begin with.
61 -RESTRICT="test"
62 -
63 -RDEPEND="
64 - !app-admin/eselect-boost
65 - !dev-libs/boost-numpy
66 - !<dev-libs/leatherman-1.12.0-r1
67 - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
68 - icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
69 - !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
70 - lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
71 - mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
72 - python? (
73 - ${PYTHON_DEPS}
74 - numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
75 - )
76 - zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
77 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
78 -DEPEND="${RDEPEND}"
79 -BDEPEND="=dev-util/boost-build-${MAJOR_V}*"
80 -
81 -S="${WORKDIR}/${PN}_${MY_PV}"
82 -
83 -PATCHES=(
84 - "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch
85 - "${FILESDIR}"/${PN}-1.71.0-context-x32.patch
86 - "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch
87 - # Boost.MPI's __init__.py doesn't work on Py3
88 - "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch
89 - # Remove annoying #pragma message
90 - "${FILESDIR}"/${PN}-1.73-property-tree-include.patch
91 - "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch
92 -)
93 -
94 -python_bindings_needed() {
95 - multilib_is_native_abi && use python
96 -}
97 -
98 -tools_needed() {
99 - multilib_is_native_abi && use tools
100 -}
101 -
102 -create_user-config.jam() {
103 - local user_config_jam="${BUILD_DIR}"/user-config.jam
104 - if [[ -s ${user_config_jam} ]]; then
105 - einfo "${user_config_jam} already exists, skipping configuration"
106 - return
107 - else
108 - einfo "Creating configuration in ${user_config_jam}"
109 - fi
110 -
111 - local compiler compiler_version compiler_executable="$(tc-getCXX)"
112 - if [[ ${CHOST} == *-darwin* ]]; then
113 - compiler="darwin"
114 - compiler_version="$(gcc-fullversion)"
115 - else
116 - compiler="gcc"
117 - compiler_version="$(gcc-version)"
118 - fi
119 -
120 - if use mpi; then
121 - local mpi_configuration="using mpi ;"
122 - fi
123 -
124 - cat > "${user_config_jam}" <<- __EOF__ || die
125 - using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
126 - ${mpi_configuration}
127 - __EOF__
128 -
129 - if python_bindings_needed; then
130 - append_to_user_config() {
131 - local py_config
132 - if tc-is-cross-compiler; then
133 - py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
134 - else
135 - py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
136 - fi
137 - echo "${py_config}" >> "${user_config_jam}" || die
138 - }
139 - python_foreach_impl append_to_user_config
140 - fi
141 -
142 - if python_bindings_needed && use numpy; then
143 - einfo "Enabling support for NumPy extensions in Boost.Python"
144 - else
145 - einfo "Disabling support for NumPy extensions in Boost.Python"
146 -
147 - # Boost.Build does not allow for disabling of numpy
148 - # extensions, thereby leading to automagic numpy
149 - # https://github.com/boostorg/python/issues/111#issuecomment-280447482
150 - sed \
151 - -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
152 - -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
153 - fi
154 -}
155 -
156 -pkg_setup() {
157 - # Bail out on unsupported build configuration, bug #456792
158 - if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
159 - if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
160 - eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
161 - eerror "Boost can not be built in such configuration."
162 - eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
163 - die "Unsupported target in ${EROOT}/etc/site-config.jam"
164 - fi
165 - fi
166 -}
167 -
168 -src_prepare() {
169 - default
170 - multilib_copy_sources
171 -}
172 -
173 -ejam() {
174 - create_user-config.jam
175 -
176 - local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
177 - if python_bindings_needed; then
178 - append_to_b2_opts() {
179 - b2_opts+=( python="${EPYTHON#python}" )
180 - }
181 - python_foreach_impl append_to_b2_opts
182 - else
183 - b2_opts+=( --without-python )
184 - fi
185 - b2_opts+=( "$@" )
186 -
187 - echo b2 "${b2_opts[@]}" >&2
188 - b2 "${b2_opts[@]}"
189 -}
190 -
191 -src_configure() {
192 - # Workaround for too many parallel processes requested, bug #506064
193 - [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
194 -
195 - OPTIONS=(
196 - $(usex debug gentoodebug gentoorelease)
197 - "-j$(makeopts_jobs)"
198 - -q
199 - -d+2
200 - pch=off
201 - $(usex icu "-sICU_PATH=${ESYSROOT}/usr" '--disable-icu boost.locale.icu=off')
202 - $(usex mpi '' '--without-mpi')
203 - $(usex nls '' '--without-locale')
204 - $(usex context '' '--without-context --without-coroutine --without-fiber')
205 - $(usex threads '' '--without-thread')
206 - --without-stacktrace
207 - --boost-build="${BROOT}"/usr/share/boost-build
208 - --prefix="${ED}/usr"
209 - --layout=system
210 - # CMake has issues working with multiple python impls,
211 - # disable cmake config generation for the time being
212 - # https://github.com/boostorg/python/issues/262#issuecomment-483069294
213 - --no-cmake-config
214 - # building with threading=single is currently not possible
215 - # https://svn.boost.org/trac/boost/ticket/7105
216 - threading=multi
217 - link=$(usex static-libs shared,static shared)
218 - # this seems to be the only way to disable compression algorithms
219 - # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
220 - -sNO_BZIP2=$(usex bzip2 0 1)
221 - -sNO_LZMA=$(usex lzma 0 1)
222 - -sNO_ZLIB=$(usex zlib 0 1)
223 - -sNO_ZSTD=$(usex zstd 0 1)
224 - )
225 -
226 - if [[ ${CHOST} == *-darwin* ]]; then
227 - # We need to add the prefix, and in two cases this exceeds, so prepare
228 - # for the largest possible space allocation.
229 - append-ldflags -Wl,-headerpad_max_install_names
230 - fi
231 -
232 - # Use C++14 globally as of 1.62
233 - append-cxxflags -std=c++14
234 -}
235 -
236 -multilib_src_compile() {
237 - ejam "${OPTIONS[@]}" || die
238 -
239 - if tools_needed; then
240 - pushd tools >/dev/null || die
241 - ejam \
242 - "${OPTIONS[@]}" \
243 - || die "Building of Boost tools failed"
244 - popd >/dev/null || die
245 - fi
246 -}
247 -
248 -multilib_src_install_all() {
249 - if ! use numpy; then
250 - rm -r "${ED}"/usr/include/boost/python/numpy* || die
251 - fi
252 -
253 - if use python; then
254 - if use mpi; then
255 - move_mpi_py_into_sitedir() {
256 - python_moduleinto boost
257 - python_domodule "${S}"/libs/mpi/build/__init__.py
258 -
259 - python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
260 - rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
261 -
262 - python_optimize
263 - }
264 - python_foreach_impl move_mpi_py_into_sitedir
265 - else
266 - rm -r "${ED}"/usr/include/boost/mpi/python* || die
267 - fi
268 - else
269 - rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
270 - fi
271 -
272 - if ! use nls; then
273 - rm -r "${ED}"/usr/include/boost/locale || die
274 - fi
275 -
276 - if ! use context; then
277 - rm -r "${ED}"/usr/include/boost/context || die
278 - rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
279 - rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
280 - fi
281 -
282 - if use doc; then
283 - # find extraneous files that shouldn't be installed
284 - # as part of the documentation and remove them.
285 - find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
286 - find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
287 - find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
288 -
289 - docinto html
290 - dodoc *.{htm,html,png,css}
291 - dodoc -r doc libs more tools
292 -
293 - # To avoid broken links
294 - dodoc LICENSE_1_0.txt
295 -
296 - dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
297 - fi
298 -}
299 -
300 -multilib_src_install() {
301 - ejam \
302 - "${OPTIONS[@]}" \
303 - --includedir="${ED}/usr/include" \
304 - --libdir="${ED}/usr/$(get_libdir)" \
305 - install || die "Installation of Boost libraries failed"
306 -
307 - pushd "${ED}/usr/$(get_libdir)" >/dev/null || die
308 -
309 - local ext=$(get_libname)
310 - if use threads; then
311 - local f
312 - for f in *${ext}; do
313 - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
314 - done
315 - fi
316 -
317 - popd >/dev/null || die
318 -
319 - if tools_needed; then
320 - dobin dist/bin/*
321 -
322 - insinto /usr/share
323 - doins -r dist/share/boostbook
324 - fi
325 -
326 - # boost's build system truely sucks for not having a destdir. Because for
327 - # this reason we are forced to build with a prefix that includes the
328 - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
329 - # DESTROOT instread of the actual EPREFIX. There is no way out of here
330 - # but to do it the dirty way of manually setting the right install_names.
331 - if [[ ${CHOST} == *-darwin* ]]; then
332 - einfo "Working around completely broken build-system(tm)"
333 - local d
334 - for d in "${ED}"/usr/lib/*.dylib; do
335 - if [[ -f ${d} ]]; then
336 - # fix the "soname"
337 - ebegin " correcting install_name of ${d#${ED}}"
338 - install_name_tool -id "/${d#${D}}" "${d}"
339 - eend $?
340 - # fix references to other libs
341 - refs=$(otool -XL "${d}" | \
342 - sed -e '1d' -e 's/^\t//' | \
343 - grep "^libboost_" | \
344 - cut -f1 -d' ')
345 - local r
346 - for r in ${refs}; do
347 - ebegin " correcting reference to ${r}"
348 - install_name_tool -change \
349 - "${r}" \
350 - "${EPREFIX}/usr/lib/${r}" \
351 - "${d}"
352 - eend $?
353 - done
354 - fi
355 - done
356 - fi
357 -}
358 -
359 -pkg_preinst() {
360 - # Yai for having symlinks that are nigh-impossible to remove without
361 - # resorting to dirty hacks like these. Removes lingering symlinks
362 - # from the slotted versions.
363 - local symlink
364 - for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
365 - if [[ -L ${symlink} ]]; then
366 - rm -f "${symlink}" || die
367 - fi
368 - done
369 -
370 - # some ancient installs still have boost cruft lying around
371 - # for unknown reasons, causing havoc for reverse dependencies
372 - # Bug: 607734
373 - rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
374 -}
375 -
376 -pkg_postinst() {
377 - elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
378 - elog
379 - elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
380 - elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
381 - elog
382 - elog "Then you need to recompile Boost and all its reverse dependencies"
383 - elog "using the same toolchain. In general, *every* change of the C++ toolchain"
384 - elog "requires a complete rebuild of the Boost-dependent ecosystem."
385 - elog
386 - elog "See for instance https://bugs.gentoo.org/638138"
387 -}
388
389 diff --git a/dev-libs/boost/files/boost-1.73-property-tree-include.patch b/dev-libs/boost/files/boost-1.73-property-tree-include.patch
390 deleted file mode 100644
391 index 539388275bc..00000000000
392 --- a/dev-libs/boost/files/boost-1.73-property-tree-include.patch
393 +++ /dev/null
394 @@ -1,45 +0,0 @@
395 -From d1c8825a45a0717e1ad79583d3283b0e5e32831e Mon Sep 17 00:00:00 2001
396 -From: Andrey Semashev <Lastique@××××××××××××××××××××.com>
397 -Date: Tue, 28 Apr 2020 22:03:04 +0300
398 -Subject: [PATCH] Fix usage of deprecated Boost.Bind features
399 -
400 -This fixes deprecation warnings generated by boost/bind.hpp.
401 -
402 -Also, use a more actual include path for ref.hpp.
403 ----
404 - boost/property_tree/json_parser/detail/parser.hpp | 8 ++++----
405 - 1 file changed, 4 insertions(+), 4 deletions(-)
406 -
407 -diff --git a/boost/property_tree/json_parser/detail/parser.hpp b/boost/property_tree/json_parser/detail/parser.hpp
408 -index 5554990fb..6cf636394 100644
409 ---- a/boost/property_tree/json_parser/detail/parser.hpp
410 -+++ b/boost/property_tree/json_parser/detail/parser.hpp
411 -@@ -3,8 +3,8 @@
412 -
413 - #include <boost/property_tree/json_parser/error.hpp>
414 -
415 --#include <boost/ref.hpp>
416 --#include <boost/bind.hpp>
417 -+#include <boost/core/ref.hpp>
418 -+#include <boost/bind/bind.hpp>
419 - #include <boost/format.hpp>
420 -
421 - #include <iterator>
422 -@@ -214,7 +214,7 @@ namespace boost { namespace property_tree {
423 - void process_codepoint(Sentinel end, EncodingErrorFn error_fn) {
424 - encoding.transcode_codepoint(cur, end,
425 - boost::bind(&Callbacks::on_code_unit,
426 -- boost::ref(callbacks), _1),
427 -+ boost::ref(callbacks), boost::placeholders::_1),
428 - error_fn);
429 - }
430 -
431 -@@ -517,7 +517,7 @@ namespace boost { namespace property_tree {
432 - void feed(unsigned codepoint) {
433 - encoding.feed_codepoint(codepoint,
434 - boost::bind(&Callbacks::on_code_unit,
435 -- boost::ref(callbacks), _1));
436 -+ boost::ref(callbacks), boost::placeholders::_1));
437 - }
438 -
439 - Callbacks& callbacks;