[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / www / davical

File: [cvs.NetBSD.org] / pkgsrc / www / davical / Makefile (download)

Revision 1.9, Thu Oct 13 15:57:03 2011 UTC (7 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.8: +8 -7 lines

Update to 0.9.9.6. Changes:
0.9.9.6:
Functionality Enhancements

    Implementation of the Timezone Service Protocol (draft)

Bug Fixes

    Fixes to the handling of time-range queries in the calendar-query report.
    Fixes to LDAP authentication regressions introduced in 0.9.9.5.
    Fix ability to save blank default privileges.

Other Changes

    Add a script which can be run from cron to sync users from LDAP.
    Most use of the deprecated iCalendar class has been switched to use the new vCalendar class.

0.9.9.5:
Functionality Enhancements

    Experimental 'memcached' support is added to help large sites improve scalability.
    The /setup.php URL is improved to provide better information
    When a new user is created an 'addressbook' collection will be created in addition to their 'home' calendar.
    Scheduling Extensions for CalDAV: When a meeting is scheduled with another person on the same server it should automatically appear in their calendar and scheduling inbox.
    Implemented the principal-match REPORT.
    Only include calendar-data (or addressbook-data) in the response to a sync-collection if there are fewer than 50 changes outstanding.
    Add support for Digest authentication.
    Add support for using IMAP as an auth source.
    Add support for binding remote calendars External Bind(Rob Ostensen).

Bug Fixes

    Repeat rule expansion now handles floating date-time and date correctly.
    Access to calendar resources by users with only read-free-busy access should always be obfuscated.
    The first user to log in after setting up a system using pam_auth or LDAP will no longer fail.
    Correct handling for PUT of a VCALENDAR with unreferenced VTIMEZONE components.
    Only include override components in an expanded report if they override in the expand period (or otherwise affect within the period).
    Correct output of XML <error> responses containing error tags in the DAV namespace.
    Correct handling of calendar-query REPORT where <prop> follows <filter>
    Setup tests now handle where PHP config values are set to '0' or 'off' as equivalent.
    Various bugfixes to caldav-client-v2.php script.
    Don't restrict password character set for LDAP auth users.
    Don't allow BIND to succeed with an empty password.
    Correct sort ordering of members of a group.
    Block access by expired tickets.

Other Changes

    Group membership now always confers the group's 'Default privileges' to members of the group.
    The handling of reading users from the database is refactored from old PHP4 code into some better object oriented classes.
    Refactoring of the handling of PUT requests.
    Add a workaround to let Apple Addressbook log in and use CardDAV even when account names contain '@'
    Updated translations.
    New translations for Norwegian, Brazilian Portuguese and Mexican Spanish.
    Allow expansion to return expanded floating time events in floating time (extension to spec).
    When an event is added but has no UID (invalid) we now add one.
    Add support in the archive for building RPMs of DAViCal

# $NetBSD: Makefile,v 1.9 2011/10/13 15:57:03 wiz Exp $
#

DISTNAME=	davical-${DAVICAL_VERSION}
DAVICAL_VERSION=0.9.9.6
CATEGORIES=	www
MASTER_SITES=	http://debian.mcmillan.net.nz/packages/davical/

MAINTAINER=	jym@NetBSD.org
HOMEPAGE=	http://www.davical.org/
COMMENT=	Simple CalDAV server using a PostgreSQL backend

LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3

PKG_DESTDIR_SUPPORT=	user-destdir

DAVICALDIR=	${PREFIX}/share/davical
EGDIR=		${PREFIX}/share/examples/davical
DOCDIR=		${PREFIX}/share/doc/davical

BUILD_DEFS=	APACHE_USER APACHE_GROUP PGUSER PGGROUP

# davical_dba account
DAVICAL_USER?=	${PGUSER}
DAVICAL_GROUP?=	${PGGROUP}

USE_TOOLS=	pax msgfmt perl:build

PAXDIRS=	htdocs inc dba po scripts

INSTALLATION_DIRS=	${DOCDIR} ${EGDIR}/config

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

DEPENDS+=	${APACHE_PKG_PREFIX}-${PHP_PKG_PREFIX}>=5.2:../../www/ap-php
DEPENDS+=	${PHP_PKG_PREFIX}-pgsql>=4.3.1:../../databases/php-pgsql
DEPENDS+=	${PHP_PKG_PREFIX}-pdo_pgsql>=${PHP_BASE_VERS}:../../databases/php-pdo_pgsql
DEPENDS+=	${PHP_PKG_PREFIX}-libawl>=0.48:../../devel/php-libawl
DEPENDS+=	p5-DBD-postgresql>=2.16.1:../../databases/p5-DBD-postgresql
DEPENDS+=	p5-Class-DBI-Pg>=0.09:../../databases/p5-Class-DBI-Pg
DEPENDS+=	p5-YAML>=0.71:../../textproc/p5-YAML
DEPENDS+=	pwgen>=2.06:../../sysutils/pwgen
DEPENDS+=	postgresql${PGSQL_VERSION}-client-[0-9]*:../../databases/postgresql${PGSQL_VERSION}-client

PKG_SYSCONFSUBDIR=	davical

MESSAGE_SUBST+=		DAVICALDIR=${DAVICALDIR:Q} DOCDIR=${DOCDIR:Q}
MESSAGE_SUBST+=		PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
MESSAGE_SUBST+=		HOMEPAGE=${HOMEPAGE:Q}

CONF_FILES=		${EGDIR}/davical.conf	\
			${PKG_SYSCONFDIR}/davical.conf

CONF_FILES_PERMS+=	${EGDIR}/config/example-administration.yml	\
			${PKG_SYSCONFDIR}/administration.yml		\
			${DAVICAL_USER} ${DAVICAL_GROUP} 0600

CONF_FILES_PERMS+=	${EGDIR}/config/example-config.php	\
			${PKG_SYSCONFDIR}/config.php		\
			${APACHE_USER} ${APACHE_GROUP} 0640

REPLACE_PERL=		dba/update-davical-database

REPLACE_INTERPRETER+=	php
REPLACE.php.old=	.*php
REPLACE.php.new=	${PREFIX}/bin/php
REPLACE_FILES.php=	scripts/cron-sync-ldap.php
REPLACE_FILES.php+=	scripts/sync-remote-caldav.php
REPLACE_FILES.php+=	scripts/refresh-alarms.php
REPLACE_FILES.php+=	scripts/tz-update.php

SUBST_CLASSES+=		conf-path
SUBST_STAGE.conf-path=	pre-configure
SUBST_FILES.conf-path=	inc/always.php.in dba/update-davical-database
SUBST_FILES.conf-path+=	inc/davical_configuration_missing.php
SUBST_SED.conf-path+=	-e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
SUBST_MESSAGE.conf-path=Fixing configuration path.

# See ../../devel/php-libawl/Makefile.common for the LIBAWLDIR value
SUBST_CLASSES+=		inc-path
SUBST_STAGE.inc-path=	pre-configure
SUBST_FILES.inc-path=	davical.conf inc/always.php.in
SUBST_FILES.inc-path+=	scripts/po/rebuild-translations.sh
SUBST_FILES.inc-path+=	dba/create-database.sh
SUBST_SED.inc-path+=	-e "s|@LIBAWLPATH@|${PREFIX}/${LIBAWLDIR}|g"
SUBST_MESSAGE.inc-path=	Fixing AWL include path.

SUBST_CLASSES+=		examples
SUBST_STAGE.examples=	pre-configure
SUBST_FILES.examples=	dba/create-database.sh
SUBST_SED.examples+=	-e "s|@EGDIRCONFIG@|${EGDIR}/config|g"
SUBST_MESSAGE.examples=	Fixing config examples path.

SUBST_CLASSES+=		files
SUBST_STAGE.files=	pre-configure
SUBST_FILES.files=	davical.conf
SUBST_SED.files+=	-e "s|@DAVICALDIR@|${DAVICALDIR}|g"
SUBST_MESSAGE.files=	Fixing DAViCal configuration file for Apache.

post-extract:
	${CP} ${FILESDIR}/davical.conf ${WRKSRC}/davical.conf

pre-install:
	${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f
	${FIND} ${WRKSRC}/po -name "*~" -print | ${XARGS} ${RM} -f

do-install:
	${INSTALL_DATA} ${WRKSRC}/davical.conf	\
		${DESTDIR}${EGDIR}/davical.conf

	cd ${WRKSRC}/docs && pax -rwpam . ${DESTDIR}${DOCDIR}

.	for f in COPYING CREDITS ChangeLog INSTALL README TODO VERSION
		cd ${WRKSRC} && \
		${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${DOCDIR}
.	endfor

.	for d in ${PAXDIRS}
		${INSTALL_DATA_DIR} ${DESTDIR}${DAVICALDIR}/${d}
		cd ${WRKSRC}/${d} && pax -rwpam . ${DESTDIR}${DAVICALDIR}/${d}
.	endfor

	cd ${WRKSRC}/config && for f in *; do				\
		${INSTALL_DATA} $$f ${DESTDIR}${EGDIR}/config/$$f;	\
	done

.include "../../mk/pgsql.buildlink3.mk"
.include "../../devel/php-libawl/Makefile.common"
.include "../../mk/apache.mk"
.include "../../mk/bsd.pkg.mk"