commit:     3ccbcb06b62938bdcbfd15fa9507997c27ada8d0
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 02:21:00 2023 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 02:21:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ccbcb06

app-admin/drush: another php-8.x modernization patch

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 ...drush-6.7.0-r5.ebuild => drush-6.7.0-r6.ebuild} |  1 +
 .../files/drush-6.7.0-batch-signature-fix.patch    | 46 ++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/app-admin/drush/drush-6.7.0-r5.ebuild 
b/app-admin/drush/drush-6.7.0-r6.ebuild
similarity index 97%
rename from app-admin/drush/drush-6.7.0-r5.ebuild
rename to app-admin/drush/drush-6.7.0-r6.ebuild
index a4f2be23bf54..88c5b8c4ab9b 100644
--- a/app-admin/drush/drush-6.7.0-r5.ebuild
+++ b/app-admin/drush/drush-6.7.0-r6.ebuild
@@ -24,6 +24,7 @@ PATCHES=(
        "${FILESDIR}/${P}-php8.0.patch"
        "${FILESDIR}/${P}-gzip-mime.patch"
        "${FILESDIR}/${P}-dont-pass-null-to-strtoupper.patch"
+       "${FILESDIR}/${P}-batch-signature-fix.patch"
 )
 
 src_prepare() {

diff --git a/app-admin/drush/files/drush-6.7.0-batch-signature-fix.patch 
b/app-admin/drush/files/drush-6.7.0-batch-signature-fix.patch
new file mode 100644
index 000000000000..8d5aa74fed46
--- /dev/null
+++ b/app-admin/drush/files/drush-6.7.0-batch-signature-fix.patch
@@ -0,0 +1,46 @@
+From 31d7a945230eaf1f8ab94d5f782619434f7f2b8c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <[email protected]>
+Date: Wed, 16 Aug 2023 21:21:39 -0400
+Subject: [PATCH 1/1] includes/batch.inc: synchronize sub and superclass
+ parameter names
+
+The DrushBatchContext class overrides the offsetSet() method of its
+superclass, ArrayObject, but changes the first parameter's name from
+$key to $name. This makes php-8.1 unhappy:
+
+  Error: Return type of DrushBatchContext::offsetSet($name, $value)
+  should either be compatible with ArrayObject::offsetSet(mixed $key,
+  mixed $value): void, or the #[\ReturnTypeWillChange] attribute should
+  be used to temporarily suppress the notice in .../batch.inc, line 37
+
+Renaming the parameter to $key throughout the function fixes the issue.
+---
+ includes/batch.inc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/includes/batch.inc b/includes/batch.inc
+index dd4adc9..785f411 100644
+--- a/includes/batch.inc
++++ b/includes/batch.inc
+@@ -34,14 +34,14 @@
+  * @see _drush_batch_worker().
+  */
+ class DrushBatchContext extends ArrayObject {
+-  function offsetSet($name, $value) {
+-    if ($name == 'message') {
++  function offsetSet($key, $value) {
++    if ($key == 'message') {
+       drush_log(strip_tags($value), 'ok');
+     }
+-    elseif ($name == 'error_message') {
++    elseif ($key == 'error_message') {
+       drush_set_error('DRUSH_BATCH_ERROR', strip_tags($value));
+     }
+-    parent::offsetSet($name, $value);
++    parent::offsetSet($key, $value);
+   }
+ }
+ 
+-- 
+2.41.0
+

Reply via email to