From 14dc7681ed960e6741829bc5721b4f48eeeccc42 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 4 Mar 2020 22:29:54 +0000 Subject: [PATCH] Upgrade to libvips v8.9.0-alpha2 prebuild Improve tests for 32-bit ARM --- binding.gyp | 5 +++++ install/libvips.js | 9 +++++++-- package.json | 8 ++++---- test/fixtures/expected/blur-0.3.jpg | Bin 13735 -> 14821 bytes test/unit/beforeEach.js | 5 ++++- test/unit/platform.js | 3 +++ 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/binding.gyp b/binding.gyp index 4e472cc6..0c271296 100644 --- a/binding.gyp +++ b/binding.gyp @@ -193,6 +193,11 @@ '-Wno-cast-function-type' ] }], + ['target_arch == "arm"', { + 'cflags_cc': [ + '-Wno-psabi' + ] + }], ['OS == "win"', { 'msvs_settings': { 'VCCLCompilerTool': { diff --git a/install/libvips.js b/install/libvips.js index 8128f838..06c932d3 100644 --- a/install/libvips.js +++ b/install/libvips.js @@ -14,6 +14,12 @@ const agent = require('../lib/agent'); const libvips = require('../lib/libvips'); const platform = require('../lib/platform'); +const minimumGlibcVersionByArch = { + arm: '2.28', + arm64: '2.29', + x64: '2.17' +}; + const { minimumLibvipsVersion, minimumLibvipsVersionLabelled } = libvips; const distBaseUrl = process.env.npm_config_sharp_dist_base_url || process.env.SHARP_DIST_BASE_URL || `https://github.com/lovell/sharp-libvips/releases/download/v${minimumLibvipsVersionLabelled}/`; @@ -64,8 +70,7 @@ try { throw new Error(`BSD/SunOS systems require manual installation of libvips >= ${minimumLibvipsVersion}`); } if (detectLibc.family === detectLibc.GLIBC && detectLibc.version) { - const minimumGlibcVersion = arch === 'arm64' ? '2.29.0' : '2.17.0'; - if (semver.lt(`${detectLibc.version}.0`, minimumGlibcVersion)) { + if (semver.lt(`${detectLibc.version}.0`, `${minimumGlibcVersionByArch[arch]}.0`)) { throw new Error(`Use with glibc ${detectLibc.version} requires manual installation of libvips >= ${minimumLibvipsVersion}`); } } diff --git a/package.json b/package.json index 3df2555a..830f7057 100644 --- a/package.json +++ b/package.json @@ -118,15 +118,15 @@ "tunnel-agent": "^0.6.0" }, "devDependencies": { - "async": "^3.1.1", + "async": "^3.2.0", "cc": "^2.0.1", "decompress-zip": "^0.3.2", "documentation": "^12.1.4", "exif-reader": "^1.0.3", "icc": "^1.0.0", "license-checker": "^25.0.1", - "mocha": "^7.0.1", - "mock-fs": "^4.10.4", + "mocha": "^7.1.0", + "mock-fs": "^4.11.0", "nyc": "^15.0.0", "prebuild": "^10.0.0", "prebuild-ci": "^3.1.0", @@ -135,7 +135,7 @@ }, "license": "Apache-2.0", "config": { - "libvips": "8.9.1-alpha1" + "libvips": "8.9.1-alpha2" }, "engines": { "node": ">=10.16.0" diff --git a/test/fixtures/expected/blur-0.3.jpg b/test/fixtures/expected/blur-0.3.jpg index e982f561b95316ecd8d73276d0fe8bf01350ff41..db992900f54a4669250072261a7f8c1b215283df 100644 GIT binary patch delta 14741 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 delta 13642 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