[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.33, Thu Dec 7 13:00:33 2017 UTC (22 months, 1 week ago) by hauke
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.32: +3 -3 lines

www/davical update to 1.1.6

From upstream's changelog:

>From the Release Notes
(https://wiki.davical.org/index.php/Release_Notes/1.1.6):

Bug Fixes
=========
 * Only one set of angle brackets around cannot-modify-protected-property error tag (#112)
 * Fix sync of deleted events when hide_todo is set (#100)
 * Modify hide_older_than logic to allow through recurring events (#103)
 * Fix modified mapping in the LDAP driver (#108)
 * Do not output unescaped XML special characters in if-match error message (#113)
 * Don't crash on principal-property-search REPORT without a proper match clause (#114)
 * Various CardDAV and CalDAV fixes highlighted by caldav-tester
 * Fix $SERVER variable names used when operating behind a proxy (!38)
 * Use modern class constructors that even work with PHP7 (fixes: #119)
 * Card search invalid when negate-condition="no" (#126)
 * Propagate database error to client (#127)
 * Add a log entry for login failures (#105)

Other Changes
=============
 * Updates to the test suites, which are mostly passing now
 * Improved logging in certain error conditions
 * Set $c->external_ua_string to fetch external calendars posing as a certain user-agent (#115)
 * Improve parsing of RFC5545 durations
 * Improve support for /principals/users/..., /principals/resources/...
   and /__uids__/... URLs
 * Improve use of create-database.sh and update-davical-database with non-default values (see #124)
 * Experimental $c->enable_attendee_group_resolution will resolve
   attendee group names to a list of individual users (from !21)
 * Add support for calendar-user-type (!39)
 * Update caldav_functions.sql for Postgresql 10 (#129)

Database Upgrade
================
 * Run dba/upgrade-davical-database to get Postgresql-10-compatible functions

Upgrades of Other Software
==========================
 * AWL 0.58 is required for best PHP7 compatibility

# $NetBSD: Makefile,v 1.33 2017/12/07 13:00:33 hauke Exp $

DISTNAME=	davical-${DAVICAL_VERSION}
PKGNAME=	${PHP_PKG_PREFIX}-davical-${DAVICAL_VERSION}
CATEGORIES=	www
MASTER_SITES=	-https://gitlab.com/davical-project/davical/repository/archive.tar.gz?ref=${GITLAB_TAG}

MAINTAINER=	jym@NetBSD.org
HOMEPAGE=	https://www.davical.org/
COMMENT=	Simple CalDAV server using a PostgreSQL backend
LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3

DAVICAL_VERSION=1.1.6
GITLAB_TAG=	r${DAVICAL_VERSION}
GITLAB_REV=	3ba605288fb0fc0a4f2abce09874f8dab5ffdfb8

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=	gmake pax msgfmt perl

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.56:../../devel/php-libawl
DEPENDS+=	${PHP_PKG_PREFIX}-calendar>=5.3.18:../../time/php-calendar
DEPENDS+=	${PHP_PKG_PREFIX}-curl>=5.3.18:../../www/php-curl
DEPENDS+=	p5-DBI>=1.631:../../databases/p5-DBI
DEPENDS+=	p5-DBD-postgresql>=3.5:../../databases/p5-DBD-postgresql
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 scripts/davical-cli

REPLACE_INTERPRETER+=	php
REPLACE.php.old=	.*php
REPLACE.php.new=	${PREFIX}/bin/php
REPLACE_FILES.php=	scripts/archive-old-events.php
REPLACE_FILES.php+=	scripts/cron-sync-ldap.php
REPLACE_FILES.php+=	scripts/export_calendar.php
REPLACE_FILES.php+=	scripts/load_calendar.php
REPLACE_FILES.php+=	scripts/refresh-alarms.php
REPLACE_FILES.php+=	scripts/sync-remote-caldav.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_SED.inc-path+=	-e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|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.

pre-patch:
	${MV} ${WRKDIR}/davical-${GITLAB_TAG}-${GITLAB_REV} ${WRKSRC}
	${CP} ${FILESDIR}/davical.conf ${WRKSRC}/davical.conf

pre-install:
	${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f
	${FIND} ${WRKSRC} -name ".gitignore" -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"