diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0fcf394b..0fe16067 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -144,6 +144,13 @@ jobs: nodejs_hostname: nodejs.org nodejs_version: "18.17.0" nodejs_version_major: 18 + - platform: linux-ppc64 + distro: bullseye + run_on_arch: ppc64le + nodejs_arch: ppc64le + nodejs_hostname: nodejs.org + nodejs_version: "18.17.0" + nodejs_version_major: 18 steps: - uses: actions/checkout@v4 - uses: uraimo/run-on-arch-action@v2 diff --git a/docs/install.md b/docs/install.md index b57bdc9b..044e11e4 100644 --- a/docs/install.md +++ b/docs/install.md @@ -40,6 +40,7 @@ Ready-compiled sharp and libvips binaries are provided for use on the most commo * macOS ARM64 * Linux ARM (glibc >= 2.28) * Linux ARM64 (glibc >= 2.26, musl >= 1.2.2) +* Linux ppc64 (glibc >= 2.31) * Linux s390x (glibc >= 2.31) * Linux x64 (glibc >= 2.26, musl >= 1.2.2, CPU with SSE4.2) * Windows x64 diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json new file mode 100644 index 00000000..2c6f4bd7 --- /dev/null +++ b/npm/linux-ppc64/package.json @@ -0,0 +1,46 @@ +{ + "name": "@img/sharp-linux-ppc64", + "version": "0.33.5", + "description": "Prebuilt sharp for use with Linux (glibc) ppc64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp.git", + "directory": "npm/linux-ppc64" + }, + "license": "Apache-2.0", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.0.4" + }, + "files": [ + "lib" + ], + "publishConfig": { + "access": "public" + }, + "type": "commonjs", + "exports": { + "./sharp.node": "./lib/sharp-linux-ppc64.node", + "./package": "./package.json" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "config": { + "glibc": ">=2.31" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "ppc64" + ] +} diff --git a/package.json b/package.json index 6882e53d..5893a5a2 100644 --- a/package.json +++ b/package.json @@ -148,6 +148,7 @@ "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-ppc64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", diff --git a/test/unit/libvips.js b/test/unit/libvips.js index f40a5dec..3ac9b708 100644 --- a/test/unit/libvips.js +++ b/test/unit/libvips.js @@ -138,7 +138,7 @@ describe('libvips binaries', function () { }); it('arch', () => { const [, arch] = libvips.runtimePlatformArch().split('-'); - assert.strict(['arm', 'arm64', 'ia32', 'x64'].includes(arch)); + assert.strict(['arm', 'arm64', 'ia32', 'x64', 'ppc64'].includes(arch)); }); it('isUnsupportedNodeRuntime', () => { assert.strictEqual(libvips.isUnsupportedNodeRuntime(), undefined);