Skip to content

Commit

Permalink
php-frankenphp-8.3: init
Browse files Browse the repository at this point in the history
  • Loading branch information
shyim committed Mar 29, 2024
1 parent 7c52638 commit 9e203ab
Showing 1 changed file with 330 additions and 0 deletions.
330 changes: 330 additions & 0 deletions php-frankenphp-8.3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,330 @@
package:
name: php-frankenphp-8.3
version: 8.3.4
epoch: 0
description: "the PHP programming language"
copyright:
- license: PHP-3.01
dependencies:
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#provides:
# - php=${{package.full-version}}
runtime:
- libxml2
- ${{package.name}}-config

environment:
contents:
packages:
- autoconf
- bison
- build-base
- busybox
- bzip2-dev
- ca-certificates-bundle
- curl-dev
- file
- freetds
- freetds-dev
- freetype-dev
- gmp-dev
- icu-dev
- libavif-dev
- libjpeg-turbo-dev
- libpng-dev
- libsodium-dev
- libtool
- libwebp-dev
- libx11-dev
- libxml2-dev
- libxpm-dev
- libxslt-dev
- libzip
- oniguruma-dev
- openldap-dev
- openssl-dev
- postgresql-16-dev
- re2c
- readline-dev
- sqlite-dev
- unixodbc-dev
- wget

pipeline:
- uses: git-checkout
with:
repository: https://github.com/php/php-src
tag: php-${{package.version}}
expected-commit: 5cba2a3dc59ef2a0e432b05ab27f2b3ab4da48d0

- name: Configure
runs: |
./buildconf --force
EXTENSION_DIR=/usr/lib/php/modules ./configure \
--enable-embed \
--enable-zts \
--disable-zend-signals \
--enable-zend-max-execution-timers \
--prefix=/usr \
--libdir=/usr/lib/php \
--datadir=/usr/share/php \
--sysconfdir=/etc/php \
--localstatedir=/var \
--with-layout=GNU \
--with-pic \
--with-config-file-path=/etc/php \
--with-config-file-scan-dir=/etc/php/conf.d \
--enable-cli \
--enable-ctype=shared \
--enable-bcmath=shared \
--with-curl=shared \
--enable-dom=shared \
--enable-fileinfo=shared \
--with-iconv=shared \
--with-openssl=shared \
--with-readline \
--enable-ftp=shared \
--with-sodium=shared \
--enable-fpm \
--with-pear \
--enable-gd=shared \
--with-avif \
--with-freetype \
--with-jpeg \
--with-webp \
--with-xpm \
--disable-gd-jis-conv \
--with-libxml \
--enable-phar=shared \
--enable-mbstring=shared \
--with-mysqli=shared \
--with-mysql-sock=/run/mysqld/mysqld.sock \
--enable-mysqlnd=shared \
--enable-pdo=shared \
--with-pdo-mysql=shared,mysqlnd \
--with-pdo-sqlite=shared \
--with-pdo-dblib=shared \
--with-pdo-pgsql=shared \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-unixODBC=shared,/usr \
--enable-pcntl=shared \
--enable-sockets=shared \
--with-bz2=shared \
--enable-calendar=shared \
--enable-exif=shared \
--with-gettext=shared \
--with-gmp=shared \
--enable-intl=shared \
--with-ldap=shared \
--enable-opcache=shared \
--enable-soap=shared \
--with-xsl=shared \
--with-zlib \
--enable-xml=shared \
--enable-simplexml=shared \
--enable-xml=shared \
--enable-xmlreader=shared \
--enable-xmlwriter=shared \
--enable-posix=shared \
--with-pgsql=shared \
--with-zip=shared
- uses: autoconf/make

- name: Make Install
runs: |
INSTALL_ROOT=${{targets.destdir}} DESTDIR=${{targets.destdir}} make install
mkdir -p "${{targets.destdir}}/bin" && ln -s /usr/bin/php "${{targets.destdir}}/bin/php"
- uses: strip

data:
- name: extensions
items:
bz2: Bzip2
curl: cURL
gd: GD imaging
gmp: GNU GMP support
ldap: LDAP
mysqlnd: MySQLnd
openssl: OpenSSL
pdo_mysql: MySQL driver for PDO
pdo_sqlite: SQLite 3.x driver for PDO
pdo_dblib: PDO driver for Sybase / MS SQL databases
pdo_pgsql: PDO driver for pgsql
pdo_odbc: PDO driver for ODBC
soap: SOAP
sodium: Sodium
calendar: Calendar
exif: EXIF
gettext: GetText
intl: Internationalization
mbstring: Multibyte String Functions
opcache: Opcache
pcntl: pcntl
pdo: PHP Data Objects
phar: PHP Archive
sockets: Sockets
xsl: XSL
bcmath: BC Math
ctype: ctype
iconv: Iconv
dom: DOM
pgsql: PostgreSQL
posix: Posix
simplexml: SimpleXML
mysqli: MySQLi
xml: XML
xmlreader: XMLReader
xmlwriter: XMLWriter
fileinfo: fileinfo
zip: Zip
odbc: UnixODBC
ftp: FTP

