aboutsummaryrefslogtreecommitdiffstats
path: root/devel/otrs/Makefile
blob: 04aa377f349055330ce7ccf7a8d20bc6a5e322c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# New ports collection makefile for:    otrs
# Date created:    5 July 2006
# Whom:        Sergey Skvortsov <skv@protey.ru>
#
# $FreeBSD$
#

PORTNAME=   otrs
PORTVERSION=    3.0.8
CATEGORIES= devel
MASTER_SITES=   http://ftp.otrs.org/pub/otrs/ \
        ftp://ftp.samurai.com/pub/otrs/ \
        http://ftp.gwdg.de/pub/misc/otrs/ \
        http://mirror.xaranet.de/otrs/

MAINTAINER= skv@FreeBSD.org
COMMENT=    Open Ticket Request System

BUILD_DEPENDS=  ${SITE_PERL}/${PERL_ARCH}/Date/Pcalc.pm:${PORTSDIR}/devel/p5-Date-Pcalc \
        ${SITE_PERL}/Date/Format.pm:${PORTSDIR}/devel/p5-TimeDate \
        ${SITE_PERL}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI \
        ${SITE_PERL}/Crypt/PasswdMD5.pm:${PORTSDIR}/security/p5-Crypt-PasswdMD5 \
        p5-Digest-SHA>=0:${PORTSDIR}/security/p5-Digest-SHA \
        ${SITE_PERL}/LWP/UserAgent.pm:${PORTSDIR}/www/p5-libwww \
        ${SITE_PERL}/IO/Stringy.pm:${PORTSDIR}/devel/p5-IO-stringy \
        ${SITE_PERL}/Mail/Internet.pm:${PORTSDIR}/mail/p5-Mail-Tools \
        p5-MIME-Tools>=5.427:${PORTSDIR}/mail/p5-MIME-Tools \
        p5-Net-DNS>=0.66:${PORTSDIR}/dns/p5-Net-DNS \
        ${SITE_PERL}/Algorithm/Diff.pm:${PORTSDIR}/devel/p5-Algorithm-Diff \
        ${SITE_PERL}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser \
        ${SITE_PERL}/Text/CSV.pm:${PORTSDIR}/textproc/p5-Text-CSV \
        p5-Text-CSV_XS>=0:${PORTSDIR}/textproc/p5-Text-CSV_XS \
        p5-JSON>=0:${PORTSDIR}/converters/p5-JSON \
        p5-JSON-XS>=0:${PORTSDIR}/converters/p5-JSON-XS \
        p5-CSS-Minifier-XS>=0:${PORTSDIR}/textproc/p5-CSS-Minifier-XS \
        p5-JavaScript-Minifier-XS>=0:${PORTSDIR}/textproc/p5-JavaScript-Minifier-XS \
        ${SITE_PERL}/Text/Diff.pm:${PORTSDIR}/textproc/p5-Text-Diff \
        ${SITE_PERL}/XML/FeedPP.pm:${PORTSDIR}/textproc/p5-XML-FeedPP
RUN_DEPENDS:=   ${BUILD_DEPENDS}

OPTIONS=    MYSQL "MySQL database support" on \
        PGSQL "PostgreSQL database support" off \
        REPORTS_MODULES "Reports support" on \
        SMTP "Send email via SMTP" on \
        POP3 "Fetch email via POP3" on \
        IMAP "Fetch email via IMAP" on \
        LDAP "Enable LDAP support" off \
        PDF "Enable PDF output" on \
        ISPELL "Enable ispell checking" off \
        ASPELL "Enable aspell checking" on \
        GNUPG "Use GnuPG" off

USE_BZIP2=  yes

OTRSDIR=    ${PREFIX}/otrs

SUB_FILES=  pkg-install pkg-message
PKGMESSAGE= ${WRKDIR}/pkg-message

