1 # $NetBSD: Makefile,v 1.3 2013/03/16 07:21:22 obache Exp $
4 DISTNAME
= ZoneMinder-1.25
.0
5 PKGNAME
= ${DISTNAME
:S
/ZoneMinder-
/zoneminder-
/}
8 MASTER_SITES
= http
://www2.zoneminder.com
/downloads
/
10 MAINTAINER
= dsainty@NetBSD.org
11 HOMEPAGE
= http
://www.zoneminder.com
/
12 COMMENT
= Video camera security and surveillance solution
15 PKG_DESTDIR_SUPPORT
= user-destdir
17 PKG_OPTIONS_VAR
= PKG_OPTIONS.zoneminder
18 PKG_SUPPORTED_OPTIONS
= apache
19 PKG_SUGGESTED_OPTIONS
= apache
21 .
include "../../mk/bsd.options.mk"
25 USE_TOOLS
+= aclocal autoconf autoheader automake gmake perl
27 # MIME::Entity is needed from p5-MIME-tools
28 # LWP::UserAgent is needed from p5-libwww
29 DEPENDS
+= p5-Archive-Zip-
[0-9]*:..
/..
/archivers
/p5-Archive-Zip
30 DEPENDS
+= p5-Date-Manip-
[0-9]*:..
/..
/devel
/p5-Date-Manip
31 DEPENDS
+= p5-Device-SerialPort-
[0-9]*:..
/..
/comms
/p5-Device-SerialPort
32 DEPENDS
+= p5-DBD-mysql-
[0-9]*:..
/..
/databases
/p5-DBD-mysql
33 DEPENDS
+= p5-MIME-Lite-
[0-9]*:..
/..
/mail
/p5-MIME-Lite
34 DEPENDS
+= p5-MIME-tools-
[0-9]*:..
/..
/mail
/p5-MIME-tools
35 DEPENDS
+= p5-PHP-Serialization-
[0-9]*:..
/..
/devel
/p5-PHP-Serialization
36 DEPENDS
+= p5-Time-HiRes-
[0-9]*:..
/..
/time
/p5-Time-HiRes
37 DEPENDS
+= p5-libwww-
[0-9]*:..
/..
/www
/p5-libwww
39 CONFIGURE_ARGS
+= --sysconfdir
=${PKG_SYSCONFDIR}
41 ZM_HTTPD_ROOT
= share
/zoneminder
/htdocs
42 PLIST_SUBST
+= ZM_HTTPD_ROOT
=${ZM_HTTPD_ROOT
:Q
}
43 OWN_DIRS
+= ${ZM_HTTPD_ROOT
:Q
}
45 ZM_HTTPD_CGIBIN
= libexec
/zoneminder
/cgi-bin
46 PLIST_SUBST
+= ZM_HTTPD_CGIBIN
=${ZM_HTTPD_CGIBIN
:Q
}
47 BUILD_DEFS
+= ZM_HTTPD_CGIBIN
48 OWN_DIRS
+= ${ZM_HTTPD_CGIBIN
:Q
}
50 INSTALLATION_DIRS
+= share
/zoneminder
${ZM_HTTPD_ROOT}
51 INSTALLATION_DIRS
+= libexec
/zoneminder
${ZM_HTTPD_CGIBIN}
54 CONFIGURE_ARGS
+= --with-webdir
=${PREFIX}/${ZM_HTTPD_ROOT
:Q
}
55 CONFIGURE_ARGS
+= --with-cgidir
=${PREFIX}/${ZM_HTTPD_CGIBIN
:Q
}
56 CONFIGURE_ARGS
+= --with-mysql
=${BUILDLINK_PREFIX.mysql-client
}
57 CONFIGURE_ARGS
+= --localstatedir
=${VARBASE}
59 CONFIGURE_ENV
+= OPT_NETPBM
=yes
60 CONFIGURE_ENV
+= PATH_NETPBM
=${PREFIX}/bin
/pnmscale
62 .
include "../../multimedia/ffmpeg010/buildlink3.mk"
63 CONFIGURE_ARGS
+= --with-ffmpeg
=${BUILDLINK_PREFIX.ffmpeg010
}
64 CONFIGURE_ENV
+= PATH_FFMPEG
=${BUILDLINK_PREFIX.ffmpeg010
}/bin
/ffmpeg010
65 CONFIGURE_ENV
+= OPT_FFMPEG
=yes
67 # The backtrace requires Linux's unportable <execinfo.h> header.
68 CONFIGURE_ARGS
+= --enable-crashtrace
=no
70 # Need Perl Sys::Mmap module for (default) mmap support.
71 CONFIGURE_ARGS
+= --enable-mmap
=no
73 # This is somewhat awkward. ffmpeg's libavformat/avformat.h requires
74 # constant macros from stdint.h, but these are only defined under C++ if
75 # __STDC_CONSTANT_MACROS is requested, so we have to do that on behalf
76 # of ffmpeg. Failure to do so causes configure time failures, and
77 # build failures complaining about UINT64_C not being defined.
78 CFLAGS
+= -D__STDC_CONSTANT_MACROS
80 # Since MySQL uses openssl, use the same library instead of defaulting to
82 CONFIGURE_ENV
+= ZM_SSL_LIB
=openssl
84 # Control where run-time state (PID file) gets stored.
85 CONFIGURE_ENV
+= ZM_RUNDIR
=${VARBASE}/run
87 .if
!empty
(PKG_OPTIONS
:Mapache
)
88 .
include "../../mk/apache.mk"
90 PKG_USERS_VARS
+= APACHE_USER
91 PKG_GROUPS_VARS
+= APACHE_GROUP
92 BUILD_DEFS
+= APACHE_USER APACHE_GROUP
94 # This directory contains no useful state, so use MAKE_DIRS instead of
96 MAKE_DIRS_PERMS
+= ${VARBASE}/run
/zm
${ROOT_USER} ${APACHE_GROUP} 775
98 CONFIGURE_ARGS
+= --with-webuser
=${APACHE_USER}
99 CONFIGURE_ARGS
+= --with-webgroup
=${APACHE_GROUP}
101 # If we're using Apache we're going to need PHP, and PHP MySQL support.
102 .
include "../../lang/php/phpversion.mk"
103 DEPENDS
+= ${APACHE_PKG_PREFIX}-${PHP_PKG_PREFIX}-[0-9]*:..
/..
/www
/ap-php
104 DEPENDS
+= ${PHP_PKG_PREFIX}-mysql-
[0-9]*:..
/..
/databases
/php-mysql
107 # This directory contains state, so use OWN_DIRS instead of MAKE_DIRS.
108 ZM_CACHE
= ${VARBASE}/cache
/zoneminder
109 OWN_DIRS_PERMS
+= ${ZM_CACHE} ${ROOT_USER} ${ROOT_GROUP} 755
110 OWN_DIRS_PERMS
+= ${ZM_CACHE}/temp
${ROOT_USER} ${APACHE_GROUP} 775
111 OWN_DIRS_PERMS
+= ${ZM_CACHE}/images
${ROOT_USER} ${APACHE_GROUP} 775
112 OWN_DIRS_PERMS
+= ${ZM_CACHE}/events
${ROOT_USER} ${APACHE_GROUP} 775
114 REPLACE_PERL
+= scripts
/zmaudit.pl.in
115 REPLACE_PERL
+= scripts
/zmcontrol.pl.in
116 REPLACE_PERL
+= scripts
/zmdc.pl.in
117 REPLACE_PERL
+= scripts
/zmfilter.pl.in
118 REPLACE_PERL
+= scripts
/zmpkg.pl.in
119 REPLACE_PERL
+= scripts
/zmtrack.pl.in
120 REPLACE_PERL
+= scripts
/zmtrigger.pl.in
121 REPLACE_PERL
+= scripts
/zmupdate.pl.in
122 REPLACE_PERL
+= scripts
/zmvideo.pl.in
123 REPLACE_PERL
+= scripts
/zmwatch.pl.in
124 REPLACE_PERL
+= scripts
/zmx10.pl.in
126 SUBST_CLASSES
+= dbpaths-path
127 SUBST_MESSAGE.dbpaths-path
= Adjusting default paths in configuration.
128 SUBST_STAGE.dbpaths-path
= pre-configure
129 SUBST_FILES.dbpaths-path
= db
/zm_create.sql.in
130 SUBST_SED.dbpaths-path
= -e
's|/usr/local/bin/|${PREFIX}/bin/|g'
131 SUBST_SED.dbpaths-path
+= -e
's|/usr/bin|${PREFIX}/bin|g'
132 SUBST_SED.dbpaths-path
+= -e
's|/cgi-bin/nph-zms|/zm/cgi-bin/nph-zms|g'
134 # Required to find the 'mysql' client executable.
135 SUBST_CLASSES
+= script-path
136 SUBST_MESSAGE.script-path
= Adjusting paths in scripts.
137 SUBST_STAGE.script-path
= pre-configure
138 SUBST_FILES.script-path
= scripts
/zmupdate.pl.in
139 SUBST_SED.script-path
= -e
's|/usr/local/bin|${PREFIX}/bin|g'
141 SUBST_CLASSES
+= files
142 SUBST_STAGE.files
= pre-configure
143 SUBST_FILES.files
= zoneminder.conf
144 SUBST_SED.files
= -e
"s|@ZM_HTTPD_ROOT@|${PREFIX}/${ZM_HTTPD_ROOT}|g"
145 SUBST_SED.files
+= -e
"s|@ZM_HTTPD_CGIBIN@|${PREFIX}/${ZM_HTTPD_CGIBIN}|g"
146 SUBST_MESSAGE.files
= Fixing ZoneMinder configuration file for Apache.
149 ${CP} ${FILESDIR}/zoneminder.conf
${WRKSRC}/zoneminder.conf
152 set
-e
; cd
${WRKSRC}; \
153 aclocal
; autoheader
; automake
-a
--foreign
-i
; autoconf
156 # Arrange for module.mk to perform its magic here on top of the non-Perl
161 PERL5_CONFIGURE_DIRS
= ${WRKSRC}/scripts
/ZoneMinder
162 PERL5_PACKLIST
= auto
/ZoneMinder
/.packlist
163 .
include "../../lang/perl5/module.mk"
165 post-configure
: perl5-configure
167 EGDIR
= share
/examples
/${PKGBASE}
168 INSTALLATION_DIRS
+= ${EGDIR} ${EGDIR}/config
${EGDIR}/apache
169 CONF_FILES
+= ${PREFIX}/${EGDIR}/config
/zm.conf
${PKG_SYSCONFDIR}/zm.conf
170 INSTALLATION_DIRS
+= bin share
/examples
/rc.d share
/zoneminder
/db
172 ${INSTALL_DATA} ${WRKSRC}/zoneminder.conf
${DESTDIR}${PREFIX}/${EGDIR}/apache
/zoneminder.conf
173 ${INSTALL_DATA} ${WRKSRC}/zm.conf
${DESTDIR}${PREFIX}/${EGDIR}/config
/zm.conf
174 ${INSTALL_SCRIPT} ${WRKSRC}/scripts
/zm
${DESTDIR}${PREFIX}/share
/examples
/rc.d
/zoneminder
175 ${INSTALL_DATA} ${WRKSRC}/db
/*.sql
${DESTDIR}${PREFIX}/share
/zoneminder
/db
/
176 rmdir
${DESTDIR}${PREFIX}/${ZM_HTTPD_ROOT
:Q
}/events || true
177 rmdir
${DESTDIR}${PREFIX}/${ZM_HTTPD_ROOT
:Q
}/images || true
178 ${LN} -s
${ZM_CACHE}/temp
${DESTDIR}${PREFIX}/${ZM_HTTPD_ROOT
:Q
}/temp
179 ${LN} -s
${ZM_CACHE}/events
${DESTDIR}${PREFIX}/${ZM_HTTPD_ROOT
:Q
}/events
180 ${LN} -s
${ZM_CACHE}/images
${DESTDIR}${PREFIX}/${ZM_HTTPD_ROOT
:Q
}/images
183 .
include "../../mk/dlopen.buildlink3.mk"
184 .
include "../../mk/jpeg.buildlink3.mk"
185 .
include "../../mk/mysql.buildlink3.mk"
186 .
include "../../mk/pthread.buildlink3.mk"
187 .
include "../../archivers/bzip2/buildlink3.mk"
188 .
include "../../devel/pcre/buildlink3.mk"
189 .
include "../../devel/zlib/buildlink3.mk"
190 .
include "../../graphics/netpbm/buildlink3.mk"
191 .
include "../../security/openssl/buildlink3.mk"
192 .
include "../../mk/bsd.pkg.mk"