1PORTNAME=	GraphicsMagick
2PORTVERSION=	1.3.43
3PORTREVISION=	1
4PORTEPOCH=	1
5CATEGORIES=	graphics
6MASTER_SITES=	SF
7
8MAINTAINER=	ports@MidnightBSD.org
9COMMENT=	Fast image processing tools based on ImageMagick
10WWW=		https://graphicsmagick.sourceforge.io/ \
11		http://www.graphicsmagick.org/
12
13LICENSE=	mit
14
15USES=		cpe libtool localbase pathfix pkgconfig tar:xz
16
17CONFIGURE_ARGS=	--enable-shared --enable-static \
18		--with-windows-font-dir=${WINDOWS_FONT_DIR} \
19		--without-dps --without-gdi32 --without-perl --without-trio
20CONFIGURE_ENV=	PTHREAD_LIBS=-lpthread
21GNU_CONFIGURE=	yes
22INSTALL_TARGET=	install-strip
23TEST_TARGET=	check
24USE_LDCONFIG=	yes
25
26NO_TEST=	yes
27
28PORTSCOUT=	limit:^[0-9]\.[0-9]\.[1-9][0-9\]*$$
29
30# Use fonts installed by x11-fonts/webfonts by default
31WINDOWS_FONT_DIR?=	${LOCALBASE}/share/fonts/webfonts
32
33OPTIONS_DEFINE=	BZIP2 DOCS FPX FREETYPE HEIF JASPER JBIG JPEG JXL LCMS2 LZMA OPENMP Q8BIT PNG TEST TIFF WEBP WMF X11 XML ZLIB ZSTD
34OPTIONS_DEFAULT=BZIP2 FREETYPE JASPER JBIG JPEG JXL LCMS2 LZMA OPENMP PNG TIFF WEBP WMF X11 XML ZLIB
35Q8BIT_DESC=	Use 8-bit pixels (speed) instead of 16-bit (quality)
36TEST_DESC=	Run bundled self-tests after build
37
38BZIP2_CONFIGURE_WITH=	bzlib
39FPX_CONFIGURE_WITH=	fpx
40FPX_LDFLAGS=		-L${LOCALBASE}/lib -lfpx
41FPX_LIB_DEPENDS=	libfpx.so:graphics/libfpx
42FREETYPE_CONFIGURE_WITH=ttf
43FREETYPE_LIB_DEPENDS=	libfreetype.so:print/freetype2
44HEIF_CONFIGURE_WITH=	heif
45HEIF_LIB_DEPENDS=	libheif.so:graphics/libheif
46JASPER_CONFIGURE_WITH=	jp2
47JASPER_LIB_DEPENDS=	libjasper.so:graphics/jasper
48JBIG_CONFIGURE_WITH=	jbig
49JBIG_LIB_DEPENDS=	libjbig.so:graphics/jbigkit
50JPEG_CONFIGURE_WITH=	jpeg
51JPEG_USES=		jpeg
52JXL_CONFIGURE_WITH=	jxl
53JXL_LIB_DEPENDS=	libjxl.so:graphics/libjxl
54LCMS2_CONFIGURE_WITH=	lcms2
55LCMS2_LIB_DEPENDS=	liblcms2.so:graphics/lcms2
56LZMA_CONFIGURE_WITH=	lzma
57OPENMP_CONFIGURE_OFF=	--disable-openmp --without-threads
58OPENMP_CONFIGURE_ON=	--disable-openmp-slow --enable-openmp --with-threads
59PNG_CONFIGURE_WITH=	png
60PNG_LIB_DEPENDS=	libpng.so:graphics/png
61Q8BIT_CONFIGURE_OFF=	--with-quantum-depth=16
62Q8BIT_CONFIGURE_ON=	--with-quantum-depth=8
63Q8BIT_PLIST_SUB=	Q=8
64Q8BIT_PLIST_SUB_OFF=	Q=16
65TEST_BUILD_DEPENDS=	webfonts>=0:x11-fonts/webfonts
66TEST_RUN_DEPENDS=	webfonts>=0:x11-fonts/webfonts
67TIFF_CONFIGURE_WITH=	tiff
68TIFF_LIB_DEPENDS=	libtiff.so:graphics/tiff
69WEBP_CONFIGURE_WITH=	webp
70WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
71WMF_CONFIGURE_WITH=	wmf
72X11_CONFIGURE_OFF=	ac_cv_lib_ICE_IceConnectionNumber=no
73X11_CONFIGURE_WITH=	x
74X11_USES=		xorg
75X11_USE=		XORG=ice,sm,x11,xext
76XML_CONFIGURE_WITH=	xml
77XML_USE=		GNOME=libxml2
78XML_USES=		gnome
79ZLIB_CONFIGURE_WITH=	zlib
80ZSTD_CONFIGURE_WITH=	zstd
81ZSTD_LIB_DEPENDS=	libzstd.so:archivers/zstd
82
83.include <bsd.mport.options.mk>
84
85.if ${PORT_OPTIONS:MOPENMP}
86.if ${ARCH} != aarch64 && ${ARCH} != amd64 && ${ARCH} != i386 && ${ARCH} != powerpc64 && ${ARCH} != powerpc64le && ${ARCH} != riscv64
87USES+=		compiler:gcc-c++11-lib
88.endif
89.endif
90
91.if ${PORT_OPTIONS:MWMF}
92.if ${PORT_OPTIONS:MX11}
93LIB_DEPENDS+=	libwmflite.so:graphics/libwmf
94.else
95LIB_DEPENDS+=	libwmflite.so:graphics/libwmf-nox11
96.endif
97.endif
98
99post-install-Q8BIT-off:
100	${MKDIR} ${FAKE_DESTDIR}${PREFIX}/lib/GraphicsMagick/modules-Q16/coders ${PREFIX}/lib/GraphicsMagick/modules-Q16/filters
101
102post-install-Q8BIT-on:
103	${MKDIR} ${FAKE_DESTDIR}${PREFIX}/lib/GraphicsMagick/modules-Q8/coders ${PREFIX}/lib/GraphicsMagick/modules-Q8/filters
104
105.include <bsd.port.mk>
106