1 #-*- mode: makefile; tab-width: 4; -*-
6 # bsd.drupal.mk - Support for Drupal ports and modules.
8 # For FreeBSD committers:
9 # Please send all suggested changes to the maintainer instead of committing
10 # them to SVN yourself.
12 bsd_drupal_mk_MAINTAINER= miwi@FreeBSD.org
14 # Make sure we cannot define any combination of DRUPAL{5,6}
15 .if (defined(DRUPAL5_MODULE) && defined(DRUPAL6_MODULE))
16 BROKEN= cannot define a combination of DRUPAL5_MODULE and DRUPAL6_MODULE
19 .if (defined(DRUPAL5_THEME) && defined(DRUPAL6_THEME))
20 BROKEN= cannot define a combination of DRUPAL5_THEME and DRUPAL6_THEME
23 .if defined(DRUPAL6_MODULE) || defined(DRUPAL6_PORT) || defined(DRUPAL6_THEME)
27 .if !defined(DRUPAL_VERSION)
28 BROKEN= must define DRUPAL_VERSION
31 # Make sure DRUPAL_MODULE is defined where necessary
32 .if defined(DRUPAL5_MODULE) || defined(DRUPAL6_MODULE)
36 .if defined(DRUPAL_MODULE)
37 DRUPAL_MODTYPE= modules
40 # Make sure DRUPAL_PORT is defined where necessary
41 .if defined(DRUPAL5_PORT) || defined(DRUPAL6_PORT)
45 # Make sure DRUPAL_THEME is defined where necessary
46 .if defined(DRUPAL5_THEME) || defined(DRUPAL6_THEME)
48 DRUPAL_MODTYPE= themes
51 .if ${DRUPAL_VERSION} == "7"
52 DRUPAL_BASE?= www/drupal7
53 .elif ${DRUPAL_VERSION} == "6"
54 DRUPAL_BASE?= www/drupal6
56 BROKEN= Unknown DRUPAL_VERSION (${DRUPAL_VERSION})
59 DRUPAL_DIR= ${PREFIX}/${DRUPAL_BASE}
60 DRUPAL_DOCSDIR?= ${PREFIX}/${DRUPAL_BASE}/doc
61 PLIST_SUB+= DRUPAL_BASE=${DRUPAL_BASE}
62 SUB_LIST+= DRUPAL_BASE=${DRUPAL_BASE} DRUPAL_DIR=${DRUPAL_DIR}
64 .if defined(DRUPAL_PORT)
65 DOCSDIR?= ${DRUPAL_DOCSDIR}
68 .if defined(DRUPAL_MODULE) || defined (DRUPAL_THEME)
69 PKGNAMEPREFIX= drupal${DRUPAL_VERSION}-
71 # drupal contributions must be licensed under the GPLv2 or GPLv3. This is
72 # documented at: http://drupal.org/licensing/faq/
78 .if defined(DRUPAL_MODSUBDIR)
79 DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${DRUPAL_MODTYPE}/${DRUPAL_MODSUBDIR}
81 DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${DRUPAL_MODTYPE}/${PORTNAME}
84 DRUPAL_MODLIB?= ${DRUPAL_BASE}/sites/all/libraries
86 DOCSDIR?= ${DRUPAL_DOCSDIR}/${PORTNAME}
88 .if defined(DRUPAL_MOD_SNAPSHOT)
89 MASTER_SITE_DRUPAL+= \
91 MASTER_SITE_DRUPAL_SUBDIR= pav/drupal
93 MASTER_SITE_DRUPAL+= \
94 http://ftp.drupal.org/files/projects/ \
95 http://ftp.osuosl.org/pub/drupal/files/projects/
96 MASTER_SITE_DRUPAL_SUBDIR=
99 MASTER_SITES?= ${MASTER_SITE_DRUPAL}
100 MASTER_SITE_SUBDIR?= ${MASTER_SITE_DRUPAL_SUBDIR}
106 WRKSRC?= ${WRKDIR}/${PORTNAME}
107 RUN_DEPENDS+= ${LOCALBASE}/${DRUPAL_BASE}/index.php:${PORTSDIR}/${DRUPAL_BASE}
109 .if defined(MODULE_CONF_FILES)
110 SUB_FILES= pkg-install
111 SUB_LIST+= CONF_FILES="${MODULE_CONF_FILES:C|^|${DRUPAL_MODDIR}/|}" \
112 CONF_DIRS="${MODULE_CONF_DIRS:C|^|${DRUPAL_MODDIR}/|}"
114 PKGINSTALL= ${WRKDIR}/pkg-install
115 PKGDEINSTALL= ${PKGINSTALL}
118 PLIST_SUB+= DRUPAL_MODDIR=${DRUPAL_MODDIR}
119 PLIST_FILES+= ${MODULE_FILES:C|^|%%DRUPAL_MODDIR%%/|}
120 PLIST_FILES+= ${MODULE_CONF_FILES:C|^|%%DRUPAL_MODDIR%%/|:C|$|-dist|}
121 PLIST_DIRS+= ${MODULE_DIRS:C|^|%%DRUPAL_MODDIR%%/|}
122 .if defined(DRUPAL_MODULE) || defined(DRUPAL_THEME)
123 PLIST_DIRS+= ${DRUPAL_MODDIR}
125 .if defined(DRUPAL_MODSUBDIR)
126 PLIST_DIRS+= ${DRUPAL_MODDIR}
128 .if !defined(NOPORTDOCS)
129 PLIST_FILES+= ${DOC_FILES:C|^|%%DOCSDIR%%/|}
130 PLIST_DIRS+= ${DOC_DIRS:C|^|%%DOCSDIR%%/|}
131 PLIST_DIRS+= %%DOCSDIR%%
135 .if defined(DRUPAL_MODULE) || defined(DRUPAL_THEME)
136 @${MKDIR} ${DRUPAL_MODDIR:C|^|${STAGEDIR}${PREFIX}/|}
137 @${CHOWN} ${WWWOWN}:${WWWGRP} ${DRUPAL_MODDIR:C|^|${STAGEDIR}${PREFIX}/|}
139 .if defined(MODULE_CONF_DIRS)
140 @${MKDIR} ${MODULE_CONF_DIRS:C|^|${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/|}
141 @${CHOWN} ${WWWOWN}:${WWWGRP} ${MODULE_CONF_DIRS:C|^|${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/|}
143 .if defined(MODULE_DIRS)
144 @${MKDIR} ${MODULE_DIRS:C|^|${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/|}
145 @${CHOWN} ${WWWOWN}:${WWWGRP} ${MODULE_DIRS:C|^|${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/|}
147 .for f in ${MODULE_FILES}
148 @${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/${f}
149 @${CHOWN} ${WWWOWN}:${WWWGRP} ${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/${f}
151 .for f in ${MODULE_CONF_FILES}
152 @${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/${f}-dist
153 @${CHOWN} ${WWWOWN}:${WWWGRP} ${STAGEDIR}${PREFIX}/${DRUPAL_MODDIR}/${f}-dist
155 @${MKDIR} ${STAGEDIR}${DOCSDIR} ${DOC_DIRS:C|^|${STAGEDIR}${DOCSDIR}/|}
156 .for f in ${DOC_FILES}
157 @${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/${f}
160 .if defined(MODULE_CONF_FILES)
162 @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL