Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/icu/
Date: Sat, 05 Feb 2022 23:24:53
Message-Id: 1644103455.28fee867fc829a7d20395c8b3830615d948e9c3e.asturm@gentoo
1 commit: 28fee867fc829a7d20395c8b3830615d948e9c3e
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 5 23:18:24 2022 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 5 23:24:15 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fee867
7
8 dev-libs/icu: Revert "Drop 69.1-r1"
9
10 This reverts commit f9e554b249cde1ae33d6e09a9fb0b22bcc9aa9c0.
11
12 Bug: https://bugs.gentoo.org/832775
13 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
14
15 dev-libs/icu/Manifest | 1 +
16 dev-libs/icu/icu-69.1-r1.ebuild | 150 ++++++++++++++++++++++++++++++++++++++++
17 2 files changed, 151 insertions(+)
18
19 diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
20 index 28544b0b2812..820d3604cb0b 100644
21 --- a/dev-libs/icu/Manifest
22 +++ b/dev-libs/icu/Manifest
23 @@ -1 +1,2 @@
24 +DIST icu4c-69_1-src.tgz 24814903 BLAKE2B ef95a04e238f0de96e969d580ef64000ab04a4a0003e8f31fd02baab35387d5ab2c4d792ae0d14f3de8e48aa28570237ccd67fb32e03b13d1572e4a995b1de76 SHA512 d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7
25 DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
26
27 diff --git a/dev-libs/icu/icu-69.1-r1.ebuild b/dev-libs/icu/icu-69.1-r1.ebuild
28 new file mode 100644
29 index 000000000000..6f632a02fd23
30 --- /dev/null
31 +++ b/dev-libs/icu/icu-69.1-r1.ebuild
32 @@ -0,0 +1,150 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +PYTHON_COMPAT=( python3_{7..9} )
39 +inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs
40 +
41 +DESCRIPTION="International Components for Unicode"
42 +HOMEPAGE="http://site.icu-project.org/"
43 +SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
44 +
45 +LICENSE="BSD"
46 +
47 +SLOT="0/${PV}"
48 +
49 +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
50 +IUSE="debug doc examples static-libs"
51 +
52 +BDEPEND="${PYTHON_DEPS}
53 + virtual/pkgconfig
54 + doc? ( app-doc/doxygen[dot] )
55 +"
56 +
57 +S="${WORKDIR}/${PN}/source"
58 +
59 +MULTILIB_CHOST_TOOLS=(
60 + /usr/bin/icu-config
61 +)
62 +
63 +PATCHES=(
64 + "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
65 + "${FILESDIR}/${PN}-64.2-darwin.patch"
66 + "${FILESDIR}/${PN}-68.1-nonunicode.patch"
67 + # Should be in the next rleease, but check
68 + # https://bugs.gentoo.org/788112
69 + "${FILESDIR}/${PN}-69.1-fix-ub-units.patch"
70 +)
71 +
72 +src_prepare() {
73 + default
74 +
75 + local variable
76 +
77 + # Disable renaming as it is stupid thing to do
78 + sed -i \
79 + -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
80 + common/unicode/uconfig.h || die
81 +
82 + # Fix linking of icudata
83 + sed -i \
84 + -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
85 + config/mh-linux || die
86 +
87 + # Append doxygen configuration to configure
88 + sed -i \
89 + -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
90 + configure.ac || die
91 +
92 + eautoreconf
93 +}
94 +
95 +src_configure() {
96 + append-cxxflags -std=c++14
97 +
98 + if tc-is-cross-compiler; then
99 + mkdir "${WORKDIR}"/host || die
100 + pushd "${WORKDIR}"/host >/dev/null || die
101 +
102 + CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
103 + CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
104 + RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
105 + "${S}"/configure --disable-renaming --disable-debug \
106 + --disable-samples --enable-static || die
107 + emake
108 +
109 + popd >/dev/null || die
110 + fi
111 +
112 + multilib-minimal_src_configure
113 +}
114 +
115 +multilib_src_configure() {
116 + local myeconfargs=(
117 + --disable-renaming
118 + --disable-samples
119 + --disable-layoutex
120 + $(use_enable debug)
121 + $(use_enable static-libs static)
122 + $(multilib_native_use_enable examples samples)
123 + )
124 +
125 + tc-is-cross-compiler && myeconfargs+=(
126 + --with-cross-build="${WORKDIR}"/host
127 + )
128 +
129 + # work around cross-endian testing failures with LTO #757681
130 + if tc-is-cross-compiler && is-flagq '-flto*' ; then
131 + myeconfargs+=( --disable-strict )
132 + fi
133 +
134 + # icu tries to use clang by default
135 + tc-export CC CXX
136 +
137 + # make sure we configure with the same shell as we run icu-config
138 + # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
139 + export CONFIG_SHELL="${EPREFIX}/bin/sh"
140 + # probably have no /bin/sh in prefix-chain
141 + [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
142 +
143 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
144 +}
145 +
146 +multilib_src_compile() {
147 + default
148 +
149 + if multilib_is_native_abi && use doc; then
150 + doxygen -u Doxyfile || die
151 + doxygen Doxyfile || die
152 + fi
153 +}
154 +
155 +multilib_src_test() {
156 + # INTLTEST_OPTS: intltest options
157 + # -e: Exhaustive testing
158 + # -l: Reporting of memory leaks
159 + # -v: Increased verbosity
160 + # IOTEST_OPTS: iotest options
161 + # -e: Exhaustive testing
162 + # -v: Increased verbosity
163 + # CINTLTST_OPTS: cintltst options
164 + # -e: Exhaustive testing
165 + # -v: Increased verbosity
166 + emake -j1 VERBOSE="1" check
167 +}
168 +
169 +multilib_src_install() {
170 + default
171 +
172 + if multilib_is_native_abi && use doc; then
173 + docinto html
174 + dodoc -r doc/html/*
175 + fi
176 +}
177 +
178 +multilib_src_install_all() {
179 + einstalldocs
180 + docinto html
181 + dodoc ../readme.html
182 +}