Sun Jun 5 00:02:21 2016 UTC ()
Add z-push 2.2.10 to pkgsrc.

Z-Push is an open-source implementation of the Microsoft ActiveSync protocol.
It can be used to synchronize emails (including push notifications), personal
contacts and calendar items between a central HTTP server and a mobile device.
It supports a wide range of IMAP, CalDAV and CardDAV servers.

It provides a way to push mails to a mobile phone through ActiveSync
including iOS devices.

XXX This requires a specific PHP module from project Zarafa (PHP-MAPI) at
    run time. This will be provided in another package.


(jym)
diff -r0 -r1.1 pkgsrc/www/z-push/DESCR
diff -r0 -r1.1 pkgsrc/www/z-push/MESSAGE
diff -r0 -r1.1 pkgsrc/www/z-push/Makefile
diff -r0 -r1.1 pkgsrc/www/z-push/PLIST
diff -r0 -r1.1 pkgsrc/www/z-push/distinfo
diff -r0 -r1.1 pkgsrc/www/z-push/files/z-push.conf
diff -r0 -r1.1 pkgsrc/www/z-push/patches/patch-config.php

File Added: pkgsrc/www/z-push/DESCR
Z-Push is an open-source implementation of the Microsoft ActiveSync protocol.
It can be used to synchronize emails (including push notifications), personal
contacts and calendar items between a central HTTP server and a mobile device.
It supports a wide range of IMAP, CalDAV and CardDAV servers.

File Added: pkgsrc/www/z-push/MESSAGE
===========================================================================
$NetBSD: MESSAGE,v 1.1 2016/06/05 00:02:21 jym Exp $

For pkgsrc installations, Z-push is installed with non-default locations:

	Z-push directory:	${ZPUSHDIR}
	Documentation:		${DOCDIR}

To complete the installation of Z-push, follow these steps:

1. Configure Z-push to use the different servers you want it to support.
   The configuration file is extensively documented:

	Configuration file:	${PKG_SYSCONFDIR}/config.php

2. You will need to make Z-push accessible through your HTTP server.
   If you are running Apache and ap-php, you can use the following file:

        ${PKG_SYSCONFDIR}/z-push.conf

   and add an Include directive directly within Apache configuration:

        Include ${PKG_SYSCONFDIR}/z-push.conf

   If you are not using Apache:

    - make Z-push `index.php' accessible directly through the
      URL `/Microsoft-Server-ActiveSync'

    - set the following PHP flags for the Z-push directory:

	php_flag magic_quotes_gpc off
	php_flag register_globals off
	php_flag magic_quotes_runtime off
	php_flag short_open_tag on

    - adjust the owner and group of the following directories to match
      the ones corresponding to your webserver:

	${ZPUSHSTATEDIR}  mode=0750
	${ZPUSHLOGDIR}    mode=0750
	${PKG_SYSCONFDIR}/config.php mode=0640

   See Z-push online documentation for further information or refer
   to the INSTALL file:

	${HOMEPAGE}
	${DOCDIR}/INSTALL
===========================================================================

File Added: pkgsrc/www/z-push/Makefile
# $NetBSD: Makefile,v 1.1 2016/06/05 00:02:21 jym Exp $
#

DISTNAME=	z-push-${ZPUSH_VERSION}
ZPUSH_VERSION=	2.2.10
CATEGORIES=	www
MASTER_SITES=	http://download.z-push.org/final/2.2/

MAINTAINER=	jym@NetBSD.org
HOMEPAGE=	http://z-push.org/
COMMENT=	Open-source ActiveSync server

LICENSE=	gnu-agpl-v3

NO_BUILD=	yes

ZPUSHDIR=	${PREFIX}/share/z-push
EGDIR=		${PREFIX}/share/examples/z-push
DOCDIR=		${PREFIX}/share/doc/z-push
ZPUSHSTATEDIR=	${VARBASE}/z-push
ZPUSHLOGDIR=	${VARBASE}/log/z-push

