Skip to content

Commit

Permalink
Add patch for ICU 70.1
Browse files Browse the repository at this point in the history
  • Loading branch information
shivammathur committed Oct 28, 2021
1 parent b5ef2b3 commit dc21f7e
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 2 deletions.
45 changes: 45 additions & 0 deletions patches/intl-icu-70.1.patch
@@ -0,0 +1,45 @@
From cd1447a6962496fca60a2f5e5d9cf4448575cc24 Mon Sep 17 00:00:00 2001
From: Ben Ramsey <ramsey@php.net>
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;

6 changes: 4 additions & 2 deletions src/build-intl.sh
Expand Up @@ -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
Expand Down

0 comments on commit dc21f7e

Please sign in to comment.