head 1.20; access; symbols pkgsrc-2026Q3:1.16.0.2 pkgsrc-2026Q3-base:1.16 pkgsrc-2026Q2:1.12.0.2 pkgsrc-2026Q2-base:1.12 pkgsrc-2026Q1:1.9.0.2 pkgsrc-2026Q1-base:1.9 pkgsrc-2025Q4:1.6.0.2 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.2.0.2 pkgsrc-2025Q3-base:1.2; locks; strict; comment @# @; 1.20 date 2026.10.07.22.44.26; author wiz; state Exp; branches; next 1.19; commitid 71h7bImBLr9c7BYG; 1.19 date 2026.09.29.06.05.49; author wiz; state Exp; branches; next 1.18; commitid qal4xgy1mkCzPtXG; 1.18 date 2026.09.27.11.36.53; author tnn; state Exp; branches; next 1.17; commitid QJQtnAYom0oZIfXG; 1.17 date 2026.09.26.09.43.06; author wiz; state Exp; branches; next 1.16; commitid CpawVrFD4X5797XG; 1.16 date 2026.09.02.19.02.46; author wiz; state Exp; branches; next 1.15; commitid vXszxoxOqka005UG; 1.15 date 2026.08.03.18.10.26; author wiz; state Exp; branches; next 1.14; commitid K3MPIpAx3GZKGdQG; 1.14 date 2026.06.24.21.58.39; author wiz; state Exp; branches; next 1.13; commitid diJn75FSFKaKe6LG; 1.13 date 2026.06.23.09.37.00; author wiz; state Exp; branches; next 1.12; commitid BTFhsfVEhYrkaUKG; 1.12 date 2026.06.20.13.02.50; author wiz; state Exp; branches; next 1.11; commitid EPgTa7Wski4OoxKG; 1.11 date 2026.05.14.16.41.14; author ryoon; state Exp; branches; next 1.10; commitid tKipFjQKzke3NNFG; 1.10 date 2026.04.20.18.14.08; author adam; state Exp; branches; next 1.9; commitid 1UcBUbNUfJIk5JCG; 1.9 date 2026.02.06.10.05.02; author wiz; state Exp; branches; next 1.8; commitid MwQEYCXeWSFvIitG; 1.8 date 2026.01.27.08.39.45; author wiz; state Exp; branches; next 1.7; commitid f4MYtJVcsY7dz0sG; 1.7 date 2026.01.07.08.47.23; author wiz; state Exp; branches; next 1.6; commitid 1wQ3ICD8eebefrpG; 1.6 date 2025.10.31.22.44.40; author hauke; state Exp; branches; next 1.5; commitid 0EECRrK3SgON3MgG; 1.5 date 2025.10.23.20.37.39; author wiz; state Exp; branches; next 1.4; commitid 1V2hBZn9ypXaCJfG; 1.4 date 2025.10.05.19.26.03; author js; state Exp; branches; next 1.3; commitid U70EDQkwOmfbOpdG; 1.3 date 2025.09.21.15.11.39; author wiz; state Exp; branches; next 1.2; commitid nPOz5pyNJXIbRAbG; 1.2 date 2025.08.30.22.45.27; author wiz; state Exp; branches; next 1.1; commitid 2izPxU30rhec4O8G; 1.1 date 2025.08.20.16.47.24; author schmonz; state Exp; branches; next ; commitid yMQKwyuvhyoSpu7G; desc @@ 1.20 log @libvips: update to 8.18.7. Fix test target. 20/9/26 8.18.7 - tiffload: copy colormaps on page load [Ada Logics] - buildlut: limit output lut size [Ada Logics] - tiffload: check for undersized jp2k tiles [Ada Logics] - hough_line: improve bounds check [Ada Logics] - pdfiumload: check for buffer too small [Ada Logics] - tiffload: check rgba settings between directories [Tanto Security] - uhdrload: calculate gain map scale factor using round-to-nearest [lovell] - jp2ksave: tag as UNTRUSTED [kleisauke] - header: only parse EXIF metadata for blob values [Shopify] - jp2kload: more size validation [Akokonunes] 25/8/26 8.18.6 - openexrload: more validation [Hygge Halcyon] - heifload: tag as UNTRUSTED for libheif before 1.23.2 3/8/26 8.18.5 - maplut: fix possible OOB read with complex images [sage-mode-hunter] - measure: verify image region is larger than patch count [lovell] - matload: more specific Matlab detection - reduceh: fix potential incorrect output with Highway < 1.1.0 [dloebl] - jxlsave: ensure EXIF data is freed on error [kleisauke] - icc_ac2rc: ensure ICC profile is closed on error [kleisauke] - buildlut: guard against NaN values [kleisauke] - tiffsave: better xyz handling [har-pi] - more use of vips_image_decode() [har-pi] - quantise: better conversion to rgba [har-pi] - jp2kload: support palette images [Socialpranker] - buildlut: better final write calculation [har-pi] 5/7/26 8.18.4 - heifload: raise security limits on references [caseywebdev] - tiffload: squash out read errors in openin_source_read [aleens-labs] - jxlsave: convert CMYK images to sRGB [DarthSim] - heifload: fix `-Winteger-overflow` warning on 32-bit platforms [kleisauke] - object: guard against non-input arguments [kleisauke] - enumtypes: avoid misuse of `G_GNUC_CONST` for GCC 17 compat [kleisauke] 6/6/26 8.18.3 - invertlut: verify input mask positions [lovell] - bandjoin_const: fix possible OOB read with RAD/LABQ images [kleisauke] - edge: ensure parent object is built [lovell] - object: guard against invalid interpolators [kleisauke] - foreign: guard against NULL filenames [kleisauke] - stdif: expand input by one column [lovell] - dcrawload: add support for non-square pixels [jcupitt] - image_sanity: ensure scanlines fit in INT_MAX [Niels Provos] - rank: expand input by one column [kleisauke] - hist_local: expand input by one column [kleisauke] - fix possible null-pointer dereference in quantizr backend [felixbuenemann] - jp2ksave: fix OOB read during chroma subsampling [dloebl] - jp2ksave: prevent heap buffer overflow on non-RGB images [dloebl] - heifload: tighten limits on memory use [provos] - boolean: fix heap-buffer-overflow in lshift [dloebl] - magickload: check animation height [Himanshu Anand] - source: fix max/min confusion [Himanshu Anand] - uhdrsave: use macro to size buffer [Himanshu Anand] - draw_mask: fix support for packed LABQ images [lovell] - reduceh: fix possible OOB read in Highway path [kleisauke] - buildlut: check upper bound of x range [lovell] - jxl: ensure status codes are propagated [lovell] - archive: fix compatibility with MSVC [eunos-1128] - ppmload: check image dimensions [lovell] - thumbnail: better pyr detection [Niels Provos] - jpegsave: fix scrgb save with uhdr disabled [jcupitt] 31/3/26 8.18.2 - convolution: avoid using unsigned accumulators [nakrovati] - exif: check ifdN range [trailofbits] - tiffload: check jpeg and jp2k components [wooseokdotkim] - uhdrsave: set Q for gainmap recompress, don't chroma subsample RGB gainmaps - uhdrsave: prevent early unref of image with alpha channel [lovell] - rad2float: limit band count when converting from radiance [lovell] - jxlload: check EXIF buffer size before reading header [lovell] 18/3/26 8.18.1 - vector: mask supported Highway targets by builtin targets [kleisauke] - fix Highway paths on big-endian targets [kleisauke] - fix build with MSVC [star-hengxing] - fix compatibility with glibc 2.43 [mtasaka] - pngload: avoid an expensive check during header read [kleisauke] - improve vips7 JPEG load compatibility [kleisauke] - fix saving 3-band MATRIX images [kleisauke] - uhdrload: expose original gainmap scale factor [lovell] - uhdrsave: control generated gainmap scale factor [lovell] - source: guard against length truncation [Niebelungen-D] - shrinkh: fix possible OOB read in Highway path [dloebl] [kleisauke] - string_to_array_double: ensure delimiter list is consistent [dloebl] [lovell] - fix loading/saving of non-8-bit JXL images [DarthSim] - invertlut: check height before interpolating values [dloebl] [lovell] - extract: check bounds using unsigned arithmetic [Niebelungen-D] [lovell] - matrixload: guard against empty and very large inputs [Niebelungen-D] [lovell] - unpremultiply: check `alpha_band` is in range [Niebelungen-D] [lovell] - maplut: ensure lookup table index is unsigned [dloebl] [lovell] - fwfft: fix heap-buffer-overflow for single-row images [dloebl] - draw_flood: reject out-of-bounds start point [dloebl] - openexrload: fix a leak with invalid images [kleisauke] - canny: fix UB in atan2 lookup table init [dloebl] [kleisauke] - conva: guard against divide by zero [kleisauke] - csvload: check whitespace and separator are ASCII [Niebelungen-D] [lovell] - bandrank: check `index` is in range [Niebelungen-D] [lovell] - remainder_const: guard against divide by zero [kleisauke] - vips_window_take: prevent int underflow for small mapped images [jcupitt] - composite: fix UB (invalid-enum-value) in `->build()` [kleisauke] - add: prevent possible int overflow [kleisauke] - bandmean: prevent possible int overflow [kleisauke] - fastcor: prevent possible int overflow [kleisauke] - multiply: prevent possible int overflow [kleisauke] - subtract: prevent possible int overflow [kleisauke] - hist_cum: prevent possible int overflow [kleisauke] - convasep: prevent possible int overflow [kleisauke] - conva: prevent possible int overflow [kleisauke] - convi: prevent possible int overflow [kleisauke] - draw_circle: prevent possible int overflow [kleisauke] - csvload: guard against negative index access [kleisauke] - convi: guard against invalid shift [kleisauke] - nary: guard against empty input [kleisauke] - maplut: add missing overflow checks [kleisauke] - jpegsave: fix assert fail when saving 2-band image [kleisauke] - LabS2LabQ: fix UB (undefined-shift) [kleisauke] - convasep: use unsigned accumulator where appropriate [kleisauke] - min: fix possible OOB read with complex images [kleisauke] - max: fix possible OOB read with complex images [kleisauke] - guard against dimension overflow [ElhananHaenel] [kleisauke] - gifload: prevent int overflow on 32-bit platforms [ElhananHaenel] [kleisauke] - sign: use ready image instead of `unary->in` [kleisauke] - statistic: use ready image instead of `statistic->in` [kleisauke] - hist_plot: handle near-zero ranges for float images [kleisauke] - affine: check bounds using unsigned arithmetic [kleisauke] 17/12/25 8.18.0 - add dcrawload, dcrawload_source, dcrawload_buffer: load raw camera files using libraw [lxsameer] - add magickload_source: load from a source with imagemagick - add vips__worker_exit(): enables fast threadpool shutdown - larger mmap windows on 64-bit machines improve random access mode for many file formats - pdfload: control region to be rendered via `page_box` [lovell] - system: add "cache" argument - add vips_image_get_tile_width(), vips_image_get_tile_height(): get tile cache geometry hints [jbaiter] - add vips_uhdrload(), vips_uhdrload_buffer(), vips_uhdrload_source(): load an UltraHDR image - add vips_uhdrsave(), vips_uhdrsave_buffer(), vips_uhdrsave_target(): save an UltraHDR image - fix cpp binding leak [VivitionDeveloper] - add "gainmap" to VipsKeep - add vips_image_get_gainmap() - thumbnail updates gainmaps - add "bitdepth" to jxlsave - add "path" option to vipsthumbnail, deprecate "output" option [zjturner] - add "exact" to webpsave - add "uhdr2scRGB" - dzsave has gainmap support - cpp: add .gainmap(), .set(VImage) - add support for Oklab and Oklch colourspaces - add vips_Oklab2XYZ(), vips_XYZ2Oklab() - add vips_Oklab2Oklch(), vips_OKlch2Oklab() - add vips_interpretation_bands() - heifsave: add "tune" parameter - require C++14 as a minimum standard [kleisauke] - prefer libpng over spng 8.17.4 - vipsthumbnail: fix pyramidal image layer selection [esiqveland] - tools: fix possible deadlock during process exit on win32 - fix temp dir handling on win32 with Unicode usernames [kleisauke] - pngsave, ppmsave: support for more image interpretations [gcsideal] 30/10/25 8.17.3 - tiffsave: fix saved resolution with a non-default resolution-unit metadata item [machur] - svgload: ensure short/malformed compressed input is ignored [kleisauke,lovell] - dzsave: Zoomify: ensure correct tile count in ImageProperties.xml [kleisauke] - VipsSaveable: reimplement with macros to help C++ compat [jcupitt] @ text @# $NetBSD: Makefile,v 1.19 2026/09/29 06:05:49 wiz Exp $ DISTNAME= vips-8.18.7 PKGNAME= lib${DISTNAME} CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_GITHUB:=libvips/} GITHUB_RELEASE= v${PKGVERSION_NOREV} EXTRACT_SUFX= .tar.xz MAINTAINER= base@@atomicules.co.uk HOMEPAGE= https://libvips.github.io/libvips/ COMMENT= Demand-driven, horizontally threaded image processing lib LICENSE= gnu-lgpl-v2.1 USE_TOOLS+= pkg-config msgfmt xgettext USE_LANGUAGES= c c++ PYTHON_FOR_BUILD_ONLY= tool REPLACE_PYTHON+= cplusplus/gen-operators.py REPLACE_PYTHON+= doc/gen-function-list.py PKGCONFIG_OVERRIDE_STAGE= pre-install PKGCONFIG_OVERRIDE+= output/meson-private/vips-cpp.pc PKGCONFIG_OVERRIDE+= output/meson-private/vips.pc TEST_ENV+= LD_LIBRARY_PATH=${WRKSRC}/output/libvips # disable examples and deprecated interfaces MESON_ARGS+= -Ddeprecated=false -Dexamples=false # disable relro otherwise it'll crash on NetBSD: # https://github.com/libvips/libvips/issues/3977 and # https://mail-index.netbsd.org/netbsd-bugs/2023/12/26/msg080904.html RELRO_SUPPORTED= no PRINT_PLIST_AWK+= { gsub(/^lib\/vips-modules-.+\/vips-poppler\.so$$/, "$${PLIST.x11}&"); } .include "options.mk" .include "../../devel/meson/build.mk" .include "../../lang/python/application.mk" .include "../../lang/python/tool.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../graphics/lerc/buildlink3.mk" .include "../../graphics/libexif/buildlink3.mk" .include "../../graphics/libheif/buildlink3.mk" .include "../../graphics/libjxl/buildlink3.mk" .include "../../graphics/libwebp/buildlink3.mk" .include "../../graphics/openexr/buildlink3.mk" .include "../../graphics/openjpeg/buildlink3.mk" .include "../../graphics/tiff/buildlink3.mk" .include "../../graphics/png/buildlink3.mk" .include "../../mk/jpeg.buildlink3.mk" .include "../../textproc/expat/buildlink3.mk" .include "../../devel/glib2/buildlink3.mk" .include "../../textproc/libxml2/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.19 log @*: recursive bump for pcre2 10.49 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.18 2026/09/27 11:36:53 tnn Exp $ d3 1 a3 1 DISTNAME= vips-8.17.2 a4 1 PKGREVISION= 13 d25 2 @ 1.18 log @*: revbump for pcre2 symbol versioning change @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.17 2026/09/26 09:43:06 wiz Exp $ d5 1 a5 1 PKGREVISION= 12 @ 1.17 log @*: recursive bump for OpenJPH @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.16 2026/09/02 19:02:46 wiz Exp $ d5 1 a5 1 PKGREVISION= 11 @ 1.16 log @*: recursive bump for pcre2 10.48 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.15 2026/08/03 18:10:26 wiz Exp $ d5 1 a5 1 PKGREVISION= 10 @ 1.15 log @*: recursive bump for OpenJPH @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.14 2026/06/24 21:58:39 wiz Exp $ d5 1 a5 1 PKGREVISION= 9 @ 1.14 log @*: recursive bump for poppler 26.06.0 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.13 2026/06/23 09:37:00 wiz Exp $ d5 1 a5 1 PKGREVISION= 8 @ 1.13 log @*: recursive bump for OpenJPH @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.12 2026/06/20 13:02:50 wiz Exp $ d5 1 a5 1 PKGREVISION= 7 @ 1.12 log @*: recursive bump for OpenJPH 0.28 The upgrade only bumped the shlib minor but there is no symlink for the major so this version is recorded. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2026/05/14 16:41:14 ryoon Exp $ d5 1 a5 1 PKGREVISION= 6 @ 1.11 log @*: Recursive revbump from security/nettle-4.0 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2026/04/20 18:14:08 adam Exp $ d5 1 a5 1 PKGREVISION= 5 @ 1.10 log @revbump for x265 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2026/02/06 10:05:02 wiz Exp $ d5 1 a5 1 PKGREVISION= 4 @ 1.9 log @*: recursive bump for nettle 4.0 shlib major bump @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2026/01/27 08:39:45 wiz Exp $ d5 1 a5 1 PKGREVISION= 3 @ 1.8 log @*: recursive bump for removal of cairo's xcb option @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2026/01/07 08:47:23 wiz Exp $ d5 1 a5 1 PKGREVISION= 2 @ 1.7 log @*: recursive bump for icu 78.1 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2025/10/31 22:44:40 hauke Exp $ d5 1 a5 1 PKGREVISION= 1 @ 1.6 log @graphics/libvips : Update to 8.17.2 Add an x11 option for building the package without dependencies that mandate X11 (poppler, librsvg), as suggested by package maintainer. Drop the libtiff option, it is roped in by dependencies already. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2025/10/23 20:37:39 wiz Exp $ d5 1 @ 1.5 log @*: recursive bump for pcre2 Running an old binary against the new pcre doesn't work: /usr/pkg/lib/libpcre2-8.so.0: version PCRE2_10.47 required by /usr/pkg/lib/libglib-2.0.so.0 not defined @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2025/10/05 19:26:03 js Exp $ d3 1 a3 1 DISTNAME= vips-8.17.1 a4 1 PKGREVISION= 4 a14 3 # disable examples and deprecated interfaces MESON_ARGS+= -Ddeprecated=false -Dexamples=false d25 3 d33 2 a44 1 .include "../../graphics/librsvg/buildlink3.mk" d48 1 a50 1 .include "../../print/poppler/buildlink3.mk" @ 1.4 log @*: rev bump for curl @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2025/09/21 15:11:39 wiz Exp $ d5 1 a5 1 PKGREVISION= 3 @ 1.3 log @*: recursive bump for openexr 3.4.0 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2025/08/30 22:45:27 wiz Exp $ d5 1 a5 1 PKGREVISION= 2 @ 1.2 log @*: recursive bump for tiff growing lerc dependency @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2025/08/20 16:47:24 schmonz Exp $ d5 1 a5 1 PKGREVISION= 1 @ 1.1 log @Add libvips: Demand-driven, horizontally threaded image processing lib libvips is a 2D image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. libvips is licensed under the LGPL 2.1+ It has around 300 operations covering arithmetic, histograms, convolutions, morphological operations, frequency filtering, colour, resampling, statistics and others. It supports a large range of numeric formats, from 8-bit int to 128-bit complex. It supports a good range of image formats, including JPEG, TIFF, PNG, WebP, FITS, Matlab, OpenEXR, DeepZoom, and OpenSlide. It can also load images via ImageMagick or GraphicsMagick. It has APIs for C and C++ and comes with a Python binding and a command-line interface. Bindings are available for Ruby, JavaScript and others. @ text @d1 1 a1 1 # $NetBSD$ d5 1 @