BUILD_DEFS=	APACHE_USER APACHE_GROUP VARBASE
USE_TOOLS=	pax

INSTALLATION_DIRS=	${DOCDIR} ${EGDIR} bin

.include "../../lang/php/phpversion.mk"

DEPENDS+=	${PHP_PKG_PREFIX}-soap>=${PHP_BASE_VERS}:../../net/php-soap
DEPENDS+=	${PHP_PKG_PREFIX}-pcntl>=${PHP_BASE_VERS}:../../devel/php-pcntl
DEPENDS+=	${PHP_PKG_PREFIX}-posix>=${PHP_BASE_VERS}:../../devel/php-posix
DEPENDS+=	${PHP_PKG_PREFIX}-sysvshm>=${PHP_BASE_VERS}:../../devel/php-sysvshm
DEPENDS+=	${PHP_PKG_PREFIX}-sysvsem>=${PHP_BASE_VERS}:../../devel/php-sysvsem

PKG_SYSCONFSUBDIR=	z-push

MESSAGE_SUBST+=		ZPUSHDIR=${ZPUSHDIR:Q}
MESSAGE_SUBST+=		ZPUSHSTATEDIR=${ZPUSHSTATEDIR:Q}
MESSAGE_SUBST+=		ZPUSHLOGDIR=${ZPUSHLOGDIR:Q}
MESSAGE_SUBST+=		PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
MESSAGE_SUBST+=		HOMEPAGE=${HOMEPAGE:Q}
MESSAGE_SUBST+=		DOCDIR=${DOCDIR:Q}

OWN_DIRS_PERMS+=	${ZPUSHSTATEDIR}	\
			${APACHE_USER} ${APACHE_GROUP} 0750
OWN_DIRS_PERMS+=	${ZPUSHLOGDIR}		\
			${APACHE_USER} ${APACHE_GROUP} 0750

CONF_FILES_PERMS+=	${EGDIR}/config.php ${PKG_SYSCONFDIR}/config.php   \
			${ROOT_USER} ${APACHE_GROUP} 0640
CONF_FILES_PERMS+=	${EGDIR}/z-push.conf ${PKG_SYSCONFDIR}/z-push.conf \
			${ROOT_USER} ${APACHE_GROUP} 0640

REPLACE_INTERPRETER+=	php
REPLACE.php.old=	.*php
REPLACE.php.new=	${PREFIX}/bin/php
REPLACE_FILES.php=	z-push-admin.php
REPLACE_FILES.php+=	z-push-top.php
REPLACE_FILES.php+=	backend/zarafa/listfolders.php

SUBST_CLASSES+=		conf
SUBST_STAGE.conf=	pre-configure
SUBST_FILES.conf=	${WRKDIR}/z-push.conf
SUBST_VARS.conf=	ZPUSHDIR
SUBST_MESSAGE.conf=	Fixing Z-push directory path for apache configuration.

SUBST_CLASSES+=		state-dir
SUBST_STAGE.state-dir=	pre-configure
SUBST_FILES.state-dir=	config.php
SUBST_VARS.state-dir=	ZPUSHSTATEDIR
SUBST_MESSAGE.state-dir=Fixing Z-push state directory path.

post-extract:
	${CP} ${FILESDIR}/z-push.conf ${WRKDIR}/z-push.conf

do-install:
	${INSTALL_DATA} ${WRKSRC}/config.php	\
		${DESTDIR}${EGDIR}/config.php
	${INSTALL_DATA} ${WRKDIR}/z-push.conf	\
		${DESTDIR}${EGDIR}/z-push.conf

	cd ${WRKSRC} && pax -rwpam . ${DESTDIR}${ZPUSHDIR}

.	for f in INSTALL LICENSE
		${MV} ${DESTDIR}${ZPUSHDIR}/${f} ${DESTDIR}${DOCDIR}
