From 347453f18114a1ad1a50cdb95e9f194a4437dd18 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 1 Feb 2024 12:20:07 +0000 Subject: [PATCH 01/12] Build M1 binaries on GitHub's new MacOS runner --- .github/workflows/main.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 947a6817..29bf6e7f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -72,11 +72,19 @@ jobs: if-no-files-found: error macos: - name: MacOS (PM ${{ matrix.pm-version-major }}) - runs-on: macos-11.0 + name: MacOS ${{ matrix.artifact-name }} (PM ${{ matrix.pm-version-major }}) + runs-on: ${{ matrix.image }} strategy: matrix: pm-version-major: [ 4, 5 ] + artifact-name: [x86_64, arm64] + include: + - target-name: mac-x86-64 + artifact-name: x86_64 + image: macos-12 + - target-name: mac-arm64 + artifact-name: arm64 + image: macos-14 steps: - uses: actions/checkout@v4 @@ -97,20 +105,20 @@ jobs: export PATH="/usr/local/opt/bison/bin:$PATH" set -ex trap "exit 1" ERR - ./compile.sh -t mac-x86-64 -j4 -g -P ${{ matrix.pm-version-major }} -c ./download_cache -D + ./compile.sh -t ${{ matrix.target-name }} -j4 -g -P ${{ matrix.pm-version-major }} -c ./download_cache -D - name: Create tarball run: | - tar -czf ./PHP-MacOS-x86_64-PM${{ matrix.pm-version-major }}.tar.gz bin - tar -czf ./PHP-MacOS-x86_64-PM${{ matrix.pm-version-major }}-debugging-symbols.tar.gz bin-debug + tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }}.tar.gz bin + tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }}-debugging-symbols.tar.gz bin-debug - name: Upload artifacts uses: actions/upload-artifact@v4 if: always() with: - name: MacOS-PM${{ matrix.pm-version-major }} + name: MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }} path: | - ./PHP-MacOS-x86_64-PM${{ matrix.pm-version-major }}*.tar.gz + ./PHP-MacOS-${{ matrix.artifact-name}}-PM${{ matrix.pm-version-major }}*.tar.gz install.log compile.sh if-no-files-found: error @@ -123,7 +131,7 @@ jobs: uses: actions/upload-artifact@v4 if: failure() with: - name: MacOS-workspace-PM${{ matrix.pm-version-major }} + name: MacOS-${{ matrix.artifact-name }}-workspace-PM${{ matrix.pm-version-major }} path: | workspace.tar.gz if-no-files-found: error From 0550f68007c10a9dc216c5ed20d1494df718130c Mon Sep 17 00:00:00 2001 From: Dylan T Date: Thu, 1 Feb 2024 18:26:35 +0000 Subject: [PATCH 02/12] fixed macOS binaries not being published --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 29bf6e7f..9f8586ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -225,7 +225,7 @@ jobs: with: artifacts: | ${{ github.workspace }}/Linux-PM*/*.tar.gz - ${{ github.workspace }}/MacOS-PM*/*.tar.gz + ${{ github.workspace }}/MacOS-*-PM*/*.tar.gz ${{ github.workspace }}/Windows-PM*/*.zip makeLatest: ${{ github.ref_name == github.event.repository.default_branch }} name: PHP ${{ steps.version.outputs.PHP_VERSION }} - Latest (Build ${{ github.run_number }}) @@ -241,7 +241,7 @@ jobs: with: artifacts: | ${{ github.workspace }}/Linux-PM*/*.tar.gz - ${{ github.workspace }}/MacOS-PM*/*.tar.gz + ${{ github.workspace }}/MacOS-*-PM*/*.tar.gz ${{ github.workspace }}/Windows-PM*/*.zip makeLatest: false name: PHP ${{ steps.version.outputs.PHP_VERSION }} (Build ${{ github.run_number }}) From e15dbccfd473b62f944b8ec1bf16df97204ceded Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 14:03:18 +0000 Subject: [PATCH 03/12] Bump actions/cache from 3 to 4 (#188) Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f8586ac..f5ee6b55 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,7 @@ jobs: - name: Prepare compile.sh download cache id: download-cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ./download_cache key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} @@ -94,7 +94,7 @@ jobs: - name: Prepare compile.sh download cache id: download-cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ./download_cache key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} From 29215d32529899a8835c73b1b2d832af8ff834ed Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 2 Feb 2024 14:31:59 +0000 Subject: [PATCH 04/12] Restructure Actions workflows this reduces duplicated information, and in theory also makes sure the publish build waits for everything without needing to be manually listed one by one. --- .github/workflows/main-pm-matrix.yml | 164 ++++++++++++++++++++++++++ .github/workflows/main.yml | 166 ++------------------------- 2 files changed, 172 insertions(+), 158 deletions(-) create mode 100644 .github/workflows/main-pm-matrix.yml diff --git a/.github/workflows/main-pm-matrix.yml b/.github/workflows/main-pm-matrix.yml new file mode 100644 index 00000000..3b65614b --- /dev/null +++ b/.github/workflows/main-pm-matrix.yml @@ -0,0 +1,164 @@ +name: Build PHP binaries + +on: + workflow_call: + inputs: + pm-version-major: + description: 'PocketMine-MP major version' + required: true + type: number + +jobs: + linux: + name: Linux + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + + - name: Install tools and dependencies + run: | + sudo apt-get update + sudo apt-get install make autoconf automake libtool libtool-bin m4 wget libc-bin gzip bzip2 bison g++ git re2c + + - name: Prepare compile.sh download cache + id: download-cache + uses: actions/cache@v4 + with: + path: ./download_cache + key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} + restore-keys: compile-sh-cache-ssl-https- + + - name: Compile PHP + run: | + # Used "set -ex" instead of hashbang since script isn't executed with hashbang + set -ex + trap "exit 1" ERR + ./compile.sh -t linux64 -j 4 -g -P ${{ inputs.pm-version-major }} -c ./download_cache -D + + - name: Create tarball + run: | + tar -czf ./PHP-Linux-x86_64-PM${{ inputs.pm-version-major }}.tar.gz bin + tar -czf ./PHP-Linux-x86_64-PM${{ inputs.pm-version-major }}-debugging-symbols.tar.gz bin-debug + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: Linux-PM${{ inputs.pm-version-major }} + path: | + ./PHP-Linux-x86_64-PM${{ inputs.pm-version-major }}*.tar.gz + install.log + compile.sh + if-no-files-found: error + + - name: Prepare workspace for upload + if: failure() + run: tar -czf workspace.tar.gz install_data + + - name: Upload workspace + uses: actions/upload-artifact@v4 + if: failure() + with: + name: Linux-workspace-PM${{ inputs.pm-version-major }} + path: | + workspace.tar.gz + if-no-files-found: error + + macos: + name: MacOS ${{ matrix.artifact-name }} + runs-on: ${{ matrix.image }} + strategy: + matrix: + include: + - target-name: mac-x86-64 + artifact-name: x86_64 + image: macos-12 + - target-name: mac-arm64 + artifact-name: arm64 + image: macos-14 + + steps: + - uses: actions/checkout@v4 + + - name: Install tools and dependencies + run: brew install libtool autoconf automake pkg-config bison re2c + + - name: Prepare compile.sh download cache + id: download-cache + uses: actions/cache@v4 + with: + path: ./download_cache + key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} + restore-keys: compile-sh-cache-ssl-https- + + - name: Compile PHP + run: | + export PATH="/usr/local/opt/bison/bin:$PATH" + set -ex + trap "exit 1" ERR + ./compile.sh -t ${{ matrix.target-name }} -j4 -g -P ${{ inputs.pm-version-major }} -c ./download_cache -D + + - name: Create tarball + run: | + tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ inputs.pm-version-major }}.tar.gz bin + tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ inputs.pm-version-major }}-debugging-symbols.tar.gz bin-debug + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: MacOS-${{ matrix.artifact-name }}-PM${{ inputs.pm-version-major }} + path: | + ./PHP-MacOS-${{ matrix.artifact-name}}-PM${{ inputs.pm-version-major }}*.tar.gz + install.log + compile.sh + if-no-files-found: error + + - name: Prepare workspace for upload + if: failure() + run: tar -czf workspace.tar.gz install_data + + - name: Upload workspace + uses: actions/upload-artifact@v4 + if: failure() + with: + name: MacOS-${{ matrix.artifact-name }}-workspace-PM${{ inputs.pm-version-major }} + path: | + workspace.tar.gz + if-no-files-found: error + + windows: + name: Windows + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v4 + + - name: Install tools and dependencies + run: choco install wget --no-progress + + - name: Compile PHP + run: .\windows-compile-vs.bat + env: + VS_EDITION: Enterprise + SOURCES_PATH: ${{ github.workspace }}\pocketmine-php-sdk + PM_VERSION_MAJOR: ${{ inputs.pm-version-major }} + + - name: Rename artifacts + run: | + mkdir temp + move php-debug-pack-*.zip temp/PHP-Windows-x64-PM${{ inputs.pm-version-major }}-debugging-symbols.zip + move php-*.zip temp/PHP-Windows-x64-PM${{ inputs.pm-version-major }}.zip + move temp\*.zip . + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: Windows-PM${{ inputs.pm-version-major }} + path: | + PHP-Windows-x64*.zip + compile.log + windows-compile-vs.bat + if-no-files-found: error diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f5ee6b55..03fd2db2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Build PHP binaries +name: Build and publish PHP binaries on: push: @@ -12,171 +12,21 @@ concurrency: cancel-in-progress: true jobs: - linux: - name: Linux (PM ${{ matrix.pm-version-major }}) + all-builds: + name: PM${{ matrix.pm-version-major }} runs-on: ubuntu-20.04 strategy: matrix: pm-version-major: [4, 5] - steps: - - uses: actions/checkout@v4 - - - name: Install tools and dependencies - run: | - sudo apt-get update - sudo apt-get install make autoconf automake libtool libtool-bin m4 wget libc-bin gzip bzip2 bison g++ git re2c - - - name: Prepare compile.sh download cache - id: download-cache - uses: actions/cache@v4 - with: - path: ./download_cache - key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} - restore-keys: compile-sh-cache-ssl-https- - - - name: Compile PHP - run: | - # Used "set -ex" instead of hashbang since script isn't executed with hashbang - set -ex - trap "exit 1" ERR - ./compile.sh -t linux64 -j 4 -g -P ${{ matrix.pm-version-major }} -c ./download_cache -D - - - name: Create tarball - run: | - tar -czf ./PHP-Linux-x86_64-PM${{ matrix.pm-version-major }}.tar.gz bin - tar -czf ./PHP-Linux-x86_64-PM${{ matrix.pm-version-major }}-debugging-symbols.tar.gz bin-debug - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - if: always() - with: - name: Linux-PM${{ matrix.pm-version-major }} - path: | - ./PHP-Linux-x86_64-PM${{ matrix.pm-version-major }}*.tar.gz - install.log - compile.sh - if-no-files-found: error - - - name: Prepare workspace for upload - if: failure() - run: tar -czf workspace.tar.gz install_data - - - name: Upload workspace - uses: actions/upload-artifact@v4 - if: failure() - with: - name: Linux-workspace-PM${{ matrix.pm-version-major }} - path: | - workspace.tar.gz - if-no-files-found: error - - macos: - name: MacOS ${{ matrix.artifact-name }} (PM ${{ matrix.pm-version-major }}) - runs-on: ${{ matrix.image }} - strategy: - matrix: - pm-version-major: [ 4, 5 ] - artifact-name: [x86_64, arm64] - include: - - target-name: mac-x86-64 - artifact-name: x86_64 - image: macos-12 - - target-name: mac-arm64 - artifact-name: arm64 - image: macos-14 - - steps: - - uses: actions/checkout@v4 - - - name: Install tools and dependencies - run: brew install libtool autoconf automake pkg-config bison re2c - - - name: Prepare compile.sh download cache - id: download-cache - uses: actions/cache@v4 - with: - path: ./download_cache - key: compile-sh-cache-ssl-https-${{ hashFiles('./compile.sh') }} - restore-keys: compile-sh-cache-ssl-https- - - - name: Compile PHP - run: | - export PATH="/usr/local/opt/bison/bin:$PATH" - set -ex - trap "exit 1" ERR - ./compile.sh -t ${{ matrix.target-name }} -j4 -g -P ${{ matrix.pm-version-major }} -c ./download_cache -D - - - name: Create tarball - run: | - tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }}.tar.gz bin - tar -czf ./PHP-MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }}-debugging-symbols.tar.gz bin-debug - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - if: always() - with: - name: MacOS-${{ matrix.artifact-name }}-PM${{ matrix.pm-version-major }} - path: | - ./PHP-MacOS-${{ matrix.artifact-name}}-PM${{ matrix.pm-version-major }}*.tar.gz - install.log - compile.sh - if-no-files-found: error - - - name: Prepare workspace for upload - if: failure() - run: tar -czf workspace.tar.gz install_data - - - name: Upload workspace - uses: actions/upload-artifact@v4 - if: failure() - with: - name: MacOS-${{ matrix.artifact-name }}-workspace-PM${{ matrix.pm-version-major }} - path: | - workspace.tar.gz - if-no-files-found: error - - windows: - name: Windows (PM ${{ matrix.pm-version-major }}) - runs-on: windows-2019 - strategy: - matrix: - pm-version-major: [ 4, 5 ] - - steps: - - uses: actions/checkout@v4 - - - name: Install tools and dependencies - run: choco install wget --no-progress - - - name: Compile PHP - run: .\windows-compile-vs.bat - env: - VS_EDITION: Enterprise - SOURCES_PATH: ${{ github.workspace }}\pocketmine-php-sdk - PM_VERSION_MAJOR: ${{ matrix.pm-version-major }} - - - name: Rename artifacts - run: | - mkdir temp - move php-debug-pack-*.zip temp/PHP-Windows-x64-PM${{ matrix.pm-version-major }}-debugging-symbols.zip - move php-*.zip temp/PHP-Windows-x64-PM${{ matrix.pm-version-major }}.zip - move temp\*.zip . - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - if: always() - with: - name: Windows-PM${{ matrix.pm-version-major }} - path: | - PHP-Windows-x64*.zip - compile.log - windows-compile-vs.bat - if-no-files-found: error + uses: ./.github/workflows/main-pm-matrix.yml + with: + pm-version-major: ${{ matrix.pm-version-major }} + secrets: inherit publish: name: Publish binaries - needs: [linux, macos, windows] + needs: [all-builds] runs-on: ubuntu-20.04 if: ${{ startsWith(github.ref_name, 'php/') && github.ref_type == 'branch' && !contains(github.event.head_commit.message, '[no release]') }} From fe8618c752bc2faad25ac5348e9b0c0fd53f8d00 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 2 Feb 2024 14:36:44 +0000 Subject: [PATCH 05/12] ... thanks for the totally misleading error github --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 03fd2db2..c757f9d7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,6 @@ concurrency: jobs: all-builds: name: PM${{ matrix.pm-version-major }} - runs-on: ubuntu-20.04 strategy: matrix: pm-version-major: [4, 5] From bc8d04b622168ac33414559f916a6584ab4bb0cd Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 2 Feb 2024 14:52:37 +0000 Subject: [PATCH 06/12] Stop building PM4 binaries PM4 was on 8.1 when support ended, so this shouldn't break anything. --- .github/workflows/main.yml | 2 +- compile.sh | 15 ++++++--------- windows-compile-vs.bat | 16 ++++++---------- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c757f9d7..d5271327 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: name: PM${{ matrix.pm-version-major }} strategy: matrix: - pm-version-major: [4, 5] + pm-version-major: [5] uses: ./.github/workflows/main-pm-matrix.yml with: diff --git a/compile.sh b/compile.sh index 3a415d49..253ea95f 100755 --- a/compile.sh +++ b/compile.sh @@ -14,7 +14,6 @@ LIBZIP_VERSION="1.10.1" SQLITE3_VERSION="3440200" #3.44.2 LIBDEFLATE_VERSION="dd12ff2b36d603dbb7fa8838fe7e7176fcbd4f6f" #1.19 -EXT_PTHREADS_VERSION="4.2.2" EXT_PMMPTHREAD_VERSION="6.0.12" EXT_YAML_VERSION="2.2.3" EXT_LEVELDB_VERSION="317fdcd8415e1566fc2835ce2bdb8e19b890f9f3" @@ -238,6 +237,9 @@ done if [ "$PM_VERSION_MAJOR" == "" ]; then write_error "Please specify PocketMine-MP major version target with -P (e.g. -P5)" exit 1 +elif [ "$PM_VERSION_MAJOR" -lt 5 ]; then + write_error "PocketMine-MP 4.x and older are no longer supported" + exit 1 fi write_out "opt" "Compiling with configuration for PocketMine-MP $PM_VERSION_MAJOR" @@ -1034,13 +1036,8 @@ function get_pecl_extension { cd "$BUILD_DIR/php" write_out "PHP" "Downloading additional extensions..." -if [ "$PM_VERSION_MAJOR" -ge 5 ]; then - get_github_extension "pmmpthread" "$EXT_PMMPTHREAD_VERSION" "pmmp" "ext-pmmpthread" - THREAD_EXT_FLAGS="--enable-pmmpthread" -else - get_github_extension "pthreads" "$EXT_PTHREADS_VERSION" "pmmp" "ext-pmmpthread" #"v" needed for release tags because github removes the "v" - THREAD_EXT_FLAGS="--enable-pthreads" -fi +get_github_extension "pmmpthread" "$EXT_PMMPTHREAD_VERSION" "pmmp" "ext-pmmpthread" + get_github_extension "yaml" "$EXT_YAML_VERSION" "php" "pecl-file_formats-yaml" #get_pecl_extension "yaml" "$EXT_YAML_VERSION" @@ -1160,7 +1157,7 @@ $HAS_DEBUG \ --enable-mbstring \ --disable-mbregex \ --enable-calendar \ -$THREAD_EXT_FLAGS \ +--enable-pmmpthread \ --enable-fileinfo \ --with-libxml \ --enable-xml \ diff --git a/windows-compile-vs.bat b/windows-compile-vs.bat index 78c754dc..2f6cf92c 100644 --- a/windows-compile-vs.bat +++ b/windows-compile-vs.bat @@ -23,7 +23,6 @@ set PTHREAD_W32_VER=3.0.0 set LEVELDB_MCPE_VER=1c7564468b41610da4f498430e795ca4de0931ff set LIBDEFLATE_VER=dd12ff2b36d603dbb7fa8838fe7e7176fcbd4f6f -set PHP_PTHREADS_VER=4.2.2 set PHP_PMMPTHREAD_VER=6.0.12 set PHP_YAML_VER=2.2.3 set PHP_CHUNKUTILS2_VER=0.3.5 @@ -76,6 +75,10 @@ if "%PM_VERSION_MAJOR%"=="" ( call :pm-echo-error "Please specify PocketMine-MP major version by setting the PM_VERSION_MAJOR environment variable" exit 1 ) +if "%PM_VERSION_MAJOR%" lss "5" ( + call :pm-echo-error "PocketMine-MP 4.x and older are no longer supported" + exit 1 +) call :pm-echo "Compiling with configuration for PocketMine-MP %PM_VERSION_MAJOR%" @@ -219,14 +222,7 @@ cd /D .. call :pm-echo "Getting additional PHP extensions..." cd /D php-src\ext -set THREAD_EXT_FLAGS="" -if "%PM_VERSION_MAJOR%" geq "5" ( - call :get-extension-zip-from-github "pmmpthread" "%PHP_PMMPTHREAD_VER%" "pmmp" "ext-pmmpthread" || exit 1 - set THREAD_EXT_FLAGS="--with-pmmpthread=shared" -) else ( - call :get-extension-zip-from-github "pthreads" "%PHP_PTHREADS_VER%" "pmmp" "ext-pmmpthread" || exit 1 - set THREAD_EXT_FLAGS="--with-pthreads=shared" -) +call :get-extension-zip-from-github "pmmpthread" "%PHP_PMMPTHREAD_VER%" "pmmp" "ext-pmmpthread" || exit 1 call :get-extension-zip-from-github "yaml" "%PHP_YAML_VER%" "php" "pecl-file_formats-yaml" || exit 1 call :get-extension-zip-from-github "chunkutils2" "%PHP_CHUNKUTILS2_VER%" "pmmp" "ext-chunkutils2" || exit 1 call :get-extension-zip-from-github "igbinary" "%PHP_IGBINARY_VER%" "igbinary" "igbinary" || exit 1 @@ -304,7 +300,7 @@ call configure^ --with-mysqlnd^ --with-openssl^ --with-pcre-jit^ - %THREAD_EXT_FLAGS%^ + --with-pmmpthread=shared^ --with-simplexml^ --with-sodium^ --with-sqlite3=shared^ From 34e14920212ba63484254dbca90e1c4258de4b50 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 11:02:55 +0000 Subject: [PATCH 07/12] Bump ncipollo/release-action from 1.13.0 to 1.14.0 (#191) Bumps [ncipollo/release-action](https://github.com/ncipollo/release-action) from 1.13.0 to 1.14.0. - [Release notes](https://github.com/ncipollo/release-action/releases) - [Commits](https://github.com/ncipollo/release-action/compare/v1.13.0...v1.14.0) --- updated-dependencies: - dependency-name: ncipollo/release-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> [no release] --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d5271327..c82fcfae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -70,7 +70,7 @@ jobs: echo ":information_source: **Linux/MacOS users**: Please see [this page](https://doc.pmmp.io/en/rtfd/faq/installation/opcache.so.html) to fix extension loading errors. Also, check out the [PocketMine-MP Linux/MacOS installer](https://doc.pmmp.io/en/rtfd/installation/get-dot-pmmp-dot-io.html)." >> changelog.md - name: Update latest branch release - uses: ncipollo/release-action@v1.13.0 + uses: ncipollo/release-action@v1.14.0 with: artifacts: | ${{ github.workspace }}/Linux-PM*/*.tar.gz @@ -86,7 +86,7 @@ jobs: prerelease: ${{ endsWith(github.ref_name, '-preview') }} - name: Publish unique release - uses: ncipollo/release-action@v1.13.0 + uses: ncipollo/release-action@v1.14.0 with: artifacts: | ${{ github.workspace }}/Linux-PM*/*.tar.gz From dabf89dbf787a915be1c0d6baa724f03d3e73f94 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 2 Apr 2024 16:02:43 +0100 Subject: [PATCH 08/12] Update PHP and dependency versions --- compile.sh | 23 ++++++++++++----------- windows-compile-vs.bat | 8 ++++---- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/compile.sh b/compile.sh index 253ea95f..7cf910b1 100755 --- a/compile.sh +++ b/compile.sh @@ -1,24 +1,24 @@ #!/usr/bin/env bash -[ -z "$PHP_VERSION" ] && PHP_VERSION="8.2.13" +[ -z "$PHP_VERSION" ] && PHP_VERSION="8.2.17" -ZLIB_VERSION="1.3" +ZLIB_VERSION="1.3.1" GMP_VERSION="6.3.0" -CURL_VERSION="curl-8_5_0" +CURL_VERSION="curl-8_7_1" YAML_VERSION="0.2.5" LEVELDB_VERSION="1c7564468b41610da4f498430e795ca4de0931ff" LIBXML_VERSION="2.10.1" #2.10.2 requires automake 1.16.3, which isn't easily available on Ubuntu 20.04 -LIBPNG_VERSION="1.6.40" -LIBJPEG_VERSION="9e" -OPENSSL_VERSION="3.1.4" +LIBPNG_VERSION="1.6.43" +LIBJPEG_VERSION="9f" +OPENSSL_VERSION="3.2.1" LIBZIP_VERSION="1.10.1" -SQLITE3_VERSION="3440200" #3.44.2 -LIBDEFLATE_VERSION="dd12ff2b36d603dbb7fa8838fe7e7176fcbd4f6f" #1.19 +SQLITE3_VERSION="3450200" #3.45.2 +LIBDEFLATE_VERSION="275aa5141db6eda3587214e0f1d3a134768f557d" #1.20 -EXT_PMMPTHREAD_VERSION="6.0.12" +EXT_PMMPTHREAD_VERSION="6.1.0" EXT_YAML_VERSION="2.2.3" EXT_LEVELDB_VERSION="317fdcd8415e1566fc2835ce2bdb8e19b890f9f3" EXT_CHUNKUTILS2_VERSION="0.3.5" -EXT_XDEBUG_VERSION="3.3.0" +EXT_XDEBUG_VERSION="3.3.1" EXT_IGBINARY_VERSION="3.2.15" EXT_CRYPTO_VERSION="0.3.2" EXT_RECURSIONGUARD_VERSION="0.1.0" @@ -26,7 +26,7 @@ EXT_LIBDEFLATE_VERSION="0.2.1" EXT_MORTON_VERSION="0.1.2" EXT_XXHASH_VERSION="0.2.0" EXT_ARRAYDEBUG_VERSION="0.2.0" -EXT_ENCODING_VERSION="0.2.3" +EXT_ENCODING_VERSION="0.3.0" function write_out { echo "[$1] $2" @@ -662,6 +662,7 @@ function build_curl { --without-brotli \ --without-nghttp2 \ --without-zstd \ + --disable-docs \ --with-zlib="$INSTALL_DIR" \ --with-ssl="$INSTALL_DIR" \ --enable-threaded-resolver \ diff --git a/windows-compile-vs.bat b/windows-compile-vs.bat index 2f6cf92c..64b04250 100644 --- a/windows-compile-vs.bat +++ b/windows-compile-vs.bat @@ -3,7 +3,7 @@ REM For future users: This file MUST have CRLF line endings. If it doesn't, lots of inexplicable undesirable strange behaviour will result. REM Also: Don't modify this version with sed, or it will screw up your line endings. set PHP_MAJOR_VER=8.2 -set PHP_VER=%PHP_MAJOR_VER%.13 +set PHP_VER=%PHP_MAJOR_VER%.17 set PHP_GIT_REV=php-%PHP_VER% set PHP_DISPLAY_VER=%PHP_VER% set PHP_SDK_VER=2.2.0 @@ -23,7 +23,7 @@ set PTHREAD_W32_VER=3.0.0 set LEVELDB_MCPE_VER=1c7564468b41610da4f498430e795ca4de0931ff set LIBDEFLATE_VER=dd12ff2b36d603dbb7fa8838fe7e7176fcbd4f6f -set PHP_PMMPTHREAD_VER=6.0.12 +set PHP_PMMPTHREAD_VER=6.1.0 set PHP_YAML_VER=2.2.3 set PHP_CHUNKUTILS2_VER=0.3.5 set PHP_IGBINARY_VER=3.2.15 @@ -33,9 +33,9 @@ set PHP_RECURSIONGUARD_VER=0.1.0 set PHP_MORTON_VER=0.1.2 set PHP_LIBDEFLATE_VER=0.2.1 set PHP_XXHASH_VER=0.2.0 -set PHP_XDEBUG_VER=3.3.0 +set PHP_XDEBUG_VER=3.3.1 set PHP_ARRAYDEBUG_VER=0.2.0 -set PHP_ENCODING_VER=0.2.3 +set PHP_ENCODING_VER=0.3.0 set script_path=%~dp0 set log_file=%script_path%compile.log From 8360e6e1e61ee11391d634a75c355ef0b301d535 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 2 Apr 2024 16:16:30 +0100 Subject: [PATCH 09/12] I don't know why I expected a new feature of curl to not break the build ... --- compile.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/compile.sh b/compile.sh index 7cf910b1..25dec5e5 100755 --- a/compile.sh +++ b/compile.sh @@ -662,7 +662,6 @@ function build_curl { --without-brotli \ --without-nghttp2 \ --without-zstd \ - --disable-docs \ --with-zlib="$INSTALL_DIR" \ --with-ssl="$INSTALL_DIR" \ --enable-threaded-resolver \ From f9601e5313db18a27fed74f734747156625b9081 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 2 Apr 2024 16:51:00 +0100 Subject: [PATCH 10/12] windows: fixed socket support being disabled (because of --disable-all) this isn't an issue with compile.sh because it doesn't pass --disable-all we might need to investigate what other stuff is getting unintentionally turned off because of this --- windows-compile-vs.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/windows-compile-vs.bat b/windows-compile-vs.bat index 64b04250..a1b11cef 100644 --- a/windows-compile-vs.bat +++ b/windows-compile-vs.bat @@ -301,6 +301,7 @@ call configure^ --with-openssl^ --with-pcre-jit^ --with-pmmpthread=shared^ + --with-pmmpthread-sockets^ --with-simplexml^ --with-sodium^ --with-sqlite3=shared^ From ba5f6dabb608d99b77f196f1f67a6cce44b084ca Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 2 Apr 2024 18:44:47 +0100 Subject: [PATCH 11/12] PHP 8.1.27 --- compile.sh | 2 +- windows-compile-vs.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compile.sh b/compile.sh index eaac49ee..e256d2ef 100755 --- a/compile.sh +++ b/compile.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -[ -z "$PHP_VERSION" ] && PHP_VERSION="8.1.26" +[ -z "$PHP_VERSION" ] && PHP_VERSION="8.1.27" ZLIB_VERSION="1.3.1" GMP_VERSION="6.3.0" diff --git a/windows-compile-vs.bat b/windows-compile-vs.bat index c146b380..36e54627 100644 --- a/windows-compile-vs.bat +++ b/windows-compile-vs.bat @@ -3,7 +3,7 @@ REM For future users: This file MUST have CRLF line endings. If it doesn't, lots of inexplicable undesirable strange behaviour will result. REM Also: Don't modify this version with sed, or it will screw up your line endings. set PHP_MAJOR_VER=8.1 -set PHP_VER=%PHP_MAJOR_VER%.26 +set PHP_VER=%PHP_MAJOR_VER%.27 set PHP_GIT_REV=php-%PHP_VER% set PHP_DISPLAY_VER=%PHP_VER% set PHP_SDK_VER=2.2.0 From b2bc1ff31d0254318c65cbe08e1012271b244dc1 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 3 Apr 2024 16:46:54 +0100 Subject: [PATCH 12/12] Use bukka/php-crypto@abbe7cbf869f96e69f2ce897271a61d32f43c7c0 I don't have access to publish this properly, and we need this fix to make clang stop barfing on the build --- compile.sh | 2 +- windows-compile-vs.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compile.sh b/compile.sh index e256d2ef..8ddbe7e9 100755 --- a/compile.sh +++ b/compile.sh @@ -21,7 +21,7 @@ EXT_LEVELDB_VERSION="317fdcd8415e1566fc2835ce2bdb8e19b890f9f3" EXT_CHUNKUTILS2_VERSION="0.3.5" EXT_XDEBUG_VERSION="3.3.1" EXT_IGBINARY_VERSION="3.2.15" -EXT_CRYPTO_VERSION="0.3.2" +EXT_CRYPTO_VERSION="abbe7cbf869f96e69f2ce897271a61d32f43c7c0" EXT_RECURSIONGUARD_VERSION="0.1.0" EXT_LIBDEFLATE_VERSION="0.2.1" EXT_MORTON_VERSION="0.1.2" diff --git a/windows-compile-vs.bat b/windows-compile-vs.bat index 36e54627..6c214421 100644 --- a/windows-compile-vs.bat +++ b/windows-compile-vs.bat @@ -29,7 +29,7 @@ set PHP_YAML_VER=2.2.3 set PHP_CHUNKUTILS2_VER=0.3.5 set PHP_IGBINARY_VER=3.2.15 set PHP_LEVELDB_VER=317fdcd8415e1566fc2835ce2bdb8e19b890f9f3 -set PHP_CRYPTO_VER=0.3.2 +set PHP_CRYPTO_VER=abbe7cbf869f96e69f2ce897271a61d32f43c7c0 set PHP_RECURSIONGUARD_VER=0.1.0 set PHP_MORTON_VER=0.1.2 set PHP_LIBDEFLATE_VER=0.2.1