diff options
author | Sergey Popov <pinkbyte@gentoo.org> | 2013-11-14 17:19:06 +0000 |
---|---|---|
committer | Sergey Popov <pinkbyte@gentoo.org> | 2013-11-14 17:19:06 +0000 |
commit | f5699832b57819f4c3670ad3c9cb55bdd9028dfe (patch) | |
tree | b137ef112cc965625fe91f7c9f8f7017242b3445 | |
parent | Added IUSE test, test deps, test phase (diff) | |
download | historical-f5699832b57819f4c3670ad3c9cb55bdd9028dfe.tar.gz historical-f5699832b57819f4c3670ad3c9cb55bdd9028dfe.tar.bz2 historical-f5699832b57819f4c3670ad3c9cb55bdd9028dfe.zip |
Version bump, wrt bug #491064. Change subslot, wrt bug #486122, thanks to Arfrever Frehtes Taifersar Arahesis <arfrever.fta AT gmail.com>
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Manifest-Sign-Key: 0x1F357D42
-rw-r--r-- | dev-libs/boost/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/boost/Manifest | 18 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.55.0.ebuild | 344 |
3 files changed, 361 insertions, 9 deletions
diff --git a/dev-libs/boost/ChangeLog b/dev-libs/boost/ChangeLog index c53044a99525..c0bb88e3825a 100644 --- a/dev-libs/boost/ChangeLog +++ b/dev-libs/boost/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/boost # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.305 2013/11/14 09:47:42 pinkbyte Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.306 2013/11/14 17:19:04 pinkbyte Exp $ + +*boost-1.55.0 (14 Nov 2013) + + 14 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> +boost-1.55.0.ebuild: + Version bump, wrt bug #491064. Change subslot, wrt bug #486122, thanks to + Arfrever Frehtes Taifersar Arahesis <arfrever.fta AT gmail.com> 14 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> boost-1.53.0.ebuild, +files/boost-1.53.0-glibc-2.18-compat.patch, boost-1.54.0.ebuild: diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest index f854e57e790f..81bd20c9ac26 100644 --- a/dev-libs/boost/Manifest +++ b/dev-libs/boost/Manifest @@ -19,20 +19,22 @@ DIST boost_1_49_0.tar.bz2 48499961 SHA256 dd748a7f5507a7e7af74f452e1c52a64e651ed DIST boost_1_52_0.tar.bz2 54421709 SHA256 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92 SHA512 fc512d3bfa6a39a60fee548775c97239271cf757587b8df7ed739c800844a819a359dca172be0e69ad7752753753139bf11f0813d650066d58386662fe32842d WHIRLPOOL 73bbab4a1d2a652200f4b5e669440a2afcebcea96a1139ecc75213067ca32d5cadb0f060bb0ec2e29e9e31272fb7ec9d2cb960801032ee6c5dcb86564766411d DIST boost_1_53_0.tar.bz2 55765258 SHA256 f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196 SHA512 8cd7806653cb6ea4a1c6862796ef698de5ae0bdbda96954fedbe090c59e3e6cb8f8d385df35183e9063ac4e2c2fccf10744516c47a994cde5f1d1cba1b07e522 WHIRLPOOL e8c5ed6b34dd5f68dc7e102a9e22b302616a65077d3f4af370ece6352b02a866e04294a4fc76bbd5555b6a4131f590e6455e6a74b5f12c4ffc2dd15af0bc8746 DIST boost_1_54_0.tar.bz2 57873778 SHA256 047e927de336af106a24bceba30069980c191529fd76b8dff8eb9a328b48ae1d SHA512 3467a2bb9b4797cadfc52150cb036939ef35263f421870897dbe9492d1504a714805668a193b0811fdaf39a3527ee693ff70da5b942d7ab11b307e2e693e1760 WHIRLPOOL dbe3cbecaccf86ca184cf73cff75c17d6307b680bab098e38a9efd24d17776481e597017fc9f8fc8f488495f315c6d2b14b9212c51cf98529c302482bf67e92a +DIST boost_1_55_0.tar.bz2 58146647 SHA256 fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 SHA512 dc606477f4c303e8f40de2586c16394b6d758e198b35bf3a7d3e576a2f49171aadc4f95e8d685fa731bc4e61e19869d5a24e1e816febfca9de078d66e096e041 WHIRLPOOL 6ae111d6a956651bd91914432b743faffeb466703191b05193db47f02fd3528a14ce200f26c1ab77bf2c68994eb5b135b0176f66a746964d334b4793ba113ad5 EBUILD boost-1.49.0-r2.ebuild 14422 SHA256 ad45dd1d48921a19aad372846d95192d193360e3bb331d33fc27aaf0aaf04711 SHA512 4baf56fc384f06117904fdaba7d62993800f27389cf84871074866d755721a30d3ffc4aed75a3d016dda3695a6f96e7be16cdbc7fba4f0be098b8258b2f6b3df WHIRLPOOL 210cfa37728a85e418f0180268d195bbb67704b415f69adde39fa96d5087b03c8724f91d19ce2d91aa344abe292156bdbccd50ed05a58a030dbfb6b8f50ff4c7 EBUILD boost-1.52.0-r6.ebuild 9241 SHA256 c175c508bbd364d7419661630453eaef93a29909e27e06256cfc273edaecc79e SHA512 ec761e38106fc831c8da8f689cbc378e38858e371cedff5b5e17964245d46a5988631234796e243fadd89dfa9d10ec3f59cd2bff7441805f6b7b81f50a750a6f WHIRLPOOL a419f0c32dcb3a0da1311291f6bf6bd858e5faa48e52f433ac7a47f81168393a1b4c781167e20ae5ba01bd178ed2bac919da06884e1f165558ecf1f3d6387b70 EBUILD boost-1.53.0.ebuild 9769 SHA256 b43a0bed01d0274219c84725a34adc19e50990040b7d3e7caf3164ba3542a090 SHA512 5f6cb7a61428b44cf0677bcd3f345350e0b32048e1f3c9b286de957ae1a7fd63b76d695df313e5c54c489824d0038eef773f35df663b0805367158efd6adcb00 WHIRLPOOL 55b51501169b7b4f2818c19ae86361a8ecafb0d7811874a367a02b57b8786b0ad8a372bf743ad0cf483323b3608e3c1512fdcc47a6866072830a2580c695d83f EBUILD boost-1.54.0.ebuild 9769 SHA256 25f86d0ade8b32094767b1301742e4cc8206b1fd18153ef69b9963d913c7f5cd SHA512 0a06db9234ec513f2192791f9f14d85cdc9ff6c4717ad4565596dab8de25d11bc9c496f0f257f9f2d562d63a7615b0317d01397b8328d82680e366423a14c029 WHIRLPOOL 602b360a092538eb2e9977651b0ef9704c3809e7f9a8967d9060ce82c7adc4d5e07cc9df356062b6f63170fa98dca5572a817bf57e869c724cb9bb09eb7c43f9 -MISC ChangeLog 51723 SHA256 8e37a35b43f05a82c53452e361ddffa21454656de55377d4c332756d274498ef SHA512 b3af8991135642c6558cedc8c721c1d15bb254c2fb313131381d0e812f16e0895d09e63bfb584263a18aa283ba5dc3302ab3dfcbeccd8f67d9435e70a8a5cb73 WHIRLPOOL fde13d6c81fa5f5352553394b53701824342a4de919559956d1364d5e6d980080711d3a6e1577a810360605ff4b20f570b3f2a462affc8d87cedd808056de2e8 +EBUILD boost-1.55.0.ebuild 9672 SHA256 80fc4d2e09bdb744b5e57f14c8166e68de4068dcd3afcb31ea101f9fb721ab09 SHA512 e8f7bf6605f422840509f413ce5f1225c7e2393e18531e8676bed3738536270b813caa29f40cc5ae103cd0878613ccb22cccf44f9d06f300c16fcd834a017c9a WHIRLPOOL bbc6eb8c94fc8316f88066e8a66d991d227fd2d1865843a4bef14e3ccf659bf07c5ac0add0a425172179288912e5bad8cd6067b3053c18a090488f55c6205e50 +MISC ChangeLog 51967 SHA256 d3136c2de55443439a30fde59a6e95d3ba0f2aa7858737a80fc59520022c2bfe SHA512 fc504adcd9c4c28431819c8f8f5ed913ec039066fc08f8478135c71c9ef7dedb45a53d2661d19a791e3b664d281114772e8f1d5d9fa20b816cb874798a789807 WHIRLPOOL d3bf7cb8613c7dda650645a68756a07dc406051a20380fca179ca267f4d375ebaa0334e730d5289947084ca8295ae2708df339b2e4a55c7d16457f7b2aba7cc1 MISC metadata.xml 1220 SHA256 12442e258455aa70d08879028a9bb0424d6a5ceea321984009ae7dd51af10c50 SHA512 163fa62be2cad395e8f9bb7779d105bd02be0e09ba4571c41accf707ec25b9ad0d15a62db90c2cc01660b3759235493c00d96f9b741a93fe857c4bea15ac52b9 WHIRLPOOL ae70da326b7b36689ee9a7f3c29921e9e4d85fd7f8b7863866ff9aa7a86eae2983fb12e23f7f0a0aac35a8c09572954ebf67212bb103bed4e15ee2e4ec764ba0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQEcBAEBCAAGBQJShJwiAAoJECo/aRed9267DdUH/1L95OCmjAvYVFTp5sUKy6vS -65jgqGEqvOTJh5aIetmLwvD6tUe20VFblr+sfXsg/Te79HkPccg6Gge5BI6qIQKN -gs+GbLWB182dKBHIvyJhUFe5QY9a7fHqkxovINPnSOb8X6egO2RUNffO5/tI7+IY -jf0ZG6CnEj28IrpZnBT420Ry48Hr19B5dY/ewvLsdjngirPN+Hj4NpslluzREK6+ -xgAfLxKpewcyz/ko1aF8Vhjq6sC6j6JBI4XC5oQl/BlDDKSoKYC7wN/LFEQ4GX/d -A4VaTVXvDp+bpSjLS0zBCnofkBkcER9r32fi5kLeTUTPNZcAkDLC3TABXcvLinI= -=LNOs +iQEcBAEBCAAGBQJShQYKAAoJECo/aRed9267EVEH/0Qv3g/uU57j0en2AyMVzxcG +PM1dD0mZiH/ORwAuOPikkx6YOFsx7yFe7jn45AgyLIhwCQEPJcAXERA/QhNTaojd +XLiouGNI0SkpzpPsKaSF3ne7OPSYNI6nnaK4wj/2gqfv5dopTamNOqzuiiKzgJob +vl1+WOdkMiVm/bwntYRJBKixd7o5WxOF0yjOSZpQMv8NyoNuQvL1/KCPsMN9l2QU +EE+pvjwk6ulftGXwdFR6hpovm7cq2mpYXIVlV2uMCFgK3Ax4YgnYam86kGbhQRzl +HP0eEnl4oKaFfhXdgKz44ZPM+/aawpe9OwxlCkdNy6R/hMtcEKY/1he/sgoUoi8= +=aYd5 -----END PGP SIGNATURE----- diff --git a/dev-libs/boost/boost-1.55.0.ebuild b/dev-libs/boost/boost-1.55.0.ebuild new file mode 100644 index 000000000000..cd811eb15dd9 --- /dev/null +++ b/dev-libs/boost/boost-1.55.0.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.55.0.ebuild,v 1.1 2013/11/14 17:19:04 pinkbyte Exp $ + +EAPI="5" +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) + +inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator + +MY_P="${PN}_$(replace_all_version_separators _)" +MAJOR_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Boost Libraries for C++" +HOMEPAGE="http://www.boost.org/" +SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2" + +LICENSE="Boost-1.0" +SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-fbsd ~x86-linux" + +IUSE="debug doc icu +nls mpi python static-libs +threads tools" + +RDEPEND="icu? ( >=dev-libs/icu-3.6:= ) + !icu? ( virtual/libiconv ) + mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) ) + python? ( ${PYTHON_DEPS} ) + app-arch/bzip2 + sys-libs/zlib + !app-admin/eselect-boost" +DEPEND="${RDEPEND} + =dev-util/boost-build-${MAJOR_V}*" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +S="${WORKDIR}/${MY_P}" + +# the tests will never fail because these are not intended as sanity +# tests at all. They are more a way for upstream to check their own code +# on new compilers. Since they would either be completely unreliable +# (failing for no good reason) or completely useless (never failing) +# there is no point in having them in the ebuild to begin with. +RESTRICT="test" + +create_user-config.jam() { + local compiler compiler_version compiler_executable + + if [[ ${CHOST} == *-darwin* ]]; then + compiler="darwin" + compiler_version="$(gcc-fullversion)" + compiler_executable="$(tc-getCXX)" + else + compiler="gcc" + compiler_version="$(gcc-version)" + compiler_executable="$(tc-getCXX)" + fi + local mpi_configuration python_configuration + + if use mpi; then + mpi_configuration="using mpi ;" + fi + + if use python; then + python_configuration="using python : : ${PYTHON} ;" + fi + + cat > user-config.jam << __EOF__ +using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ; +${mpi_configuration} +${python_configuration} +__EOF__ +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \ + "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \ + "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \ + "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \ + "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \ + "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" + + # Avoid a patch for now + for file in libs/context/src/asm/*.S; do + cat - >> $file <<EOF + +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif +EOF + done +} + +ejam() { + echo b2 "$@" + b2 "$@" +} + +src_configure() { + OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam" + + if [[ ${CHOST} == *-darwin* ]]; then + # We need to add the prefix, and in two cases this exceeds, so prepare + # for the largest possible space allocation. + append-ldflags -Wl,-headerpad_max_install_names + elif [[ ${CHOST} == *-winnt* ]]; then + compiler=parity + if [[ $($(tc-getCXX) -v) == *trunk* ]]; then + compilerVersion=trunk + else + compilerVersion=$($(tc-getCXX) -v | sed '1q' \ + | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,') + fi + compilerExecutable=$(tc-getCXX) + fi + + # bug 298489 + if use ppc || use ppc64; then + [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec + fi + + # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. + append-cxxflags -std=gnu++98 + + use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr" + use icu || OPTIONS+=" --disable-icu boost.locale.icu=off" + use mpi || OPTIONS+=" --without-mpi" + use python || OPTIONS+=" --without-python" + use nls || OPTIONS+=" --without-locale" + + OPTIONS+=" pch=off" + OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\"" + OPTIONS+=" --layout=system" + OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)" + OPTIONS+=" --without-context" + + [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1" +} + +src_compile() { + export BOOST_ROOT="${S}" + PYTHON_DIRS="" + MPI_PYTHON_MODULE="" + + building() { + create_user-config.jam + + ejam ${OPTIONS} \ + $(use python && echo --python-buildid=${EPYTHON#python}) \ + || die "Building of Boost libraries failed" + + if use python; then + if [[ -z "${PYTHON_DIRS}" ]]; then + PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" + else + if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then + die "Inconsistent structure of build directories" + fi + fi + + local dir + for dir in ${PYTHON_DIRS}; do + mv ${dir} ${dir}-${EPYTHON} \ + || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" + done + + if use mpi; then + if [[ -z "${MPI_PYTHON_MODULE}" ]]; then + MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" + if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then + die "Multiple mpi.so files found" + fi + else + if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then + die "Inconsistent structure of build directories" + fi + fi + + mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ + || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" + fi + fi + } + if use python; then + python_foreach_impl building + else + building + fi + + if use tools; then + pushd tools > /dev/null || die + + ejam ${OPTIONS} \ + || die "Building of Boost tools failed" + popd > /dev/null || die + fi +} + +src_install () { + installation() { + create_user-config.jam + + if use python; then + local dir + for dir in ${PYTHON_DIRS}; do + cp -pr ${dir}-${EPYTHON} ${dir} \ + || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" + done + + if use mpi; then + cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ + || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" + cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ + || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" + fi + fi + + ejam ${OPTIONS} \ + --includedir="${ED}usr/include" \ + --libdir="${ED}usr/$(get_libdir)" \ + $(use python && echo --python-buildid=${EPYTHON#python}) \ + install || die "Installation of Boost libraries failed" + + if use python; then + rm -r ${PYTHON_DIRS} || die + + # Move mpi.so Python module to Python site-packages directory. + # https://svn.boost.org/trac/boost/ticket/2838 + if use mpi; then + local moddir=$(python_get_sitedir)/boost + # moddir already includes eprefix + mkdir -p "${D}${moddir}" || die + mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die + cat << EOF > "${D}${moddir}/__init__.py" || die +import sys +if sys.platform.startswith('linux'): + import DLFCN + flags = sys.getdlopenflags() + sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) + from . import mpi + sys.setdlopenflags(flags) + del DLFCN, flags +else: + from . import mpi +del sys +EOF + fi + + python_optimize + fi + } + if use python; then + python_foreach_impl installation + else + installation + fi + + if ! use python; then + rm -r "${ED}"/usr/include/boost/python* || die + fi + + if ! use nls; then + rm -r "${ED}"/usr/include/boost/locale || die + fi + + rm -r "${ED}"/usr/include/boost/context || die + + if use doc; then + find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf + dohtml \ + -A pdf,txt,cpp,hpp \ + *.{htm,html,png,css} \ + -r doc + dohtml -A pdf,txt -r tools + insinto /usr/share/doc/${PF}/html + doins -r libs + doins -r more + + # To avoid broken links + insinto /usr/share/doc/${PF}/html + doins LICENSE_1_0.txt + + dosym /usr/include/boost /usr/share/doc/${PF}/html/boost + fi + + pushd "${ED}usr/$(get_libdir)" > /dev/null || die + + local ext=$(get_libname) + if use threads; then + local f + for f in *${ext}; do + dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}} + done + fi + + popd > /dev/null || die + + if use tools; then + dobin dist/bin/* + + insinto /usr/share + doins -r dist/share/boostbook + fi + + # boost's build system truely sucks for not having a destdir. Because for + # this reason we are forced to build with a prefix that includes the + # DESTROOT, dynamic libraries on Darwin end messed up, referencing the + # DESTROOT instread of the actual EPREFIX. There is no way out of here + # but to do it the dirty way of manually setting the right install_names. + if [[ ${CHOST} == *-darwin* ]]; then + einfo "Working around completely broken build-system(tm)" + local d + for d in "${ED}"usr/lib/*.dylib; do + if [[ -f ${d} ]]; then + # fix the "soname" + ebegin " correcting install_name of ${d#${ED}}" + install_name_tool -id "/${d#${D}}" "${d}" + eend $? + # fix references to other libs + refs=$(otool -XL "${d}" | \ + sed -e '1d' -e 's/^\t//' | \ + grep "^libboost_" | \ + cut -f1 -d' ') + local r + for r in ${refs}; do + ebegin " correcting reference to ${r}" + install_name_tool -change \ + "${r}" \ + "${EPREFIX}/usr/lib/${r}" \ + "${d}" + eend $? + done + fi + done + fi +} + +pkg_preinst() { + # Yai for having symlinks that are nigh-impossible to remove without + # resorting to dirty hacks like these. Removes lingering symlinks + # from the slotted versions. + local symlink + for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do + [[ -L ${symlink} ]] && rm -f "${symlink}" + done +} |