.	endfor

	${LN} -sf ${ZPUSHDIR}/z-push-top.php	\
		${DESTDIR}${PREFIX}/bin/z-push-top
	${LN} -sf ${ZPUSHDIR}/z-push-admin.php	\
		${DESTDIR}${PREFIX}/bin/z-push-admin
	${LN} -sf ${PKG_SYSCONFDIR}/config.php	\
		${DESTDIR}${ZPUSHDIR}/config.php

.include "../../lang/php/phpversion.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/www/z-push/PLIST
@comment $NetBSD: PLIST,v 1.1 2016/06/05 00:02:21 jym Exp $
bin/z-push-admin
bin/z-push-top
share/doc/z-push/INSTALL
share/doc/z-push/LICENSE
share/examples/z-push/config.php
share/examples/z-push/z-push.conf
share/z-push/autodiscover/INSTALL
share/z-push/autodiscover/autodiscover.php
share/z-push/autodiscover/config.php
share/z-push/autodiscover/response.xml
share/z-push/backend/combined/combined.php
share/z-push/backend/combined/config.php
share/z-push/backend/combined/exporter.php
share/z-push/backend/combined/importer.php
share/z-push/backend/imap/config.php
share/z-push/backend/imap/imap.php
share/z-push/backend/maildir/config.php
share/z-push/backend/maildir/maildir.php
share/z-push/backend/searchldap/config.php
share/z-push/backend/searchldap/searchldap.php
share/z-push/backend/vcarddir/config.php
share/z-push/backend/vcarddir/vcarddir.php
share/z-push/backend/zarafa/config.php
share/z-push/backend/zarafa/exporter.php
share/z-push/backend/zarafa/icalparser.php
share/z-push/backend/zarafa/importer.php
share/z-push/backend/zarafa/listfolders.php
share/z-push/backend/zarafa/mapi/class.baseexception.php
share/z-push/backend/zarafa/mapi/class.baserecurrence.php
share/z-push/backend/zarafa/mapi/class.freebusypublish.php
share/z-push/backend/zarafa/mapi/class.mapiexception.php
share/z-push/backend/zarafa/mapi/class.meetingrequest.php
share/z-push/backend/zarafa/mapi/class.recurrence.php
share/z-push/backend/zarafa/mapi/class.taskrecurrence.php
share/z-push/backend/zarafa/mapi/class.taskrequest.php
share/z-push/backend/zarafa/mapi/mapi.util.php
share/z-push/backend/zarafa/mapi/mapicode.php
share/z-push/backend/zarafa/mapi/mapidefs.php
share/z-push/backend/zarafa/mapi/mapiguid.php
share/z-push/backend/zarafa/mapi/mapitags.php
share/z-push/backend/zarafa/mapimapping.php
share/z-push/backend/zarafa/mapiphpwrapper.php
share/z-push/backend/zarafa/mapiprovider.php
share/z-push/backend/zarafa/mapistreamwrapper.php
share/z-push/backend/zarafa/mapiutils.php
share/z-push/backend/zarafa/tnefparser.php
share/z-push/backend/zarafa/zarafa.php
share/z-push/composer.json
share/z-push/config.php
share/z-push/include/mimeDecode.php
share/z-push/include/z_RFC822.php
share/z-push/index.php
share/z-push/lib/core/asdevice.php
share/z-push/lib/core/bodypreference.php
share/z-push/lib/core/changesmemorywrapper.php
share/z-push/lib/core/contentparameters.php
share/z-push/lib/core/devicemanager.php
share/z-push/lib/core/hierarchycache.php
share/z-push/lib/core/interprocessdata.php
share/z-push/lib/core/loopdetection.php
share/z-push/lib/core/pingtracking.php
share/z-push/lib/core/statemanager.php
share/z-push/lib/core/stateobject.php
share/z-push/lib/core/streamer.php
share/z-push/lib/core/streamimporter.php
share/z-push/lib/core/synccollections.php
share/z-push/lib/core/syncparameters.php
share/z-push/lib/core/topcollector.php
share/z-push/lib/core/zlog.php
share/z-push/lib/core/zpush.php
share/z-push/lib/core/zpushdefs.php
share/z-push/lib/default/backend.php
share/z-push/lib/default/diffbackend/diffbackend.php
share/z-push/lib/default/diffbackend/diffstate.php
share/z-push/lib/default/diffbackend/exportchangesdiff.php
share/z-push/lib/default/diffbackend/importchangesdiff.php
share/z-push/lib/default/filestatemachine.php
share/z-push/lib/default/searchprovider.php
share/z-push/lib/default/simplemutex.php
share/z-push/lib/exceptions/authenticationrequiredexception.php
share/z-push/lib/exceptions/exceptions.php
share/z-push/lib/exceptions/fatalexception.php
share/z-push/lib/exceptions/fatalmisconfigurationexception.php
share/z-push/lib/exceptions/fatalnotimplementedexception.php
share/z-push/lib/exceptions/httpreturncodeexception.php
share/z-push/lib/exceptions/nohierarchycacheavailableexception.php
share/z-push/lib/exceptions/nopostrequestexception.php
share/z-push/lib/exceptions/notimplementedexception.php
share/z-push/lib/exceptions/provisioningrequiredexception.php
share/z-push/lib/exceptions/stateinvalidexception.php
share/z-push/lib/exceptions/statenotfoundexception.php
share/z-push/lib/exceptions/statenotyetavailableexception.php
share/z-push/lib/exceptions/statusexception.php
share/z-push/lib/exceptions/syncobjectbrokenexception.php
share/z-push/lib/exceptions/wbxmlexception.php
share/z-push/lib/exceptions/zpushexception.php
share/z-push/lib/interface/ibackend.php
share/z-push/lib/interface/ichanges.php
share/z-push/lib/interface/iexportchanges.php
share/z-push/lib/interface/iimportchanges.php
share/z-push/lib/interface/isearchprovider.php
share/z-push/lib/interface/istatemachine.php
share/z-push/lib/request/folderchange.php
share/z-push/lib/request/foldersync.php
share/z-push/lib/request/getattachment.php
share/z-push/lib/request/gethierarchy.php
share/z-push/lib/request/getitemestimate.php
share/z-push/lib/request/itemoperations.php
share/z-push/lib/request/meetingresponse.php
share/z-push/lib/request/moveitems.php
share/z-push/lib/request/notify.php
share/z-push/lib/request/ping.php
share/z-push/lib/request/provisioning.php
share/z-push/lib/request/request.php
share/z-push/lib/request/requestprocessor.php
share/z-push/lib/request/resolverecipients.php
share/z-push/lib/request/search.php
share/z-push/lib/request/sendmail.php
share/z-push/lib/request/settings.php
share/z-push/lib/request/sync.php
share/z-push/lib/request/validatecert.php
share/z-push/lib/syncobjects/syncappointment.php
share/z-push/lib/syncobjects/syncappointmentexception.php
share/z-push/lib/syncobjects/syncattachment.php
share/z-push/lib/syncobjects/syncattendee.php
share/z-push/lib/syncobjects/syncbaseattachment.php
share/z-push/lib/syncobjects/syncbasebody.php
share/z-push/lib/syncobjects/synccontact.php
share/z-push/lib/syncobjects/syncdeviceinformation.php
share/z-push/lib/syncobjects/syncdevicepassword.php
share/z-push/lib/syncobjects/syncfolder.php
share/z-push/lib/syncobjects/syncitemoperationsattachment.php
share/z-push/lib/syncobjects/syncmail.php
share/z-push/lib/syncobjects/syncmailflags.php
share/z-push/lib/syncobjects/syncmeetingrequest.php
share/z-push/lib/syncobjects/syncmeetingrequestrecurrence.php
share/z-push/lib/syncobjects/syncnote.php
share/z-push/lib/syncobjects/syncobject.php
share/z-push/lib/syncobjects/syncoof.php
share/z-push/lib/syncobjects/syncoofmessage.php
share/z-push/lib/syncobjects/syncprovisioning.php
share/z-push/lib/syncobjects/syncrecurrence.php
share/z-push/lib/syncobjects/syncresolverecipient.php
share/z-push/lib/syncobjects/syncresolverecipients.php
share/z-push/lib/syncobjects/syncresolverecipientsavailability.php
share/z-push/lib/syncobjects/syncresolverecipientscertificates.php
share/z-push/lib/syncobjects/syncresolverecipientsoptions.php
share/z-push/lib/syncobjects/syncresolverecipientspicture.php
share/z-push/lib/syncobjects/syncsendmail.php
share/z-push/lib/syncobjects/syncsendmailsource.php
share/z-push/lib/syncobjects/synctask.php
share/z-push/lib/syncobjects/synctaskrecurrence.php
share/z-push/lib/syncobjects/syncuserinformation.php
share/z-push/lib/syncobjects/syncvalidatecert.php
share/z-push/lib/utils/compat.php
share/z-push/lib/utils/stringstreamwrapper.php
share/z-push/lib/utils/timezoneutil.php
share/z-push/lib/utils/utils.php
share/z-push/lib/utils/zpushadmin.php
share/z-push/lib/wbxml/replacenullcharfilter.php
share/z-push/lib/wbxml/wbxmldecoder.php
share/z-push/lib/wbxml/wbxmldefs.php
share/z-push/lib/wbxml/wbxmlencoder.php
share/z-push/lib/webservice/webservice.php
share/z-push/lib/webservice/webservicedevice.php
share/z-push/lib/webservice/webserviceusers.php
share/z-push/tools/dev/printwbxml.php
share/z-push/tools/fix-meetings-2.0.8+2.1.0-ios7.py
share/z-push/tools/migrate-2.0.x-2.1.0.php
share/z-push/version.php
share/z-push/z-push-admin.php
share/z-push/z-push-top.php

