# Template file for 'icu' pkgname=icu version=63.1 revision=2 wrksrc=icu build_wrksrc=source build_style=gnu-configure hostmakedepends="pkg-config" short_desc="Robust and full-featured Unicode services" maintainer="Juan RP " license="ICU" homepage="http://www.icu-project.org/" distfiles="http://download.icu-project.org/files/icu4c/${version}/icu4c-${version//./_}-src.tgz" checksum=05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d if [ "$CROSS_BUILD" ]; then configure_args+=" --with-cross-build=${XBPS_BUILDDIR}/${wrksrc}/host-icu" fi pre_configure() { # strtod_l() is not supported by musl; also xlocale.h is missing # It is not possible to disable its use via configure switches or env vars # so monkey patching is needed. Idea was stollen from openembedded # https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-support/icu/icu.inc#L30 # http://git.alpinelinux.org/cgit/aports/tree/main/icu/APKBUILD?id=46736e7b8040becc9f69ad6d2c2d317a52d5485b#n34 case "${XBPS_TARGET_MACHINE}" in *-musl) sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' configure ;; esac if [ "$CROSS_BUILD" ]; then # Configure and build for host. mkdir host-build ( cd host-build env CC=cc LD=ld CXX=g++ AR=ar RANLIB=ranlib \ AS=as STRIP=strip CFLAGS="-Os -fPIE" CXXFLAGS="-Os -fPIE" \ ../configure --prefix=/ make ${makejobs} mkdir -p ${wrksrc}/host-icu/config cp config/icucross.* ${wrksrc}/host-icu/config make DESTDIR=${wrksrc}/host-icu install mv ${wrksrc}/host-icu/sbin/* ${wrksrc}/host-icu/bin make distclean ) fi # libicudata must be linked to libc, otherwise it's soft-float on ARM. # probably other stuff breaks too, so let's just do it. # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653457 sed -e 's,-nostdlib,,g' -i ${wrksrc}/source/config/mh-linux } post_install() { vlicense $wrksrc/LICENSE } icu-devel_package() { depends="libstdc++-devel icu-libs>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include vmove usr/lib/icu vmove usr/lib/pkgconfig vmove usr/share/icu vmove usr/bin/icu-config vmove "usr/share/man/man1/icu-config*" vmove "usr/lib/*.so" } } icu-libs_package() { short_desc+=" - shared libs" pkg_install() { vmove "usr/lib/*.so.*" } }