From f282cd83eed5e6699a705279db1df9cb0af69a94 Mon Sep 17 00:00:00 2001 From: Mike Pagano Date: Thu, 1 Oct 2026 12:38:38 -0400 Subject: [PATCH] dev-cpp/simdutf: add 9.2.1,use-flag enable build of atomic base64 API Bump simdutf with changes as described below. The nodejs dependency V8 requires newer simdutf atomic base64 APIs that are not provided by simdutf by default. The following functions are expected: simdutf::atomic_binary_to_base64 simdutf::atomic_base64_to_binary_safe (char and char16_t) Simdutf provides these functions when compiled with C++20 and -DSIMDUTF_ATOMIC_REF defined. Gate this functionality behind a new local use flag (atomic-base64). Signed-off-by: Mike Pagano Part-of: https://codeberg.org/gentoo/gentoo/pulls/1986 Merges: https://codeberg.org/gentoo/gentoo/pulls/1986 Signed-off-by: Pacho Ramos --- dev-cpp/simdutf/metadata.xml | 3 ++ dev-cpp/simdutf/simdutf-9.2.1.ebuild | 59 ++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 dev-cpp/simdutf/simdutf-9.2.1.ebuild diff --git a/dev-cpp/simdutf/metadata.xml b/dev-cpp/simdutf/metadata.xml index eb0f2f19eb3a7..601ce530297b0 100644 --- a/dev-cpp/simdutf/metadata.xml +++ b/dev-cpp/simdutf/metadata.xml @@ -5,6 +5,9 @@ gnome@gentoo.org Gentoo GNOME Desktop + + Enable atomic base64 calls + simdutf/simdutf diff --git a/dev-cpp/simdutf/simdutf-9.2.1.ebuild b/dev-cpp/simdutf/simdutf-9.2.1.ebuild new file mode 100644 index 0000000000000..5283af04dd7ac --- /dev/null +++ b/dev-cpp/simdutf/simdutf-9.2.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="" + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit cmake docs python-any-r1 + +DESCRIPTION="Unicode validation and transcoding at billions of characters per second" +HOMEPAGE="https://simdutf.github.io/simdutf/" +SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0/34" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="atomic-base64 test" +RESTRICT="!test? ( test )" + +RDEPEND=" + virtual/libiconv +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + doc? ( + app-text/doxygen + ) +" + +src_configure() { + + local mycmakeargs+=( + -DSIMDUTF_TESTS=$(usex test) + -DSIMDUTF_ATOMIC_BASE64_TESTS=$(usex test) + ) + + if use atomic-base64; then + mycmakeargs+=( + -DSIMDUTF_CXX_STANDARD=20 + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + use doc && docs_compile +} + +src_install() { + cmake_src_install + use doc && einstalldocs +}