From a9095f312935c877010883e9a2fa553ea29406d9 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Thu, 18 Feb 2021 09:27:47 -0500 Subject: [PATCH] PHP 8 compatibility patches (#1855) - Upgrade Phing. - Patch dependencies to fix outstanding PHP 8 compatibility issues. --- build.xml | 24 ++++++ composer.json | 2 +- composer.lock | 212 +++++++++++++++++++++++++++----------------------- 3 files changed, 141 insertions(+), 97 deletions(-) diff --git a/build.xml b/build.xml index 9e371fef4a6..b88028aee16 100644 --- a/build.xml +++ b/build.xml @@ -511,4 +511,28 @@ </if> </target> + <target name="patch-dependencies" description="apply fixes to dependencies"> + <!-- Fix for PHP 8 incompatibility in laminas-db 2.11.3: --> + <reflexive> + <fileset dir="${srcdir}/vendor/laminas/laminas-db/src/Sql"> + <include pattern="AbstractSql.php" /> + </fileset> + <filterchain> + <replaceregexp> + <regexp pattern="\$multiParamValues\[\] = vsprintf\(\$paramSpecs\[\$position\]\[\$ppCount\], \$multiParamsForPosition\);" replace="\$multiParamValues[] = vsprintf(\$paramSpecs[\$position][\$ppCount], (array)\$multiParamsForPosition);" /> + </replaceregexp> + </filterchain> + </reflexive> + <!-- Fix for PHP 8 incompatibility in phing 2.16.4: --> + <reflexive> + <fileset dir="vendor/phing/phing/classes/phing/tasks/system"> + <include pattern="ChmodTask.php" /> + </fileset> + <filterchain> + <replaceregexp> + <regexp pattern="vsprintf\(["']%o["'], \$mode\)" replace="vsprintf('%o', [\$mode])" /> + </replaceregexp> + </filterchain> + </reflexive> + </target> </project> diff --git a/composer.json b/composer.json index e0244c361c6..2a691fe4325 100644 --- a/composer.json +++ b/composer.json @@ -104,7 +104,7 @@ } }, "scripts": { - "phing-install-dependencies": "phing installsolr installswaggerui", + "phing-install-dependencies": ["phing patch-dependencies", "phing installsolr installswaggerui"], "post-install-cmd": [], "post-update-cmd": [] } diff --git a/composer.lock b/composer.lock index 92f780c54b1..6be5aaee188 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f3a29eebefdbb4835821605881248f75", + "content-hash": "460dcc76dfcee8c26d2ccb12112b5859", "packages": [ { "name": "ahand/mobileesp", @@ -332,16 +332,16 @@ }, { "name": "filp/whoops", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771" + "reference": "df7933820090489623ce0be5e85c7e693638e536" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/307fb34a5ab697461ec4c9db865b20ff2fd40771", - "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771", + "url": "https://api.github.com/repos/filp/whoops/zipball/df7933820090489623ce0be5e85c7e693638e536", + "reference": "df7933820090489623ce0be5e85c7e693638e536", "shasum": "" }, "require": { @@ -389,7 +389,13 @@ "throwable", "whoops" ], - "time": "2020-11-01T12:00:00+00:00" + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2021-01-24T12:00:00+00:00" }, { "name": "jasig/phpcas", @@ -4533,16 +4539,16 @@ }, { "name": "pear/archive_tar", - "version": "1.4.12", + "version": "1.4.13", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "19bb8e95490d3e3ad92fcac95500ca80bdcc7495" + "reference": "2b87b41178cc6d4ad3cba678a46a1cae49786011" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/19bb8e95490d3e3ad92fcac95500ca80bdcc7495", - "reference": "19bb8e95490d3e3ad92fcac95500ca80bdcc7495", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/2b87b41178cc6d4ad3cba678a46a1cae49786011", + "reference": "2b87b41178cc6d4ad3cba678a46a1cae49786011", "shasum": "" }, "require": { @@ -4605,7 +4611,7 @@ "type": "patreon" } ], - "time": "2021-01-18T19:32:54+00:00" + "time": "2021-02-16T10:50:50+00:00" }, { "name": "pear/console_getopt", @@ -5044,16 +5050,16 @@ }, { "name": "phing/phing", - "version": "2.16.3", + "version": "2.16.4", "source": { "type": "git", "url": "https://github.com/phingofficial/phing.git", - "reference": "b34c2bf9cd6abd39b4287dee31e68673784c8567" + "reference": "30831b22fc6bab57003f1893842668c44b7f65ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/b34c2bf9cd6abd39b4287dee31e68673784c8567", - "reference": "b34c2bf9cd6abd39b4287dee31e68673784c8567", + "url": "https://api.github.com/repos/phingofficial/phing/zipball/30831b22fc6bab57003f1893842668c44b7f65ae", + "reference": "30831b22fc6bab57003f1893842668c44b7f65ae", "shasum": "" }, "require": { @@ -5133,7 +5139,21 @@ "task", "tool" ], - "time": "2020-02-03T18:50:54+00:00" + "funding": [ + { + "url": "https://github.com/mrook", + "type": "github" + }, + { + "url": "https://github.com/siad007", + "type": "github" + }, + { + "url": "https://www.patreon.com/michielrook", + "type": "patreon" + } + ], + "time": "2021-01-29T14:00:54+00:00" }, { "name": "ppito/laminas-whoops", @@ -5613,16 +5633,16 @@ }, { "name": "symfony/inflector", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", - "reference": "311180fcc84daaf6f07f49acdaa2cd61becbea2d" + "reference": "a8691d012fb449ba49363a3b3e3e743f354f7d56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/inflector/zipball/311180fcc84daaf6f07f49acdaa2cd61becbea2d", - "reference": "311180fcc84daaf6f07f49acdaa2cd61becbea2d", + "url": "https://api.github.com/repos/symfony/inflector/zipball/a8691d012fb449ba49363a3b3e3e743f354f7d56", + "reference": "a8691d012fb449ba49363a3b3e3e743f354f7d56", "shasum": "" }, "require": { @@ -5652,7 +5672,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Inflector Component", + "description": "Converts words between their singular and plural forms (English only)", "homepage": "https://symfony.com", "keywords": [ "inflection", @@ -5676,20 +5696,20 @@ "type": "tidelift" } ], - "time": "2020-12-01T15:29:30+00:00" + "time": "2021-01-24T23:44:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "157a252222251310fe50c71012b4e72f01325850" + "reference": "cd8c6a2778d5f8b5e8fc4b7abdf126790b5d5095" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/157a252222251310fe50c71012b4e72f01325850", - "reference": "157a252222251310fe50c71012b4e72f01325850", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cd8c6a2778d5f8b5e8fc4b7abdf126790b5d5095", + "reference": "cd8c6a2778d5f8b5e8fc4b7abdf126790b5d5095", "shasum": "" }, "require": { @@ -5718,7 +5738,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony OptionsResolver Component", + "description": "Provides an improved replacement for the array_replace PHP function", "homepage": "https://symfony.com", "keywords": [ "config", @@ -5739,11 +5759,11 @@ "type": "tidelift" } ], - "time": "2020-10-24T11:50:19+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -5819,16 +5839,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", "shasum": "" }, "require": { @@ -5892,11 +5912,11 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -5972,7 +5992,7 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", @@ -6052,16 +6072,16 @@ }, { "name": "symfony/property-access", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "439d92bc88fdda717f2c31335e8db41483ca5c8d" + "reference": "94a1d9837396c71a0d8c31686c16693a15651622" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/439d92bc88fdda717f2c31335e8db41483ca5c8d", - "reference": "439d92bc88fdda717f2c31335e8db41483ca5c8d", + "url": "https://api.github.com/repos/symfony/property-access/zipball/94a1d9837396c71a0d8c31686c16693a15651622", + "reference": "94a1d9837396c71a0d8c31686c16693a15651622", "shasum": "" }, "require": { @@ -6097,7 +6117,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony PropertyAccess Component", + "description": "Provides functions to read and write from/to an object or array using a simple string notation", "homepage": "https://symfony.com", "keywords": [ "access", @@ -6124,7 +6144,7 @@ "type": "tidelift" } ], - "time": "2020-12-10T16:34:26+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/service-contracts", @@ -9266,16 +9286,16 @@ }, { "name": "symfony/config", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "e501c56d2fa70798075b9811d0eb4c27de491459" + "reference": "2c4c7827a7e143f5cf375666641b0f448eab8802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/e501c56d2fa70798075b9811d0eb4c27de491459", - "reference": "e501c56d2fa70798075b9811d0eb4c27de491459", + "url": "https://api.github.com/repos/symfony/config/zipball/2c4c7827a7e143f5cf375666641b0f448eab8802", + "reference": "2c4c7827a7e143f5cf375666641b0f448eab8802", "shasum": "" }, "require": { @@ -9319,7 +9339,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "funding": [ { @@ -9335,20 +9355,20 @@ "type": "tidelift" } ], - "time": "2020-12-09T08:58:17+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/css-selector", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "74bd82e75da256ad20851af6ded07823332216c7" + "reference": "f907d3e53ecb2a5fad8609eb2f30525287a734c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/74bd82e75da256ad20851af6ded07823332216c7", - "reference": "74bd82e75da256ad20851af6ded07823332216c7", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f907d3e53ecb2a5fad8609eb2f30525287a734c8", + "reference": "f907d3e53ecb2a5fad8609eb2f30525287a734c8", "shasum": "" }, "require": { @@ -9381,7 +9401,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "funding": [ { @@ -9397,20 +9417,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T16:59:59+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "3860f64c6deb2cb48b1ada27460c58ae479bdc0f" + "reference": "2468b95d869c872c6fb1b93b395a7fcd5331f2b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3860f64c6deb2cb48b1ada27460c58ae479bdc0f", - "reference": "3860f64c6deb2cb48b1ada27460c58ae479bdc0f", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2468b95d869c872c6fb1b93b395a7fcd5331f2b9", + "reference": "2468b95d869c872c6fb1b93b395a7fcd5331f2b9", "shasum": "" }, "require": { @@ -9463,7 +9483,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "funding": [ { @@ -9479,20 +9499,20 @@ "type": "tidelift" } ], - "time": "2020-12-18T07:41:31+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "5d4c874b0eb1c32d40328a09dbc37307a5a910b0" + "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5d4c874b0eb1c32d40328a09dbc37307a5a910b0", - "reference": "5d4c874b0eb1c32d40328a09dbc37307a5a910b0", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c", + "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c", "shasum": "" }, "require": { @@ -9543,7 +9563,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "funding": [ { @@ -9559,7 +9579,7 @@ "type": "tidelift" } ], - "time": "2020-12-18T07:41:31+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -9639,16 +9659,16 @@ }, { "name": "symfony/filesystem", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "d99fbef7e0f69bf162ae6131b31132fa3cc4bcbe" + "reference": "83a6feed14846d2d9f3916adbaf838819e4e3380" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/d99fbef7e0f69bf162ae6131b31132fa3cc4bcbe", - "reference": "d99fbef7e0f69bf162ae6131b31132fa3cc4bcbe", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/83a6feed14846d2d9f3916adbaf838819e4e3380", + "reference": "83a6feed14846d2d9f3916adbaf838819e4e3380", "shasum": "" }, "require": { @@ -9678,7 +9698,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "funding": [ { @@ -9694,20 +9714,20 @@ "type": "tidelift" } ], - "time": "2020-11-30T13:04:35+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/finder", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ebd0965f2dc2d4e0f11487c16fbb041e50b5c09b" + "reference": "25d79cfccfc12e84e7a63a248c3f0720fdd92db6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ebd0965f2dc2d4e0f11487c16fbb041e50b5c09b", - "reference": "ebd0965f2dc2d4e0f11487c16fbb041e50b5c09b", + "url": "https://api.github.com/repos/symfony/finder/zipball/25d79cfccfc12e84e7a63a248c3f0720fdd92db6", + "reference": "25d79cfccfc12e84e7a63a248c3f0720fdd92db6", "shasum": "" }, "require": { @@ -9736,7 +9756,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "funding": [ { @@ -9752,7 +9772,7 @@ "type": "tidelift" } ], - "time": "2020-12-08T16:59:59+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/polyfill-php70", @@ -9821,7 +9841,7 @@ }, { "name": "symfony/polyfill-php72", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", @@ -9894,16 +9914,16 @@ }, { "name": "symfony/process", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "075316ff72233ce3d04a9743414292e834f2cb4a" + "reference": "7e950b6366d4da90292c2e7fa820b3c1842b965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/075316ff72233ce3d04a9743414292e834f2cb4a", - "reference": "075316ff72233ce3d04a9743414292e834f2cb4a", + "url": "https://api.github.com/repos/symfony/process/zipball/7e950b6366d4da90292c2e7fa820b3c1842b965a", + "reference": "7e950b6366d4da90292c2e7fa820b3c1842b965a", "shasum": "" }, "require": { @@ -9932,7 +9952,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "funding": [ { @@ -9948,20 +9968,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T16:59:59+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.4.18", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "c7a594108ed01c89555c4e1bb123b4a54aee2595" + "reference": "c5572f6494fc20668a73b77684d8dc77e534d8cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c7a594108ed01c89555c4e1bb123b4a54aee2595", - "reference": "c7a594108ed01c89555c4e1bb123b4a54aee2595", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c5572f6494fc20668a73b77684d8dc77e534d8cf", + "reference": "c5572f6494fc20668a73b77684d8dc77e534d8cf", "shasum": "" }, "require": { @@ -9991,7 +10011,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Stopwatch Component", + "description": "Provides a way to profile code", "homepage": "https://symfony.com", "funding": [ { @@ -10007,20 +10027,20 @@ "type": "tidelift" } ], - "time": "2020-10-31T22:44:29+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "textalk/websocket", - "version": "1.5.0", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/Textalk/websocket-php.git", - "reference": "ded6832b99f378ea7869c978fdc731c261c37a2e" + "reference": "b93249453806a2dd46495de46d76fcbcb0d8dee8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/ded6832b99f378ea7869c978fdc731c261c37a2e", - "reference": "ded6832b99f378ea7869c978fdc731c261c37a2e", + "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/b93249453806a2dd46495de46d76fcbcb0d8dee8", + "reference": "b93249453806a2dd46495de46d76fcbcb0d8dee8", "shasum": "" }, "require": { @@ -10052,7 +10072,7 @@ } ], "description": "WebSocket client and server", - "time": "2020-12-13T12:20:28+00:00" + "time": "2021-02-12T15:39:23+00:00" }, { "name": "theseer/fdomdocument", -- GitLab