pantry/projects/php.net/package.yml

144 lines
3.7 KiB
YAML

distributable:
url: https://www.php.net/distributions/php-{{ version }}.tar.gz
strip-components: 1
versions:
github: php/php-src/tags
strip: /^php-/
dependencies:
gnu.org/bison: '*'
re2c.org: '*'
apache.org/apr: '*'
apache.org/apr-util: '*'
bcrypt.sourceforge.net: '*'
gnu.org/autoconf: '*'
curl.se: '*'
gnu.org/gettext: '*'
gnu.org/gmp: '*'
libsodium.org: '<1.0.19' # dylib version changed from 23 > 26
libzip.org: ~1.9
github.com/kkos/oniguruma: '*'
openssl.org: '*'
pcre.org/v2: '>=10.30'
sqlite.org: '*'
unicode.org: ^71
gnu.org/libiconv: '*'
kerberos.org: '*'
gnome.org/libxml2: '>=2.9.0'
thrysoee.dk/editline: '*'
sourceware.org/libffi: '>=3.0.11'
gnome.org/libxslt: '>=1.1.0'
gnu.org/gcc: <13
libpng.org: '*'
google.com/webp: '*'
ijg.org: '*'
gnu.org/sed: ^4 # phpize requires this
darwin:
sourceware.org/bzip2: '*'
zlib.net: '*'
build:
dependencies:
freedesktop.org/pkg-config: '*'
freetype.org: '*'
darwin:
tukaani.org/xz: '*'
linux:
gnu.org/make: '*'
script:
- ./configure $ARGS
- make --jobs {{ hw.concurrency }} install
- 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
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
working-directory: ${{prefix}}/bin
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
- --with-pear
- --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
- CC=gcc
linux:
LDFLAGS: -Wl,-rpath,{{pkgx.prefix}}
darwin:
# ... we need to link with headerpad...
LDFLAGS: -Wl,-rpath,{{pkgx.prefix}},-headerpad_max_install_names
ARGS:
# 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
- --enable-dtrace
- --with-ldap-sasl
provides:
- bin/pear
- bin/pecl
- 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";'