Install this version:
emerge -a =dev-libs/icu-compat-78.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-libs/icu-compat-78.3
Or alternatively:
emerge --autounmask-write -a =dev-libs/icu-compat-78.3
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic multilib toolchain-funcs
DESCRIPTION="ICU runtime libraries for prebuilt packages linked against the ICU 77 ABI"
HOMEPAGE="https://icu.unicode.org/"
SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV}/icu4c-${PV}-sources.tgz"
S="${WORKDIR}/icu/source"
LICENSE="BSD"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm64"
# Nothing should ever build against this package: it exists so that binaries
# which were compiled elsewhere against SONAME libicu*.so.77 keep loading.
# Only the versioned runtime libraries are installed, so it never becomes a
# link-time target and never collides with dev-libs/icu.
src_configure() {
# Upstream renames every exported symbol to u_foo_77; dev-libs/icu builds
# with U_DISABLE_RENAMING=1 and exports plain u_foo instead. Keeping the
# renaming enabled here is what lets both libraries live in one process:
# their symbol namespaces do not overlap.
local myeconfargs=(
--disable-extras
--disable-layoutex
--disable-samples
--disable-static
--disable-tests
--enable-renaming
)
# Workaround for bug #963337 (gcc PR122058)
tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && append-cxxflags -fno-devirtualize-speculatively
# ICU tries to use clang by default
tc-export CC CXX
econf "${myeconfargs[@]}"
}
src_install() {
# No headers, no unversioned .so symlinks, no pkg-config files and no
# tools: each of those is either a file collision with dev-libs/icu or an
# invitation for something to link against the wrong ABI.
local lib
for lib in libicudata libicui18n libicuuc; do
dolib.so "lib/${lib}.so.${PV}"
dosym "${lib}.so.${PV}" "/usr/$(get_libdir)/${lib}.so.$(ver_cut 1)"
done
}
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | icu4c-78.3-sources.tgz | 27977255 bytes | https://github.com/unicode-org/icu/releases/download/release-78.3/icu4c-78.3-sources.tgz |