aboutsummaryrefslogtreecommitdiff
path: root/www/redmine/bsd.redmine.mk
diff options
context:
space:
mode:
Diffstat (limited to 'www/redmine/bsd.redmine.mk')
-rw-r--r--www/redmine/bsd.redmine.mk80
1 files changed, 80 insertions, 0 deletions
diff --git a/www/redmine/bsd.redmine.mk b/www/redmine/bsd.redmine.mk
new file mode 100644
index 000000000000..3468f4d74b8b
--- /dev/null
+++ b/www/redmine/bsd.redmine.mk
@@ -0,0 +1,80 @@
+# Module that simplifies installation of Redmine plugins.
+#
+# Date created: 2010-09-12
+# Whom: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
+#
+# $FreeBSD$
+#
+# We're assuming standard plugin installation sequence that is described
+# in the http://www.redmine.org/wiki/redmine/Plugins
+#
+# Basically, we need the following variables to be defined:
+# - REDMINE_PLUGIN_NAME: the name of the plugin;
+# - WWWDIR: the location of the Redmine installation;
+# the default value is ${PREFIX}/www/redmine;
+# the directory must lie under ${PREFIX} or such configuration
+# will be IGNORE'd;
+# - WRKSRC must be set to the root directory of the plugin contents:
+# we will copy all objects in this directory to the plugin's
+# destination directory, excluding all files named *.orig.
+#
+# PLIST will be generated automatically, there is no need to worry
+# about it. But if you will need to use your own (even the standard
+# packaging list in ${PORTDIR}/pkg-plist), set the variable PLIST
+# pointing to that file.
+#
+# You can override the target 'do-build', but in this case, you should
+# remember that the target named 'redmine-plugin-plist' does the
+# automated generation of the PLIST: use it if you need.
+#
+#
+# Here is an example of a simple Makefile for Redmine plugin:
+# {{{
+# PORTNAME= me-the-plugin
+# PORTVERSION= 1.0
+# CATEGORIES= www
+# MASTER_SITES= http://cool.org.name/some/path/
+#
+# MAINTAINER= you@your.org
+# COMMENT= Another cool plugin for Redmine
+#
+# REDMINE_PLUGIN_NAME= redmine_http_auth
+#
+# .include "${.CURDIR}/../../www/redmine/bsd.redmine.mk"
+# }}}
+
+PKGNAMEPREFIX?= redmine-
+
+RUN_DEPENDS+= redmine>=0.9:${PORTSDIR}/www/redmine
+
+USE_RUBY= yes
+.if !defined(PLIST)
+PLIST= ${WRKDIR}/PLIST
+_GEN_PLIST= YesPlease
+.endif
+
+WWWDIR?= ${PREFIX}/www/redmine
+WWWDIR_REL= ${WWWDIR:S|^${PREFIX}/||}
+
+.if ${WWWDIR_REL} == ${WWWDIR}
+IGNORE= WWWDIR is not a child of PREFIX (${PREFIX})
+.endif
+
+.if !defined(do-build)
+do-build: redmine-plugin-plist
+ @${DO_NADA}
+.endif
+
+redmine-plugin-plist:
+.if defined(_GEN_PLIST)
+ cd ${WRKSRC} && ${FIND} . -type f | ${GREP} -v '\.orig$$' | ${SED} -e's|^\.|${WWWDIR_REL}/vendor/plugins/${REDMINE_PLUGIN_NAME}|' >> ${PLIST}
+ cd ${WRKSRC} && ${FIND} -d . -type d | ${SED} -e's|^\.|@dirrm ${WWWDIR_REL}/vendor/plugins/${REDMINE_PLUGIN_NAME}|' >> ${PLIST}
+.else
+ @${DO_NADA}
+.endif
+
+do-install:
+ ${MKDIR} "${WWWDIR}/vendor/plugins/${REDMINE_PLUGIN_NAME}"
+ ${TAR} -C "${WRKSRC}" -cf - --exclude '*.orig' . | ${TAR} -C "${WWWDIR}/vendor/plugins/${REDMINE_PLUGIN_NAME}" -xf -
+
+.include <bsd.port.mk>