diff options
author | Andreas K. Huettel <dilfridge@gentoo.org> | 2016-12-01 21:19:00 +0100 |
---|---|---|
committer | Andreas K. Huettel <dilfridge@gentoo.org> | 2016-12-01 21:19:00 +0100 |
commit | 4d58e7c6d202ccba9c1f1a9a4236f0725acd1e2d (patch) | |
tree | 19313c5bc00c18e99876ff9ae54f1c6c72d8057d | |
parent | www-misc/zoneminder: Add improvements by Aaron Burnett, bug 546842 (diff) | |
download | dilfridge-4d58e7c6d202ccba9c1f1a9a4236f0725acd1e2d.tar.gz dilfridge-4d58e7c6d202ccba9c1f1a9a4236f0725acd1e2d.tar.bz2 dilfridge-4d58e7c6d202ccba9c1f1a9a4236f0725acd1e2d.zip |
www-misc/zoneminder: Add improvements by Russell Knighton from bug 564278
Package-Manager: portage-2.3.2
-rw-r--r-- | www-misc/zoneminder/files/zoneminder-1.28.1-mysql_include_path.patch | 20 | ||||
-rw-r--r-- | www-misc/zoneminder/zoneminder-1.28.1-r2.ebuild | 153 |
2 files changed, 173 insertions, 0 deletions
diff --git a/www-misc/zoneminder/files/zoneminder-1.28.1-mysql_include_path.patch b/www-misc/zoneminder/files/zoneminder-1.28.1-mysql_include_path.patch new file mode 100644 index 0000000..a3a8dcd --- /dev/null +++ b/www-misc/zoneminder/files/zoneminder-1.28.1-mysql_include_path.patch @@ -0,0 +1,20 @@ +--- CMakeLists.txt.orig 2015-10-27 17:28:48.059203421 +0000 ++++ CMakeLists.txt 2015-10-27 17:30:11.951226715 +0000 +@@ -255,7 +255,16 @@ + if(MYSQLCLIENT_LIBRARIES) + set(HAVE_LIBMYSQLCLIENT 1) + list(APPEND ZM_BIN_LIBS "${MYSQLCLIENT_LIBRARIES}") +- find_path(MYSQLCLIENT_INCLUDE_DIR mysql/mysql.h) ++ find_file(MYSQL_CONFIG mysql_config) ++ if(MYSQL_CONFIG) ++ execute_process(COMMAND ${MYSQL_CONFIG} ++ --variable=pkgincludedir OUTPUT_VARIABLE ++ MYSQLCLIENT_INCLUDE_DIR) ++ STRING(REGEX REPLACE "\n" "" MYSQLCLIENT_INCLUDE_DIR ++ ${MYSQLCLIENT_INCLUDE_DIR}) ++ else() ++ find_path(MYSQLCLIENT_INCLUDE_DIR mysql/mysql.h) ++ endif() + if(MYSQLCLIENT_INCLUDE_DIR) + include_directories("${MYSQLCLIENT_INCLUDE_DIR}") + set(CMAKE_REQUIRED_INCLUDES "${MYSQLCLIENT_INCLUDE_DIR}") diff --git a/www-misc/zoneminder/zoneminder-1.28.1-r2.ebuild b/www-misc/zoneminder/zoneminder-1.28.1-r2.ebuild new file mode 100644 index 0000000..a68dadd --- /dev/null +++ b/www-misc/zoneminder/zoneminder-1.28.1-r2.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# 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.apache multilib flag-o-matic systemd + +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=" + app-eselect/eselect-php[apache2] + dev-lang/perl:= + dev-lang/php[apache2,cgi,curl,inifile,pdo,mysql,mysqli,sockets] + dev-libs/libpcre + dev-perl/Archive-Zip + dev-perl/Date-Manip + dev-perl/DBD-mysql + dev-perl/DBI + dev-perl/URI-Encode + dev-perl/libwww-perl + sys-auth/polkit + 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 + virtual/httpd-php + www-servers/apache + 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[live] ) +" +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 + +S=${WORKDIR}/${MY_PN}-${PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.26.5"-automagic.patch + "${FILESDIR}/${PN}-1.28.1"-mysql_include_path.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#/usr} + -DZM_TMPDIR=/var/tmp/zm + -DZM_SOCKDIR=/var/run/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 + keepdir /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 + + # bug 523058 + keepdir ${MY_ZM_WEBDIR}/temp + fowners -R apache:apache ${MY_ZM_WEBDIR}/temp + + # 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 + + # systemd unit file + systemd_dounit "${FILESDIR}"/zoneminder.service + + 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 + + perl_delete_packlist + + readme.gentoo_src_install +} + +pkg_postinst() { + local myold=${REPLACING_VERSIONS} + [ "${myold}" = ${PV} ] || elog "You have upgraded zoneminder and may have to upgrade your database now." +} |