diff --git a/patches/intl-icu-70.1.patch b/patches/intl-icu-70.1.patch new file mode 100644 index 0000000..3d5bb7d --- /dev/null +++ b/patches/intl-icu-70.1.patch @@ -0,0 +1,45 @@ +From cd1447a6962496fca60a2f5e5d9cf4448575cc24 Mon Sep 17 00:00:00 2001 +From: Ben Ramsey +Date: Tue, 19 Oct 2021 23:59:11 -0500 +Subject: [PATCH] Change UBool to bool for equality operators in ICU >= 70.1 + +Refer to: +- https://github.com/unicode-org/icu/commit/633438f8da99fee815e2c61626ea779a84567a3d +- https://github.com/unicode-org/icu/commit/f6325d49ba57ec26f320b2865ce09ca47db458d9 +--- + ext/intl/breakiterator/codepointiterator_internal.cpp | 4 ++++ + ext/intl/breakiterator/codepointiterator_internal.h | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/ext/intl/breakiterator/codepointiterator_internal.cpp b/ext/intl/breakiterator/codepointiterator_internal.cpp +index 71ba056994d0..3982a599af38 100644 +--- a/ext/intl/breakiterator/codepointiterator_internal.cpp ++++ b/ext/intl/breakiterator/codepointiterator_internal.cpp +@@ -73,7 +73,11 @@ CodePointBreakIterator::~CodePointBreakIterator() + clearCurrentCharIter(); + } + ++#if U_ICU_VERSION_MAJOR_NUM >= 70 ++bool CodePointBreakIterator::operator==(const BreakIterator& that) const ++#else + UBool CodePointBreakIterator::operator==(const BreakIterator& that) const ++#endif + { + if (typeid(*this) != typeid(that)) { + return false; +diff --git a/ext/intl/breakiterator/codepointiterator_internal.h b/ext/intl/breakiterator/codepointiterator_internal.h +index 43ec79d0b776..93b903a20bb8 100644 +--- a/ext/intl/breakiterator/codepointiterator_internal.h ++++ b/ext/intl/breakiterator/codepointiterator_internal.h +@@ -37,7 +37,11 @@ namespace PHP { + + virtual ~CodePointBreakIterator(); + ++#if U_ICU_VERSION_MAJOR_NUM >= 70 ++ virtual bool operator==(const BreakIterator& that) const; ++#else + virtual UBool operator==(const BreakIterator& that) const; ++#endif + + virtual CodePointBreakIterator* clone(void) const; + diff --git a/src/build-intl.sh b/src/build-intl.sh index 0e4d024..bcd666e 100644 --- a/src/build-intl.sh +++ b/src/build-intl.sh @@ -41,10 +41,12 @@ install_icu() { sudo cp -r /usr/local/icu/lib/* /usr/lib/x86_64-linux-gnu/ } install_intl() { - branch=$(get_branch) get_php ( - cd "/tmp/php-src-$branch/ext/intl" || exit 1 + for patch in patches/*.patch; do + patch -d /tmp/php-src -N -p1 -s < "$patch" + done + cd "/tmp/php-src/ext/intl" || exit 1 phpize && sudo ./configure --with-php-config="$(command -v php-config)" --enable-intl echo "#define FALSE 0" >> config.h echo "#define TRUE 1" >> config.h