From eb138df30afb037e8822cd767b1161042072541d Mon Sep 17 00:00:00 2001 From: skmedix Date: Sun, 7 Jul 2024 16:36:46 +0200 Subject: [PATCH] #35 Add support for PHP 8.3 --- apps/xampp/RELEASENOTES-83-linux-x64 | 11 +++ apps/xampp/RELEASENOTES-83-osx-x64 | 10 +++ apps/xampp/RELEASENOTES-83-windows-x64 | 13 ++++ metadata/components/general.ini | 4 -- metadata/versions/base_tarballs.ini | 11 +++ metadata/versions/revisions.ini | 1 + metadata/versions/versions.ini | 1 + src/php.tcl | 11 +++ src/xampp-components.tcl | 14 ++++ src/xamppstacks.tcl | 65 ++++++++++++++++-- src/xamppwindows.tcl | 21 ++++++ src/xamppwindows64.tcl | 95 +++++++++++++++++++++++--- 12 files changed, 240 insertions(+), 17 deletions(-) create mode 100644 apps/xampp/RELEASENOTES-83-linux-x64 create mode 100644 apps/xampp/RELEASENOTES-83-osx-x64 create mode 100644 apps/xampp/RELEASENOTES-83-windows-x64 diff --git a/apps/xampp/RELEASENOTES-83-linux-x64 b/apps/xampp/RELEASENOTES-83-linux-x64 new file mode 100644 index 0000000..4a92b52 --- /dev/null +++ b/apps/xampp/RELEASENOTES-83-linux-x64 @@ -0,0 +1,11 @@ +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +[2023-11-25] XAMPP for Linux 8.3.9-0 +This version of XAMPP contains the following software releases: + - Apache 2.4.58 + - MariaDB 10.4.32 + - OpenSSL 1.1.1w + - PHP 8.3.9 + - phpMyAdmin 5.2.1 + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- diff --git a/apps/xampp/RELEASENOTES-83-osx-x64 b/apps/xampp/RELEASENOTES-83-osx-x64 new file mode 100644 index 0000000..c25220d --- /dev/null +++ b/apps/xampp/RELEASENOTES-83-osx-x64 @@ -0,0 +1,10 @@ +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +[2023-04-08] XAMPP for OS X 8.2.4-0 +This version of XAMPP contains the following software releases: + - Apache 2.4.56 + - MariaDB 10.4.28 + - OpenSSL 1.1.1t + - PHP 8.3.9 + - phpMyAdmin 5.2.1 + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- \ No newline at end of file diff --git a/apps/xampp/RELEASENOTES-83-windows-x64 b/apps/xampp/RELEASENOTES-83-windows-x64 new file mode 100644 index 0000000..9dc39ae --- /dev/null +++ b/apps/xampp/RELEASENOTES-83-windows-x64 @@ -0,0 +1,13 @@ +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +[2023-11-19] XAMPP for Windows 8.2.12-0 +This version of XAMPP contains the following software releases: + - Apache 2.4.58 + - MariaDB 10.4.32 + - OpenSSL 3.1.3 + - PHP 8.3.9 + - phpMyAdmin 5.2.1 + - Tomcat 8.5.96 + - curl 8.4.0_6 + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- \ No newline at end of file diff --git a/metadata/components/general.ini b/metadata/components/general.ini index e185953..cdf8ada 100644 --- a/metadata/components/general.ini +++ b/metadata/components/general.ini @@ -944,10 +944,6 @@ licenses=LGPL download_url=http://ftp.gnu.org/gnu/gettext license_notes=https://www.gnu.org/software/gettext/manual/html_node/Licenses.html -[php_ext_postgresql] -licenses=PHP -download_url=http://pecl.php.net/package/PDO_PGSQL - [modsecurity-apache] ohloh_id=modsecurity name=modsecurity-apache diff --git a/metadata/versions/base_tarballs.ini b/metadata/versions/base_tarballs.ini index ae108f6..8fa81c7 100644 --- a/metadata/versions/base_tarballs.ini +++ b/metadata/versions/base_tarballs.ini @@ -37,6 +37,14 @@ default=xampp82-@@target@@-20231125 linux-x64=xampp82-linux-x64-20231125 osx-x64=xampp82-osx-x64-20230406 +[XamppInstallerPhp83Stack] +default= + +[XamppInstaller83Stack] +default=xampp83-@@target@@-20240702 +linux-x64=xampp83-linux-x64-20240702 +osx-x64=xampp83-osx-x64-20240702 + [XamppPortableInstallerStack] default= @@ -51,3 +59,6 @@ default= [XamppPortableInstallerPhp82Stack] default= + +[XamppPortableInstallerPhp83Stack] +default= diff --git a/metadata/versions/revisions.ini b/metadata/versions/revisions.ini index 44c81fa..2d389e4 100644 --- a/metadata/versions/revisions.ini +++ b/metadata/versions/revisions.ini @@ -13,3 +13,4 @@ 80=0 81=0 82=0 +83=0 diff --git a/metadata/versions/versions.ini b/metadata/versions/versions.ini index fe41613..287fee9 100644 --- a/metadata/versions/versions.ini +++ b/metadata/versions/versions.ini @@ -16,6 +16,7 @@ portable=5.32.1.1 80=8.0.30 81=8.1.25 82=8.2.12 +83=8.3.9 # # Servers # diff --git a/src/php.tcl b/src/php.tcl index 0139270..b3b4100 100644 --- a/src/php.tcl +++ b/src/php.tcl @@ -269,6 +269,17 @@ proc pearProgram {name args} { } } +::itcl::class php83WindowsX64 { + inherit phpWindowsX64 + constructor {environment} { + chain $environment + } { + set version [versions::get "PHP" 83] + set tarballName php-${version}-Win32-VS16-x64 + set includePear 1 + } +} + ::itcl::class Archive_Tar { inherit pearprogram diff --git a/src/xampp-components.tcl b/src/xampp-components.tcl index 3f18e80..49156be 100644 --- a/src/xampp-components.tcl +++ b/src/xampp-components.tcl @@ -2538,6 +2538,7 @@ $cfg['Servers'][$i]['favorite'] = 'pma__favorite';} \ 8.0 - 80 { return [versions::get "PHP" 80] } 8.1 - 81 { return [versions::get "PHP" 81] } 8.2 - 82 { return [versions::get "PHP" 82] } + 8.3 - 83 { return [versions::get "PHP" 83] } } } @@ -2547,6 +2548,7 @@ $cfg['Servers'][$i]['favorite'] = 'pma__favorite';} \ 8.0 - 80 { return [revisions::get "xamppstack" 80] } 8.1 - 81 { return [revisions::get "xamppstack" 81] } 8.2 - 82 { return [revisions::get "xamppstack" 82] } + 8.3 - 83 { return [revisions::get "xamppstack" 83] } } } public method configureOptions {} { @@ -2762,4 +2764,16 @@ $cfg['Servers'][$i]['favorite'] = 'pma__favorite';} \ } } } + ::itcl::class php83 { + inherit php + constructor {environment} { + chain $environment + } { + set vtrackerName XAMPP83 + set version [::xampp::php::getXAMPPVersion 83] + if {[string match osx* [$be cget -target]]} { + set patchList {fix-opcache-support-php-8.OS-X.patch} + } + } + } } diff --git a/src/xamppstacks.tcl b/src/xamppstacks.tcl index 9d176d1..e6a961a 100755 --- a/src/xamppstacks.tcl +++ b/src/xamppstacks.tcl @@ -159,6 +159,15 @@ } } +::itcl::class linuxXamppInstaller83Stack { + inherit linuxXamppInstaller82Stack + constructor {environment} { + chain $environment + } { + replaceComponent ::xampp::php82 ::xampp::php83 + } +} + ::itcl::class linux64XamppInstallerStack { inherit linuxXamppInstallerStack constructor {environment} { @@ -214,6 +223,13 @@ } { } } +::itcl::class linux64XamppInstaller83Stack { + inherit linuxXamppInstaller83Stack + constructor {environment} { + chain $environment + } { + } +} ::itcl::class osx64XamppInstallerStack { inherit linuxXamppInstallerStack constructor {environment} { @@ -325,6 +341,14 @@ replaceComponent ::xampp::php81 ::xampp::php82 } } +::itcl::class osx64XamppInstaller83Stack { + inherit osx64XamppInstaller82Stack + constructor {environment} { + chain $environment + } { + replaceComponent ::xampp::php82 ::xampp::php83 + } +} # XAMPP Installer - standard version ::itcl::class xamppinstallerstack { inherit product @@ -440,6 +464,20 @@ return XamppInstallerPhp80Stack } } +::itcl::class xamppinstaller81stack { + inherit xamppinstallerstack + constructor {environment} { + chain $environment + set version [::xampp::php::getXAMPPVersion 81] + set rev [::xampp::php::getXAMPPRevision 81] + set application ::xampp::php81 + set xampp_vcredist_name VS16 + } { + } + public method getBaseNameForPlatform {} { + return XamppInstallerPhp81Stack + } +} ::itcl::class xamppinstaller82stack { inherit xamppinstallerstack constructor {environment} { @@ -454,18 +492,18 @@ return XamppInstallerPhp82Stack } } -::itcl::class xamppinstaller81stack { +::itcl::class xamppinstaller83stack { inherit xamppinstallerstack constructor {environment} { chain $environment - set version [::xampp::php::getXAMPPVersion 81] - set rev [::xampp::php::getXAMPPRevision 81] - set application ::xampp::php81 + set version [::xampp::php::getXAMPPVersion 83] + set rev [::xampp::php::getXAMPPRevision 83] + set application ::xampp::php83 set xampp_vcredist_name VS16 } { } public method getBaseNameForPlatform {} { - return XamppInstallerPhp81Stack + return XamppInstallerPhp83Stack } } @@ -850,6 +888,23 @@ return xamppinstallerphp82 } } +::itcl::class xamppportableinstaller83stack { + inherit xamppportableinstallerstack + constructor {environment} { + chain $environment + set version [::xampp::php::getXAMPPVersion 83] + set rev [::xampp::php::getXAMPPRevision 83] + set application ::xampp::php83 + set xampp_vcredist_name VS16 + } { + } + public method getBaseNameForPlatform {} { + return XamppPortableInstallerPhp83Stack + } + public method confFileName {} { + return xamppinstallerphp83 + } +} ::itcl::class xampp { inherit phpBitnamiProgram constructor {environment} { diff --git a/src/xamppwindows.tcl b/src/xamppwindows.tcl index 1005828..10f1d5b 100644 --- a/src/xamppwindows.tcl +++ b/src/xamppwindows.tcl @@ -1232,6 +1232,17 @@ mssql.secure_connection=Off" } } +::itcl::class windowsXamppStandardPhp83 { + inherit windowsXamppStandardPhp7 + constructor {environment} { + chain $environment + set version [::xampp::php::getXAMPPVersion 83] + set rev [::xampp::php::getXAMPPRevision 83] + set xampp_vcredist_name VS16 + } { + } +} + ::itcl::class windowsXamppPortable { inherit windowsXamppComponent protected variable rev 0 @@ -1404,6 +1415,16 @@ mssql.secure_connection=Off" } } +::itcl::class windowsXamppPortablePhp83 { + inherit windowsXamppPortablePhp8 + constructor {environment} { + chain $environment + set version [::xampp::php::getXAMPPVersion 83] + set rev [::xampp::php::getXAMPPRevision 83] + } { + } +} + ::itcl::class windowsXamppInstallerStack { inherit stack constructor {environment} { diff --git a/src/xamppwindows64.tcl b/src/xamppwindows64.tcl index adb1e53..7aae7e2 100644 --- a/src/xamppwindows64.tcl +++ b/src/xamppwindows64.tcl @@ -135,6 +135,14 @@ set tarballName httpd-${version}-win64-VS17.zip } } +::itcl::class windows64XamppApachePhp83 { + inherit windows64XamppApachePhp8 + constructor {environment} { + chain $environment + } { + set tarballName httpd-${version}-win64-VS17.zip + } +} ::itcl::class windows64XamppPhpAddons { inherit windowsXamppPhpAddons @@ -332,6 +340,20 @@ } } +::itcl::class windows64XamppPhp83 { + inherit windows64XamppPhp8 + constructor {environment} { + chain $environment + } { + set name windows64XamppPhp83 + set version [::xampp::php::getXAMPPVersion 83] + set rev [::xampp::php::getXAMPPRevision 83] + set vcVersion VS16 + set opensslVersion 1.1.1p + set tarballName php-${version}-Win32-${vcVersion}-x64.zip + } +} + ::itcl::class windows64XamppCurl { inherit windowsXamppComponent constructor {environment} { @@ -571,7 +593,7 @@ } } -::itcl::class windows64XamppInstallerPhp82Stack { +::itcl::class windows64XamppInstallerPhp81Stack { inherit stack constructor {environment} { chain $environment @@ -579,7 +601,7 @@ addComponents bitnamiFiles nativeadapter windowsXamppWorkspace \ windowsXamppHtdocs \ windows64XamppVcredist2019 \ - windows64XamppApachePhp82 \ + windows64XamppApachePhp81 \ windowsXamppApacheAddons \ windowsXamppFileZillaFTP \ windowsXamppFileZillaFTPSource \ @@ -590,7 +612,7 @@ windowsXamppMysqlData \ windows64XamppPerl \ windowsXamppPerlAddons \ - windows64XamppPhp82 \ + windows64XamppPhp81 \ windows64XamppPhpAddons \ windowsXamppPhpMyAdmin \ windows64XamppCurl \ @@ -599,11 +621,11 @@ windows64XamppTomcat \ windowsXamppWebalizer \ windowsXamppWebalizerAddons \ - windowsXamppStandardPhp82 + windowsXamppStandardPhp81 } } -::itcl::class windows64XamppInstallerPhp81Stack { +::itcl::class windows64XamppInstallerPhp82Stack { inherit stack constructor {environment} { chain $environment @@ -611,7 +633,7 @@ addComponents bitnamiFiles nativeadapter windowsXamppWorkspace \ windowsXamppHtdocs \ windows64XamppVcredist2019 \ - windows64XamppApachePhp81 \ + windows64XamppApachePhp82 \ windowsXamppApacheAddons \ windowsXamppFileZillaFTP \ windowsXamppFileZillaFTPSource \ @@ -622,7 +644,7 @@ windowsXamppMysqlData \ windows64XamppPerl \ windowsXamppPerlAddons \ - windows64XamppPhp81 \ + windows64XamppPhp82 \ windows64XamppPhpAddons \ windowsXamppPhpMyAdmin \ windows64XamppCurl \ @@ -631,10 +653,41 @@ windows64XamppTomcat \ windowsXamppWebalizer \ windowsXamppWebalizerAddons \ - windowsXamppStandardPhp81 + windowsXamppStandardPhp82 } } +::itcl::class windows64XamppInstallerPhp83Stack { + inherit stack + constructor {environment} { + chain $environment + } { + addComponents bitnamiFiles nativeadapter windowsXamppWorkspace \ + windowsXamppHtdocs \ + windows64XamppVcredist2019 \ + windows64XamppApachePhp83 \ + windowsXamppApacheAddons \ + windowsXamppFileZillaFTP \ + windowsXamppFileZillaFTPSource \ + windowsXamppMercuryMail \ + windowsXamppMercuryMailAddons \ + windowsXamppSendmail \ + windows64XamppMariaDb \ + windowsXamppMysqlData \ + windows64XamppPerl \ + windowsXamppPerlAddons \ + windows64XamppPhp83 \ + windows64XamppPhpAddons \ + windowsXamppPhpMyAdmin \ + windows64XamppCurl \ + windowsXamppPhpPear \ + windowsXamppPhpADODB \ + windows64XamppTomcat \ + windowsXamppWebalizer \ + windowsXamppWebalizerAddons \ + windowsXamppStandardPhp83 + } +} ::itcl::class windows64XamppPortableInstallerStack { inherit stack @@ -767,3 +820,29 @@ windowsXamppPortablePhp82 } } + +::itcl::class windows64XamppPortableInstallerPhp83Stack { + inherit stack + constructor {environment} { + chain $environment + } { + addComponents bitnamiFiles nativeadapter windowsXamppWorkspace \ + windowsXamppHtdocs \ + windows64XamppVcredist2019 \ + windows64XamppApachePhp83 \ + windowsXamppApacheAddons \ + windowsXamppSendmail \ + windows64XamppMariaDb \ + windowsXamppMysqlData \ + windows64XamppPerl \ + windowsXamppPerlAddons \ + windows64XamppPhp83 \ + windowsXamppPhpAddons \ + windowsXamppPhpPear \ + windowsXamppPhpADODB \ + windowsXamppPhpMyAdmin \ + windows64XamppCurl \ + windows64XamppTomcat \ + windowsXamppPortablePhp83 + } +}