aboutsummaryrefslogtreecommitdiff
path: root/graphics/libplacebo/Makefile
blob: 73c0ac531184b8b0438731a7a287c24b575f0f2f (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
PORTNAME=	libplacebo
DISTVERSIONPREFIX=	v
DISTVERSION=	5.264.0
CATEGORIES=	graphics

MAINTAINER=	jbeich@FreeBSD.org
COMMENT=	Reusable library for GPU-accelerated video/image rendering
WWW=		https://code.videolan.org/videolan/libplacebo

LICENSE=	LGPL21+
LICENSE_FILE=	${WRKSRC}/LICENSE

USES=		compiler:c11 localbase:ldflags meson pkgconfig python:3.6+,build
USE_GITHUB=	yes
USE_LDCONFIG=	yes
GH_ACCOUNT=	haasn
MESON_ARGS=	-Ddemos=false

OPTIONS_DEFINE=	LCMS2 LIBUNWIND OPENGL TEST VULKAN
OPTIONS_DEFAULT=LCMS2 LIBUNWIND OPENGL SHADERC
OPTIONS_SINGLE=	VULKAN
OPTIONS_SINGLE_VULKAN=	GLSLANG SHADERC
OPTIONS_EXCLUDE+=	${ARCH:Naarch64:Namd64:Narmv[67]:Ni386:Npowerpc64:Npowerpc64le:Nx86_64:C/.+/LIBUNWIND/}
OPTIONS_SUB=	yes

GLSLANG_DESC=		glslang SPIR-V compiler
GLSLANG_BUILD_DEPENDS=	glslang>0:graphics/glslang
GLSLANG_MESON_ENABLED=	glslang
GLSLANG_IMPLIES=	VULKAN

LCMS2_LIB_DEPENDS=	liblcms2.so:graphics/lcms2
LCMS2_MESON_ENABLED=		lcms

LIBUNWIND_DESC=		Use libunwind for stacktraces
LIBUNWIND_LIB_DEPENDS=	libunwind.so:devel/libunwind
LIBUNWIND_MESON_ENABLED=	unwind

OPENGL_GH_TUPLE=	Dav1dde:glad:v2.0.1:glad/3rdparty/glad
OPENGL_MESON_ENABLED=	opengl

SHADERC_DESC=		libshaderc SPIR-V compiler
SHADERC_LIB_DEPENDS=	libshaderc_shared.so:graphics/shaderc
SHADERC_MESON_ENABLED=	shaderc
SHADERC_IMPLIES=	VULKAN

TEST_MESON_TRUE=	tests

VULKAN_DESC=		Vulkan-based renderer
VULKAN_BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers \
			${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR}
VULKAN_LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader
VULKAN_MESON_ENABLED=	vulkan

post-patch:
	@${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' \
		${WRKSRC}/src/vulkan/utils_gen.py
# Extract (snapshot) version from port version instead of meson.build
	@${REINPLACE_CMD} "s/version_pretty/'${DISTVERSIONFULL}'/" \
		${WRKSRC}/src/meson.build

pre-install-TEST-on:	do-test

.include <bsd.port.mk>