From e10947535bd36a7f6affb1954ef0f78fa4e62c6d Mon Sep 17 00:00:00 2001
From: RAC-oi <160294171+RAC-oi@users.noreply.github.com>
Date: Wed, 27 Mar 2024 07:20:34 +0100
Subject: [PATCH] web/php/php-8_2: mysqlnd as default for mysqli and pdo_mysql

---
 components/web/php/php-8_2/Makefile                |   14 +++-----------
 components/web/php/php-8_2/pkg5                    |    2 --
 components/web/php/php-8_2/files/mysqli.ini        |    2 ++
 components/web/php/php-8_2/php82-ext-mysql.p5m     |    6 +++++-
 components/web/php/php-8_2/files/first_mysqlnd.ini |    2 ++
 5 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/components/web/php/php-8_2/Makefile b/components/web/php/php-8_2/Makefile
index 16a0952..30b94ca 100644
--- a/components/web/php/php-8_2/Makefile
+++ b/components/web/php/php-8_2/Makefile
@@ -32,10 +32,9 @@
 COMPONENT_CLASSIFICATION=Meta Packages/Group Packages
 COMPONENT_LICENSE=      PHP License
 COMPONENT_LICENSE_FILE= LICENSE
+COMPONENT_REVISION= 1
 
 include $(WS_MAKE_RULES)/common.mk
-
-MYSQL_DIR=		$(MYSQL_HOME)
 
 # Apache Paths
 AP_PREFIX=		/usr/apache2/2.4
@@ -52,9 +51,6 @@
 CFLAGS +=		-I/usr/include/openldap
 CPPFLAGS +=      	$(CPP_XPG6MODE)
 LDFLAGS +=       	-lldap_r
-CPPFLAGS +=      	-I$(MYSQL_INCDIR)
-CFLAGS +=        	-I$(MYSQL_INCDIR)
-LDFLAGS +=       	-L$(MYSQL_LIBDIR)
 
 # build with the system default libjpeg
 CFLAGS+=                $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)
@@ -137,12 +133,10 @@
 CONFIGURE_OPTIONS += --enable-sockets=shared
 CONFIGURE_OPTIONS += --enable-mysqlnd=shared
 CONFIGURE_OPTIONS += --with-snmp=shared
+CONFIGURE_OPTIONS += --with-mysqli=shared,mysqlnd
+CONFIGURE_OPTIONS += --with-pdo-mysql=shared,mysqlnd
 
 # Extensions, dependent on other packages
-
-# Since PHP 8.2 and later, compiling mysqli extension with libmysql is no longer supported.
-#CONFIGURE_OPTIONS += --with-mysqli=shared,$(MYSQL_BINDIR)/mysql_config
-CONFIGURE_OPTIONS += --with-pdo-mysql=shared,$(MYSQL_DIR)
 CONFIGURE_OPTIONS += --with-pgsql=shared,$(PG_BINDIR)
 CONFIGURE_OPTIONS += --with-pdo-pgsql=shared,$(PG_BINDIR)
 
@@ -222,7 +216,6 @@
     '-e "/.*/d" '
 
 # Manually added build dependencies
-REQUIRED_PACKAGES += $(MYSQL_CLIENT_PKG)
 REQUIRED_PACKAGES += $(PG_DEVELOPER_PKG)
 REQUIRED_PACKAGES += $(PG_SERVICE_PKG)
 REQUIRED_PACKAGES += web/server/apache-24
@@ -231,7 +224,6 @@
 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
 REQUIRED_PACKAGES += $(ICU_LIBRARY_PKG)
-REQUIRED_PACKAGES += $(MYSQL_LIBRARY_PKG)
 REQUIRED_PACKAGES += $(PG_LIBRARY_PKG)
 REQUIRED_PACKAGES += SUNWcs
 REQUIRED_PACKAGES += compress/bzip2
diff --git a/components/web/php/php-8_2/files/first_mysqlnd.ini b/components/web/php/php-8_2/files/first_mysqlnd.ini
new file mode 100644
index 0000000..9590fb0
--- /dev/null
+++ b/components/web/php/php-8_2/files/first_mysqlnd.ini
@@ -0,0 +1,2 @@
+[mysqlnd]
+extension=mysqlnd.so
diff --git a/components/web/php/php-8_2/files/mysqli.ini b/components/web/php/php-8_2/files/mysqli.ini
new file mode 100644
index 0000000..b465ca7
--- /dev/null
+++ b/components/web/php/php-8_2/files/mysqli.ini
@@ -0,0 +1,2 @@
+[mysqli]
+extension=mysqli.so
diff --git a/components/web/php/php-8_2/php82-ext-mysql.p5m b/components/web/php/php-8_2/php82-ext-mysql.p5m
index a928f5e..d89581c 100644
--- a/components/web/php/php-8_2/php82-ext-mysql.p5m
+++ b/components/web/php/php-8_2/php82-ext-mysql.p5m
@@ -29,7 +29,11 @@
 
 depend type=require fmri=pkg:/$(COMPONENT_FMRI)/php-common
 
+# has to be loaded before mysqli and pdo_mysql
+file files/first_mysqlnd.ini path=etc/php/8.2/conf.d/first_mysqlnd.ini preserve=true mode=0644
+
 file files/pdo_mysql.ini path=etc/php/8.2/conf.d/pdo_mysql.ini preserve=true mode=0644
+file files/mysqli.ini path=etc/php/8.2/conf.d/mysqli.ini preserve=true mode=0644
 
 file path=usr/php/8.2/include/php/ext/mysqlnd/config-win.h
 file path=usr/php/8.2/include/php/ext/mysqlnd/mysql_float_to_double.h
@@ -58,6 +62,6 @@
 file path=usr/php/8.2/include/php/ext/mysqlnd/mysqlnd_vio.h
 file path=usr/php/8.2/include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
 file path=usr/php/8.2/include/php/ext/mysqlnd/php_mysqlnd.h
-#file path=usr/php/8.2/extensions/mysqli.so
+file path=usr/php/8.2/extensions/mysqli.so
 file path=usr/php/8.2/extensions/pdo_mysql.so
 file path=usr/php/8.2/extensions/mysqlnd.so
diff --git a/components/web/php/php-8_2/pkg5 b/components/web/php/php-8_2/pkg5
index 5fdb506..a431a16 100644
--- a/components/web/php/php-8_2/pkg5
+++ b/components/web/php/php-8_2/pkg5
@@ -2,8 +2,6 @@
     "dependencies": [
         "SUNWcs",
         "compress/bzip2",
-        "database/mariadb-106/client",
-        "database/mariadb-106/library",
         "database/postgres-16/developer",
         "database/postgres-16/library",
         "database/sqlite-3",

--
Gitblit v1.9.3