summaryrefslogtreecommitdiff
path: root/graphics/libavif/Makefile
blob: 6c7729de2c8d7f2e1932cbe7267eeccf63ea8831 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
PORTNAME=	libavif
PORTVERSION=	1.3.0
DISTVERSIONPREFIX=	v
PORTREVISION=	2
CATEGORIES=	graphics

MAINTAINER=	sunpoet@FreeBSD.org
COMMENT=	Library for encoding and decoding .avif files
WWW=		https://github.com/AOMediaCodec/libavif

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

LIB_DEPENDS=	libpng.so:graphics/png \
		libyuv.so:graphics/libyuv
TEST_DEPENDS=	bash:shells/bash \
		googletest>=0:devel/googletest

USES=		cmake:testing compiler:c11 cpe jpeg pkgconfig

CMAKE_ARGS=	-DAVIF_GTEST=OFF \
		-DAVIF_FUZZTEST=OFF \
		-DAVIF_JPEG=SYSTEM \
		-DAVIF_LIBYUV=SYSTEM \
		-DAVIF_ZLIBPNG=SYSTEM
CMAKE_OFF=	AVIF_BUILD_EXAMPLES \
		AVIF_BUILD_TESTS
CMAKE_ON=	AVIF_BUILD_APPS
CMAKE_TESTING_ARGS=	-DAVIF_GTEST=SYSTEM
CMAKE_TESTING_ON=	AVIF_BUILD_TESTS
LDFLAGS+=	-lm
USE_LDCONFIG=	yes

USE_GITHUB=	yes
GH_ACCOUNT=	AOMediaCodec
GH_TUPLE=	kmurray:libargparse:ee74d1b:kmurray_libargparse/../.build/_deps/libargparse-src

CPE_VENDOR=	aomedia

OPTIONS_DEFINE=	LIBSHARPYUV LIBXML2 MANPAGES PIXBUF
OPTIONS_GROUP=	AV1
OPTIONS_GROUP_AV1=	AOM DAV1D GAV1 RAV1E SVTAV1
OPTIONS_DEFAULT=AOM DAV1D PIXBUF
OPTIONS_SUB=	yes
AOM_DESC=		AV1 encoding/decoding via libaom
DAV1D_DESC=		AV1 decoding via libdav1d
GAV1_DESC=		AV1 decoding via libgav1
LIBSHARPYUV_DESC=	Colorspace conversion via libsharpyuv
MANPAGES_DESC=		Install manpages (requires pandoc)
RAV1E_DESC=		AV1 encoding via librav1e
SVTAV1_DESC=		AV1 encoding via SVT-AV1

AOM_CMAKE_OFF=		-DAVIF_CODEC_AOM=OFF
AOM_CMAKE_ON=		-DAVIF_CODEC_AOM=SYSTEM
AOM_LIB_DEPENDS=	libaom.so:multimedia/aom
DAV1D_CMAKE_OFF=	-DAVIF_CODEC_DAV1D=OFF
DAV1D_CMAKE_ON=		-DAVIF_CODEC_DAV1D=SYSTEM
DAV1D_LIB_DEPENDS=	libdav1d.so:multimedia/dav1d
GAV1_CMAKE_OFF=		-DAVIF_CODEC_LIBGAV1=OFF
GAV1_CMAKE_ON=		-DAVIF_CODEC_LIBGAV1=SYSTEM
GAV1_LIB_DEPENDS=	libgav1.so:multimedia/libgav1
LIBSHARPYUV_CMAKE_OFF=	-DAVIF_LIBSHARPYUV=OFF
LIBSHARPYUV_CMAKE_ON=	-DAVIF_LIBSHARPYUV=SYSTEM
LIBSHARPYUV_LIB_DEPENDS=libsharpyuv.so:graphics/webp
MANPAGES_BUILD_DEPENDS=	pandoc:textproc/hs-pandoc
MANPAGES_CMAKE_BOOL=	AVIF_BUILD_MAN_PAGES
PIXBUF_CMAKE_BOOL=	AVIF_BUILD_GDK_PIXBUF
PIXBUF_USE=		GNOME=gdkpixbuf
PIXBUF_USES=		gnome
RAV1E_CMAKE_OFF=	-DAVIF_CODEC_RAV1E=OFF
RAV1E_CMAKE_ON=		-DAVIF_CODEC_RAV1E=SYSTEM
RAV1E_LIB_DEPENDS=	librav1e.so:multimedia/librav1e
SVTAV1_CMAKE_OFF=	-DAVIF_CODEC_SVT=OFF
SVTAV1_CMAKE_ON=	-DAVIF_CODEC_SVT=SYSTEM
SVTAV1_LIB_DEPENDS=	libSvtAv1Enc.so:multimedia/svt-av1
LIBXML2_CMAKE_OFF=	-DAVIF_LIBXML2=OFF
LIBXML2_CMAKE_ON=	-DAVIF_LIBXML2=SYSTEM
LIBXML2_USE=		GNOME=libxml2
LIBXML2_USES=		gnome

post-patch:
# Clean up bundled libraries
	@${RM} -r ${WRKSRC}/third_party/libyuv/

.include <bsd.port.mk>