api
{
"merge_mode": "deep_merge",
"env": {
"global": "VERSION=8.1.30 ALIAS=8.1"
},
"jobs": {
"include": [
{
"dist": "jammy",
"env": [
"RELEASE=jammy"
],
"name": "jammy",
"php": "8.1",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "focal",
"env": [
"RELEASE=focal"
],
"name": "focal",
"php": "7.4",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "bionic",
"group": "stable",
"php": "7.4",
"env": [
"RELEASE=bionic"
],
"name": "bionic",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev re2c",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev re2c php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz",
"tar -xf ./re2c-3.1.tar.xz",
"./re2c-3.1/configure && make && sudo make install",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "xenial",
"group": "stable",
"env": [
"RELEASE=xenial"
],
"name": "xenial",
"php": "7.4",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get install -y libicu-dev re2c",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev re2c libonig-dev build-essential; fi",
"command -v expect || sudo apt-get install expect",
"wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz",
"tar -xf ./re2c-3.1.tar.xz",
"./re2c-3.1/configure && make && sudo make install",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
}
]
}
}
travis-ci/php-src-builder:.travis.yml@08212b9
language: php
jobs:
include:
- dist: jammy
env:
- RELEASE=jammy
name: jammy
php: "8.1"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- dist: focal
env:
- RELEASE=focal
name: focal
php: "7.4"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- dist: bionic
group: stable
php: "7.4"
env:
- RELEASE=bionic
name: bionic
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev re2c
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev re2c php-dev libonig-dev; fi
- sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include
- command -v expect || sudo apt-get install expect
# Install re2c required by PHP8.3 and above
- wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz
- tar -xf ./re2c-3.1.tar.xz
- ./re2c-3.1/configure && make && sudo make install
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- dist: xenial
group: stable
env:
- RELEASE=xenial
name: xenial
php: "7.4"
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get install -y libicu-dev re2c
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev re2c libonig-dev build-essential; fi
- command -v expect || sudo apt-get install expect
# Install re2c required by PHP8.3 and above
- wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz
- tar -xf ./re2c-3.1.tar.xz
- ./re2c-3.1/configure && make && sudo make install
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: ppc64le
dist: jammy
php: "8.2"
env:
- RELEASE=jammy
name: jammy-ppc64le
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: ppc64le
dist: focal
php: "7.4"
env:
- RELEASE=focal
name: focal-ppc64le
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: ppc64le
dist: bionic
php: "7.4"
env:
- RELEASE=bionic
name: bionic-ppc64le
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: ppc64le
dist: xenial
php: "7.4"
env:
- RELEASE=xenial
name: xenial-ppc64le
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get install -y libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev libonig-dev build-essential; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: s390x
dist: jammy
php: "8.2"
env:
- RELEASE=jammy
name: jammy-s390x
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- 'echo "--without-pcre-jit" >> $TRAVIS_BUILD_DIR/custom_configure_options'
- arch: s390x
dist: focal
php: "7.4"
env:
- RELEASE=focal
name: focal-s390x
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- 'echo "--without-pcre-jit" >> $TRAVIS_BUILD_DIR/custom_configure_options'
- arch: s390x
dist: bionic
php: "7.4"
env:
- RELEASE=bionic
name: bionic-s390x
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- 'echo "--without-pcre-jit" >> $TRAVIS_BUILD_DIR/custom_configure_options'
- arch: s390x
dist: xenial
php: "7.4"
env:
- RELEASE=xenial
name: xenial-s390x
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get install -y libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev libonig-dev build-essential; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- 'echo "--without-pcre-jit" >> $TRAVIS_BUILD_DIR/custom_configure_options'
- arch: arm64
dist: jammy
php: "8.2"
env:
- RELEASE=jammy
name: jammy-arm64
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: arm64
dist: focal
php: "7.4"
env:
- RELEASE=focal
name: focal-arm64
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: arm64
dist: bionic
php: "7.4"
env:
- RELEASE=bionic
name: bionic-arm64
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
- arch: arm64
dist: xenial
php: "7.4"
env:
- RELEASE=xenial
name: xenial-arm64
before_install:
- sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock
- sudo apt-get update
- sudo apt-get install -y libicu-dev
- if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev libonig-dev build-essential; fi
- |
if ! command -v phpenv; then
pushd $HOME
curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash
popd
export PHPENV_ROOT="/home/travis/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
export PATH="${PHPENV_ROOT}/bin:${PATH}"
eval "$(phpenv init -)"
fi
fi
env:
global:
- VERSION=master ALIAS=nightly
- ICU_RELEASE=74.2
- ICU_INSTALL_DIR=$HOME/.phpenv/versions/$VERSION
- PATH="$HOME/.phpenv/bin:$HOME/.php-build/bin:$PATH"
before_install:
- php -f test.php || true
install:
- if [[ ! -d $HOME/.php-build ]]; then git clone https://github.com/php-build/php-build.git $HOME/.php-build; fi
- ~/.php-build/install-dependencies.sh
- rm -rf $HOME/.phpenv
- git clone 'https://github.com/phpenv/phpenv.git' $HOME/.phpenv
- eval "$($HOME/.phpenv/bin/phpenv init -)"
- pushd $HOME/.php-build
- git reset --hard HEAD
- git checkout master
- git pull
- popd
- if [[ $RELEASE != precise ]]; then unset ICU_RELEASE; fi # disable ICU installation for Trusty; see https://github.com/travis-ci/travis-ci/issues/3616#issuecomment-286302387
- | # older distros don't ship a libjpeg.pc, add our own to pkg-config path
if ! pkg-config --exists libjpeg libsasl2; then
export PKG_CONFIG_PATH=$PWD:$PKG_CONFIG_PATH
fi
- ./bin/install-icu
- export PKG_CONFIG_PATH=$ICU_INSTALL_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
- touch custom_configure_options
- ./bin/install-libzip
- ./bin/install-libsodium
- sudo ./bin/install-password-argon2
- . ./bin/install-onig # sourced to export ONIG_LIBS
- MINOR_VERSION=`echo $VERSION | sed -E 's/^([0-9]+\.[0-9]+).*$/\1/'` # Rewrites 7.2, 7.2snapshot, 7.2.13 => '7.2'. Leaves 'master' as-is
- |
if [[ -f default_configure_options.$RELEASE-$MINOR_VERSION ]]; then
cp default_configure_options.$RELEASE-$MINOR_VERSION $HOME/.php-build/share/php-build/default_configure_options
else
cp default_configure_options.$RELEASE $HOME/.php-build/share/php-build/default_configure_options
fi
- cat custom_configure_options >> $HOME/.php-build/share/php-build/default_configure_options
- |
if [[ $(lsb_release -cs) = "trusty" || $(lsb_release -cs) = "xenial" || $(lsb_release -cs) = "bionic" ]]; then
if [[ $HOSTTYPE == "powerpc64le" ]]; then
sudo ln /usr/include/powerpc64le-linux-gnu/gmp.h /usr/include/gmp.h
sudo ln -s /usr/lib/powerpc64le-linux-gnu/libldap_r-2.4.so.2 /usr/lib/libldap_r.so
sudo ln -s /usr/lib/powerpc64le-linux-gnu/liblber-2.4.so.2 /usr/lib/liblber.so
else
sudo ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
sudo ln -s /usr/lib/x86_64-linux-gnu/libldap_r.so /usr/lib/libldap_r.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libldap.a /usr/lib/libldap.a
sudo ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so
fi
fi
before_script:
- "export COMPOSER_ALLOW_SUPERUSER=1"
- "export LSB_RELEASE=${LSB_RELEASE:-$(lsb_release -rs || echo ${$(sw_vers -productVersion)%*.*})}"
- 'export OS_NAME=${OS_NAME:-$(lsb_release -is | tr "A-Z" "a-z" || echo "osx")}'
- "export ARCH=${ARCH:-$(uname -m)}"
- "export INSTALL_DEST=${INSTALL_DEST:-$HOME/.phpenv/versions}"
- __dots() { while true ; do echo -en . ; sleep 30 ; done } ; __dots &
script:
- echo "--enable-option-checking=fatal" >> $HOME/.php-build/share/php-build/default_configure_options
- cat $HOME/.php-build/share/php-build/default_configure_options
- export PKG_CONFIG_PATH="$HOME/.phpenv/versions/$VERSION/lib/pkgconfig:$PKG_CONFIG_PATH"
- ./bin/compile
- | # disable 3rd-party extension builds on master
if [[ $VERSION =~ ^7.3.* ]]; then
(yes '' | ./bin/compile-extension-redis) &&
(./bin/compile-extension-mongo) &&
./bin/compile-extension-amqp &&
./bin/compile-extension-apcu &&
./bin/compile-extension-zmq &&
(./bin/compile-extension-memcache;
./bin/compile-extension-memcached) &&
./bin/compile-extension-ssh2 &&
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
else
if [[ ! $VERSION =~ ^master$ ]]; then
(yes '' | ./bin/compile-extension-redis) &&
(./bin/compile-extension-mongo;
./bin/compile-extension-mongodb) &&
./bin/compile-extension-amqp &&
./bin/compile-extension-apcu &&
./bin/compile-extension-zmq &&
(./bin/compile-extension-memcache;
./bin/compile-extension-memcached) &&
./bin/compile-extension-ssh2 &&
sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini
fi
fi
after_success:
- ARTIFACTS_KEY='' ARTIFACTS_SECRET='' ARTIFACTS_BUCKET='' ARTIFACTS_PERMISSIONS='' GITHUB_TOKEN='' $INSTALL_DEST/$VERSION/bin/php -i
- $INSTALL_DEST/$VERSION/bin/php -m
- $INSTALL_DEST/$VERSION/bin/php -f test.php
- ldd $INSTALL_DEST/$VERSION/bin/php
- $INSTALL_DEST/$VERSION/bin/pecl config-show
- ./bin/archive
after_failure:
- cat /tmp/php-build.*.log
addons:
artifacts:
paths:
- $LSB_RELEASE/
target_paths: /binaries/$OS_NAME/$LSB_RELEASE/$ARCH
apt:
packages:
- libcurl4-openssl-dev
- libzip-dev
- libgmp3-dev
- expect
Build Config
{
"language": "php",
"jobs": {
"include": [
{
"dist": "jammy",
"env": [
"RELEASE=jammy"
],
"name": "jammy",
"php": "8.1",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-dev libicu-dev php-pear php",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 libargon2-0 php-pear libargon2-0-dev php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "focal",
"env": [
"RELEASE=focal"
],
"name": "focal",
"php": "7.4",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "bionic",
"group": "stable",
"php": "7.4",
"env": [
"RELEASE=bionic"
],
"name": "bionic",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get -y install libcurl4-openssl-dev php-pear php-dev libicu-dev re2c",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install argon2 php-pear libargon2-0 libargon2-0-dev re2c php-dev libonig-dev; fi",
"sudo ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include",
"command -v expect || sudo apt-get install expect",
"wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz",
"tar -xf ./re2c-3.1.tar.xz",
"./re2c-3.1/configure && make && sudo make install",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
},
{
"dist": "xenial",
"group": "stable",
"env": [
"RELEASE=xenial"
],
"name": "xenial",
"php": "7.4",
"before_install": [
"sudo rm -rf /var/lib/apt/lists/lock /var/cache/apt/archives/lock /var/lib/dpkg/lock",
"sudo apt-get update",
"sudo apt-get install -y libicu-dev re2c",
"if [[ $VERSION =~ ^8.* ]]; then sudo apt-get -y install php-pear php-dev re2c libonig-dev build-essential; fi",
"command -v expect || sudo apt-get install expect",
"wget https://github.com/skvadrik/re2c/releases/download/3.1/re2c-3.1.tar.xz",
"tar -xf ./re2c-3.1.tar.xz",
"./re2c-3.1/configure && make && sudo make install",
"if ! command -v phpenv; then\n pushd $HOME\n curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer | bash\n popd\n export PHPENV_ROOT=\"/home/travis/.phpenv\"\n if [ -d \"${PHPENV_ROOT}\" ]; then\n export PATH=\"${PHPENV_ROOT}/bin:${PATH}\"\n eval \"$(phpenv init -)\"\n fi\nfi\n"
],
"os": "linux",
"arch": "x86_64"
}
]
},
"env": {
"global": "VERSION=8.1.30 ALIAS=8.1"
},
"before_install": [
"php -f test.php || true"
],
"install": [
"if [[ ! -d $HOME/.php-build ]]; then git clone https://github.com/php-build/php-build.git $HOME/.php-build; fi",
"~/.php-build/install-dependencies.sh",
"rm -rf $HOME/.phpenv",
"git clone 'https://github.com/phpenv/phpenv.git' $HOME/.phpenv",
"eval \"$($HOME/.phpenv/bin/phpenv init -)\"",
"pushd $HOME/.php-build",
"git reset --hard HEAD",
"git checkout master",
"git pull",
"popd",
"if [[ $RELEASE != precise ]]; then unset ICU_RELEASE; fi",
"if ! pkg-config --exists libjpeg libsasl2; then\n export PKG_CONFIG_PATH=$PWD:$PKG_CONFIG_PATH\nfi\n",
"./bin/install-icu",
"export PKG_CONFIG_PATH=$ICU_INSTALL_DIR/lib/pkgconfig:$PKG_CONFIG_PATH",
"touch custom_configure_options",
"./bin/install-libzip",
"./bin/install-libsodium",
"sudo ./bin/install-password-argon2",
". ./bin/install-onig",
"MINOR_VERSION=`echo $VERSION | sed -E 's/^([0-9]+\\.[0-9]+).*$/\\1/'`",
"if [[ -f default_configure_options.$RELEASE-$MINOR_VERSION ]]; then\n cp default_configure_options.$RELEASE-$MINOR_VERSION $HOME/.php-build/share/php-build/default_configure_options\nelse\n cp default_configure_options.$RELEASE $HOME/.php-build/share/php-build/default_configure_options\nfi\n",
"cat custom_configure_options >> $HOME/.php-build/share/php-build/default_configure_options",
"if [[ $(lsb_release -cs) = \"trusty\" || $(lsb_release -cs) = \"xenial\" || $(lsb_release -cs) = \"bionic\" ]]; then\n if [[ $HOSTTYPE == \"powerpc64le\" ]]; then\n sudo ln /usr/include/powerpc64le-linux-gnu/gmp.h /usr/include/gmp.h\n sudo ln -s /usr/lib/powerpc64le-linux-gnu/libldap_r-2.4.so.2 /usr/lib/libldap_r.so\n sudo ln -s /usr/lib/powerpc64le-linux-gnu/liblber-2.4.so.2 /usr/lib/liblber.so\n else\n sudo ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h\n sudo ln -s /usr/lib/x86_64-linux-gnu/libldap_r.so /usr/lib/libldap_r.so\n sudo ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so\n sudo ln -s /usr/lib/x86_64-linux-gnu/libldap.a /usr/lib/libldap.a\n sudo ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so\n fi\nfi\n"
],
"before_script": [
"export COMPOSER_ALLOW_SUPERUSER=1",
"export LSB_RELEASE=${LSB_RELEASE:-$(lsb_release -rs || echo ${$(sw_vers -productVersion)%*.*})}",
"export OS_NAME=${OS_NAME:-$(lsb_release -is | tr \"A-Z\" \"a-z\" || echo \"osx\")}",
"export ARCH=${ARCH:-$(uname -m)}",
"export INSTALL_DEST=${INSTALL_DEST:-$HOME/.phpenv/versions}",
"__dots() { while true ; do echo -en . ; sleep 30 ; done } ; __dots &"
],
"script": [
"echo \"--enable-option-checking=fatal\" >> $HOME/.php-build/share/php-build/default_configure_options",
"cat $HOME/.php-build/share/php-build/default_configure_options",
"export PKG_CONFIG_PATH=\"$HOME/.phpenv/versions/$VERSION/lib/pkgconfig:$PKG_CONFIG_PATH\"",
"./bin/compile",
"if [[ $VERSION =~ ^7.3.* ]]; then\n (yes '' | ./bin/compile-extension-redis) &&\n (./bin/compile-extension-mongo) &&\n ./bin/compile-extension-amqp &&\n ./bin/compile-extension-apcu &&\n ./bin/compile-extension-zmq &&\n (./bin/compile-extension-memcache;\n ./bin/compile-extension-memcached) &&\n ./bin/compile-extension-ssh2 &&\n sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini\nelse \n if [[ ! $VERSION =~ ^master$ ]]; then\n (yes '' | ./bin/compile-extension-redis) &&\n (./bin/compile-extension-mongo;\n ./bin/compile-extension-mongodb) &&\n ./bin/compile-extension-amqp &&\n ./bin/compile-extension-apcu &&\n ./bin/compile-extension-zmq &&\n (./bin/compile-extension-memcache;\n ./bin/compile-extension-memcached) &&\n ./bin/compile-extension-ssh2 &&\n sed -i '/^extension=/d' $INSTALL_DEST/$VERSION/etc/php.ini\n fi\nfi\n"
],
"after_success": [
"ARTIFACTS_KEY='' ARTIFACTS_SECRET='' ARTIFACTS_BUCKET='' ARTIFACTS_PERMISSIONS='' GITHUB_TOKEN='' $INSTALL_DEST/$VERSION/bin/php -i",
"$INSTALL_DEST/$VERSION/bin/php -m",
"$INSTALL_DEST/$VERSION/bin/php -f test.php",
"ldd $INSTALL_DEST/$VERSION/bin/php",
"$INSTALL_DEST/$VERSION/bin/pecl config-show",
"./bin/archive"
],
"after_failure": [
"cat /tmp/php-build.*.log"
],
"addons": {
"artifacts": {
"paths": [
"$LSB_RELEASE/"
],
"target_paths": "/binaries/$OS_NAME/$LSB_RELEASE/$ARCH"
},
"apt": {
"packages": [
"libcurl4-openssl-dev",
"libzip-dev",
"libgmp3-dev",
"expect"
]
}
}
}