summaryrefslogtreecommitdiff
path: root/dev-libs/icu-layoutex
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-libs/icu-layoutex
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/icu-layoutex')
-rw-r--r--dev-libs/icu-layoutex/Manifest9
-rw-r--r--dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch224
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-58.1.ebuild115
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-58.2.ebuild115
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-59.1.ebuild115
-rw-r--r--dev-libs/icu-layoutex/metadata.xml12
6 files changed, 590 insertions, 0 deletions
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest
new file mode 100644
index 000000000000..684347efec05
--- /dev/null
+++ b/dev-libs/icu-layoutex/Manifest
@@ -0,0 +1,9 @@
+AUX icu-layoutex-58.1-remove-bashisms.patch 5888 SHA256 8a2177d5f549168d5680d6477381a9f6f5ca0bd8f6bd23cc30d7f953e10907bc SHA512 54835db4db5bca704aed015a911a1f5285fbd3f6d09493cdcf98493d87a03851c9ee79cc9cbcb45da409513ad5b3af38b302aa5d164992d94af1f80c6349aeb8 WHIRLPOOL 8f0d95fe666a3de52ebf4511b0792add819e4dbf3e5e259e2f80bd1fce28e21bd046084a18c3130dc16ad1bc3c73cb912c8bb1d0d8bb387b0587d8748c656824
+DIST icu4c-58_1-src.tgz 23366443 SHA256 0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309 SHA512 59b2a76834192a35125fda326587e613ef4486152cf0278c6f22568d4ae02c4b2d897efcea2654ef2b11bd1c3154aecd38cb68a70f69430736f343689f94c155 WHIRLPOOL faf2624a83f0d6f874166b328522dc9c89088db2690433ab05e96371722b635b81fd5210c7e87fe8e5df6681e881cf10204832925b448552affe8c2f6c851e37
+DIST icu4c-58_2-src.tgz 23369902 SHA256 2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c SHA512 5c21af748f48b392e6c0412bd0aee92162ea931820dcbfab4ec6e0299868504b303d88f7586cc95de55c777ac0dca3a29d6c8ca0892c646ebc864c8a5b5a162a WHIRLPOOL 25829f8ee870b703fd604ae5b9b584390a142f5011e2a5db18332453e2f1640d81270086f243318eeb93f187b04ea23dab14901ab81c8d924c8d47b1f77aee5a
+DIST icu4c-59_1-src.tgz 22706578 SHA256 7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe SHA512 9348aa68d72a74cd1f26588c30c80eee1b48800a26930d7eb0749390fd65f7930ee8843058b6a6dd5f265e79054fef661e807ded16a1ad691cbc5ebc5ab944c4 WHIRLPOOL f213951e98b7e1b59a3caf193f671fd9dff9a77c49aa3c4c118d6e3414688830ffb029d5c01495b369d4e666ab38669340a4c24a26f93742a99145972e20ede0
+EBUILD icu-layoutex-58.1.ebuild 2512 SHA256 68473b25dbfec80af5a8c02efdbc2c252c6ed40cd49f0f9288f79374ce0b9a74 SHA512 6c7bb82c9fa751b9382832952cbe66b253d339b5034c6144556f8a8d7433a9027ca734c5363cde4a60b0f2facc938bd0d4051d4843f5cbc8d0b23de24fb12310 WHIRLPOOL 29eae0615aee317c13c5dcd94c80ac9ca89bca918b0fb680b2671dab1094c6c1887b4b1bc9b32e7927dcff3559c488624e4ae00964d2bd270f7e5911d9284133
+EBUILD icu-layoutex-58.2.ebuild 2518 SHA256 cdbdc3d93fbe314f91ecc49f54fbad2e21c6f7fe96964ab0de9b341335c08532 SHA512 f2b385bc0bad96157f3d321dc9f1b418438b3d390729b372d6c47b28bb7acf3792ff071288d25ed6a78741feb2831dc3e0733109380d86eda2e0631dd75bd8d7 WHIRLPOOL 1ec7f14baa8513a1f2ffbe698b46f2949daa27ec62ee8edf8d9a0d45a08fa1be375f0414b55d8cc1ee26c0c9a466bc9c06fd30efad14ca413fd2bb612060c2bf
+EBUILD icu-layoutex-59.1.ebuild 2518 SHA256 0b3c8bc1d839dbf1c8531f26a1dbc513f03a54de7fb94fe24c9bf4aefbbfccd7 SHA512 f2aec190980a1760d6412a4c5fe74c7a01708a60c3c80751201eb30d158147312394f7270cb1f2849c1716c314cadf8a3b90b6efdf9f101c7902852ffce19ede WHIRLPOOL 6a55513020184466cdb72219917e3dee33c0158a29e884c8e680d91eeaaa098201091ea6c4d5209210863c7a53ae80088ae396a0b2a3bf05e480a5a4bb150fe8
+MISC ChangeLog 958 SHA256 c42a9b36a26f97e98ae23adeb547d4d7bb90f8298df0fa4e34fa8cfa43881289 SHA512 5d6272cee3c03e1f15c6489d97bad4cd4c695b003282bd2f6ff17c367c97e67cbd1ef73ae51f9a153d1fd38960fad84a4db32df537f2c0bd043e43e8f8b35d4c WHIRLPOOL cc73b24c2424e23dd0ebb64ebc1c25a1b7314ce59d1e456f0024c16a83f61f51a8114e2fbd41875e9f0a6d8ca75fbdf926b678785443345e5efd9415821d2a96
+MISC metadata.xml 379 SHA256 37b71ba307774d8449cdde890a47780fe2e269b9ffe83b3b6786ad01519ea56e SHA512 45e7eab7e7d954331f7d64582eaef71c18316335fca7cbf6bbdf8e71555301e995ff7ab04e35977be8a82fc8360af00115567aeddd710b253c6a68fd893228aa WHIRLPOOL 82e2b74470e891c544d483f5bdd4977653a97a67542e4e6aed69450c9cc041636b52a455c59408018f9c6f5690d27f4d036ec60352c81bac90426a2e429298a4
diff --git a/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch b/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch
new file mode 100644
index 000000000000..ef60ce4569b8
--- /dev/null
+++ b/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch
@@ -0,0 +1,224 @@
+diff -ruN a/config/Makefile.inc.in b/config/Makefile.inc.in
+--- a/config/Makefile.inc.in 2016-09-09 23:28:18.000000000 +0200
++++ b/config/Makefile.inc.in 2016-11-05 19:43:07.688466668 +0100
+@@ -124,12 +124,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@
+-
+ ##################################################################
+ ##################################################################
+ #
+diff -ruN a/config/icu-config-bottom b/config/icu-config-bottom
+--- a/config/icu-config-bottom 2016-09-09 23:28:18.000000000 +0200
++++ b/config/icu-config-bottom 2016-11-05 19:49:00.854481361 +0100
+@@ -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 -ruN a/configure.ac b/configure.ac
+--- a/configure.ac 2016-10-04 21:30:20.000000000 +0200
++++ b/configure.ac 2016-11-05 19:43:07.688466668 +0100
+@@ -22,24 +22,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
+diff -ruN a/icudefs.mk.in b/icudefs.mk.in
+--- a/icudefs.mk.in 2016-09-09 23:28:18.000000000 +0200
++++ b/icudefs.mk.in 2016-11-05 19:43:07.688466668 +0100
+@@ -157,11 +157,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
+diff -ruN a/test/hdrtst/Makefile.in b/test/hdrtst/Makefile.in
+--- a/test/hdrtst/Makefile.in 2016-09-28 06:17:24.000000000 +0200
++++ b/test/hdrtst/Makefile.in 2016-11-05 19:43:07.688466668 +0100
+@@ -35,9 +35,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-layoutex/icu-layoutex-58.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-58.1.ebuild
new file mode 100644
index 000000000000..df417bcaecef
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-58.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="External layout part of 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/${PV}"
+
+KEYWORDS="amd64 hppa ia64 ppc ppc64 x86"
+IUSE="debug static-libs"
+
+RDEPEND="
+ ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
+ dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${PN/-layoutex}/source"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-58.1-remove-bashisms.patch"
+)
+
+src_prepare() {
+ # apply patches
+ default
+
+ local variable
+
+ # Disable renaming as it is stupid 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
+
+ eautoreconf
+}
+
+src_configure() {
+ # Use C++14
+ append-cxxflags -std=c++14
+
+ 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
+ --enable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ 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
+ pushd layoutex &>/dev/null || die
+ emake -j1 VERBOSE="1" check
+ popd &>/dev/null || die
+}
+
+multilib_src_install() {
+ pushd layoutex &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
diff --git a/dev-libs/icu-layoutex/icu-layoutex-58.2.ebuild b/dev-libs/icu-layoutex/icu-layoutex-58.2.ebuild
new file mode 100644
index 000000000000..92aedc3ca2d9
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-58.2.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="External layout part of 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/${PV}"
+
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 x86"
+IUSE="debug static-libs"
+
+RDEPEND="
+ ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
+ dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${PN/-layoutex}/source"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-58.1-remove-bashisms.patch"
+)
+
+src_prepare() {
+ # apply patches
+ default
+
+ local variable
+
+ # Disable renaming as it is stupid 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
+
+ eautoreconf
+}
+
+src_configure() {
+ # Use C++14
+ append-cxxflags -std=c++14
+
+ 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
+ --enable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ 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
+ pushd layoutex &>/dev/null || die
+ emake -j1 VERBOSE="1" check
+ popd &>/dev/null || die
+}
+
+multilib_src_install() {
+ pushd layoutex &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
diff --git a/dev-libs/icu-layoutex/icu-layoutex-59.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-59.1.ebuild
new file mode 100644
index 000000000000..cb059aee76fc
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-59.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal
+
+DESCRIPTION="External layout part of 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/${PV}"
+
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="debug static-libs"
+
+RDEPEND="
+ ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
+ dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${PN/-layoutex}/source"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-58.1-remove-bashisms.patch"
+)
+
+src_prepare() {
+ # apply patches
+ default
+
+ local variable
+
+ # Disable renaming as it is stupid 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
+
+ eautoreconf
+}
+
+src_configure() {
+ # Use C++14
+ append-cxxflags -std=c++14
+
+ 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
+ --enable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ )
+
+ 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
+ pushd layoutex &>/dev/null || die
+ emake -j1 VERBOSE="1" check
+ popd &>/dev/null || die
+}
+
+multilib_src_install() {
+ pushd layoutex &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
diff --git a/dev-libs/icu-layoutex/metadata.xml b/dev-libs/icu-layoutex/metadata.xml
new file mode 100644
index 000000000000..1e2a3b43bac3
--- /dev/null
+++ b/dev-libs/icu-layoutex/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>office@gentoo.org</email>
+ <name>Gentoo Office project</name>
+ </maintainer>
+</pkgmetadata>