aboutsummaryrefslogtreecommitdiff
path: root/graphics/frei0r/Makefile
blob: e7ff003a1211f217f75ded950838b6eb05a54128 (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
# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
# $FreeBSD$

PORTNAME=	frei0r
DISTVERSIONPREFIX=	v
CATEGORIES=	graphics
DISTVERSION=	1.7.0-18
DISTVERSIONSUFFIX=	-g86475d3
MAINTAINER=	jhale@FreeBSD.org
COMMENT?=	Minimalistic plugin API for video effects

.if !defined(BUILDING_FREI0R_METAPORT)

LICENSE=	GPLv2+
LICENSE_FILE=	${WRKSRC}/COPYING

USES=		cmake compiler:c++11-lang pkgconfig
USE_GITHUB=	yes
GH_ACCOUNT=	dyne

.if defined(BUILDING_FREI0R_OPENCV) && defined(BUILDING_FREI0R_GAVL)
IGNORE=		cannot build OpenCV and gavl plugins simultaneously
.endif

.if defined(BUILDING_FREI0R_OPENCV) || defined(BUILDING_FREI0R_GAVL)
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-frei0r-plugins

USES+=		localbase
.endif

.if defined(BUILDING_FREI0R_OPENCV)
PORTREVISION=	0
COMMENT=	Frei0r OpenCV plugins
PKGNAMESUFFIX=	-plugins-opencv
LIB_DEPENDS+=	libopencv_core.so:graphics/opencv \
		libopencv_video.so:graphics/opencv
FREI0R_PLUGINS=	facebl0r facedetect

CMAKE_ARGS+=	-DWITHOUT_OPENCV:BOOL=OFF \
		-DWITHOUT_GAVL:BOOL=ON
.elif defined(BUILDING_FREI0R_GAVL)
PORTREVISION=	0
COMMENT=	Frei0r gavl plugins
PKGNAMESUFFIX=	-plugins-gavl
LIB_DEPENDS+=	libgavl.so:multimedia/gavl
FREI0R_PLUGINS=	rgbparade scale0tilt vectorscope

CMAKE_ARGS+=	-DWITHOUT_OPENCV:BOOL=ON \
		-DWITHOUT_GAVL:BOOL=OFF
.else
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-CMakeLists.txt

USES+=		gnome
USE_GNOME=	cairo

CMAKE_ARGS+=	-DWITHOUT_OPENCV:BOOL=ON \
		-DWITHOUT_GAVL:BOOL=ON

.endif # !defined(BUILDING_FREI0R_OPENCV) && !defined(BUILDING_FREI0R_GAVL)

.if defined(FREI0R_PLUGINS)
PLIST=		${WRKSRC}/PLIST
. for FILE in ${FREI0R_PLUGINS}
PLIST_FILES+=	lib/frei0r-1/${FILE}.so
. endfor
.endif

.include <bsd.port.pre.mk>

.if ${CHOSEN_COMPILER_TYPE} == gcc
# work around regression seen in GCC 10 but not in GCC 9:
# src/filter/elastic_scale/elastic_scale.cpp:152: error: ISO C++ forbids initialization of member 'm_transformationCalculations'
CFLAGS+=	-Wno-error
CXXFLAGS+=	-Wno-error
.endif

.include <bsd.port.post.mk>

.endif # !defined(BUILDING_FREI0R_METAPORT)