From 2eede85a7bc908d809ef57f2f25e95af61feae04 Mon Sep 17 00:00:00 2001 From: Remi Cardona Date: Wed, 7 Jan 2015 07:40:44 +0000 Subject: [PATCH] dev-libs/icu: add patch to fix bug #528022 Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0x901AB08A --- dev-libs/icu/ChangeLog | 8 +- dev-libs/icu/Manifest | 20 +- dev-libs/icu/files/icu-remove-bashisms.patch | 230 +++++++++++++++++++ dev-libs/icu/icu-53.1-r1.ebuild | 136 +++++++++++ 4 files changed, 379 insertions(+), 15 deletions(-) create mode 100644 dev-libs/icu/files/icu-remove-bashisms.patch create mode 100644 dev-libs/icu/icu-53.1-r1.ebuild diff --git a/dev-libs/icu/ChangeLog b/dev-libs/icu/ChangeLog index 9a98f3fdc261..75e6fa00f21b 100644 --- a/dev-libs/icu/ChangeLog +++ b/dev-libs/icu/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/icu # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.288 2015/01/02 13:45:01 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.289 2015/01/07 07:40:43 remi Exp $ + +*icu-53.1-r1 (07 Jan 2015) + + 07 Jan 2015; Rémi Cardona +icu-53.1-r1.ebuild, + +files/icu-remove-bashisms.patch: + Add patch to fix icu-config with non-bash /bin/sh, see bug #528022. 02 Jan 2015; Agostino Sarubbo icu-53.1.ebuild: Stable for x86, wrt bug #523164 diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest index 025505f9af21..cb1f64c9de6b 100644 --- a/dev-libs/icu/Manifest +++ b/dev-libs/icu/Manifest @@ -2,26 +2,18 @@ Hash: SHA256 AUX icu-fix-tests-depending-on-date.patch 558 SHA256 1c9891d7d3ad4e498e46bf4cece5d98ea9128678a3e5c26b306d0ac600ffcbe0 SHA512 f5e6dde3c6850682a9b66ad2929fc4137b7fc9101a979e5eecb6e0fc60afacd0e3b4fcc96f91dcf558f41f17a0647a0fd167839f9c116149cce0c356f8ced633 WHIRLPOOL f732bb97764b1384025a3b98f0f1fbd05165cdec02fd448b9626c7aaa2f5d9ba07b2e2057a569f4ce2e947f4d8867265956818fef1a5373931de54ec5fc99d13 +AUX icu-remove-bashisms.patch 5956 SHA256 250eaf01b1f8f77168fd236923a30a9fc2e193fcba6657539dcfdbe1ce6bbb9a SHA512 11fe97d6c8cce567987d949da8c1063a67ca256735417b99f8547bf9bc439dbc14a842be6bc831ee709ed9fd14a426f541a1961a622cc65daed5c8c120ca0f1a WHIRLPOOL 76f50b7b45492115f94c812ff840a203dcf72fa0172741720e669453825bc106a7a293e1663acf70123a3768e0c98db078bf6968f5eefd039df6b5e4f6c517e1 DIST icu4c-52_1-src.tgz 23875368 SHA256 2f4d5e68d4698e87759dbdc1a586d053d96935787f79961d192c477b029d8092 SHA512 5300b1d97340850d3d72af220ff5cbc2ae2820aff4367b60e52f17ead9831011dcda3d4c5af57c899d47b6fc964b23c9c8922954b32d314d669eb1a479a2efb0 WHIRLPOOL fd9d0ed8f55b93349164595c79544f41791774eff5e82b043be333732104b19c4036f6a6c53784bfe4494c005b950a4e96433646be24f310a681a18db0d19bfd DIST icu4c-53_1-src.tgz 23218952 SHA256 6fa74fb5aac070c23eaba1711a7178fe582c59867484c5ec07c49002787a9a28 SHA512 2172bfa7d61172b62380762f180336cf86264faed247e57f9143a5dcc84c286b96baa100302c0d54fe6f51af2d7e286cc5176db8f99c58157a5a750270e770df WHIRLPOOL 760b0e2315b7e097d296442cb33c7e9d154bd52dee649e8c85f85c6c9cbd96e26843f0b176c9afcb33a47987ffd1ed7355e67c92d5c4cbcf01a222a3f3eabdee EBUILD icu-52.1.ebuild 3129 SHA256 cf990bf7fdecf33dc3d2481acd694c712f9e7356d4f2684c42a73c63bc132ee2 SHA512 009af7ea758a39d29c51924372ccc71b48c380e6c349f20910f1ea140f8642700897f6cb318c6c9cc7faaff052f612e0698c6c3f7bc0728c339d10a8d53144a2 WHIRLPOOL 2723d3ff372373d0733c9c3e5c627db4b461e16d58bead0f8ec9aaf88607fcee80d85d438dd1094ac5239b482fba29319e056a31a369506fb50401e2617653b3 +EBUILD icu-53.1-r1.ebuild 3191 SHA256 1fa7a96e6a6160c2c38c07c3e08cfc55ad6f1e37ef0bd005aacaa7491dd377a5 SHA512 74773f86be2a59562eac1e15c8ebf66097a9d140b760bd5ed107ad7dca84197ae1b17059b6711150054b48f66c9168199742584df42416766c80d4e9fcc18b37 WHIRLPOOL 6283e8f934c1deb1d9c53a01b6406cb975f91886671514f20423ddcfd3a5e5f26add4d0e765b17b64ac0e31d762753fbd2d0bdda21ed96f235d8045d69106dd8 EBUILD icu-53.1.ebuild 3132 SHA256 4403839fee702aafa7d934ab3824282497d4b659625028637e562c51af1a3eeb SHA512 6fbfdffc515c8a8f30cbc77d15ef385b2f12b82e7c0fc9787273b3a8ce10e0b0789e5f48b98c0ba33c3c844e329ac0cd3b59041c6b8b684da3eed2e950f0c5be WHIRLPOOL 7dba17c0e738f329f7288a2bebdbc297e668b0f248502bea28114acb0d12ef9f7356d9390121fa87f86a4c5d9224b926c66e9f0bdbdd485e6ca60073b6260cbe -MISC ChangeLog 37507 SHA256 904467ff8a52328debbfe9a3970087b72eab0dfd0405538ff3dcdc4f6cd74f96 SHA512 8106dd3e5d1e6aad6924c2143240a48104d46468c6c80de4e95dc8a8e60841d44c4907881228ca2175a5924236db574843b2a954c5580d0a5296b063313a5fb1 WHIRLPOOL da620102a3abfe322045e6b8681c7c33a77e0739897e4e8facf244ab709bf8001ef0341d7cbdc9b9d323f9fb4e785965f7c0cad3d421be2b0715e8f9d9c3237e +MISC ChangeLog 37711 SHA256 3c8c049482f3223c12526c76c18005d605643bcc9884238d3aaf7907e6c11ba4 SHA512 22e4d5860c2596f9ced5d9a0ed984dda3cf3389cbf4722522a20f87f179c6c3bc9e9038f39376d14ddcbf8c36d7982053ed415eb1528de5fc5ca55029a3e79a2 WHIRLPOOL 8e8de653d3e84033fdc103e116326a208e4d06213d0188de70ece2f44772647cb5df4a31f89aae83d29aba9043aca04e896d567546391804fb17939f53cff7dc MISC metadata.xml 164 SHA256 6dd077e0a4bddf8cac0a6d7fb01d5f992a81c85d77d55787d19c6d4ae4c5aeeb SHA512 acd8ec5158c34fd738af175dda4c270a884c80e76dd10d9252e2513846ae1cb69ed8b1afe328a69ced10974ca3c60366394990b98a0d9b9815527f262afd9937 WHIRLPOOL 43b43d99d3c96c6da7006df219d57a4ff853353940dbd597bbbd2be00af7b38f0e6c3e33024b1e964ef1fedb12f788ea78693b7e3527011d8bbb9757ec0b88a2 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUpqDeAAoJELp701BxlEWfheUP/2e+zpeb286T/3Sv47cykRjK -a5vv5cYgJxYyT/vo94AHROy2Na8kThCngBkmT3XpR2KWNDQjTz31oV6ou+grqzeh -5DSHozTTI5Xq1A3xJriJsVIychBcP1B3FdWjEnBq+ell7tJ2l283SJ6qDbiep9Kz -A7Lka8yvhSACF4HVftfnoi8IAt4fMlVzrhmmVui8DqoGZyNta3QS0JD1Ae6y6TI5 -Gp6E5aOXW2G0ls5ef5/hVyy4GXOhE1goSDHQyxI6DlvV9zEDj7X2b/TV/pStXzgf -YGXk1TQ8Vf9QyjoAlec1ADAeUq5bqJZdYRdgmpulL4Ybss6vYIbsL+RPTYkLICke -estQAUwfyw84PJWK5km07MV813hNUzWoD0WPcRu+w4XkiROAJbrtdky5zrzbtGGW -37zUZDVb0KZD2g4k+Wzho9jiuWxMfzV4zcWwfQ2R/e6AdZ3UtHqebXFj/94xFmZ7 -hBFKO2imSPjXjF63KXcuOEMwemLvB3cLfcSSqE4MS88bvLTeqA5MjMRB+gaEg9aL -/LDy4lRNTV2G8MHZZpAT4raMSp3Tt1iQMfiMn+1wzN/BBcCyu5MoNTeuO3WT+2jx -m2iccSDV7xR5ZU6lL/zQNhxTGokTnVKUg59OEOOUghnmcqhUsNPVyiF7fMRu1FN5 -oXgwC35DQxbbTOH6s5zl -=ZVku +iEYEAREIAAYFAlSs4vwACgkQfUU/I5AasIqbMgCeI+BZMv4apyz81pDYwB568GiK +shsAoOdATLP3wWujkNp9cHsKbDOasHeh +=+nHK -----END PGP SIGNATURE----- diff --git a/dev-libs/icu/files/icu-remove-bashisms.patch b/dev-libs/icu/files/icu-remove-bashisms.patch new file mode 100644 index 000000000000..063ca5d4ca13 --- /dev/null +++ b/dev-libs/icu/files/icu-remove-bashisms.patch @@ -0,0 +1,230 @@ +Index: config/Makefile.inc.in +=================================================================== +--- config/Makefile.inc.in (revision 36912) ++++ config/Makefile.inc.in (working copy) +@@ -125,12 +125,6 @@ + # with usually. Many applications will want to add $(ICULIBS_I18N) as well. + ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA) + +-# Proper echo newline handling is needed in icu-config +-ECHO_N=@ICU_ECHO_N@ +-ECHO_C=@ICU_ECHO_C@ +-# Not currently being used but good to have for proper tab handling +-ECHO_T=@ICU_ECHO_T@ +- + ################################################################## + ################################################################## + # +Index: config/icu-config-bottom +=================================================================== +--- config/icu-config-bottom (revision 36912) ++++ config/icu-config-bottom (working copy) +@@ -217,73 +217,73 @@ + ;; + + --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) +- echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}" ++ printf "%s" "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX}" + ;; + + --ldflags-searchpath) +- echo $ECHO_N "-L${libdir} ${ECHO_C}" ++ printf "%s" "-L${libdir}" + ;; + + --detect-prefix) +@@ -319,47 +319,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) +Index: configure.ac +=================================================================== +--- configure.ac (revision 36912) ++++ configure.ac (working copy) +@@ -19,24 +19,6 @@ + PACKAGE="icu" + AC_SUBST(PACKAGE) + +-# Use custom echo test for newline option +-# Current autoconf (2.65) gives incorrect echo newline option +-# for icu-config +-# This may be removed later - mow (June 17, 2010) +-ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= +-case `/bin/sh -c "echo -n x"` in +--n*) +- case `/bin/sh -c "echo 'x\c'"` in +- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. +- *) ICU_ECHO_C='\c';; +- esac;; +-*) +- ICU_ECHO_N='-n';; +-esac +-AC_SUBST(ICU_ECHO_N) +-AC_SUBST(ICU_ECHO_C) +-AC_SUBST(ICU_ECHO_T) +- + AC_MSG_CHECKING(for ICU version numbers) + + # Get the ICU version from uversion.h or other headers +Index: icudefs.mk.in +=================================================================== +--- icudefs.mk.in (revision 36912) ++++ icudefs.mk.in (working copy) +@@ -155,11 +155,6 @@ + ENABLE_STATIC = @ENABLE_STATIC@ + ENABLE_SHARED = @ENABLE_SHARED@ + +-# Echo w/o newline +- +-#ECHO_N = @ICU_ECHO_N@ +-#ECHO_C = @ICU_ECHO_C@ +- + # Commands to compile + COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c + COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c +Index: test/hdrtst/Makefile.in +=================================================================== +--- test/hdrtst/Makefile.in (revision 36912) ++++ test/hdrtst/Makefile.in (working copy) +@@ -33,9 +33,6 @@ + include $(shell icu-config --incfile) + DIRS=$(prefix)/include/unicode + LDIRS=$(prefix)/include/layout +-ECHO_T=@ECHO_T@ +-ECHO_C=@ECHO_C@ +-ECHO_N=@ECHO_N@ + + all: + @echo Please read this Makefile for more information. diff --git a/dev-libs/icu/icu-53.1-r1.ebuild b/dev-libs/icu/icu-53.1-r1.ebuild new file mode 100644 index 000000000000..27081c30b5a7 --- /dev/null +++ b/dev-libs/icu/icu-53.1-r1.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-53.1-r1.ebuild,v 1.1 2015/01/07 07:40:43 remi 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/53" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~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" + +src_prepare() { + local variable + + epatch "${FILESDIR}/icu-fix-tests-depending-on-date.patch" + epatch "${FILESDIR}/${PN}-remove-bashisms.patch" + 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.ac || 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_is_native_abi && 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_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 -j1 VERBOSE="1" check +} + +multilib_src_install() { + default + + if multilib_is_native_abi && use doc; then + dohtml -p api -r doc/html/ + fi +} + +multilib_src_install_all() { + einstalldocs + dohtml ../readme.html +} -- 2.26.2