diff options
author | 2024-11-10 19:38:43 +0000 | |
---|---|---|
committer | 2024-11-10 19:48:19 +0000 | |
commit | d7f8b403a9b5197c0f7965b6873094a26506f80e (patch) | |
tree | 974c40ba1f96b2e45d9980c654735898a1becf99 /dev-libs | |
parent | dev-util/clazy: fix tests w/ clazy not installed (diff) | |
download | gentoo-d7f8b403a9b5197c0f7965b6873094a26506f80e.tar.gz gentoo-d7f8b403a9b5197c0f7965b6873094a26506f80e.tar.bz2 gentoo-d7f8b403a9b5197c0f7965b6873094a26506f80e.zip |
dev-libs/icu-layoutex: add 76.1
Bug: https://bugs.gentoo.org/942694
Bug: https://bugs.gentoo.org/866947
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/icu-layoutex/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/icu-layoutex/files/icu-layoutex-76.1-remove-bashisms.patch | 151 | ||||
-rw-r--r-- | dev-libs/icu-layoutex/icu-layoutex-76.1.ebuild | 135 |
3 files changed, 288 insertions, 0 deletions
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest index 7a7475da110d..a48b327cb80a 100644 --- a/dev-libs/icu-layoutex/Manifest +++ b/dev-libs/icu-layoutex/Manifest @@ -2,3 +2,5 @@ DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71db DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc DIST icu4c-75_1-src.tgz 26568378 BLAKE2B 2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18 SHA512 70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45 DIST icu4c-75_1-src.tgz.asc 659 BLAKE2B d884a9ddb2afc1a8aa00e66568d2f4f76de2b2d15b5ac4ca5a464e2d1dd22aef2406cbd1391c31c8987f1b95d9325c37359f081d2ad69ca313a9d656d3dd7ec1 SHA512 a69d47d74e28a3dcc2f5b83bb0094b7e52e737c83ad484aec64ce76a6f1ad719b1de651ad4024df6cc1bb74992a8540dec09cec2814c45a3e7aaa365afd96628 +DIST icu4c-76_1-src.tgz 27437767 BLAKE2B 67223391123d2d2c75107fc4b87510b1d8d520301a863032951b894366ec8b414692ee3fa2acd652289b0ae2f60946d71bf9ca21ed87de40825e2fd02634c658 SHA512 b702ab62fb37a1574d5f4a768326d0f8fa30d9db5b015605b5f8215b5d8547f83d84880c586d3dcc7b6c76f8d47ef34e04b0f51baa55908f737024dd79a42a6c +DIST icu4c-76_1-src.tgz.asc 228 BLAKE2B 37a058e22da5ad122e3df6de2cb3979fa734b32e4e81d91201d2095fbf20ef2dbcba4579efab3041193e49c388d09618c965ddf082a8362aa82b694184804fa7 SHA512 c4bd81d4e98d7e37a6ba9540748c4ce1eb740d70bd689a13e2e51da76503b6e0287afd4d1cd3af4540210f37626dec998fcbd7269976cb801f238b789e604489 diff --git a/dev-libs/icu-layoutex/files/icu-layoutex-76.1-remove-bashisms.patch b/dev-libs/icu-layoutex/files/icu-layoutex-76.1-remove-bashisms.patch new file mode 100644 index 000000000000..62bb3221116f --- /dev/null +++ b/dev-libs/icu-layoutex/files/icu-layoutex-76.1-remove-bashisms.patch @@ -0,0 +1,151 @@ +--- a/config/icu-config-bottom ++++ b/config/icu-config-bottom +@@ -218,65 +218,65 @@ + ;; + + --cflags) +- echo $ECHO_N "${CFLAGS} ${ECHO_C}" ++ printf "%s" "${CFLAGS} " + ;; + + --cc) +- echo $ECHO_N "${CC} ${ECHO_C}" ++ printf "%s" "${CC} " + ;; + + --cxx) +- echo $ECHO_N "${CXX} ${ECHO_C}" ++ printf "%s" "${CXX} " + ;; + + --cxxflags) +- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}" ++ printf "%s" "${CXXFLAGS} " + ;; + + --cppflags) + # Don't echo the -I. - it's unneeded. +- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //' ++ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //' + ;; + + --cppflags-searchpath) +- echo $ECHO_N "-I${prefix}/include ${ECHO_C}" ++ printf "%s" "-I${prefix}/include " + ;; + + --cppflags-dynamic) +- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}" ++ printf "%s" "${SHAREDLIBCPPFLAGS} " + ;; + + --cxxflags-dynamic) +- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}" ++ printf "%s" "${SHAREDLIBCXXFLAGS} " + ;; + + --cflags-dynamic) +- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}" ++ printf "%s" "${SHAREDLIBCFLAGS} " + ;; + + --ldflags-system) +- echo $ECHO_N "${LIBS} ${ECHO_C}" ++ printf "%s" "${LIBS} " + ;; + + --ldflags) +- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}" ++ printf "%s" "${LDFLAGS} ${ICULIBS} " + # $RPATH_LDFLAGS + ;; + + --ldflags-libsonly) +- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}" ++ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " + ;; + + --ldflags-icuio) +- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}" ++ printf "%s" " ${ICULIBS_ICUIO} " + ;; + + --ldflags-obsolete) +- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}" ++ printf "%s" "${ICULIBS_OBSOLETE} " + ;; + + --ldflags-toolutil) +- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}" ++ printf "%s" " ${ICULIBS_TOOLUTIL} " + ;; + + --ldflags-layout) +@@ -285,7 +285,7 @@ + ;; + + --ldflags-searchpath) +- echo $ECHO_N "-L${libdir} ${ECHO_C}" ++ printf "%s" "-L${libdir} " + ;; + + --detect-prefix) +@@ -321,47 +321,47 @@ + ;; + + --shared-datadir) +- echo $ECHO_N "${datadir} ${ECHO_C}" ++ printf "%s" "${datadir} " + ;; + + --incfile) +- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}" ++ printf "%s" "${pkglibdir}/Makefile.inc " + ;; + + --incpkgdatafile) +- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}" ++ printf "%s" "${pkglibdir}/pkgdata.inc " + ;; + + --icudata) +- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}" ++ printf "%s" "${ICUDATA_NAME} " + ;; + + --icudata-mode) +- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}" ++ printf "%s" "${PKGDATA_MODE} " + ;; + + --icudata-install-dir) +- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}" ++ printf "%s" "${ICUPKGDATA_DIR} " + ;; + + --icudatadir) +- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}" ++ printf "%s" "${ICUDATA_DIR} " + ;; + + --shlib-c) +- echo $ECHO_N "${SHLIB_c} ${ECHO_C}" ++ printf "%s" "${SHLIB_c} " + ;; + + --shlib-cc) +- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}" ++ printf "%s" "${SHLIB_cc} " + ;; + + --version) +- echo $ECHO_N $VERSION ++ printf "%s" "$VERSION" + ;; + + --unicode-version) +- echo $ECHO_N $UNICODE_VERSION ++ printf "%s" "$UNICODE_VERSION" + ;; + + --host) diff --git a/dev-libs/icu-layoutex/icu-layoutex-76.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-76.1.ebuild new file mode 100644 index 000000000000..fe8903689de5 --- /dev/null +++ b/dev-libs/icu-layoutex/icu-layoutex-76.1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-libs/icu +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc +inherit autotools multilib-minimal toolchain-funcs verify-sig + +MY_PV=${PV/_rc/-rc} +MY_PV=${MY_PV//./_} + +DESCRIPTION="External layout part of International Components for Unicode" +HOMEPAGE="https://icu.unicode.org/" +SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz" +SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )" +S="${WORKDIR}"/${PN/-layoutex}/source + +LICENSE="BSD" +SLOT="0/${PV%.*}" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +fi +IUSE="debug static-libs test" +RESTRICT="!test? ( test )" + +DEPEND=" + ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}] + dev-libs/icu-le-hb[${MULTILIB_USEDEP}] +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-icu-20241110 ) +" + +PATCHES=( "${FILESDIR}/${PN}-76.1-remove-bashisms.patch" ) + +src_prepare() { + default + + # TODO: switch uconfig.h hacks to use uconfig_local + # + # Disable renaming as it assumes stable ABI and that consumers + # won't use unofficial APIs. We need this despite the configure argument. + sed -i \ + -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \ + common/unicode/uconfig.h || die + # + # ODR violations, experimental API + sed -i \ + -e "s/# define UCONFIG_NO_MF2 0/#define UCONFIG_NO_MF2 1/" \ + common/unicode/uconfig.h || die + + # Fix linking of icudata + sed -i \ + -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \ + config/mh-linux || die + + eautoreconf +} + +src_configure() { + MAKEOPTS+=" VERBOSE=1" + + if tc-is-cross-compiler; then + mkdir "${WORKDIR}"/host || die + pushd "${WORKDIR}"/host >/dev/null || die + + CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \ + CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \ + RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \ + "${S}"/configure --disable-renaming --disable-debug \ + --disable-samples --enable-static || die + emake + + popd >/dev/null || die + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --disable-renaming + # We want a minimal build as this is just for layoutex + # so we disable as much as possible + --disable-samples + --disable-extras + --disable-icuio + + # This is icu-layoutex, so.. + --enable-layoutex + + $(use_enable debug) + $(use_enable static-libs static) + + # Need tools for tests, otherwise get this in configure: + # "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests. + # ## Expect build failures in the 'data', 'test', and other directories." + # ... although layoutex has no tests right now anyway, but let's keep this + # for the future. + $(use_enable test tools) + $(use_enable test tests) + ) + + tc-is-cross-compiler && myeconfargs+=( + --with-cross-build="${WORKDIR}"/host + ) + + # icu tries to use clang by default + tc-export CC CXX + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + # INTLTEST_OPTS: intltest options + # -e: Exhaustive testing + # -l: Reporting of memory leaks + # -v: Increased verbosity + # IOTEST_OPTS: iotest options + # -e: Exhaustive testing + # -v: Increased verbosity + # CINTLTST_OPTS: cintltst options + # -e: Exhaustive testing + # -v: Increased verbosity + emake -C layoutex VERBOSE="1" check +} + +multilib_src_install() { + pushd layoutex &>/dev/null || die + default + popd &>/dev/null || die +} |