From 3ccbcb06b62938bdcbfd15fa9507997c27ada8d0 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 16 Aug 2023 22:21:00 -0400 Subject: app-admin/drush: another php-8.x modernization patch Signed-off-by: Michael Orlitzky --- app-admin/drush/drush-6.7.0-r5.ebuild | 69 --------------------- app-admin/drush/drush-6.7.0-r6.ebuild | 70 ++++++++++++++++++++++ .../files/drush-6.7.0-batch-signature-fix.patch | 46 ++++++++++++++ 3 files changed, 116 insertions(+), 69 deletions(-) delete mode 100644 app-admin/drush/drush-6.7.0-r5.ebuild create mode 100644 app-admin/drush/drush-6.7.0-r6.ebuild create mode 100644 app-admin/drush/files/drush-6.7.0-batch-signature-fix.patch (limited to 'app-admin') diff --git a/app-admin/drush/drush-6.7.0-r5.ebuild b/app-admin/drush/drush-6.7.0-r5.ebuild deleted file mode 100644 index a4f2be23bf54..000000000000 --- a/app-admin/drush/drush-6.7.0-r5.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 - -DESCRIPTION="Command line shell and scripting interface for Drupal" -HOMEPAGE="https://github.com/drush-ops/drush" -SRC_URI="https://github.com/drush-ops/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="dev-lang/php[cli,ctype,json(+),simplexml] - dev-php/PEAR-Console_Table" - -PATCHES=( - "${FILESDIR}/update-bash-completion-script-for-2.1.patch" - "${FILESDIR}/array-syntax.patch" - "${FILESDIR}/${P}-php8.0.patch" - "${FILESDIR}/${P}-gzip-mime.patch" - "${FILESDIR}/${P}-dont-pass-null-to-strtoupper.patch" -) - -src_prepare() { - default - - # dodoc compresses all of the documentation, so we fix the filenames - # in a few places. - # - # First, the README location in bootstrap.inc. - sed -i -e \ - "s!/share/doc/drush!/share/doc/${PF}!" \ - -e "s!README\.md!\0.bz2!g" \ - includes/bootstrap.inc || die - - # Next, the list of documentation in docs.drush.inc. Note that - # html files don't get compressed. - sed -i \ - -e "s!\.bashrc'!.bashrc.bz2'!" \ - -e "s!\.inc'!.inc.bz2'!" \ - -e "s!\.ini'!.ini.bz2'!" \ - -e "s!\.md'!.md.bz2'!" \ - -e "s!\.php'!.php.bz2'!" \ - -e "s!\.script'!.script.bz2'!" \ - -e "s!\.txt'!.txt.bz2'!" \ - commands/core/docs.drush.inc || die -} - -src_install() { - # Always install the examples; they're referenced within the source - # code and too difficult to exorcise. - dodoc -r README.md docs examples - - insinto /usr/share/drush - doins -r classes commands includes lib misc - doins drush_logo-black.png drush.info drush.php - - exeinto /usr/share/drush - doexe drush - dosym ../share/drush/drush /usr/bin/drush - - keepdir /etc/drush - newbashcomp drush.complete.sh drush -} diff --git a/app-admin/drush/drush-6.7.0-r6.ebuild b/app-admin/drush/drush-6.7.0-r6.ebuild new file mode 100644 index 000000000000..88c5b8c4ab9b --- /dev/null +++ b/app-admin/drush/drush-6.7.0-r6.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 + +DESCRIPTION="Command line shell and scripting interface for Drupal" +HOMEPAGE="https://github.com/drush-ops/drush" +SRC_URI="https://github.com/drush-ops/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="dev-lang/php[cli,ctype,json(+),simplexml] + dev-php/PEAR-Console_Table" + +PATCHES=( + "${FILESDIR}/update-bash-completion-script-for-2.1.patch" + "${FILESDIR}/array-syntax.patch" + "${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() { + default + + # dodoc compresses all of the documentation, so we fix the filenames + # in a few places. + # + # First, the README location in bootstrap.inc. + sed -i -e \ + "s!/share/doc/drush!/share/doc/${PF}!" \ + -e "s!README\.md!\0.bz2!g" \ + includes/bootstrap.inc || die + + # Next, the list of documentation in docs.drush.inc. Note that + # html files don't get compressed. + sed -i \ + -e "s!\.bashrc'!.bashrc.bz2'!" \ + -e "s!\.inc'!.inc.bz2'!" \ + -e "s!\.ini'!.ini.bz2'!" \ + -e "s!\.md'!.md.bz2'!" \ + -e "s!\.php'!.php.bz2'!" \ + -e "s!\.script'!.script.bz2'!" \ + -e "s!\.txt'!.txt.bz2'!" \ + commands/core/docs.drush.inc || die +} + +src_install() { + # Always install the examples; they're referenced within the source + # code and too difficult to exorcise. + dodoc -r README.md docs examples + + insinto /usr/share/drush + doins -r classes commands includes lib misc + doins drush_logo-black.png drush.info drush.php + + exeinto /usr/share/drush + doexe drush + dosym ../share/drush/drush /usr/bin/drush + + keepdir /etc/drush + newbashcomp drush.complete.sh drush +} 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 +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 + -- cgit v1.2.3-65-gdbad