Mk/Uses/iconv: support iconv+
[dports.git] / Mk / bsd.drupal.mk
1 #-*- mode: makefile; tab-width: 4; -*-
2 # ex:ts=4
3 #
4 # $FreeBSD: Mk/bsd.drupal.mk 318556 2013-05-20 00:45:26Z miwi $
5 #
6 # bsd.drupal.mk - Support for Drupal ports and modules.
7 #
8 # For FreeBSD committers:
9 # Please send all suggested changes to the maintainer instead of committing
10 # them to SVN yourself.
11
12 bsd_drupal_mk_MAINTAINER=       miwi@FreeBSD.org
13
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
17 .endif
18
19 .if (defined(DRUPAL5_THEME) && defined(DRUPAL6_THEME))
20 BROKEN=         cannot define a combination of DRUPAL5_THEME and DRUPAL6_THEME
21 .endif
22
23 .if defined(DRUPAL6_MODULE) || defined(DRUPAL6_PORT)  || defined(DRUPAL6_THEME)
24 DRUPAL_VERSION?=        6
25 .endif
26
27 .if !defined(DRUPAL_VERSION)
28 BROKEN=         must define DRUPAL_VERSION
29 .endif
30
31 # Make sure DRUPAL_MODULE is defined where necessary
32 .if defined(DRUPAL5_MODULE) || defined(DRUPAL6_MODULE)
33 DRUPAL_MODULE?= yes
34 .endif
35
36 .if defined(DRUPAL_MODULE)
37 DRUPAL_MODTYPE= modules
38 .endif
39
40 # Make sure DRUPAL_PORT is defined where necessary
41 .if defined(DRUPAL5_PORT) || defined(DRUPAL6_PORT)
42 DRUPAL_PORT?=   yes
43 .endif
44
45 # Make sure DRUPAL_THEME is defined where necessary
46 .if defined(DRUPAL5_THEME) || defined(DRUPAL6_THEME)
47 DRUPAL_THEME?=  yes
48 DRUPAL_MODTYPE= themes
49 .endif
50
51 .if ${DRUPAL_VERSION} == "7"
52 DRUPAL_BASE?=   www/drupal7
53 .elif ${DRUPAL_VERSION} == "6"
54 DRUPAL_BASE?=   www/drupal6
55 .else
56 BROKEN=         Unknown DRUPAL_VERSION (${DRUPAL_VERSION})
57 .endif
58
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}
63
64 .if defined(DRUPAL_PORT)
65 DOCSDIR?=       ${DRUPAL_DOCSDIR}
66 .endif
67
68 .if defined(DRUPAL_MODULE) || defined (DRUPAL_THEME)
69 PKGNAMEPREFIX=  drupal${DRUPAL_VERSION}-
70
71 # drupal contributions must be licensed under the GPLv2 or GPLv3.  This is
72 # documented at: http://drupal.org/licensing/faq/
73 .if !defined(LICENSE)
74 LICENSE=        GPLv2 GPLv3
75 LICENSE_COMB=   dual
76 .endif
77
78 .if defined(DRUPAL_MODSUBDIR)
79 DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${DRUPAL_MODTYPE}/${DRUPAL_MODSUBDIR}
80 .else
81 DRUPAL_MODDIR?= ${DRUPAL_BASE}/sites/all/${DRUPAL_MODTYPE}/${PORTNAME}
82 .endif
83
84 DRUPAL_MODLIB?= ${DRUPAL_BASE}/sites/all/libraries
85
86 DOCSDIR?=       ${DRUPAL_DOCSDIR}/${PORTNAME}
87
88 .if defined(DRUPAL_MOD_SNAPSHOT)
89 MASTER_SITE_DRUPAL+= \
90         ${MASTER_SITE_LOCAL}
91 MASTER_SITE_DRUPAL_SUBDIR=      pav/drupal
92 .else
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=
97 .endif
98
99 MASTER_SITES?=  ${MASTER_SITE_DRUPAL}
100 MASTER_SITE_SUBDIR?=    ${MASTER_SITE_DRUPAL_SUBDIR}
101
102 DIST_SUBDIR=    drupal
103
104 NO_BUILD?=      yes
105
106 WRKSRC?=        ${WRKDIR}/${PORTNAME}
107 RUN_DEPENDS+=   ${LOCALBASE}/${DRUPAL_BASE}/index.php:${PORTSDIR}/${DRUPAL_BASE}
108
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}/|}"
113 # XXX: where?
114 PKGINSTALL=     ${WRKDIR}/pkg-install
115 PKGDEINSTALL=   ${PKGINSTALL}
116 .endif
117
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}
124 .endif
125 .if defined(DRUPAL_MODSUBDIR)
126 PLIST_DIRS+=    ${DRUPAL_MODDIR}
127 .endif
128 .if !defined(NOPORTDOCS)
129 PLIST_FILES+=   ${DOC_FILES:C|^|%%DOCSDIR%%/|}
130 PLIST_DIRS+=    ${DOC_DIRS:C|^|%%DOCSDIR%%/|}
131 PLIST_DIRS+=    %%DOCSDIR%%
132 .endif
133
134 do-install:
135 .if defined(DRUPAL_MODULE) || defined(DRUPAL_THEME)
136         @${MKDIR} ${DRUPAL_MODDIR:C|^|${PREFIX}/|}
137         @${CHOWN} ${WWWOWN}:${WWWGRP} ${DRUPAL_MODDIR:C|^|${PREFIX}/|}
138 .endif
139 .if defined(MODULE_CONF_DIRS)
140         @${MKDIR} ${MODULE_CONF_DIRS:C|^|${PREFIX}/${DRUPAL_MODDIR}/|}
141         @${CHOWN} ${WWWOWN}:${WWWGRP} ${MODULE_CONF_DIRS:C|^|${PREFIX}/${DRUPAL_MODDIR}/|}
142 .endif
143 .if defined(MODULE_DIRS)
144         @${MKDIR} ${MODULE_DIRS:C|^|${PREFIX}/${DRUPAL_MODDIR}/|}
145         @${CHOWN} ${WWWOWN}:${WWWGRP} ${MODULE_DIRS:C|^|${PREFIX}/${DRUPAL_MODDIR}/|}
146 .endif
147 .for f in ${MODULE_FILES}
148         @${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${DRUPAL_MODDIR}/${f}
149         @${CHOWN} ${WWWOWN}:${WWWGRP} ${PREFIX}/${DRUPAL_MODDIR}/${f}
150 .endfor
151 .for f in ${MODULE_CONF_FILES}
152         @${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${DRUPAL_MODDIR}/${f}-dist
153         @${CHOWN} ${WWWOWN}:${WWWGRP} ${PREFIX}/${DRUPAL_MODDIR}/${f}-dist
154 .endfor
155 .if !defined(NOPORTDOCS)
156         @${MKDIR} ${DOCSDIR} ${DOC_DIRS:C|^|${DOCSDIR}/|}
157 .for f in ${DOC_FILES}
158         @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}/${f}
159 .endfor
160 .endif
161
162 .if defined(MODULE_CONF_FILES)
163 post-install:
164         @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
165 .endif
166 .endif