Skip to content

Commit

Permalink
Merge pull request #722 from heroku/heroku-24
Browse files Browse the repository at this point in the history
Heroku-24 support
  • Loading branch information
dzuelke authored May 31, 2024
2 parents 2a45259 + d6b78fa commit a963d8c
Show file tree
Hide file tree
Showing 33 changed files with 213 additions and 46 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
stack: ["heroku-20", "heroku-22"]
stack: ["heroku-20", "heroku-22", "heroku-24"]
env:
STACK: ${{ matrix.stack }}
BLACKFIRE_CLIENT_ID: ${{ secrets.BLACKFIRE_CLIENT_ID }}
Expand Down Expand Up @@ -61,6 +61,7 @@ jobs:
- name: Export HEROKU_PHP_PLATFORM_REPOSITORIES to …-develop (since we are not building main or a tag)
if: github.ref_type != 'tag' && github.ref_name != 'main'
run: |
if [[ $STACK != heroku-2[02] ]]; then STACK="${STACK}-amd64"; fi
echo "HEROKU_PHP_PLATFORM_REPOSITORIES=- https://lang-php.s3.us-east-1.amazonaws.com/dist-${STACK}-develop/" >> "$GITHUB_ENV"
- name: Calculate number of parallel_rspec processes (half of num of lines in runtime log)
run: echo "PARALLEL_TEST_PROCESSORS=$(( ($(cat test/var/log/parallel_runtime_rspec.${STACK}.log | wc -l)+2-1)/2 ))" >> "$GITHUB_ENV"
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/platform-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ on:
options:
- heroku-20
- heroku-22
- heroku-24-amd64
- heroku-24-arm64
required: true
dry-run:
description: 'Build packages without deploying to S3 (e.g. for testing a formula)'
Expand Down Expand Up @@ -62,7 +64,7 @@ jobs:
ls -f ${{inputs.formulae}} | xargs -n 1 echo - >> "$GITHUB_STEP_SUMMARY"
ls -f ${{inputs.formulae}} | jq -jcRn '[inputs|select(length>0)]' >> "$GITHUB_OUTPUT"
docker-build:
runs-on: ubuntu-22.04
runs-on: ${{ endsWith(inputs.stack, '-arm64') && 'pub-hk-ubuntu-22.04-arm-small' || 'ubuntu-22.04' }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -74,14 +76,18 @@ jobs:
path: /tmp/docker-cache.tar.gz
- name: Build Docker image
if: steps.cache-docker.outputs.cache-hit != 'true'
run: docker build --tag heroku-php-build-${{inputs.stack}}:${{github.sha}} --file support/build/_docker/${{inputs.stack}}.Dockerfile .
# our "input" stack might contain a "-amd64" or "-arm64" suffix, which we strip off for the Dockerfile name
run: |
shopt -s extglob
stackname_with_architecture=${{inputs.stack}}
docker build --tag heroku-php-build-${stackname_with_architecture}:${{github.sha}} --file support/build/_docker/${stackname_with_architecture%-?(amd|arm)64}.Dockerfile .
- name: Save built Docker image
if: steps.cache-docker.outputs.cache-hit != 'true'
run: docker save heroku-php-build-${{inputs.stack}}:${{github.sha}} | gzip -1 > /tmp/docker-cache.tar.gz
deploys:
needs: [formulae-list, docker-build]
if: ${{ needs.formulae-list.outputs.formulae != '[]' && needs.formulae-list.outputs.formulae != '' }}
runs-on: pub-hk-ubuntu-22.04-medium
runs-on: ${{ endsWith(inputs.stack, '-arm64') && 'pub-hk-ubuntu-22.04-arm-xlarge' || 'pub-hk-ubuntu-22.04-xlarge' }}
strategy:
max-parallel: ${{ fromJSON(inputs.concurrency) }}
matrix:
Expand Down Expand Up @@ -111,7 +117,7 @@ jobs:
mkrepo:
needs: [deploys]
if: ${{ inputs.dry-run == false && inputs.publish == true }}
runs-on: ubuntu-22.04
runs-on: ${{ endsWith(inputs.stack, '-arm64') && 'pub-hk-ubuntu-22.04-arm-small' || 'ubuntu-22.04' }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/platform-remove.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ on:
options:
- heroku-20
- heroku-22
- heroku-24-amd64
- heroku-24-arm64
required: true
dry-run:
description: 'Only list package removals, without executing'
Expand All @@ -26,7 +28,7 @@ permissions:

jobs:
remove:
runs-on: ubuntu-22.04
runs-on: ${{ endsWith(inputs.stack, 'arm64') && 'pub-hk-ubuntu-22.04-arm-small' || 'ubuntu-22.04' }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -49,7 +51,11 @@ jobs:
run: docker load -i /tmp/docker-cache.tar.gz
- name: Build Docker image
if: steps.restore-docker.outputs.cache-hit != 'true'
run: docker build --tag heroku-php-build-${{inputs.stack}}:${{github.sha}} --file support/build/_docker/${{inputs.stack}}.Dockerfile .
# our "input" stack might contain a "-amd64" or "-arm64" suffix, which we strip off for the Dockerfile name
run: |
shopt -s extglob
stackname_with_architecture=${{inputs.stack}}
docker build --tag heroku-php-build-${stackname_with_architecture}:${{github.sha}} --file support/build/_docker/${stackname_with_architecture%-?(amd|arm)64}.Dockerfile .
- name: Save built Docker image
if: steps.restore-docker.outputs.cache-hit != 'true'
run: docker save heroku-php-build-${{inputs.stack}}:${{github.sha}} | gzip -1 > /tmp/docker-cache.tar.gz
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/platform-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Platform packages sync from -develop/ to -stable/
run-name: Sync${{ inputs.dry-run == true && ' dry-run' || '' }} from dist-$STACK-develop/ to dist-$STACK-stable/

env:
stacks_list_for_shell_expansion: "{heroku-20,heroku-22}"
stacks_list_for_shell_expansion: "{heroku-20,heroku-22,heroku-24-amd64,heroku-24-arm64}"

on:
workflow_dispatch:
Expand All @@ -17,6 +17,16 @@ on:
type: boolean
default: true
required: false
stack-heroku-24-amd64:
description: 'Sync heroku-24 (amd64) packages'
type: boolean
default: true
required: false
stack-heroku-24-arm64:
description: 'Sync heroku-24 (arm64) packages'
type: boolean
default: true
required: false
dry-run:
description: 'Only list package changes, without syncing'
type: boolean
Expand All @@ -37,14 +47,14 @@ jobs:
run: |
echo '## Stacks to sync' >> "$GITHUB_STEP_SUMMARY"
set -o pipefail
stacks=(${{ inputs.stack-heroku-20 == true && 'heroku-20' || ''}} ${{ inputs.stack-heroku-22 == true && 'heroku-22' || ''}})
stacks=(${{ inputs.stack-heroku-20 == true && 'heroku-20' || ''}} ${{ inputs.stack-heroku-22 == true && 'heroku-22' || ''}} ${{ inputs.stack-heroku-24-amd64 == true && 'heroku-24-amd64' || ''}} ${{ inputs.stack-heroku-24-arm64 == true && 'heroku-24-arm64' || ''}})
printf -- "- %s\n" "${stacks[@]}" >> "$GITHUB_STEP_SUMMARY"
echo -n "matrix=" >> "$GITHUB_OUTPUT"
printf "%s\n" "${stacks[@]}" | jq -jcRn '[inputs|select(length>0)]' >> "$GITHUB_OUTPUT"
docker-build:
needs: stack-list
if: ${{ needs.stack-list.outputs.stacks != '[]' && needs.stack-list.outputs.stacks != '' }}
runs-on: ubuntu-22.04
runs-on: ${{ endsWith(matrix.stack, '-arm64') && 'pub-hk-ubuntu-22.04-arm-small' || 'ubuntu-22.04' }}
strategy:
matrix:
stack: ${{ fromJSON(needs.stack-list.outputs.stacks) }}
Expand All @@ -62,7 +72,11 @@ jobs:
run: docker load -i /tmp/docker-cache.tar.gz
- name: Build Docker image
if: steps.restore-docker.outputs.cache-hit != 'true'
run: docker build --tag heroku-php-build-${{matrix.stack}}:${{github.sha}} --file support/build/_docker/${{matrix.stack}}.Dockerfile .
# our "input" stack might contain a "-amd64" or "-arm64" suffix, which we strip off for the Dockerfile name
run: |
shopt -s extglob
stackname_with_architecture=${{matrix.stack}}
docker build --tag heroku-php-build-${stackname_with_architecture}:${{github.sha}} --file support/build/_docker/${stackname_with_architecture%-?(amd|arm)64}.Dockerfile .
- name: Save built Docker image
if: steps.restore-docker.outputs.cache-hit != 'true'
run: docker save heroku-php-build-${{matrix.stack}}:${{github.sha}} | gzip -1 > /tmp/docker-cache.tar.gz
Expand All @@ -74,10 +88,10 @@ jobs:
path: /tmp/docker-cache.tar.gz
sync:
needs: [stack-list, docker-build]
runs-on: ubuntu-22.04
strategy:
matrix:
stack: ${{ fromJSON(needs.stack-list.outputs.stacks) }}
runs-on: ${{ endsWith(matrix.stack, '-arm64') && 'pub-hk-ubuntu-22.04-arm-small' || 'ubuntu-22.04' }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

## [Unreleased]

### ADD

- Support heroku-24 [David Zuelke]
- Build arm64 binaries for heroku-24+ [David Zuelke]

### CHG

- Use PHP 8.3 for bootstrapping [David Zuelke]
- librdkafka/2.4.0 (for heroku-24+ only) [David Zuelke]

## [v251] - 2024-05-30

Expand Down
9 changes: 7 additions & 2 deletions bin/compile
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,12 @@ mkdir -p $COMPOSER_HOME

status "Bootstrapping..."

s3_url="https://lang-php.s3.us-east-1.amazonaws.com/dist-${STACK}-stable/"
if [[ $STACK == heroku-2[02] ]]; then
stack_locator=$STACK
else
stack_locator="${STACK}-$(dpkg --print-architecture)"
fi
s3_url="https://lang-php.s3.us-east-1.amazonaws.com/dist-${stack_locator}-stable/"
# prepend the default repo to the list configured by the user
# list of repositories to use is in ascening order of precedence
export_env_dir "$env_dir" '^HEROKU_PHP_PLATFORM_REPOSITORIES$'
Expand All @@ -245,7 +250,7 @@ fi
mkdir -p $build_dir/.heroku/php-min
ln -s $build_dir/.heroku/php-min /app/.heroku/php-min

curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 10 --fail --silent --location -o $build_dir/.heroku/php-min.tar.gz "${s3_url}php-min-8.1.28.tar.gz" || {
curl_retry_on_18 --retry-connrefused --retry 3 --connect-timeout 10 --fail --silent --location -o $build_dir/.heroku/php-min.tar.gz "${s3_url}php-min-8.3.7.tar.gz" || {
mcount "failures.bootstrap.download.php-min"
error <<-EOF
Failed to download minimal PHP for bootstrapping!
Expand Down
4 changes: 4 additions & 0 deletions support/build/_docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

**After every change to your formulae, perform the following** from the root of the Git repository (not from `support/build/_docker/`) to rebuild the images for each stack:

$ docker build --pull --tag heroku-php-build-heroku-24-amd64 --platform linux/amd64 --file $(pwd)/support/build/_docker/heroku-24.Dockerfile .
$ docker build --pull --tag heroku-php-build-heroku-24-arm64 --platform linux/arm64 --file $(pwd)/support/build/_docker/heroku-24.Dockerfile .
$ docker build --pull --tag heroku-php-build-heroku-22 --file $(pwd)/support/build/_docker/heroku-22.Dockerfile .
$ docker build --pull --tag heroku-php-build-heroku-20 --file $(pwd)/support/build/_docker/heroku-20.Dockerfile .

Expand All @@ -17,6 +19,8 @@ Out of the box, each `Dockerfile` has the correct values predefined for `S3_BUCK

From the root of the Git repository (not from `support/build/_docker/`), you can e.g. `bash` into each of the images you built using their tag:

docker run --rm -ti heroku-php-build-heroku-24-amd64 bash
docker run --rm -ti heroku-php-build-heroku-24-arm64 bash
docker run --rm -ti heroku-php-build-heroku-22 bash
docker run --rm -ti heroku-php-build-heroku-20 bash

Expand Down
2 changes: 1 addition & 1 deletion support/build/_docker/heroku-20.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM heroku/heroku:20-build.v84
FROM heroku/heroku:20-build.v127

ARG TARGETARCH

Expand Down
2 changes: 1 addition & 1 deletion support/build/_docker/heroku-22.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM heroku/heroku:22-build.v84
FROM heroku/heroku:22-build.v127

ARG TARGETARCH

Expand Down
37 changes: 37 additions & 0 deletions support/build/_docker/heroku-24.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM heroku/heroku:24-build.v127

ARG TARGETARCH

USER root

WORKDIR /app
ENV WORKSPACE_DIR=/app/support/build
ENV S3_BUCKET=lang-php
ENV S3_PREFIX=dist-heroku-24-${TARGETARCH}-develop/
ENV S3_REGION=us-east-1
ENV STACK=heroku-24
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y python3-pip python3-venv

ENV VIRTUAL_ENV=/app/.venv
RUN python3 -m venv "$VIRTUAL_ENV"

ENV PATH="/app/support/build/_util:$VIRTUAL_ENV/bin:$PATH"

COPY requirements.txt /app/requirements.txt

RUN pip install wheel
RUN pip install -r /app/requirements.txt

ARG S5CMD_VERSION=2.2.2
RUN curl -sSLO https://github.com/peak/s5cmd/releases/download/v${S5CMD_VERSION}/s5cmd_${S5CMD_VERSION}_linux_${TARGETARCH}.deb
# copy/paste relevant shasums from s5cmd_checksums.txt in the release, remember to preserve the "\\n\" at the end of each line
RUN printf "\
392c385320cd5ffa435759a95af77c215553d967e4b1c0fffe52e4f14c29cf85 s5cmd_${S5CMD_VERSION}_linux_amd64.deb\\n\
939bee3cf4b5604ddb00e67f8c157b91d7c7a5b553d1fbb6890fad32894b7b46 s5cmd_${S5CMD_VERSION}_linux_arm64.deb\\n\
" | shasum -c - --ignore-missing

RUN dpkg -i s5cmd_${S5CMD_VERSION}_linux_${TARGETARCH}.deb

COPY . /app
2 changes: 1 addition & 1 deletion support/build/apache
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ patch -p1 < $(dirname $BASH_SOURCE)/patches/httpd-ignoresigterm.patch
--enable-proxy-fcgi \
--enable-rewrite \
--enable-deflate
make -s -j 9
make -s -j $(($(nproc)+1))
make install -s
find ${OUT_PREFIX} -type f \( -executable -o -name '*.a' \) -exec sh -c "file -i '{}' | grep -Eq 'application/x-(archive|(pie-)?executable|sharedlib); charset=binary'" \; -print | xargs strip --strip-unneeded
popd
Expand Down
4 changes: 2 additions & 2 deletions support/build/blackfire
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ dep_package=${dep_name}-${dep_version}
dep_manifest=${dep_package}.composer.json

echo "-----> Packaging ${dep_package}..."
echo "FYI: Blackfire API reports latest version as $(curl -A "Heroku" -I -L -s https://blackfire.io/api/v1/releases/cli/linux/amd64 | grep -i 'X-Blackfire-Release-Version: ' | sed "s%X-Blackfire-Release-Version: %%i" | sed s%.$%%)"
echo "FYI: Blackfire API reports latest version as $(curl -A "Heroku" -I -L -s https://blackfire.io/api/v1/releases/cli/linux/$(dpkg --print-architecture) | grep -i 'X-Blackfire-Release-Version: ' | sed "s%X-Blackfire-Release-Version: %%i" | sed s%.$%%)"

curl -L "https://packages.blackfire.io/binaries/blackfire/${dep_version}/blackfire-linux_amd64.tar.gz" | tar xz
curl -L "https://packages.blackfire.io/binaries/blackfire/${dep_version}/blackfire-linux_$(dpkg --print-architecture).tar.gz" | tar xz

mkdir -p ${OUT_PREFIX}/var/blackfire/run
mkdir -p ${bin_dir}
Expand Down
3 changes: 2 additions & 1 deletion support/build/extensions/no-debug-non-zts-20180731/apcu
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ phpize
./configure \
--prefix=${OUT_PREFIX} \
${CONFIGURE_EXTRA:-}
make -s -j 9
make -s -j $(($(nproc)+1))

# php was a build dep, and it's in $OUT_PREFIX; we only want our build results in the final archive, and no build deps
# the easiest way is to nuke $OUT_PREFIX and running "make install", but extensions built for PHP 8.1+ need PHP headers during linking
Expand All @@ -56,6 +56,7 @@ if [[ $series == 7.* ]]; then
phpize
./configure \
--prefix=${OUT_PREFIX}
make -s -j $(($(nproc)+1))
echo "-----> Installing into clean ${tmpdest}..."
make INSTALL_ROOT=$tmpdest install -s
popd
Expand Down
4 changes: 2 additions & 2 deletions support/build/extensions/no-debug-non-zts-20180731/blackfire
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ dep_package=ext-${dep_name}-${dep_version}
dep_manifest=${dep_package}_php-$series.composer.json

echo "-----> Packaging ${dep_package}..."
echo "FYI: Blackfire API reports latest version as $(curl -I -A "Heroku" -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/${series/\./} | grep -i 'X-Blackfire-Release-Version: ' | sed "s%X-Blackfire-Release-Version: %%i" | sed s%.$%%)"
echo "FYI: Blackfire API reports latest version as $(curl -I -A "Heroku" -L -s https://blackfire.io/api/v1/releases/probe/php/linux/$(dpkg --print-architecture)/${series/\./} | grep -i 'X-Blackfire-Release-Version: ' | sed "s%X-Blackfire-Release-Version: %%i" | sed s%.$%%)"

curl -L -o probe.tar.gz "https://packages.blackfire.io/binaries/blackfire-php/${dep_version}/blackfire-php-linux_amd64-php-${series/\./}.tar.gz"
curl -L -o probe.tar.gz "https://packages.blackfire.io/binaries/blackfire-php/${dep_version}/blackfire-php-linux_$(dpkg --print-architecture)-php-${series/\./}.tar.gz"

mkdir -p ${ext_dir}
tar -zxf probe.tar.gz
Expand Down
9 changes: 8 additions & 1 deletion support/build/extensions/no-debug-non-zts-20180731/memcached
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ OUT_PREFIX=$1
export PATH=${OUT_PREFIX}/bin:${PATH}

# can't build without this
needed=( libsasl2-2 libmemcached11 )
needed=( libsasl2-2 )
if [[ $STACK == "heroku-20" ]]; then
needed+=( libmemcached11 )
elif [[ $STACK == "heroku-22" ]]; then
needed+=( libmemcached11 )
else
needed+=( libmemcached11t64 )
fi
missing=$(comm -1 -3 <(dpkg-query -W -f '${package}\n' | sort) <(IFS=$'\n'; echo "${needed[*]}" | sort))
if [[ "$missing" ]]; then
echo "Error! Missing libraries: $missing"
Expand Down
17 changes: 15 additions & 2 deletions support/build/extensions/no-debug-non-zts-20180731/newrelic
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ case ${ZEND_MODULE_API_VERSION} in
esac
dep_manifest=${dep_package}_php-$series.composer.json

case $(dpkg --print-architecture) in
amd64)
arch=x64
;;
arm64)
arch=aarch64
;;
*)
echo "Unsupported architecture"
exit 1
;;
esac

echo "-----> Packaging ${dep_package}..."

curl -L ${dep_url} | tar xz
Expand All @@ -54,8 +67,8 @@ ext_dir=${OUT_PREFIX}/lib/php/extensions/no-debug-non-zts-${ZEND_MODULE_API_VERS
bin_dir=${OUT_PREFIX}/bin
mkdir -p ${ext_dir}
mkdir -p ${bin_dir}
cp agent/x64/newrelic-${ZEND_MODULE_API_VERSION}.so ${ext_dir}/newrelic.so
cp daemon/newrelic-daemon.x64 ${bin_dir}/newrelic-daemon
cp agent/${arch}/newrelic-${ZEND_MODULE_API_VERSION}.so ${ext_dir}/newrelic.so
cp daemon/newrelic-daemon.${arch} ${bin_dir}/newrelic-daemon
find ${OUT_PREFIX} -type f \( -executable -o -name '*.a' \) -exec sh -c "file -i '{}' | grep -Eq 'application/x-(archive|(pie-)?executable|sharedlib); charset=binary'" \; -print | xargs strip --strip-unneeded
popd

Expand Down
6 changes: 4 additions & 2 deletions support/build/extensions/no-debug-non-zts-20180731/oauth
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

dep_name=$(basename $BASH_SOURCE)

# headers for libcurl are in a different location from Ubuntu 18 and oauth configure doesn't check there
ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl
# ext-oauth <=2.0.7 configure checks for this, but does not actually link against libpcre3
# https://github.com/php/pecl-web_services-oauth/commit/2e02631fa424639b10d105ff47e9cf650403cef7
# https://github.com/php/pecl-web_services-oauth/issues/28
touch /usr/include/pcre.h

source $(dirname $BASH_SOURCE)/../pecl
4 changes: 2 additions & 2 deletions support/build/extensions/no-debug-non-zts-20180731/phalcon
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ if [[ "$dep_version" == [34].* ]]; then
export CPPFLAGS="-DPHALCON_RELEASE"
phpize
./configure --prefix=${OUT_PREFIX} --enable-phalcon
make -s -j9
make -s -j $(($(nproc)+1))
else
pushd ${dep_dirname}
phpize
./configure \
--prefix=${OUT_PREFIX} \
${CONFIGURE_EXTRA:-}
make -s -j 9
make -s -j $(($(nproc)+1))
fi

# php was a build dep, and it's in $OUT_PREFIX; we only want our build results in the final archive, and no build deps
Expand Down
Loading

0 comments on commit a963d8c

Please sign in to comment.