PHP5 is gone with commit
 f356f581e17a9474bdc01dbe3907f96558101609   "php5: remove old package"

Let's try now with PHP8 instead and a minimal feature set due to limited
test options. The remaining features can be extended on demand.

Co-authored-by: Juergen Borleis <[email protected]>
Signed-off-by: Juergen Borleis <[email protected]>
Signed-off-by: Andreas Helmcke <[email protected]>
---
Patch changes:

v3: changes suggested by Michael Olbrich
 - install default php8.ini
 - explicitly set all configure options
 - removed PHP5 leftovers
   
v2:
 - format: correct use of tabs for indention

 rules/php8.in   |  75 +++++++++++++++
 rules/php8.make | 244 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 319 insertions(+)
 create mode 100644 rules/php8.in
 create mode 100644 rules/php8.make

diff --git a/rules/php8.in b/rules/php8.in
new file mode 100644
index 000000000..2ed2ea7fd
--- /dev/null
+++ b/rules/php8.in
@@ -0,0 +1,75 @@
+## SECTION=scripting_languages
+# php6 configuration
+
+menuconfig PHP8
+       tristate
+       prompt "php8                          "
+       select GLIBC_M
+       help
+         PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used
+         general-purpose scripting language that is especially suited for web
+         development and can be embedded into HTML.
+
+if PHP8
+
+config PHP8_INI
+       bool
+       prompt "install /etc/php8/php.ini"
+       default y
+       help
+         Installs (if present) the
+         "./projectroot/etc/php8/php.ini" file from your
+         workspace, otherwise a generic one from the ptxdist
+         directory.
+
+# ----------------------------------------------------------------------------
+# SAPI Modules (add more on demand)
+# ----------------------------------------------------------------------------
+
+choice
+       prompt "SAPI Module"
+       default PHP8_SAPI_NONE
+       help
+         Select one of the SAP (Server Application Programming) Interfaces to
+         be supported at run-time. It is possible to select no SAP interface
+         here, then your PHP supports a command line interface (CLI) only.
+
+config PHP8_SAPI_CGI
+       bool
+       prompt "cgi"
+       help
+         Build standard CGI version of PHP.
+
+config PHP8_SAPI_NONE
+       bool
+       prompt "none"
+       select PHP8_SAPI_CLI
+       help
+         This forces a command line interface variant only.
+
+endchoice
+
+config PHP8_SESSION
+       bool
+       prompt "session support"
+       default y
+       help
+         A session is a way to store information to be used across multiple
+         pages. The information is stored locally only.
+
+config PHP8_FILTER
+       bool
+       prompt "filter support"
+       default y
+       help
+         This extension filters data by either validating or sanitizing it. 
+         This is especially useful when the data source contains unknown (or 
foreign) data, like user supplied input. 
+         For example, this data may come from an HTML form. 
+
+config PHP8_SAPI_CLI
+       bool
+       prompt "cli"
+       help
+         Build command line interface (CLI) version of PHP
+
+endif
diff --git a/rules/php8.make b/rules/php8.make
new file mode 100644
index 000000000..c65d0d192
--- /dev/null
+++ b/rules/php8.make
@@ -0,0 +1,244 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2006-2008 by Robert Schwebel
+#               2009, 2012 by Marc Kleine-Budde <[email protected]>
+#               2015 by Bruno Thomsen <[email protected]>
+#               2021 by Juergen Borleis <[email protected]>
+#               2022 by Andreas Helmcke <[email protected]>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PHP8) += php8
+
+#
+# Paths and names
+#
+PHP8_VERSION   := 8.1.6
+PHP8_MD5       := 943eae7f07c2056ce87478e7d6c0cbbb
+PHP8           := php-$(PHP8_VERSION)
+PHP8_SUFFIX    := tar.xz
+PHP8_SOURCE    := $(SRCDIR)/$(PHP8).$(PHP8_SUFFIX)
+PHP8_DIR       := $(BUILDDIR)/$(PHP8)
+PHP8_LICENSE   := PHP-3.01
+PHP8_LICENSE_FILES := file://LICENSE;md5=99532e0f6620bc9bca34f12fadaee33c
+
+#
+# Note: older releases are moved to the 'museum', but the 'de.php.net'
+# response with a HTML file instead of the archive. So, try the 'museum'
+# URL first
+#
+PHP8_URL := \
+       http://museum.php.net/php8/$(PHP8).$(PHP8_SUFFIX) \
+       http://de.php.net/distributions/$(PHP8).$(PHP8_SUFFIX)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# autoconf
+#
+PHP8_AUTOCONF := \
+       $(CROSS_AUTOCONF_USR) \
+       --disable-rpath \
+       --disable-re2c-cgoto \
+       --disable-gcc-global-regs \
+       --without-apxs2 \
+       --$(call ptx/endis, PTXCONF_PHP8_SAPI_CLI)-cli \
+       --disable-embed \
+       --disable-fpm \
+       --without-fpm-user \
+       --without-fpm-group \
+       --without-fpm-systemd \
+       --without-fpm-acl \
+       --without-fpm-apparmor \
+       --disable-fuzzer \
+       --disable-fuzzer-msan \
+       --disable-litespeed \
+       --disable-phpdbg \
+       --disable-phpdbg-debug \
+       --disable-phpdbg-readline \
+       --$(call ptx/endis, PTXCONF_PHP8_SAPI_CGI)-cgi \
+       --without-valgrind \
+       --disable-gcov \
+       --disable-debug \
+       --disable-debug-assertions \
+       --disable-zts \
+       --disable-rtld-now \
+       --without-layout \
+       --with-config-file-path=/etc/php8 \
+       --without-config-file-scan-dir \
+       --disable-sigchild \
+       --disable-libgcc \
+       --disable-short-tags \
+       --disable-dmalloc \
+       --$(call ptx/endis, PTXCONF_GLOBAL_IPV6)-ipv6 \
+       --disable-dtrace \
+       --disable-fd-setsize \
+       --disable-werror \
+       --disable-memory-sanitizer \
+       --disable-address-sanitizer \
+       --disable-undefined-sanitizer \
+       --disable-all \
+       --without-libxml \
+       --without-openssl \
+       --without-kerberos \
+       --without-system-ciphers \
+       --without-external-pcre \
+       --without-pcre-jit \
+       --without-sqlite3 \
+       --without-zlib \
+       --disable-bcmath \
+       --without-bz2 \
+       --disable-calendar \
+       --disable-ctype \
+       --without-curl \
+       --disable-dba \
+       --without-qdbm \
+       --without-gdbm \
+       --without-ndbm \
+       --without-db4 \
+       --without-db3 \
+       --without-db2 \
+       --without-db1 \
+       --without-dbm \
+       --without-tcadb \
+       --without-lmdb \
+       --without-cdb \
+       --disable-inifile \
+       --disable-flatfile \
+       --disable-dom \
+       --without-enchant \
+       --disable-exif \
+       --without-ffi \
+       --disable-fileinfo \
+       --$(call ptx/endis, PTXCONF_PHP8_FILTER)-filter \
+       --disable-ftp \
+       --without-openssl-dir \
+       --disable-gd \
+       --without-external-gd \
+       --without-avif \
+       --without-webp \
+       --without-jpeg \
+       --without-xpm \
+       --without-freetype \
+       --disable-gd-jis-conv \
+       --without-gettext \
+       --without-gmp \
+       --without-mhash \
+       --without-iconv \
+       --without-imap \
+       --without-imap-ssl \
+       --disable-intl \
+       --without-ldap \
+       --without-ldap-sasl \
+       --disable-mbstring \
+       --disable-mbregex \
+       --without-mysqli \
+       --without-mysql-sock \
+       --without-oci8 \
+       --without-odbcver \
+       --without-adabas \
+       --without-sapdb \
+       --without-solid \
+       --without-ibm-db2 \
+       --without-empress \
+       --without-empress-bcs \
+       --without-custom-odbc \
+       --without-iodbc \
+       --without-esoob \
+       --without-unixODBC \
+       --without-dbmaker \
+       --disable-opcache \
+       --disable-huge-code-pages \
+       --disable-opcache-jit \
+       --disable-pcntl \
+       --disable-pdo \
+       --without-pdo-dblib \
+       --without-pdo-firebird \
+       --without-pdo-mysql \
+       --without-zlib-dir \
+       --without-pdo-oci \
+       --without-pdo-odbc \
+       --without-pdo-pgsql \
+       --without-pdo-sqlite \
+       --without-pgsql \
+       --disable-phar \
+       --disable-posix \
+       --without-pspell \
+       --without-libedit \
+       --without-readline \
+       --$(call ptx/endis, PTXCONF_PHP8_SESSION)-session \
+       --without-mm \
+       --disable-shmop \
+       --disable-simplexml \
+       --without-snmp \
+       --disable-soap \
+       --disable-sockets \
+       --without-sodium \
+       --without-external-libcrypt \
+       --without-password-argon2 \
+       --disable-sysvmsg \
+       --disable-sysvsem \
+       --disable-sysvshm \
+       --without-tidy \
+       --disable-tokenizer \
+       --disable-xml \
+       --without-expat \
+       --disable-xmlreader \
+       --disable-xmlwriter \
+       --without-xsl \
+       --disable-zend-test \
+       --without-zip \
+       --disable-mysqlnd \
+       --disable-mysqlnd-compression-support \
+       --without-pear \
+       --disable-fiber-asm \
+       --disable-zend-signals
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/php8.install:
+       @$(call targetinfo)
+       @$(call world/install, PHP8)
+       @install -vD -m644 $(PHP8_DIR)/php.ini-production \
+               $(PHP8_PKGDIR)/etc/php8/php.ini
+       @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/php8.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, php8)
+       @$(call install_fixup, php8,PRIORITY,optional)
+       @$(call install_fixup, php8,SECTION,base)
+       @$(call install_fixup, php8,AUTHOR,"Robert Schwebel 
<[email protected]>")
+       @$(call install_fixup, php8,DESCRIPTION,missing)
+
+ifdef PTXCONF_PHP8_SAPI_CLI
+       @$(call install_copy, php8, 0, 0, 0755, -, /usr/bin/php)
+endif
+
+ifdef PTXCONF_PHP8_SAPI_CGI
+       @$(call install_copy, php8, 0, 0, 0755, -, /usr/bin/php-cgi)
+endif
+
+ifdef PTXCONF_PHP8_INI
+       @$(call install_alternative, php8, 0, 0, 0644, /etc/php8/php.ini)
+endif
+
+       @$(call install_finish, php8)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.34.1



Reply via email to