Manual tweak multimedia/jellyfin
[dports.git] / multimedia / motion / Makefile
1 # PORTNAME block
2 PORTNAME=       motion
3 PORTVERSION=    4.3.2
4 PORTREVISION=   8
5 DISTVERSIONPREFIX=      release-
6 CATEGORIES=     multimedia
7
8 # Maintainer block
9 MAINTAINER=     ports@blievers.net
10 COMMENT=        Motion detection application
11 WWW=            https://motion-project.github.io/
12
13 # License block
14 LICENSE=        GPLv2+
15 LICENSE_FILE=   ${WRKSRC}/doc/COPYING
16
17 # Dependencies
18 LIB_DEPENDS=    libwebp.so:graphics/webp \
19                 libmicrohttpd.so:www/libmicrohttpd
20
21 # USES block
22 USES=           autoreconf cpe gmake jpeg localbase pkgconfig gettext
23 CPE_VENDOR=     ${PORTNAME}_project
24
25 USE_GITHUB=     yes
26 GH_ACCOUNT=     Motion-Project
27 USE_RC_SUBR=    ${PORTNAME}
28
29 GNU_CONFIGURE=  yes
30
31 CFLAGS+=        -I${LOCALBASE}/ffmpeg4/include
32 LDFLAGS+=       -L${LOCALBASE}/ffmpeg4/lib
33 CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
34 MAKE_ENV+=      PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
35
36 # Standard bsd.port.mk variables
37 SUB_FILES=      pkg-message
38
39 # Packaging list block
40 PLIST_FILES=    bin/motion \
41                 man/man1/motion.1.gz \
42                 "@sample ${ETCDIR}/motion.conf.sample" \
43                 "@dir ${ETCDIR}/conf.d"
44 PORTDOCS=       *
45
46 PORTEXAMPLES=   camera1-dist.conf camera2-dist.conf \
47                 camera3-dist.conf camera4-dist.conf
48
49 # Options definitions
50 OPTIONS_DEFINE=         DOCS EXAMPLES FFMPEG MYSQL PGSQL SQLITE3
51 OPTIONS_DEFAULT=        WEBCAMD FFMPEG
52 OPTIONS_RADIO=          VIDEO
53 OPTIONS_RADIO_VIDEO=    BKTR PWCBSD WEBCAMD
54
55 BKTR_DESC=              BKTR based TV capture cards
56
57 PWCBSD_DESC=            PWCBSD based Webcams
58
59 VIDEO_DESC=             Video capture driver (Netcam support only if none selected)
60 WEBCAMD_DESC=           Webcams using webcamd
61
62 BKTR_CONFIGURE_WITH=    bktr
63
64 FFMPEG_LIB_DEPENDS=     libavformat.so.58:multimedia/ffmpeg4
65 FFMPEG_CONFIGURE_ON=    --with-ffmpeg=${LOCALBASE}/ffmpeg4
66 FFMPEG_CONFIGURE_OFF=   --without-ffmpeg
67
68 MYSQL_USES=             mysql
69 MYSQL_CONFIGURE_ON=     --with-mysql=${LOCALBASE}/include/mysql
70 MYSQL_CONFIGURE_OFF=    --without-mysql
71
72 PGSQL_USES=             pgsql
73 PGSQL_CONFIGURE_ON=     --with-pgsql-lib=${LOCALBASE}/lib \
74                         --with-pgsql-include=${LOCALBASE}/include
75 PGSQL_CONFIGURE_OFF=    --without-pgsql
76
77 PWCBSD_BUILD_DEPENDS=   v4l_compat>=1.0.20060801:multimedia/v4l_compat
78 PWCBSD_RUN_DEPENDS=     pwcbsd>0:multimedia/pwcbsd
79 PWCBSD_CONFIGURE_WITH=  pwcbsd
80
81 SQLITE3_USES=           sqlite:3
82 SQLITE3_CONFIGURE_WITH= sqlite3
83
84 WEBCAMD_BUILD_DEPENDS=  v4l_compat>=1.0.20060801:multimedia/v4l_compat
85 #  note: all configure --with-pwcbsd does is not shut off v4l support
86 WEBCAMD_CONFIGURE_WITH= pwcbsd
87
88 .include <bsd.port.pre.mk>
89
90 post-patch:
91         @${REINPLACE_CMD} -e \
92                 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/configure.ac
93 # Fix pidfile path
94         @${REINPLACE_CMD} -e \
95                 's|/run/motion|/run|' ${WRKSRC}/data/motion-dist.conf.in
96
97 do-install:
98         ${INSTALL_PROGRAM} ${WRKSRC}/src/motion ${STAGEDIR}${PREFIX}/bin
99         ${INSTALL_MAN} ${WRKSRC}/man/motion.1 ${STAGEDIR}${MANPREFIX}/man/man1
100         @${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
101         ${INSTALL_DATA} ${WRKSRC}/data/motion-dist.conf \
102                 ${STAGEDIR}${ETCDIR}/motion.conf.sample
103
104 do-install-DOCS-on:
105         @${MKDIR} ${STAGEDIR}${DOCSDIR}
106         ${INSTALL_DATA} ${WRKSRC}/doc/* ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
107
108 do-install-EXAMPLES-on:
109         @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
110         ${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/data/|} ${STAGEDIR}${EXAMPLESDIR}
111
112 .include <bsd.port.post.mk>