mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Andreas Helmcke <ahelmcke@ela-soft.com>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH 1/2] php: reanimate PHP as PHP8
Date: Mon, 30 May 2022 18:55:01 +0200	[thread overview]
Message-ID: <e9d6e898-e23f-00fe-298d-ed6277fb98bf@ela-soft.com> (raw)

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 <jbe@pengutronix.de>
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Andreas Helmcke <ahelmcke@ela-soft.com>
---
Changes to original patch:
  - removed DEBUG Option
  - added modules session and filter
  - added license information

  rules/php8.in   |  75 +++++++++++++++++++++++++++++
  rules/php8.make | 122 ++++++++++++++++++++++++++++++++++++++++++++++++
  2 files changed, 197 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..839d5ffdd
--- /dev/null
+++ b/rules/php8.make
@@ -0,0 +1,122 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2006-2008 by Robert Schwebel
+#               2009, 2012 by Marc Kleine-Budde <mkl@pengutronix.de>
+#               2015 by Bruno Thomsen <bth@kamstrup.com>
+#               2021 by Juergen Borleis <jbe@pengutronix.de>
+#
+# 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
+# ----------------------------------------------------------------------------
+
+PHP8_CONF_ENV := \
+       $(CROSS_ENV) \
+       ac_cv_prog_cc_cross=yes \
+       ac_cv_c_bigendian_php=$(call ptx/yesno, PTXCONF_ENDIAN_BIG)
+
+#
+# autoconf
+#
+PHP8_AUTOCONF := \
+       $(CROSS_AUTOCONF_USR) \
+       --with-config-file-path=/etc/php8 \
+       --without-iconv \
+       --disable-phpdbg \
+       --with-libdir=/usr/$(CROSS_LIB_DIR) \
+       --disable-opcache \
+       --disable-zend-signals
+
+# ----------------------------------------------------------------------------
+# Network options
+# ----------------------------------------------------------------------------
+
+ifndef PTXCONF_GLOBAL_IPV6
+PHP8_AUTOCONF += --disable-ipv6
+endif
+
+# ----------------------------------------------------------------------------
+# One of the "Server Application Programming Interfaces"
+# ----------------------------------------------------------------------------
+
+ifndef PTXCONF_PHP8_SAPI_CGI
+PHP8_AUTOCONF += \
+       --disable-cgi
+endif
+
+# ----------------------------------------------------------------------------
+# Generic configurations
+# ----------------------------------------------------------------------------
+
+ifndef PTXCONF_PHP8_SAPI_CLI
+PHP8_AUTOCONF += --disable-cli
+endif
+
+# ----------------------------------------------------------------------------
+# Extensions
+# ----------------------------------------------------------------------------
+
+# Please extend on demand...
+PHP8_AUTOCONF += --disable-all \
+       --$(call ptx/endis, PTXCONF_PHP8_SESSION)-session \
+       --$(call ptx/endis, PTXCONF_PHP8_FILTER)-filter
+
+# ----------------------------------------------------------------------------
+# 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 <r.schwebel@pengutronix.de>")
+       @$(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	other threads:[~2022-05-30 16:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-30 16:55 Andreas Helmcke [this message]
2022-06-03  7:07 ` Michael Olbrich
2022-06-03 15:12   ` [ptxdist] [PATCH v2 " Andreas Helmcke
2022-06-09 18:00     ` Michael Olbrich
2022-06-10  6:19     ` Michael Olbrich
2022-06-10  9:42       ` Andreas Helmcke
2022-06-13 19:25       ` [ptxdist] [PATCH v3 " Andreas Helmcke
2022-06-20  6:19         ` [ptxdist] [APPLIED] " Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e9d6e898-e23f-00fe-298d-ed6277fb98bf@ela-soft.com \
    --to=ahelmcke@ela-soft.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox