aboutsummaryrefslogtreecommitdiff
path: root/mail/openemm2013/Makefile
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2015-10-17 16:41:29 +0000
committerKurt Jaeger <pi@FreeBSD.org>2015-10-17 16:41:29 +0000
commitbc3fc9f856c62745f61d788e0f1e83cae8f57cb7 (patch)
treed7c5175670c745dbbcf891e2f48c64b9033bfc9c /mail/openemm2013/Makefile
parent7b6234a8c3229903838395c3a7a20d13dc78f745 (diff)
downloadports-bc3fc9f856c62745f61d788e0f1e83cae8f57cb7.tar.gz
ports-bc3fc9f856c62745f61d788e0f1e83cae8f57cb7.zip
New port: mail/openemm2013
OpenEMM is a feature-rich web-based enterprise application for email marketing, newsletters and service mails (transaction mails and event or time triggered mails). OpenEMM offers a great user interface, sophisticated bounce management, link tracking, lots of graphical realtime statistics, a CMS module and a scripting feature to implement individual tasks. OpenEMM is the first open source application for e-mail marketing. Its code base has been developed since 1999 and is used - as part of the commercial software product E-Marketing Manager (EMM) - by companies like IBM, Daimler, Siemens and Deutsche Telekom. OpenEMM offers already more than 95% of the functionality of most commercial products and some features most commercial products do not offer right now (for example MySQL support and CMS functionality). WWW: http://www.openemm.org PR: 196516 Submitted by: Horst Leitenmueller <horst.leitenmueller@liwest.at>
Notes
Notes: svn path=/head/; revision=399542
Diffstat (limited to 'mail/openemm2013/Makefile')
-rw-r--r--mail/openemm2013/Makefile216
1 files changed, 216 insertions, 0 deletions
diff --git a/mail/openemm2013/Makefile b/mail/openemm2013/Makefile
new file mode 100644
index 000000000000..c332b2726ef4
--- /dev/null
+++ b/mail/openemm2013/Makefile
@@ -0,0 +1,216 @@
+# Created by: Horst Leitenmueller <horst.leitenmueller@liwest.at>
+# $FreeBSD$
+
+PORTNAME= openemm2013
+PORTVERSION= R2
+CATEGORIES= mail java www
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:DEFAULT/} \
+ http://central.maven.org/maven2/%SUBDIR%/:MAVEN2
+MASTER_SITE_SUBDIR= openemm/OpenEMM%20software/OpenEMM%202013/:DEFAULT \
+ com/lowagie/itext/2.1.7/:MAVEN2
+DISTNAME= OpenEMM-2013_${PORTVERSION}-src
+DISTFILES= OpenEMM-2013_${PORTVERSION}-src.tar.gz:DEFAULT OpenEMM-2013_${PORTVERSION}-JARs.tar.gz:DEFAULT \
+ itext-2.1.7.jar:MAVEN2
+
+MAINTAINER= horst.leitenmueller@liwest.at
+COMMENT= OpenEMM a email marketing enterprise app
+
+LICENSE= CPAL-1.0
+LICENSE_FILE= ${WRKSRC}/other/LICENSE.txt
+
+LIB_DEPENDS= libslang.so:${PORTSDIR}/devel/libslang2 \
+ libsa.so:${PORTSDIR}/net/ossp-sa
+BUILD_DEPENDS= ${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \
+ ${ANT_CMD}:${PORTSDIR}/devel/apache-ant
+RUN_DEPENDS= ${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \
+ py27-MySQLdb>=1.2.3:${PORTSDIR}/databases/py-MySQLdb
+
+USE_RC_SUBR= openemm2013
+USE_JAVA= yes
+JAVA_VERSION= 1.7+
+
+USES= dos2unix gmake python:2.7,run
+DOS2UNIX_GLOB= *.c *.cpp *.h *.java *.xml *.properties
+CC= clang
+CXX= clang++
+
+TOMCATVER= apache-tomcat-8.0
+TOMCATDIR= ${PREFIX}/${TOMCATVER}
+TOMCATHOME= ${LOCALBASE}/${TOMCATVER}
+#WEBAPPDIR= ${TOMCATDIR}/webapps
+WEBAPP= openemm
+
+USER= www
+GROUP= www
+VAR_DIR?= /var
+LOG_DIR?= ${VAR_DIR}/log/${PORTNAME}
+PID_FILE= ${VAR_DIR}/run/${PORTNAME}.pid
+
+AGN_BACKEND_FILES= lib tools xmlback bav
+
+SUB_LIST= APP_SHORTNAME=${PORTNAME} \
+ LOG_DIR=${LOG_DIR} \
+ USER=${USER} \
+ GROUP=${GROUP} \
+ PID_FILE=${PID_FILE} \
+ APP_HOME=${PREFIX}/${PORTNAME}
+PLIST_SUB= APP_HOME=${PORTNAME}
+
+TOMCAT_CONFIG_FILES= context.xml logging.properties server.xml
+
+ANT_CMD?= ${LOCALBASE}/bin/ant
+ANT= ${SETENV} JAVA_HOME=${JAVA_HOME} ${ANT_CMD}
+ANT_TARGETS= build
+ANT_BUILD_PARAM= -Dbuild=${WRKSRC}/target -Doe.home=${WRKSRC}/target -Dcatalina.home=${TOMCATDIR} -Dsrc=${WRKSRC} -f openemm_build.xml
+JAVA_BUILD= yes
+
+do-extract:
+ @cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}.tar.gz ${EXTRACT_AFTER_ARGS}
+
+ # we extract the add-on libs to the ${WRKSRC}/lib directory
+ ${MKDIR} ${WRKSRC}/lib
+ @cd ${WRKSRC}/lib && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/OpenEMM-2013_${PORTVERSION}-JARs.tar.gz ${EXTRACT_AFTER_ARGS}
+ @cd ${WRKSRC}/lib && ${CP} ${_DISTDIR}/itext-2.1.7.jar .
+
+post-extract:
+ # remove not needed java libs which are installed as separate port
+ ${RM} ${WRKSRC}/lib/mysql*.jar
+
+ # remove the c libs which are also installed as dependencies ports
+ # ${WRKSRC}/contrib/sa-1.2.6.tar.gz -> net/ossp-sa and ${WRKSRC}/contrib/slang-1.4.9.tar.gz -> devel/libslang2
+ ${RM} -rf ${WRKSRC}/contrib
+
+ # remove not needed c buildscripts
+ ${RM} -rf ${WRKSRC}/other/make_backend.sh
+
+pre-patch:
+ @${ECHO_MSG} "Installation settings:"
+ @${ECHO_MSG} " Location of TomcatHome: ${TOMCAT_HOME}"
+ @${ECHO_MSG} " Location of JDK: ${JAVA_HOME}"
+ @${ECHO_MSG} " Location of Java port: ${JAVA_PORT}"
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' -e 's|\/usr\/share\/doc\/OpenEMM-2013|${DOCSDIR}|g' ${WRKSRC}/other/README.txt
+ ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/script/data/bav.rc
+ ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/tomcat/conf/server.xml
+
+ ${REINPLACE_CMD} -e "s|base = os.environ\['HOME'\]| base = '${PREFIX}\/${PORTNAME}'|g" -e "s|lockpath = os.environ\['LOCK_HOME'\]|lockpath = '/var/run/openemm'|g" ${WRKSRC}/src/script/lib/agn.py
+
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/lib/config.sh
+
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' -e 's|-L INFO|-L INFO -s /var/run/openemm/bav.sock|' ${WRKSRC}/src/script/control/bounce.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-update.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-trigger.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bavd.sh
+
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/merger.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/recovery.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/update.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/pickdist.sh
+
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/mailer.sh
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/sendmail-enable.sh
+
+ ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/slrtscn.sh
+
+ ${REINPLACE_CMD} -e 's|=logs\/openemm\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf/log4j.properties
+ ${REINPLACE_CMD} -e 's|=logs\/openemm-ws\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf-ws/log4j.properties
+
+ ${REINPLACE_CMD} -e 's|system.logdir=.*|system.logdir=\/var\/log\/\${PORTNAME}\/|g' \
+ -e 's|plugins.home=.*|plugins.home=\${PREFIX}\/\${PORTNAME}\/plugins|g' \
+ -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/conf/emm.properties
+
+do-build:
+
+ # build the c backend parts of AGN
+ @${ECHO} "Building C Backend"
+.for file in ${AGN_BACKEND_FILES}
+ ${ECHO} "Building ${WRKSRC}/src/c/${file}"
+
+ cd ${WRKSRC}/src/c/${file} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD}
+.endfor
+
+ ${MKDIR} ${WRKSRC}/target
+
+ # copy some of the compiled c files to the bin
+ ${MKDIR} ${WRKSRC}/target/bin
+
+ ${MV} ${WRKSRC}/src/c/bav/bav ${WRKSRC}/target/bin/
+ ${MV} ${WRKSRC}/src/c/tools/qctrl ${WRKSRC}/target/bin/
+ ${MV} ${WRKSRC}/src/c/tools/smctrl ${WRKSRC}/target/bin/
+ ${MV} ${WRKSRC}/src/c/tools/updater ${WRKSRC}/target/bin/
+ ${MV} ${WRKSRC}/src/c/xmlback/xmlback ${WRKSRC}/target/bin/
+
+ # copy the script parts
+ ${MKDIR} ${WRKSRC}/target/bin/scripts
+
+ ${MV} ${WRKSRC}/src/c/bav/bavwrap ${WRKSRC}/target/bin/scripts/
+
+ # create the other directory parts
+ ${MKDIR} ${WRKSRC}/target/logs
+ ${MKDIR} ${WRKSRC}/target/logs/openemm
+ ${MKDIR} ${WRKSRC}/target/logs/openemm-ws
+ ${MKDIR} ${WRKSRC}/target/plugins
+ ${MKDIR} ${WRKSRC}/target/temp
+ ${MKDIR} ${WRKSRC}/target/webservices
+
+ # build the java part, frontent/parts of backend for this port
+ cd ${WRKSRC} && ${ANT} ${ANT_BUILD_PARAM} ${ANT_TARGETS}
+
+ # cp the conf files
+ ${MKDIR} ${WRKSRC}/target/conf
+.for config_file in ${TOMCAT_CONFIG_FILES}
+ # rename the default template config files
+ ${MV} ${WRKSRC}/tomcat/conf/${config_file} ${WRKSRC}/target/conf/${config_file}.sample
+.endfor
+ # move the startup scripts
+ ${MV} ${WRKSRC}/src/script/control/* ${WRKSRC}/target/bin/
+
+ # clean bin directory
+ ${RM} ${WRKSRC}/target/bin/*.bat
+ ${RM} ${WRKSRC}/target/bin/openemm.py
+
+ ${MV} ${WRKSRC}/target/USR_SHARE ${WRKSRC}/USR_SHARE
+ ${RM} -rf ${WRKSRC}/target/src
+
+ # remove problem tld with missing classes
+ ${RM} ${WRKSRC}/target/webapps/openemm/WEB-INF/struts-tiles.tld
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
+ (cd ${WRKSRC}/target/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/${PORTNAME} "! -name USR_SHARE*")
+
+ (cd ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/ && \
+ ${LN} -sf bavwrap filter_or_forward && \
+ ${LN} -sf bavwrap is_no_systemmail && \
+ ${LN} -sf bavwrap scan_and_unsubscribe)
+
+ (cd ${STAGEDIR}${PREFIX}/${PORTNAME}/webapps/ && \
+ ${LN} -sf openemm/assets openemmassets)
+
+post-install:
+ # as needed from Running Q/A tests (stage-qa)
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/bav
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/smctrl
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/qctrl
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/xmlback
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/updater
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/bavwrap
+
+ # update some rights which must be assigned to root
+ # we need the rigt to read the maillog file /etc/newsyslog.conf
+ # /var/log/maillog 640 7 * @T00 JC
+ # and the actual file chmod 644 /var/log/maillog
+ # if not change tracking of these mail sending / bounces is
+ # not working correct
+
+ # TODO LEI
+ # move the licenses to the correct place
+ # /usr/local/share/doc/openemm2013/LICENSE.txt
+ # /usr/local/share/doc/openemm2013/ThirdPartyLicences/*
+
+ # update also /usr/local/share with the docs
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/USR_SHARE/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>