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 <mpagano@gentoo.org>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1986
Merges: https://codeberg.org/gentoo/gentoo/pulls/1986
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
This commit is contained in:
Mike Pagano
2026-10-03 20:03:21 +02:00
committed by Pacho Ramos
parent 122050cfb9
commit f282cd83ee
2 changed files with 62 additions and 0 deletions
+3
View File
@@ -5,6 +5,9 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
<flag name="atomic-base64">Enable atomic base64 calls</flag>
</use>
<upstream>
<remote-id type="github">simdutf/simdutf</remote-id>
</upstream>
+59
View File
@@ -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
}