1PORTNAME=	vips
2PORTVERSION=	8.18.2
3CATEGORIES=	graphics
4MASTER_SITES=	https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/
5
6MAINTAINER=	ports@MidnightBSD.org
7COMMENT=	Free image processing system
8WWW=		https://www.libvips.org/ \
9		https://github.com/libvips/libvips
10
11LICENSE=	lgpl2.1
12LICENSE_FILE=	${WRKSRC}/LICENSE
13
14LIB_DEPENDS=	libexpat.so:textproc/expat2 \
15		libfreetype.so:print/freetype2 \
16		libharfbuzz.so:print/harfbuzz
17RUN_DEPENDS=	bash:shells/bash
18
19USES=		compiler:c++14-lang cpe gettext-tools gnome localbase meson pkgconfig python tar:xz
20USE_GNOME=	glib20
21
22BINARY_ALIAS=	python3=${PYTHON_CMD}
23MESON_ARGS=	--default-library=both \
24		-Danalyze=true \
25		-Dcplusplus=true \
26		-Dcpp-docs=false \
27		-Ddeprecated=true \
28		-Dexamples=true \
29		-Dmodules=disabled \
30		-Dnifti=disabled \
31		-Dnsgif=true \
32		-Dopenslide=disabled \
33		-Dpdfium=disabled \
34		-Dppm=true \
35		-Dquantizr=disabled \
36		-Dradiance=true \
37		-Dvapi=false \
38		-Dzlib=enabled
39USE_LDCONFIG=	yes
40
41PLIST_SUB=	VERSION=${PORTVERSION:R}
42
43OPTIONS_DEFINE=	CFITSIO DOCS FFTW FONTCONFIG GIF HEIF IMAGEQUANT JPEG JXL LCMS2 LIBARCHIVE LIBEXIF LIBRSVG2 MATIO OPENEXR PANGO PNG POPPLER RAW SPNG TIFF UHDR WEBP
44OPTIONS_RADIO=	MAGICK SIMD
45OPTIONS_RADIO_MAGICK=	IMAGEMAGICK GRAPHICSMAGICK
46OPTIONS_RADIO_SIMD=	HIGHWAY ORC
47OPTIONS_DEFAULT=CFITSIO FFTW FONTCONFIG GIF HEIF HIGHWAY IMAGEMAGICK JPEG JXL LCMS2 LIBARCHIVE LIBEXIF LIBRSVG2 MATIO OPENEXR PANGO PNG POPPLER RAW SPNG TIFF UHDR WEBP
48FONTCONFIG_IMPLIES=	PANGO
49LIBARCHIVE_DESC=Save image pyramid via libarchive
50HIGHWAY_DESC=	SIMD support via Highway (preferred)
51IMAGEQUANT_DESC=Image Quantization support
52GRAPHICSMAGICK_DESC=	Image processing via GraphicsMagick
53MATIO_DESC=	Matlab MAT format support
54ORC_DESC=	Accelerate loops with ORC
55SPNG_DESC=	Simple PNG support
56UHDR_DESC=	Ultra HDR support
57
58CFITSIO_LIB_DEPENDS=	libcfitsio.so:astro/cfitsio
59CFITSIO_MESON_ENABLED=	cfitsio
60DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gi-docgen>=0:textproc/py-gi-docgen@${PY_FLAVOR}
61DOCS_MESON_ENABLED=	introspection
62DOCS_MESON_TRUE=	docs
63DOCS_USE=		GNOME=introspection:build
64FFTW_LIB_DEPENDS=	libfftw3.so:math/fftw3
65FFTW_MESON_ENABLED=	fftw
66FONTCONFIG_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig
67FONTCONFIG_MESON_ENABLED=	fontconfig
68GIF_BUILD_DEPENDS=	cgif>=0.2.0:graphics/cgif
69GIF_LIB_DEPENDS=	libcgif.so:graphics/cgif
70GIF_MESON_ENABLED=	cgif
71GRAPHICSMAGICK_LIB_DEPENDS=	libGraphicsMagick.so:graphics/GraphicsMagick@${FLAVOR}
72GRAPHICSMAGICK_MESON_ON=-Dmagick=enabled -Dmagick-package=GraphicsMagick
73HEIF_BUILD_DEPENDS=	libheif>=1.4.0:graphics/libheif
74HEIF_LIB_DEPENDS=	libheif.so:graphics/libheif
75HEIF_MESON_ENABLED=	heif
76HIGHWAY_BUILD_DEPENDS=	highway>=1.0.5:devel/highway
77HIGHWAY_LIB_DEPENDS=	libhwy.so:devel/highway
78HIGHWAY_MESON_ENABLED=	highway
79IMAGEMAGICK_MESON_ON=	-Dmagick=enabled -Dmagick-package=MagickCore
80IMAGEMAGICK_USES=	magick:${FLAVOR}
81IMAGEQUANT_LIB_DEPENDS=	libimagequant.so:graphics/libimagequant
82IMAGEQUANT_MESON_ENABLED=	imagequant
83JPEG_BUILD_DEPENDS=	openjpeg>=2.4:graphics/openjpeg
84JPEG_LIB_DEPENDS=	libopenjp2.so:graphics/openjpeg
85JPEG_MESON_ENABLED=	jpeg openjpeg
86JPEG_USES=		jpeg
87JXL_BUILD_DEPENDS=	libjxl>=0.6:graphics/libjxl
88JXL_LIB_DEPENDS=	libjxl.so:graphics/libjxl
89JXL_MESON_ENABLED=	jpeg-xl
90LCMS2_LIB_DEPENDS=	liblcms2.so:graphics/lcms2
91LCMS2_MESON_ENABLED=	lcms
92LIBEXIF_BUILD_DEPENDS=	libexif>=0.6:graphics/libexif
93LIBEXIF_LIB_DEPENDS=	libexif.so:graphics/libexif
94LIBEXIF_MESON_ENABLED=	exif
95LIBARCHIVE_BUILD_DEPENDS=	libarchive>=3.0.0:archivers/libarchive
96LIBARCHIVE_MESON_ENABLED=	archive
97LIBARCHIVE_USES=	libarchive
98LIBRSVG2_MESON_ENABLED=	rsvg
99LIBRSVG2_USE=		GNOME=cairo,librsvg2
100MATIO_LIB_DEPENDS=	libmatio.so:math/matio
101MATIO_MESON_ENABLED=	matio
102OPENEXR_BUILD_DEPENDS=	openexr>=1.2.2:graphics/openexr
103OPENEXR_LIB_DEPENDS=	libOpenEXR.so:graphics/openexr
104OPENEXR_MESON_ENABLED=	openexr
105ORC_BUILD_DEPENDS=	orc>=0.4.31:devel/orc
106ORC_LIB_DEPENDS=	liborc-0.4.so:devel/orc
107ORC_MESON_ENABLED=	orc
108PANGO_MESON_ENABLED=	pangocairo
109PANGO_USE=		GNOME=pango
110PNG_BUILD_DEPENDS=	png>=1.2.9:graphics/png
111PNG_LIB_DEPENDS=	libpng.so:graphics/png
112PNG_MESON_ENABLED=	png
113POPPLER_LIB_DEPENDS=	libpoppler-glib.so:graphics/poppler-glib
114POPPLER_MESON_ENABLED=	poppler
115POPPLER_USE=		GNOME=cairo
116RAW_LIB_DEPENDS=	libraw.so:graphics/libraw
117RAW_MESON_ENABLED=	raw
118SPNG_BUILD_DEPENDS=	libspng>=0.7:graphics/libspng
119SPNG_LIB_DEPENDS=	libspng.so:graphics/libspng
120SPNG_MESON_ENABLED=	spng
121TIFF_LIB_DEPENDS=	libtiff.so:graphics/tiff
122TIFF_MESON_ENABLED=	tiff
123UHDR_LIB_DEPENDS=	libuhdr.so:graphics/libultrahdr
124UHDR_MESON_ENABLED=	uhdr
125WEBP_BUILD_DEPENDS=	webp>=0.6:graphics/webp
126WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
127WEBP_MESON_ENABLED=	webp
128
129.include <bsd.mport.options.mk>
130
131.if !${PORT_OPTIONS:MGRAPHICSMAGICK} && !${PORT_OPTIONS:MIMAGEMAGICK}
132MESON_ARGS+=	-Dmagick=disabled
133.endif
134
135.include <bsd.port.mk>
136