2023-04-24 20:47:22 +03:00
|
|
|
distributable:
|
|
|
|
url: https://www.php.net/distributions/php-{{ version }}.tar.gz
|
|
|
|
strip-components: 1
|
|
|
|
|
|
|
|
versions:
|
2023-05-12 09:39:45 +03:00
|
|
|
github: php/php-src/tags
|
|
|
|
strip: /^php-/
|
2023-04-24 20:47:22 +03:00
|
|
|
|
|
|
|
dependencies:
|
2023-11-24 00:32:34 +03:00
|
|
|
gnu.org/bison: ^3
|
|
|
|
re2c.org: ^3
|
|
|
|
apache.org/apr: ^1
|
|
|
|
apache.org/apr-util: ^1
|
|
|
|
bcrypt.sourceforge.net: ^1
|
|
|
|
gnu.org/autoconf: ^2
|
|
|
|
curl.se: ^8
|
|
|
|
gnu.org/gettext: ^0
|
|
|
|
gnu.org/gmp: ^6
|
2023-09-15 19:22:42 +03:00
|
|
|
libsodium.org: '<1.0.19' # dylib version changed from 23 > 26
|
2023-10-26 07:36:24 +03:00
|
|
|
libzip.org: ~1.9
|
2023-11-24 00:32:34 +03:00
|
|
|
github.com/kkos/oniguruma: ^6
|
2023-04-24 20:47:22 +03:00
|
|
|
openssl.org: '*'
|
|
|
|
pcre.org/v2: '>=10.30'
|
2023-11-24 00:32:34 +03:00
|
|
|
sqlite.org: ^3
|
2023-06-16 21:09:48 +03:00
|
|
|
unicode.org: ^71
|
2023-11-24 00:32:34 +03:00
|
|
|
gnu.org/libiconv: ^1
|
|
|
|
kerberos.org: ^1
|
|
|
|
gnome.org/libxml2: '>=2.9.0<2.12'
|
|
|
|
thrysoee.dk/editline: ^3
|
2023-04-24 20:47:22 +03:00
|
|
|
sourceware.org/libffi: '>=3.0.11'
|
|
|
|
gnome.org/libxslt: '>=1.1.0'
|
2024-06-04 19:47:18 +03:00
|
|
|
gnu.org/gcc: 14
|
2023-11-24 00:32:34 +03:00
|
|
|
libpng.org: ^1
|
|
|
|
google.com/webp: ^1
|
|
|
|
ijg.org: ^9
|
2023-11-01 02:11:48 +03:00
|
|
|
gnu.org/sed: ^4 # phpize requires this
|
2023-04-24 20:47:22 +03:00
|
|
|
darwin:
|
2023-11-24 00:32:34 +03:00
|
|
|
sourceware.org/bzip2: ^1
|
|
|
|
zlib.net: ^1
|
2023-04-24 20:47:22 +03:00
|
|
|
|
|
|
|
build:
|
|
|
|
dependencies:
|
|
|
|
freetype.org: '*'
|
|
|
|
darwin:
|
|
|
|
tukaani.org/xz: '*'
|
|
|
|
|
2023-11-01 02:11:48 +03:00
|
|
|
script:
|
2023-11-24 00:32:34 +03:00
|
|
|
# this is annoying. install-pear-nozlib.phar relies on finding /usr/bin/cpp.
|
|
|
|
# and editing the archive messes with the offsets
|
2023-11-24 02:31:50 +03:00
|
|
|
- run: |
|
|
|
|
if command -v sudo >/dev/null; then
|
|
|
|
SUDO=sudo
|
|
|
|
fi
|
|
|
|
if: linux
|
2023-11-24 00:32:34 +03:00
|
|
|
- run: |
|
|
|
|
if [ ! -f /usr/bin/cpp ]; then
|
2023-11-24 02:31:50 +03:00
|
|
|
$SUDO ln -s "{{deps.gnu.org/gcc.prefix}}/bin/cpp" /usr/bin/cpp
|
2023-11-24 00:32:34 +03:00
|
|
|
FAKE_CPP=1
|
|
|
|
fi
|
|
|
|
if: linux
|
2023-11-01 02:11:48 +03:00
|
|
|
- ./configure $ARGS
|
2023-12-22 20:01:45 +03:00
|
|
|
- make install
|
2023-11-24 00:32:34 +03:00
|
|
|
|
|
|
|
# clean up our fake /usr/bin/cpp
|
|
|
|
- run: |
|
|
|
|
if [ -n "$FAKE_CPP" ]; then
|
2023-11-24 02:31:50 +03:00
|
|
|
$SUDO rm /usr/bin/cpp
|
2023-11-24 00:32:34 +03:00
|
|
|
fi
|
|
|
|
if: linux
|
|
|
|
|
2023-11-01 02:11:48 +03:00
|
|
|
- run: |
|
|
|
|
sed -i.bak \
|
|
|
|
-e's|^prefix=.*|prefix="$(dirname "$(dirname "$0")")"|g' \
|
|
|
|
-e's|^datarootdir=.*|datarootdir="${prefix}/share"|g' \
|
|
|
|
-e's|^ini_path=.*|ini_path="${prefix}/etc"|g' \
|
|
|
|
-e's|^extension_dir='\''{{prefix}}\(.*\)'\''|extension_dir="${prefix}\1"|g' \
|
|
|
|
-e's|^SED=.*|SED="$(dirname "$(dirname "$(dirname "$(dirname "$0")")")")/gnu.org/sed/v4/bin/sed"|g' \
|
|
|
|
-e's|#{{prefix}}#|#$(dirname "$(dirname "$0")")#|g' \
|
|
|
|
-e's|{{pkgx.prefix}}|${prefix}/../..|g' \
|
|
|
|
php-config \
|
|
|
|
phpize
|
|
|
|
rm php-config.bak phpize.bak
|
2023-11-03 20:12:37 +03:00
|
|
|
|
|
|
|
fix-shebangs.ts "{{prefix}}/bin/phar"
|
|
|
|
|
|
|
|
sed -i.bak \
|
|
|
|
-e's|{{prefix}}|$(dirname "$(dirname "$0")")|g' \
|
|
|
|
pear peardev pecl
|
|
|
|
rm pear.bak peardev.bak pecl.bak
|
2023-11-01 02:11:48 +03:00
|
|
|
working-directory: ${{prefix}}/bin
|
2023-04-24 20:47:22 +03:00
|
|
|
env:
|
|
|
|
ARGS:
|
|
|
|
- --prefix={{prefix}}
|
|
|
|
- --enable-bcmath
|
|
|
|
- --enable-calendar
|
|
|
|
- --enable-dba
|
|
|
|
- --enable-exif
|
|
|
|
- --enable-ftp
|
|
|
|
- --enable-fpm
|
|
|
|
- --enable-gd
|
|
|
|
- --enable-intl
|
|
|
|
- --enable-mbregex
|
|
|
|
- --enable-mbstring
|
|
|
|
- --enable-mysqlnd
|
|
|
|
- --enable-pcntl
|
|
|
|
- --enable-phpdbg
|
|
|
|
- --enable-phpdbg-readline
|
|
|
|
- --enable-shmop
|
|
|
|
- --enable-soap
|
|
|
|
- --enable-sockets
|
|
|
|
- --enable-sysvmsg
|
|
|
|
- --enable-sysvsem
|
|
|
|
- --enable-sysvshm
|
2023-11-01 02:11:48 +03:00
|
|
|
- --with-pear
|
2023-04-24 20:47:22 +03:00
|
|
|
- --with-curl
|
|
|
|
- --with-external-pcre
|
|
|
|
- --with-ffi
|
|
|
|
- --with-gettext={{deps.gnu.org/gettext.prefix}}
|
|
|
|
- --with-gmp={{deps.gnu.org/gmp.prefix}}
|
|
|
|
- --with-iconv={{deps.gnu.org/libiconv.prefix}}
|
|
|
|
- --with-kerberos
|
|
|
|
- --with-layout=GNU
|
|
|
|
- --with-libxml
|
|
|
|
- --with-libedit
|
|
|
|
- --with-openssl
|
|
|
|
- --with-pdo-sqlite
|
|
|
|
- --with-pic
|
|
|
|
- --with-sodium
|
|
|
|
- --with-sqlite3
|
|
|
|
- --with-xsl
|
|
|
|
- --with-zlib
|
|
|
|
- --disable-dtrace
|
|
|
|
- --without-ldap-sasl
|
|
|
|
- --without-ndbm
|
|
|
|
- --without-gdbm
|
2023-10-26 07:36:24 +03:00
|
|
|
- CC=gcc
|
|
|
|
linux:
|
|
|
|
LDFLAGS: -Wl,-rpath,{{pkgx.prefix}}
|
2023-04-24 20:47:22 +03:00
|
|
|
darwin:
|
2023-10-26 07:36:24 +03:00
|
|
|
# ... we need to link with headerpad...
|
|
|
|
LDFLAGS: -Wl,-rpath,{{pkgx.prefix}},-headerpad_max_install_names
|
2023-04-24 20:47:22 +03:00
|
|
|
ARGS:
|
2023-10-26 07:36:24 +03:00
|
|
|
# FIXME: we'd like zip support for linux, but libzip's zip.h is using
|
|
|
|
# clang _Nullable and gcc doesn't like it.
|
|
|
|
- --with-zip
|
2023-04-24 20:47:22 +03:00
|
|
|
- --enable-dtrace
|
|
|
|
- --with-ldap-sasl
|
|
|
|
|
|
|
|
provides:
|
2023-11-01 02:11:48 +03:00
|
|
|
- bin/pear
|
|
|
|
- bin/pecl
|
2023-04-24 20:47:22 +03:00
|
|
|
- bin/phar
|
|
|
|
- bin/php
|
|
|
|
- bin/php-cgi
|
|
|
|
- bin/php-config
|
|
|
|
- bin/phpdbg
|
|
|
|
- bin/phpize
|
|
|
|
|
|
|
|
test: |
|
|
|
|
php --version | grep {{ version }}
|
|
|
|
php -r 'echo "Hello World!\n";'
|