Error with new libicu70
: error: conflicting return type specified for ‘virtual UBool PHP::CodePointBreakIterator::operator==(const icu_70::BreakIterator&) const’
39 | virtual UBool operator==(const BreakIterator& that) const;
| ^~~~~~~~
Patch should be here -> https://github.com/mhei/packages/blob/6eecc3bd4c8e34e3986fde3f95ed88c784cd99eb/lang/php7/patches/1011-Accommodate-changes-to-canonicalized-forms-in-ICU-70_1.patch
Just applied this patch placed it in the directory with other patches like int.patch ->
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 1/4] 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(+)
--- a/ext/intl/breakiterator/codepointiterator_internal.cpp
+++ b/ext/intl/breakiterator/codepointiterator_internal.cpp
@@ -75,7 +75,11 @@ CodePointBreakIterator::~CodePointBreakI
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;
--- a/ext/intl/breakiterator/codepointiterator_internal.h
+++ b/ext/intl/breakiterator/codepointiterator_internal.h
@@ -39,7 +39,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;
And modified the PKGBUILD to this
--- #<buffer PKGBUILD>
+++ #<buffer newPKGBUILD>
@@ -13,7 +13,7 @@
'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'freetds' 'pcre' 'libsodium')
#checkdepends=('procps-ng')
source=("https://php.net/distributions/${_pkgbase}-${pkgver}.tar.xz" 'intl.patch'
- 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'enchant-2.patch' 'php-freetype-2.9.1.patch' )
+ 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'enchant-2.patch' 'php-freetype-2.9.1.patch' 'icu.patch' )
prepare() {
cd ${srcdir}/${_pkgbase}-${pkgver}
@@ -23,6 +23,7 @@
patch -p1 -i ${srcdir}/enchant-2.patch
patch -p1 -i ${srcdir}/php-freetype-2.9.1.patch
patch -p1 -i ${srcdir}/intl.patch
+ patch -p1 -i ${srcdir}/icu.patch
}
build() {
@@ -358,4 +359,5 @@
'406f7a3ef7f476e4a5c26e462e47b7c7'
'4bf0b1296fc95947a11bef36fe76102a'
'e3883dce91ed21e23a3d7ae9fa80216d'
- 'b40b82f55208eaead22dbfb64720b064')
+ 'b40b82f55208eaead22dbfb64720b064'
+ '841b47a68763bd2d9b2ba94bc9df9576')
Pinned Comments
el_aur commented on 2022-02-03 18:56 (UTC) (edited on 2022-02-04 11:28 (UTC) by el_aur)
Created binary repository on build.opensuse.org
https://build.opensuse.org/project/show/home:el:archphp
For Arch Linux, edit /etc/pacman.conf and add the following (note that the order of repositories in pacman.conf is important, since pacman always downloads the first found package):
Then run the following as root
Refresh packages database
Now search for php packages you need:
Install with
pacman -S
packages you need or all PHP 7.2 packages with:el_aur commented on 2022-01-27 12:11 (UTC) (edited on 2022-01-27 15:19 (UTC) by el_aur)
Read Carefully! Breaking changes in compare with native PHP package
Console version
/usr/bin/php72
is installed withphp72-cli
subpackage,php72
doesn't include it anymore!!!PEAR and PECL are available as
php72-pear
andphp72-pecl
subpackagesAll shared modules are respresented as stand-alone subpackages and are not included with
php72
package anymore.No more extensions in php.ini itself!
Separate INI files for each extension are placed in
/etc/php72/conf.d
They are loaded in correct order according to priority