blob: 7870564c22b4a5faed6525bc2b9729c6ac25259d (
plain)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# TO DO:
# * ffmpeg support can be disabled in CMakeLists.txt but it does not build then
# $(cmake-utils_useno ffmpeg ZM_NO_FFMPEG)
# * dependencies of unknown status:
# dev-perl/Archive-Zip
# dev-perl/Device-SerialPort
# dev-perl/MIME-Lite
# dev-perl/MIME-tools
# dev-perl/PHP-Serialization
# virtual/perl-Archive-Tar
# virtual/perl-libnet
# virtual/perl-Module-Load
EAPI=5
PERL_EXPORT_PHASE_FUNCTIONS=no
inherit perl-module readme.gentoo eutils base cmake-utils depend.php depend.apache multilib flag-o-matic
MY_PN="ZoneMinder"
DESCRIPTION="ZoneMinder allows you to capture, analyse, record and monitor any cameras attached to your system"
HOMEPAGE="http://www.zoneminder.com/"
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~amd64"
IUSE="curl gcrypt gnutls +mmap +openssl vlc"
SLOT="0"
REQUIRED_USE="
|| ( openssl gnutls )
"
DEPEND="
dev-lang/perl:=
dev-libs/libpcre
dev-perl/DateManip
dev-perl/DBD-mysql
dev-perl/DBI
dev-perl/libwww-perl
sys-libs/zlib
virtual/ffmpeg
virtual/jpeg
virtual/mysql
virtual/perl-ExtUtils-MakeMaker
virtual/perl-Getopt-Long
virtual/perl-Sys-Syslog
virtual/perl-Time-HiRes
curl? ( net-misc/curl )
gcrypt? ( dev-libs/libgcrypt )
gnutls? ( net-libs/gnutls )
mmap? ( dev-perl/Sys-Mmap )
openssl? ( dev-libs/openssl )
vlc? ( media-video/vlc )
"
RDEPEND="${DEPEND}"
# we cannot use need_httpd_cgi here, since we need to setup permissions for the
# webserver in global scope (/etc/zm.conf etc), so we hardcode apache here.
need_apache
need_php_httpd
S=${WORKDIR}/${MY_PN}-${PV}
PATCHES=(
"${FILESDIR}/${PN}-1.26.5"-automagic.patch
)
MY_ZM_WEBDIR=/usr/share/zoneminder/www
pkg_setup() {
require_php_with_use mysql sockets apache2
}
src_configure() {
append-cxxflags -D__STDC_CONSTANT_MACROS
perl_set_version
mycmakeargs=(
-DZM_PERL_SUBPREFIX=${VENDOR_LIB}
-DZM_TMPDIR=/var/tmp/zm
-DZM_WEB_USER=apache
-DZM_WEB_GROUP=apache
-DZM_WEBDIR=${MY_ZM_WEBDIR}
$(cmake-utils_useno mmap ZM_NO_MMAP)
-DZM_NO_X10=OFF
-DZM_NO_FFMPEG=OFF
$(cmake-utils_useno curl ZM_NO_CURL)
$(cmake-utils_useno vlc ZM_NO_LIBVLC)
$(cmake-utils_useno openssl CMAKE_DISABLE_FIND_PACKAGE_OpenSSL)
$(cmake-utils_use_has gnutls)
$(cmake-utils_use_has gcrypt)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
# the log directory
keepdir /var/log/zm
fowners apache:apache /var/log/zm
# now we duplicate the work of zmlinkcontent.sh
dodir /var/lib/zoneminder /var/lib/zoneminder/images /var/lib/zoneminder/events
fperms -R 0775 /var/lib/zoneminder
fowners -R apache:apache /var/lib/zoneminder
dosym /var/lib/zoneminder/images ${MY_ZM_WEBDIR}/images
dosym /var/lib/zoneminder/events ${MY_ZM_WEBDIR}/events
# the configuration file
fperms 0640 /etc/zm.conf
fowners root:apache /etc/zm.conf
# init scripts etc
newinitd "${FILESDIR}"/init.d zoneminder
newconfd "${FILESDIR}"/conf.d zoneminder
cp "${FILESDIR}"/10_zoneminder.conf "${T}"/10_zoneminder.conf
sed -i "${T}"/10_zoneminder.conf -e "s:%ZM_WEBDIR%:${MY_ZM_WEBDIR}:g"
dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README.md TODO "${T}"/10_zoneminder.conf
readme.gentoo_src_install
}
|