summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-12-26 11:12:24 +0000
committerMichał Górny <mgorny@gentoo.org>2013-12-26 11:12:24 +0000
commit8e123b84788ff838952d5067153eef6539e402c3 (patch)
treedc89854acebadfa4e5d27ddfd7385aaa206efb2c /dev-libs
parentAdd unit files (#492382 by Michael Jones) (diff)
downloadgentoo-2-8e123b84788ff838952d5067153eef6539e402c3.tar.gz
gentoo-2-8e123b84788ff838952d5067153eef6539e402c3.tar.bz2
gentoo-2-8e123b84788ff838952d5067153eef6539e402c3.zip
Introduce multilib support wrt bug #480422. Acked by scarabeus.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/icu/ChangeLog7
-rw-r--r--dev-libs/icu/icu-51.2-r2.ebuild142
2 files changed, 148 insertions, 1 deletions
diff --git a/dev-libs/icu/ChangeLog b/dev-libs/icu/ChangeLog
index ca473d649fd5..d168a4380fb5 100644
--- a/dev-libs/icu/ChangeLog
+++ b/dev-libs/icu/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-libs/icu
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.259 2013/11/12 20:12:53 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.260 2013/12/26 11:12:24 mgorny Exp $
+
+*icu-51.2-r2 (26 Dec 2013)
+
+ 26 Dec 2013; Michał Górny <mgorny@gentoo.org> +icu-51.2-r2.ebuild:
+ Introduce multilib support wrt bug #480422. Acked by scarabeus.
12 Nov 2013; Agostino Sarubbo <ago@gentoo.org> icu-51.2-r1.ebuild:
Stable for ia64, wrt bug #486948
diff --git a/dev-libs/icu/icu-51.2-r2.ebuild b/dev-libs/icu/icu-51.2-r2.ebuild
new file mode 100644
index 000000000000..b2ead55f6c23
--- /dev/null
+++ b/dev-libs/icu/icu-51.2-r2.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-51.2-r2.ebuild,v 1.1 2013/12/26 11:12:24 mgorny Exp $
+
+EAPI=5
+
+inherit eutils toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="http://www.icu-project.org/"
+SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
+
+LICENSE="BSD"
+
+SLOT="0/51.2"
+# As far as I can remember, icu consumers reacted rather sensitive to icu upgrades in the past.
+# Even if revdep-rebuild did not rebuild (i.e. soname did not change), random crashes and
+# other irregularities occured until the consumers were rebuilt. So let's rather err on the side
+# of caution and more rebuilds here. See also bug 464876. dilfridge
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc examples static-libs"
+
+DEPEND="
+ doc? (
+ app-doc/doxygen[dot]
+ )
+"
+
+S="${WORKDIR}/${PN}/source"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-51.1-CVE-2013-2924.patch"
+)
+
+src_prepare() {
+ local variable
+
+ epatch_user
+
+ # Do not hardcode flags in icu-config and icu-*.pc files.
+ # https://ssl.icu-project.org/trac/ticket/6102
+ for variable in CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS; do
+ sed \
+ -e "/^${variable} =.*/s: *@${variable}@\( *$\)\?::" \
+ -i config/icu.pc.in \
+ -i config/Makefile.inc.in \
+ || die
+ done
+
+ # Disable renaming as it is stupind thing to do
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 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.in || die
+ eautoreconf
+}
+
+src_configure() {
+ 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
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ multilib_build_binaries && myeconfargs+=(
+ $(use_enable examples samples)
+ )
+ 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_compile() {
+ default
+
+ if multilib_build_binaries && 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 -j1 VERBOSE="1" check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_build_binaries && use doc; then
+ dohtml -p api -r doc/html/
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml ../readme.html
+}