subpackages:
- name: ${{package.name}}-config
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
# dependencies:
# provides:
# - php-config=${{package.full-version}}
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}/etc/php/conf.d"
mv $HOME/php.ini-production ${{targets.subpkgdir}}/etc/php/php.ini
- range: extensions
name: "${{package.name}}-${{range.key}}"
description: "The ${{range.value}} extension"
dependencies:
runtime:
- "${{package.name}}-${{range.key}}-config"
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
# provides:
# - php-${{range.key}}=${{package.full-version}}
pipeline:
- runs: |
export EXTENSIONS_DIR=usr/lib/php/modules
mkdir -p "${{targets.subpkgdir}}"/$EXTENSIONS_DIR
mv "${{targets.destdir}}/$EXTENSIONS_DIR/${{range.key}}.so" \
"${{targets.subpkgdir}}/$EXTENSIONS_DIR/${{range.key}}.so"
- range: extensions
name: "${{package.name}}-${{range.key}}-config"
description: "The ${{range.value}} extension configuration"
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#dependencies:
# provides:
# - php-${{range.key}}-config=${{package.full-version}}
pipeline:
- runs: |
export CONF_DIR="${{targets.subpkgdir}}/etc/php/conf.d"
mkdir -p $CONF_DIR
prefix=
[ "${{range.key}}" != "opcache" ] || prefix="zend_"
echo "${prefix}extension=${{range.key}}.so" > $CONF_DIR/"${{range.key}}.ini"
- name: ${{package.name}}-dev
description: PHP 8.3 development headers
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#dependencies:
# provides:
# - php-dev=${{package.full-version}}
pipeline:
- uses: split/dev
- runs: |
mkdir -p ${{targets.subpkgdir}}/usr/bin
mv ${{targets.destdir}}/usr/bin/phpize ${{targets.subpkgdir}}/usr/bin/
mkdir -p ${{targets.subpkgdir}}/usr/lib/php
mv ${{targets.destdir}}/usr/lib/php/* ${{targets.subpkgdir}}/usr/lib/php
- name: ${{package.name}}-doc
description: PHP 8.3 documentation
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#dependencies:
# provides:
# - php-doc=${{package.full-version}}
pipeline:
- uses: split/manpages

- name: "${{package.name}}-cgi"
description: PHP 8.3 CGI
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#dependencies:
# provides:
# - php-cgi=${{package.full-version}}
pipeline:
- runs: |
mkdir -p ${{targets.subpkgdir}}/usr/bin
mv ${{targets.destdir}}/usr/bin/php-cgi ${{targets.subpkgdir}}/usr/bin/
- name: "${{package.name}}-dbg"
description: Interactive PHP Debugger
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
#dependencies:
# provides:
# - php-dbg=${{package.full-version}}
pipeline:
- runs: |
mkdir -p ${{targets.subpkgdir}}/usr/bin
mv ${{targets.destdir}}/usr/bin/phpdbg ${{targets.subpkgdir}}/usr/bin/
- name: "${{package.name}}-fpm"
description: PHP 8.3 FastCGI Process Manager (FPM)
dependencies:
runtime:
- "${{package.name}}-fpm-config"
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
# provides:
# - php-fpm=${{package.full-version}}
pipeline:
- runs: |
mkdir -p ${{targets.subpkgdir}}/usr/sbin
mv ${{targets.destdir}}/usr/sbin/php-fpm ${{targets.subpkgdir}}/usr/sbin/
- name: ${{package.name}}-fpm-config
description: PHP 8.3 FastCGI Process Manager (FPM) configuration
# DO NOT USE PROVIDES UNTIL A RELEASE HAS BEEN MADE (not a release candidate)
# dependencies:
# provides:
# - php-fpm-config=${{package.full-version}}
pipeline:
- runs: |
mkdir -p ${{targets.subpkgdir}}/etc/php/php-fpm.d
mv ${{targets.destdir}}/etc/php/php-fpm.conf.default ${{targets.subpkgdir}}/etc/php/php-fpm.conf
mv ${{targets.destdir}}/etc/php/php-fpm.d/www.conf.default ${{targets.subpkgdir}}/etc/php/php-fpm.d/www.conf \
&& { \
echo '[global]'; \
echo 'error_log = /proc/self/fd/2'; \
echo 'daemonize = no'; \
echo; \
echo '[www]'; \
echo 'listen = [::]:9000'; \
echo 'access.log = /proc/self/fd/2'; \
echo; \
echo 'clear_env = no'; \
echo; \
echo 'catch_workers_output = yes'; \
echo; \
echo 'decorate_workers_output = no'; \
} | tee ${{targets.subpkgdir}}/etc/php/php-fpm.d/zz-apko.conf
update:
enabled: true
github:
identifier: php/php-src
strip-prefix: php-
tag-filter: php-8.3
use-tag: true

test:
pipeline:
- runs: |
php --version
- runs: |
cat <<'EOF' >> /tmp/hello.php
<?php
echo 'Hello, Wolfi!';
EOF
php /tmp/hello.php

0 comments on commit 9e203ab

Please sign in to comment.