diff options
author | Peter Levine <plevine457@gmail.com> | 2023-02-07 12:54:52 -0500 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-02-13 04:47:34 +0000 |
commit | 05ecf286c0b6d3525aeb6d3927c0d7bd5bace6ba (patch) | |
tree | f24b7640406dcb3c585615871be87fb3c65f38af /dev-libs/msgpack | |
parent | media-gfx/hydrus: Add 515, 516 (diff) | |
download | gentoo-05ecf286c0b6d3525aeb6d3927c0d7bd5bace6ba.tar.gz gentoo-05ecf286c0b6d3525aeb6d3927c0d7bd5bace6ba.tar.bz2 gentoo-05ecf286c0b6d3525aeb6d3927c0d7bd5bace6ba.zip |
dev-libs/msgpack: enable MSGPACK_CXX17 instead of MSGPACK_CXX11
dev-cpp/gtest-1.13.0 now requires building with c++14 or higher.
Passing -DMSGPACK_CXX17=ON causes msgpack to build with -std=c++17 and
should be supported by all modern compilers.
Closes: https://bugs.gentoo.org/893334
Closes: https://github.com/gentoo/gentoo/pull/29468
Signed-off-by: Peter Levine <plevine457@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/msgpack')
-rw-r--r-- | dev-libs/msgpack/msgpack-3.3.0-r2.ebuild | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/dev-libs/msgpack/msgpack-3.3.0-r2.ebuild b/dev-libs/msgpack/msgpack-3.3.0-r2.ebuild new file mode 100644 index 000000000000..25163b155c0a --- /dev/null +++ b/dev-libs/msgpack/msgpack-3.3.0-r2.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-multilib + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git" +else + SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="MessagePack is a binary-based efficient data interchange format" +HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" + +LICENSE="Boost-1.0" +SLOT="0/2" +IUSE="boost +cxx doc examples test" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( app-doc/doxygen[dot] )" +RDEPEND="boost? ( dev-libs/boost[context,${MULTILIB_USEDEP}] ) + !dev-cpp/msgpack-cxx" +DEPEND="${RDEPEND} + test? ( + >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + ) +" + +multilib_src_configure() { + local mycmakeargs=( + -DMSGPACK_BOOST="$(usex boost)" + -DMSGPACK_ENABLE_CXX="$(usex cxx)" + -DMSGPACK_BUILD_TESTS="$(usex test)" + # don't build the examples + -DMSGPACK_BUILD_EXAMPLES=OFF + # enable C++17 by default + -DMSGPACK_CXX17=ON + ) + + cmake_src_configure +} + +multilib_src_compile() { + cmake_src_compile + + if multilib_is_native_abi && use doc; then + cmake_build doxygen + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/docs/. ) + + mkdir docs || die + mv doc_c/html docs/c || die + + if use cxx; then + mv doc_cpp/html docs/cpp || die + fi + fi + + if use examples; then + docinto examples + dodoc -r "${WORKDIR}/${P}/example/." + docompress -x /usr/share/doc/${PF}/examples + fi + fi + + cmake_src_install +} |