ROOT_DIRS_LIST= Kernel bin scripts
BIN_DIRS_LIST=  "" cgi-bin fcgi-bin
PM_DIRS_LIST=   Kernel Kernel/Config Kernel/Config/Files Kernel/Language \
        Modules Kernel/Output/HTML Kernel/Output/HTML/Lite \
        Kernel/Output/HTML/Standard System System/Auth System/AuthSession \
        System/Crypt System/CustomerAuth System/CustomerUser \
        System/CustomerUser/ System/
DOCS_DIRS_LIST= "" manual/en
DOCS_FILES_LIST=    C[A-Z]* INSTALL RE* TODO UPGRADING

SCRIPTS_DIRS_LIST=  "" database/update test tools
CLEAN_FILES=    scripts/suse* scripts/redhat* \
        var/httpd/htdocs/js/thirdparty/ckeditor-3.4.2/_source \
        var/httpd/htdocs/skins/Agent/*/img/source

USE_APACHE= 1.3+
USE_PERL5=  yes

.include <bsd.port.pre.mk>

.ifdef WITH_MYSQL
RUN_DEPENDS+=   ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql
USE_MYSQL=  yes
.endif

.ifdef WITH_PGSQL
RUN_DEPENDS+=   ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg
USE_PGSQL=  yes
.endif

.if ${APACHE_VERSION} == 13
BUILD_DEPENDS+= p5-Apache-Reload>=0:${PORTSDIR}/www/p5-Apache-Reload
.else
RUN_DEPENDS+=   ${APACHE_PKGNAMEPREFIX}mod_perl2>=2.0.5:${PORTSDIR}/www/mod_perl2
.endif

.ifdef WITH_REPORTS_MODULES
RUN_DEPENDS+=   ${SITE_PERL}/${PERL_ARCH}/GD.pm:${PORTSDIR}/graphics/p5-GD \
        ${SITE_PERL}/GD/Graph.pm:${PORTSDIR}/graphics/p5-GD-Graph \
        ${SITE_PERL}/GD/Text/Align.pm:${PORTSDIR}/graphics/p5-GD-TextUtil
.endif

.ifdef WITH_SMTP
RUN_DEPENDS+=   p5-Net-SMTP-SSL>=0:${PORTSDIR}/mail/p5-Net-SMTP-SSL \
        p5-Net-SMTP-TLS>=0:${PORTSDIR}/mail/p5-Net-SMTP-TLS \
        ${SITE_PERL}/Authen/SASL.pm:${PORTSDIR}/security/p5-Authen-SASL
.endif

.ifdef WITH_POP3
RUN_DEPENDS+=   ${SITE_PERL}/Mail/POP3Client.pm:${PORTSDIR}/mail/p5-Mail-POP3Client \
        ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL
.endif

.ifdef WITH_IMAP
RUN_DEPENDS+=   p5-Net-IMAP-Simple-SSL>=0:${PORTSDIR}/mail/p5-Net-IMAP-Simple-SSL
.endif

.ifdef WITH_LDAP
RUN_DEPENDS+=   ${SITE_PERL}/Net/LDAP.pm:${PORTSDIR}/net/p5-perl-ldap
.endif

.ifdef WITH_PDF
RUN_DEPENDS+=   p5-PDF-API2>=0.57:${PORTSDIR}/textproc/p5-PDF-API2
. if ${PERL_LEVEL} < 500903
RUN_DEPENDS+=   p5-IO-Compress>=2.017:${PORTSDIR}/archivers/p5-IO-Compress
. endif
.endif

.ifdef WITH_ISPELL
RUN_DEPENDS+=   ispell:${PORTSDIR}/textproc/ispell
.endif

.ifdef WITH_ASPELL
RUN_DEPENDS+=   aspell:${PORTSDIR}/textproc/aspell
.endif

.ifdef WITH_GNUPG
RUN_DEPENDS+=   gpg:${PORTSDIR}/security/gnupg1
.endif

.ifdef WITH_ISPELL && WITH_ASPELL
IGNORE= you only need 1 spell checker
.endif

post-patch:
    @${FIND} ${WRKSRC} -name "*.orig" -delete
    @${RM} -rf ${WRKSRC}/Kernel/cpan-lib/ \
        ${CLEAN_FILES:S!^!${WRKSRC}/!}

do-build:
    @${FIND} ${WRKSRC}/Kernel -type d | ${XARGS} ${CHMOD} 0755
    @${FIND} ${WRKSRC}/Kernel -type f | ${XARGS} ${CHMOD} ${SHAREMODE}
    @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
        -e "s=/opt/=${PREFIX}/=g;s=wwwrun=${WWWOWN}=g;"
.ifdef WITH_ISPELL
    @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
        -e "s=/usr/bin/ispell=${PREFIX}/bin/ispell=g"
.endif
.ifdef WITH_ASPELL
    @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
        -e "s=/usr/bin/ispell=${PREFIX}/bin/aspell=g"
.endif
.ifdef WITH_GNUPG
    @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
        -e "s=/usr/bin/gpg=${PREFIX}/bin/gpg=g"
.endif

do-install:
    @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
    @${MKDIR} ${ROOT_DIRS_LIST:S!^!${OTRSDIR}/!} ${BIN_DIRS_LIST:S!^!${OTRSDIR}/bin/!} \
        ${SCRIPTS_DIRS_LIST:S!^!${OTRSDIR}/scripts/!}
    @${INSTALL_DATA} ${WRKSRC}/.*.dist ${OTRSDIR}/
    @${INSTALL_DATA} ${WRKSRC}/RELEASE ${OTRSDIR}/
.for D in ${BIN_DIRS_LIST}
    @${INSTALL_SCRIPT} ${WRKSRC}/bin/${D}/*.* ${OTRSDIR}/bin/${D}/
.endfor
    @(cd ${WRKSRC} && ${PAX} -r -w Kernel var ${OTRSDIR})
.if !exists(${OTRSDIR}/Kernel/Config.pm)
    @${CP} ${OTRSDIR}/Kernel/Config.pm.dist ${OTRSDIR}/Kernel/Config.pm
.endif
.if !exists(${OTRSDIR}/Kernel/Config/GenericAgent.pm)
    @${CP} ${OTRSDIR}/Kernel/Config/GenericAgent.pm.dist ${OTRSDIR}/Kernel/Config/GenericAgent.pm
.endif
    @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${OTRSDIR}/Kernel
    @${INSTALL_SCRIPT} ${WRKSRC}/scripts/*.[ps][lh] ${OTRSDIR}/scripts/
    @${INSTALL_DATA} ${WRKSRC}/scripts/*.p[hm]* ${WRKSRC}/scripts/apache* \
        ${WRKSRC}/scripts/*.sql ${OTRSDIR}/scripts/
    @${INSTALL_DATA} ${WRKSRC}/scripts/database/update/*.* ${OTRSDIR}/scripts/database/update/
    @${INSTALL_DATA} ${WRKSRC}/scripts/database/*.* ${OTRSDIR}/scripts/database/
    @${INSTALL_SCRIPT} ${WRKSRC}/scripts/test/*.t ${OTRSDIR}/scripts/test/
    @${INSTALL_SCRIPT} ${WRKSRC}/scripts/tools/*.pl ${OTRSDIR}/scripts/tools/
.ifndef NOPORTDOCS
    @${ECHO_MSG} "===>   Installing documentation for ${PKGNAME}"
    @${MKDIR} ${DOCS_DIRS_LIST:S!^!${DOCSDIR}/!}
    @${INSTALL_DATA} ${DOCS_FILES_LIST:S!^!${WRKSRC}/!} ${DOCSDIR}/
.for D in ${DOCS_DIRS_LIST}
    @${INSTALL_DATA} ${WRKSRC}/doc/${D}/*.* ${DOCSDIR}/${D}/
.endfor
.endif
    @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

post-install:
    @${CAT} ${PKGMESSAGE}

x-generate-plist:
    (${PORTSDIR}/Tools/scripts/plist -d -m ${MTREE_FILE} ${PREFIX} \
    | ${SED} -E '\
        s=share/doc/${PORTNAME}=%%DOCSDIR%%=; \
    ')> temp-pkg-plist

.include <bsd.port.post.mk>