File Added: pkgsrc/www/z-push/distinfo
$NetBSD: distinfo,v 1.1 2016/06/05 00:02:21 jym Exp $

SHA1 (z-push-2.2.10.tar.gz) = 7114fa8500e2b7e88206274ce9399939999047e1
RMD160 (z-push-2.2.10.tar.gz) = c489151ae24268192d522cd448c01f3e43463f33
SHA512 (z-push-2.2.10.tar.gz) = c7bd33844d3c9014074a54bb5287dbb394a8dca2d12c16ee3a579c2e8380e2d458fc78e848abcddbf703cda19b0d461b0102aafe154c1e1c1a277f45e1757515
Size (z-push-2.2.10.tar.gz) = 468698 bytes
SHA1 (patch-config.php) = d580422b5341e4eb86771ce40f28db80e9878501

File Added: pkgsrc/www/z-push/files/z-push.conf
# Respect the URL as specified in the Alias to make ActiveSync working
# properly with your devices.

Alias /Microsoft-Server-ActiveSync "@ZPUSHDIR@/index.php"
<Directory "@ZPUSHDIR@">
	Options -Indexes
	AllowOverride None
	Order allow,deny
	allow from all

	php_flag magic_quotes_gpc off
	php_flag register_globals off
	php_flag magic_quotes_runtime off
	php_flag short_open_tag on
</Directory>

File Added: pkgsrc/www/z-push/patches/patch-config.php
$NetBSD: patch-config.php,v 1.1 2016/06/05 00:02:21 jym Exp $

Use the correct path for the Z-push state directory.

--- config.php.orig	2016-05-04 23:37:41.000000000 +0000
+++ config.php
@@ -72,7 +72,7 @@
 /**********************************************************************************
  *  Default FileStateMachine settings
  */
-    define('STATE_DIR', '/var/lib/z-push/');
+    define('STATE_DIR', '@ZPUSHSTATEDIR@');
 
 
 /**********************************************************************************
@@ -282,4 +282,4 @@
 */
     );
 
-?>
\ No newline at end of file
+?>