1DOLLY 72PACKAGE icu3REQUIRES HOST runtime@045# ICU 68.2's common and i18n libraries and its data from upstream's source6# archive, for programs the cc package builds. Upstream builds them with7# autotools, which Slop cannot run; as Emscripten's port does, every source of8# common, i18n and stubdata is compiled. The data stays a file, which ICU finds9# in /usr/share/icu/68.2 unless ICU_DATA names another directory.10FROM /v0.1.4/Dollyfile-system-tools 7f6c86fcc73e544e7007646eba2718bbc4d43b7f0516d9558e2dc500b1a05a8011REQUIRES HEADER libc12REQUIRES HEADER cpp13REQUIRES TOOL ar14REQUIRES TOOL c++15REQUIRES TOOL cp16REQUIRES TOOL grep17REQUIRES TOOL gzip18REQUIRES TOOL make19REQUIRES TOOL mkdir20REQUIRES TOOL mv21REQUIRES TOOL rm22REQUIRES TOOL sed23REQUIRES TOOL tar2425SOURCE /v0.1.4/dist/static/icu/source.tar.gz 2d201cd0b1af20183e8a1eca3de424ea29e87e9fd9a37785cb9ce1415bd50662 /tmp/icu.tar.gz26SLOP gzip -dc /tmp/icu.tar.gz | tar -xf - -C /27FILE /tmp/icu/Makefile28    ICU := /tmp/icu/source29    CXX := c++30    FLAGS := -O2 -std=c++11 -DU_USING_ICU_NAMESPACE=0 -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 \31      -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit -DU_STATIC_IMPLEMENTATION \32      -DU_CHARSET_IS_UTF8=1 '-DICU_DATA_DIR="/usr/share/icu/68.2"' -I$(ICU)/common33    objects = $(patsubst %.cpp,%.o,$(wildcard $(ICU)/$(1)/*.cpp))34    all: /usr/lib/libicuuc.a /usr/lib/libicui18n.a /usr/lib/libicudata.a35    /usr/lib/libicuuc.a: $(call objects,common)36    	ar rcs $@ $^37    /usr/lib/libicui18n.a: $(call objects,i18n)38    	ar rcs $@ $^39    /usr/lib/libicudata.a: $(call objects,stubdata)40    	ar rcs $@ $^41    $(ICU)/common/%.o: CXXFLAGS = $(FLAGS) -DU_COMMON_IMPLEMENTATION=142    $(ICU)/i18n/%.o: CXXFLAGS = $(FLAGS) -I$(ICU)/i18n -DU_I18N_IMPLEMENTATION=143    $(ICU)/stubdata/%.o: CXXFLAGS = $(FLAGS)44# ICU knows no Dolly platform: its charset default is the one hook it offers (U_CHARSET_IS_UTF8),45# and its bundled double-conversion lists architectures, wasm32 but not wasm64.46FILE /tmp/icu/build.slop47    set -ex48    header=/tmp/icu/source/i18n/double-conversion-utils.h49    sed 's/defined(__EMSCRIPTEN__) || defined(__wasm32__)$/defined(__EMSCRIPTEN__) || defined(__wasm32__) || defined(__wasm64__)/' $header > /tmp/icu/utils.h50    grep -q __wasm64__ /tmp/icu/utils.h51    mv /tmp/icu/utils.h $header52    make -C /tmp/icu -j453    mkdir -p /usr/include/unicode54    cp /tmp/icu/source/common/unicode/* /tmp/icu/source/i18n/unicode/* /usr/include/unicode/55SLOP slop -e /tmp/icu/build.slop5657EXPORTS LIB    icuuc   /usr/lib/libicuuc.a58EXPORTS LIB    icui18n /usr/lib/libicui18n.a59EXPORTS LIB    icudata /usr/lib/libicudata.a60EXPORTS HEADER unicode /usr/include/unicode61FILE /usr/lib/pkgconfig/icu-uc.pc62    Name: icu-uc63    Description: International Components for Unicode: Common and Data libraries64    Version: 68.265    Cflags: -DU_STATIC_IMPLEMENTATION66    Libs: -licuuc -licudata67FILE /usr/lib/pkgconfig/icu-i18n.pc68    Name: icu-i18n69    Description: International Components for Unicode: Internationalization library70    Version: 68.271    Requires: icu-uc72    Libs: -licui18n73FILE /usr/share/icu/68.2/icudt68l.dat74FILE /usr/share/licenses/icu/LICENSE75SLOP rm -rf /tmp/icu /tmp/icu.tar.gz76