# Maintainer: Mesmer <mesmer@fisica.if.uff.br>
# Contributor: Troy Will <troydwill at gmail dot com>
# Contributor: /dev/rs0                  </dev/rs0@secretco.de.com>
# Contributor: Jacek Burghardt           <jacek@hebe.us>
# Contributor: Vojtech Aschenbrenner     <v@asch.cz>
# Contributor: Jason Gardner             <buhrietoe@gmail.com>
# Contributor: Ross melin                <rdmelin@gmail.com>
# Contributor (Parabola): Márcio Silva   <coadde@lavabit.com>
# Contributor (Parabola): André Silva    <emulatorman@lavabit.com>
# Contributor: Charles Spence IV         <cspence@unomaha.edu>
# Contributor: Joe Julian                <me@joejulian.name>     
# Orginally based on a Debian Squeeze package
_pkgname=zoneminder
pkgname=zoneminder
pkgver=1.30.4
pkgrel=2
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=( i686 x86_64 mips64el arm armv7h )
backup=( etc/zm.conf )
url="https://github.com/ZoneMinder/ZoneMinder/releases"
license=( GPL )
depends=(
    mysql perl-dbd-mysql perl-dbi
    lighttpd php php-gd perl-php-serialization php-apcu
    perl-libwww perl-net-sftp-foreign
    ffmpeg perl-sys-mmap
    gnutls polkit
    perl-expect perl-archive-zip perl-date-manip
    perl-mime-lite perl-mime-tools
    perl-sys-meminfo perl-sys-cpu
)
makedepends=(
    cmake netpbm git 
)
optdepends=(
    'php-apcu-bci: Bring back the API for android control'
    netpbm
    cambozola
    perl-time-modules
    perl-x10
    perl-astro-suntime
)
install=$_pkgname.install

source=(
    https://github.com/ZoneMinder/ZoneMinder/archive/$pkgver.tar.gz
    httpd-zoneminder.conf
    zoneminder.ini
    zoneminder.service
    uio.patch
    fabs.patch
    zoneminder-tmpfile.conf
    zm.include
    zm.sysctrl.conf
    zm_gen_light.conf
)


prepare () {
    cd $srcdir/zoneminder-$pkgver/web/api/app/Plugin/
    if [ ! -d "crud" ]; then
    git clone -b 3.0 https://github.com/FriendsOfCake/crud.git
    mkdir -p Crud
    mv  crud/* Crud
    fi
    patch $srcdir/zoneminder-$pkgver/src/zm_image.cpp < $srcdir/fabs.patch
    patch $srcdir/zoneminder-$pkgver/src/zm_comms.h < $srcdir/uio.patch
}

build() {
   cd $srcdir/zoneminder-$pkgver
   
   cmake -DCMAKE_INSTALL_PREFIX=/usr \
          -DZM_PERL_SUBPREFIX=/lib/perl5 \
          -DZM_WEBDIR=/data/srv/httpd/zoneminder \
          -DZM_CGIDIR=/data/srv/httpd/cgi-bin \
          -DZM_WEB_USER=http \
          -DZM_CONTENTDIR=/var/cache/zoneminder \
          -DZM_LOGDIR=/var/log/zoneminder \
          -DZM_RUNDIR=/run/zoneminder \
          -DZM_TMPDIR=/var/lib/zoneminder/temp \
          -DZM_SOCKDIR=/var/lib/zoneminder/sock .
     
    make V=0
} 
     
package() {

    cd $srcdir/zoneminder-$pkgver

    DESTDIR=$pkgdir make install

    # Change Polkit directory permissions to Arch Linux policy
    chmod -v 700 $pkgdir/usr/share/polkit-1/rules.d/
    chown -v polkitd $pkgdir/usr/share/polkit-1/rules.d/

    # BEGIN CREATE_ZONEMINDER_DIRECTORIES
    mkdir -pv           $pkgdir/var/{cache/zoneminder,log/zoneminder}
    chown -Rv http.http $pkgdir/var/{cache/zoneminder,log/zoneminder}
    
    # corresponds to -DZM_SOCKDIR=/var/lib/zoneminder/sock
    mkdir -pv          $pkgdir/var/lib/zoneminder/sock
    chown -v http.http $pkgdir/var/lib/zoneminder/sock
    
    # corresponds to -DZM_TMPDIR=/var/lib/zoneminder/temp
    mkdir -pv          $pkgdir/var/lib/zoneminder/temp
    chown -v http.http $pkgdir/var/lib/zoneminder/temp
    
    chown -v  http.http $pkgdir/etc/zm.conf 
    chmod 0700          $pkgdir/etc/zm.conf
    # END CREATE_ZONEMINDER_DIRECTORIES

    # Make content directories in /var/cache/zoneminder and to link them in /data/srv/httpd/zoneminder
    for i in events images temp; do
        mkdir              $pkgdir/var/cache/$_pkgname/$i
        chown -v http.http $pkgdir/var/cache/$_pkgname/$i
        ln -s                     /var/cache/$_pkgname/$i $pkgdir/data/srv/httpd/$_pkgname/$i
        chown -v --no-dereference http.http               $pkgdir/data/srv/httpd/$_pkgname/$i
    done

    # Create a link to the Zoneminder cgi binaries
    ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$_pkgname

    chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$_pkgname,$_pkgname/cgi-bin}

    # Link Cambozola
    # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$_pkgname

    # Install configuration files
    mkdir -p                                        $pkgdir/etc/httpd/conf/extra
    install -D -m 644 $srcdir/httpd-$_pkgname.conf  $pkgdir/etc/httpd/conf/extra
    
    mkdir -p                                        $pkgdir/usr/lib/systemd/system
    install -D -m 644 $srcdir/$_pkgname.service     $pkgdir/usr/lib/systemd/system
    
    install -D -m 644 COPYING                       $pkgdir/usr/share/license/$_pkgname
    install -D -m 644 db/zm*.sql                    $pkgdir/usr/share/$_pkgname/db
    
    mkdir -p                                        $pkgdir/usr/share/doc/$_pkgname
    # install -D -m 644 $srcdir/README              $pkgdir/usr/share/doc/$_pkgname

    install -Dm644 ../zoneminder-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/zoneminder.conf

    #LinHES stuff
    #/etc/php/conf.d
    install -d -m755 ${pkgdir}/etc/php/conf.d/
    install -D -m644 ${srcdir}/zoneminder.ini ${pkgdir}/etc/php/conf.d/zoneminder.ini
    #lighttpd zm include
    install -D -m644 ${srcdir}/zm.include ${pkgdir}/etc/lighttpd/zm.include
    #sysctrl conf - to set the shared mem
    install -o root -g root -D -m0755 ${srcdir}/zm.sysctrl.conf ${pkgdir}/etc/sysctl.d/zm.conf
    #gen_light_conf
    install -D -m0744 ${srcdir}/zm_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/zoneminder.conf

}
md5sums=('1e61836e7d938710801f4fb2b2deaaae'
         '2a0d1ff33567946b7a8ac1242270c8cc'
         '63cdaa57c6c9a68ce51c0862bc1b74a0'
         '85baafb00bbb1bcd04cfae899b6cd395'
         'b2454d4fab43813e8e660ea4709a3102'
         '327d49273d41dc5bbd9f74defb0dc924'
         'b4aa4f6881c571e873574907983a82db'
         '9d93f9b7b0a1384df533efde19ed3021'
         'c528e75443ae421cb7f63e12350c692a'
         '81cb12b36616a299ec808ac70a809ec2')