diff --git a/docs/changelog.md b/docs/changelog.md index 8d367216..4606dd7c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,7 +2,7 @@ ## v0.25 - *yield* -Requires libvips TBD +Requires libvips v8.9.1 ### v0.25.0 - TBD diff --git a/install/libvips.js b/install/libvips.js index 97a36a3a..69704b71 100644 --- a/install/libvips.js +++ b/install/libvips.js @@ -14,8 +14,8 @@ const agent = require('../lib/agent'); const libvips = require('../lib/libvips'); const platform = require('../lib/platform'); -const minimumLibvipsVersion = libvips.minimumLibvipsVersion; -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${minimumLibvipsVersion}/`; +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}/`; const fail = function (err) { npmLog.error('sharp', err.message); diff --git a/lib/libvips.js b/lib/libvips.js index bc0ea25f..f98c55cc 100644 --- a/lib/libvips.js +++ b/lib/libvips.js @@ -8,8 +8,9 @@ const semver = require('semver'); const platform = require('./platform'); const env = process.env; -const minimumLibvipsVersion = env.npm_package_config_libvips || /* istanbul ignore next */ +const minimumLibvipsVersionLabelled = env.npm_package_config_libvips || /* istanbul ignore next */ require('../package.json').config.libvips; +const minimumLibvipsVersion = semver.coerce(minimumLibvipsVersionLabelled).version; const spawnSyncOptions = { encoding: 'utf8', @@ -93,11 +94,12 @@ const useGlobalLibvips = function () { }; module.exports = { - minimumLibvipsVersion: minimumLibvipsVersion, - cachePath: cachePath, - globalLibvipsVersion: globalLibvipsVersion, - hasVendoredLibvips: hasVendoredLibvips, - pkgConfigPath: pkgConfigPath, - useGlobalLibvips: useGlobalLibvips, - mkdirSync: mkdirSync + minimumLibvipsVersion, + minimumLibvipsVersionLabelled, + cachePath, + globalLibvipsVersion, + hasVendoredLibvips, + pkgConfigPath, + useGlobalLibvips, + mkdirSync }; diff --git a/package.json b/package.json index fe3148e5..3df2555a 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,7 @@ }, "license": "Apache-2.0", "config": { - "libvips": "8.9.0" + "libvips": "8.9.1-alpha1" }, "engines": { "node": ">=10.16.0" diff --git a/src/common.h b/src/common.h index 55c2f502..9cb3a469 100644 --- a/src/common.h +++ b/src/common.h @@ -25,7 +25,7 @@ // Verify platform and compiler compatibility #if (VIPS_MAJOR_VERSION < 8 || (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION < 9)) -#error "libvips version 8.9.0+ is required - please see https://sharp.pixelplumbing.com/install" +#error "libvips version 8.9.1+ is required - please see https://sharp.pixelplumbing.com/install" #endif #if ((!defined(__clang__)) && defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6))) diff --git a/src/pipeline.cc b/src/pipeline.cc index a0ede469..5d2bc428 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -1320,7 +1320,7 @@ Napi::Value pipeline(const Napi::CallbackInfo& info) { baton->heifQuality = sharp::AttrAsUint32(options, "heifQuality"); baton->heifLossless = sharp::AttrAsBool(options, "heifLossless"); baton->heifCompression = static_cast( - vips_enum_from_nick(nullptr, VIPS_TYPE_FOREIGN_HEIF_COMPRESSION, + vips_enum_from_nick(nullptr, VIPS_TYPE_FOREIGN_HEIF_COMPRESSION, sharp::AttrAsStr(options, "heifCompression").data())); // Tile output baton->tileSize = sharp::AttrAsUint32(options, "tileSize"); diff --git a/src/pipeline.h b/src/pipeline.h index cdd6566a..1ec5afba 100644 --- a/src/pipeline.h +++ b/src/pipeline.h @@ -150,7 +150,7 @@ struct PipelineBaton { double tiffXres; double tiffYres; int heifQuality; - int heifCompression; // TODO(libvips 8.9.0): VipsForeignHeifCompression + VipsForeignHeifCompression heifCompression; bool heifLossless; std::string err; bool withMetadata; @@ -258,7 +258,7 @@ struct PipelineBaton { tiffXres(1.0), tiffYres(1.0), heifQuality(80), - heifCompression(1), // TODO(libvips 8.9.0): VIPS_FOREIGN_HEIF_COMPRESSION_HEVC + heifCompression(VIPS_FOREIGN_HEIF_COMPRESSION_HEVC), heifLossless(false), withMetadata(false), withMetadataOrientation(-1),