diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-11-10 21:02:07 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-11-10 21:02:07 +0000 |
commit | 0ca3f86640e2f1f361da895b997c43bac22090a1 (patch) | |
tree | 029b42e7b1425ce16f4299635e5caad713501ead /dev-libs/icu | |
parent | be94ae04eee564451203d45977c2ef7c7ace1580 (diff) |
gentoo auto-resync : 10:11:2024 - 21:02:06
Diffstat (limited to 'dev-libs/icu')
-rw-r--r-- | dev-libs/icu/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/icu/files/icu-76.1-remove-bashisms.patch | 151 | ||||
-rw-r--r-- | dev-libs/icu/icu-76.1.ebuild | 178 |
3 files changed, 333 insertions, 0 deletions
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest index e26d8f00a90b..82808861b285 100644 --- a/dev-libs/icu/Manifest +++ b/dev-libs/icu/Manifest @@ -2,10 +2,14 @@ AUX icu-64.2-darwin.patch 2136 BLAKE2B 3c54a15e351a97f7c423128e493ed158e56191738 AUX icu-65.1-remove-bashisms.patch 4963 BLAKE2B fb781741a7a908638876729d573a73e42b7b3f0f3e692b54799fed0dac006ecb731583d90d849ea06be47259a0a236933fa7a78a96b3a8107ee85f916dc2000a SHA512 67e60068c356ca8d93b137eadeef2562ff7d8f38153babc97edd92a2c38d7113396d63d4a09364dacefc612b4b3ea28872a4f767c4f38d3e725943b32f98c5bc AUX icu-68.1-nonunicode.patch 477 BLAKE2B 5e74142e5adbf8f3fffa23c8fb08657b5b75d12941db39980abea1fff2328c112196b62cc89d521e8cc2a1f7c11b58816401a838bb8fcbe50036e80d3d9e4343 SHA512 5d605cc1cbbd16221603a9509d07713d64201f4fc1a372d29c18f8d49a4618fcd7e0a0bb0a459024a288e5c2c339a9aa0849abe88691ee2cdb24b92c9b61e290 AUX icu-75.1-python3_13-tests.patch 609 BLAKE2B 8f459e0963d941029f05d74a643c5c37060934b12181ec1a8859316f0f6ffaa9a62ab7817b382f879113c896271c4660522ae573c7e540fbc88bbbe563fdcd7d SHA512 e93c459f98c1015eb1592eabc27451dd71834c3b039921ffb6630b31bc0f811104610f4cc81ac1424d392b51aa571d3d2c4a4c9556ab83d90b7155a035e88012 +AUX icu-76.1-remove-bashisms.patch 3382 BLAKE2B fda519c35f7b8d617007fcfa91dd6d36da7eae457f616b437ac32c4de1808d5e7d4b31cb6b560fbf1b2940e69b6fcb8fb51b4c9ad2671aa43aa89cf056934999 SHA512 223ab2e184945ad7039a72dafaf3478bbcab4b4577929e0aac8b508f9cac678a770ff9ce307d373e9ab1d8e42a81740251bb70e2244592cda91ad15a6af1fd2d DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0 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 EBUILD icu-74.2.ebuild 4714 BLAKE2B 8091125f898279efb25331588a88f62ba356c0a2aaa52876a1734170f80b79af7b5b47148d657714b5c074d4d156fd9df0e88138874b9eea2c1dd8cd47c76d92 SHA512 ec477c735b981212b442ec130e6b27eeb461c2ca76da1a67424afcd76c2e5d2f7a4bf3954dc00ac949dda71c3d613565becd9033d9d352663114dad120fd1a97 EBUILD icu-75.1.ebuild 4670 BLAKE2B fdb36ace7b4d804e83b0f48094e443f1da9bf5dbf7099a8aae7827d8d1933c62b8cf74a651c086c9846b161a9c6d32c318b5c87f04b8923807e825043575d07d SHA512 bd23fa9cea9a6746d137e5c4cc7af300f09be4fd089fe40c64b848ec45834aa54ed793809d76a618eb498788d8bcc54a7a9c71b137db1ed01921cb08efe8b95a +EBUILD icu-76.1.ebuild 4511 BLAKE2B fa15ae6ca36c617032ce6066fddc451b14bb80529217047e2b61d730ce58b82197e3311b4574e0960ca6d413da2bce2455c9e176eae6d24f5c02a9e3a53ce9c5 SHA512 f43d0db39c778e60d0364de87663c4b6a5ee1fdbd3646cb26d8377da396ba9c8c1b0dd4d8e7727b83092c34b99aad3d89e1b862b5699cd5a17d0ec4b2e751a0d MISC metadata.xml 336 BLAKE2B df52385ac9930c85fc8cb8799f5fd083e99bfe1bacd63519001f91b841cacdc50d6b7ed32f3520372cbab48d270bb05fd0896eaec55046ce1eac03af4502365e SHA512 80d8e03229a72e9acd1429f7ed697df59e98899b135bb40367e95d6eed63aa011efd2121601be68e685350b6eadd46e6f39c036f86ff18bc3c85410e88008c7e diff --git a/dev-libs/icu/files/icu-76.1-remove-bashisms.patch b/dev-libs/icu/files/icu-76.1-remove-bashisms.patch new file mode 100644 index 000000000000..62bb3221116f --- /dev/null +++ b/dev-libs/icu/files/icu-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/icu-76.1.ebuild b/dev-libs/icu/icu-76.1.ebuild new file mode 100644 index 000000000000..077fe8d67d99 --- /dev/null +++ b/dev-libs/icu/icu-76.1.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-libs/icu-layoutex + +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc +inherit autotools multilib-minimal python-any-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/-rc} +MY_PV=${MY_PV//./_} + +DESCRIPTION="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}/source + +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi +LICENSE="BSD" +SLOT="0/${PV%.*}" +IUSE="debug doc examples static-libs test" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + dev-build/autoconf-archive + virtual/pkgconfig + doc? ( app-text/doxygen[dot] ) + verify-sig? ( >=sec-keys/openpgp-keys-icu-20241110 ) +" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/icu-config +) + +PATCHES=( + "${FILESDIR}/${PN}-76.1-remove-bashisms.patch" + "${FILESDIR}/${PN}-64.2-darwin.patch" + "${FILESDIR}/${PN}-68.1-nonunicode.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 + + # Append doxygen configuration to configure + sed -i \ + -e 's:icudefs.mk:icudefs.mk Doxyfile:' \ + configure.ac || 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 + --disable-samples + # TODO: Merge with dev-libs/icu-layoutex + # Planned to do this w/ 73.2 but seem to get test failures + # only with --enable-layoutex. + --disable-layoutex + $(use_enable debug) + $(use_enable static-libs static) + $(use_enable test tests) + $(multilib_native_use_enable examples samples) + ) + + #if use test ; then + # myeconfargs+=( + # --enable-extras + # --enable-tools + # ) + #else + # myeconfargs+=( + # $(multilib_native_enable extras) + # $(multilib_native_enable tools) + # ) + #fi + + tc-is-cross-compiler && myeconfargs+=( + --with-cross-build="${WORKDIR}"/host + ) + + # Work around cross-endian testing failures with LTO, bug #757681 + if tc-is-cross-compiler && tc-is-lto ; then + myeconfargs+=( --disable-strict ) + fi + + # ICU tries to use clang by default + tc-export CC CXX + + # Make sure we configure with the same shell as we run icu-config + # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined + export CONFIG_SHELL="${EPREFIX}/bin/sh" + # Probably have no /bin/sh in prefix-chain + [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}" + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use doc; then + doxygen -u Doxyfile || die + doxygen Doxyfile || die + fi +} + +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 check +} + +multilib_src_install() { + default + + if multilib_is_native_abi && use doc; then + docinto html + dodoc -r doc/html/* + fi +} + +multilib_src_install_all() { + local HTML_DOCS=( ../readme.html ) + einstalldocs +} |