Update www/firefox-esr to version 102.5.0,1
[dports.git] / www / otrs / Makefile
1 PORTNAME=       otrs
2 DISTVERSIONPREFIX=      rel-
3 DISTVERSION=    6_0_29
4 PORTREVISION=   2
5 CATEGORIES=     www
6
7 MAINTAINER=     m.tsatsenko@gmail.com
8 COMMENT=        Open Ticket Request System
9 WWW=            https://www.otrs.com/
10
11 LICENSE=        GPLv3
12 LICENSE_FILE=   ${WRKSRC}/COPYING
13
14 BUILD_DEPENDS=  p5-Archive-Zip>=0:archivers/p5-Archive-Zip \
15                 p5-DBI>=0:databases/p5-DBI \
16                 p5-Crypt-Eksblowfish>=0:security/p5-Crypt-Eksblowfish \
17                 p5-Crypt-PasswdMD5>=0:security/p5-Crypt-PasswdMD5 \
18                 p5-MIME-Tools>=5.427:mail/p5-MIME-Tools \
19                 p5-libwww>=0:www/p5-libwww \
20                 p5-Net-DNS>=0.66:dns/p5-Net-DNS \
21                 p5-CSS-Minifier-XS>=0:textproc/p5-CSS-Minifier-XS \
22                 p5-JavaScript-Minifier-XS>=0:textproc/p5-JavaScript-Minifier-XS \
23                 p5-DateTime>=0:devel/p5-DateTime \
24                 p5-Sys-Hostname-Long>=0:sysutils/p5-Sys-Hostname-Long \
25                 p5-Proc-Daemon>=0:devel/p5-Proc-Daemon \
26                 p5-JSON-XS>=0:converters/p5-JSON-XS \
27                 p5-Text-CSV_XS>=0:textproc/p5-Text-CSV_XS \
28                 p5-IO-Interactive>=0:devel/p5-IO-Interactive \
29                 p5-Email-Valid>=0:mail/p5-Email-Valid \
30                 p5-JSON>=0:converters/p5-JSON \
31                 p5-YAML>=0:textproc/p5-YAML \
32                 p5-Date-Pcalc>=0:devel/p5-Date-Pcalc \
33                 p5-Text-CSV>=0:textproc/p5-Text-CSV \
34                 p5-Text-Diff>=0:textproc/p5-Text-Diff \
35                 p5-XML-FeedPP>=0:textproc/p5-XML-FeedPP \
36                 p5-YAML-LibYAML>=0:textproc/p5-YAML-LibYAML \
37                 p5-JavaScript-Minifier>=0:textproc/p5-JavaScript-Minifier \
38                 p5-CSS-Minifier>=0:textproc/p5-CSS-Minifier \
39                 p5-SOAP-Lite>=0:net/p5-SOAP-Lite \
40                 p5-Class-Inspector>=0:devel/p5-Class-Inspector \
41                 p5-Mozilla-CA>=0:www/p5-Mozilla-CA \
42                 p5-CGI>=0:www/p5-CGI \
43                 p5-Lingua-Translit>=0:devel/p5-Lingua-Translit \
44                 p5-Pod-Strip>=0:textproc/p5-Pod-Strip \
45                 p5-Template-Toolkit>=0:www/p5-Template-Toolkit \
46                 p5-Sisimai>=0:mail/p5-Sisimai \
47                 p5-XML-Parser>=0:textproc/p5-XML-Parser \
48                 p5-XML-LibXML>=0:textproc/p5-XML-LibXML \
49                 p5-XML-LibXML-Simple>=0:textproc/p5-XML-LibXML-Simple \
50                 p5-XML-LibXSLT>=0:textproc/p5-XML-LibXSLT \
51                 p5-Locale-Codes>=0:misc/p5-Locale-Codes \
52                 p5-Math-Random-Secure>=0:math/p5-Math-Random-Secure \
53                 p5-Schedule-Cron-Events>=0:sysutils/p5-Schedule-Cron-Events
54 RUN_DEPENDS:=   ${BUILD_DEPENDS}
55
56 USES=           cpe shebangfix perl5 tar:bzip2
57
58 USE_GITHUB=     yes
59 GH_ACCOUNT=     OTRS
60
61 SHEBANG_FILES=  bin/cgi-bin/*.pl bin/cgi-bin/app.psgi bin/fcgi-bin/*.pl bin/*.pl \
62                 scripts/tools/*.pl scripts/*.pl
63
64 OPTIONS_DEFINE=         MYSQL PGSQL REPORTS SMTP POP3 IMAP LDAP PDF \
65                         GNUPG APACHE SSL
66 OPTIONS_DEFAULT=        MYSQL REPORTS SMTP POP3 IMAP PDF ASPELL APACHE \
67                         SSL
68 OPTIONS_RADIO=          SPELL
69 OPTIONS_RADIO_SPELL=    ASPELL ISPELL
70
71 IMAP_DESC=              Fetch email via IMAP
72 POP3_DESC=              Fetch email via POP3
73 SMTP_DESC=              Send email via SMTP
74 REPORTS_DESC=           Reports support
75 APACHE_DESC=            Apache and www/mod_perl2 support
76
77 OTRSDIR=        ${PREFIX}/otrs
78 USERS=          ${PORTNAME}
79 GROUPS=         ${USERS} www
80
81 SUB_FILES=      pkg-message
82 SUB_LIST=       OTRS_USER=${USERS} OTRS_GROUP=${USERS} WWWOWN=${WWWOWN}
83 NO_ARCH=        YES
84
85 ROOT_DIRS_LIST= Kernel bin scripts doc
86 BIN_DIRS_LIST=  "" cgi-bin fcgi-bin
87 PM_DIRS_LIST=   Kernel Kernel/Config Kernel/Config/Files Kernel/Language \
88                 Modules Kernel/Output/HTML Kernel/Output/HTML/Lite \
89                 Kernel/Output/HTML/Standard System System/Auth System/AuthSession \
90                 System/Crypt System/CustomerAuth System/CustomerUser \
91                 System/CustomerUser/ System/
92
93 SCRIPTS_DIRS_LIST=      "" database test tools DBUpdateTo6
94 CRON_SCRIPTS=   ${STAGEDIR}${OTRSDIR}/var/cron/
95 CLEAN_FILES=    scripts/suse* scripts/redhat* \
96                 var/httpd/htdocs/js/thirdparty/ckeditor-4.0/_source \
97                 var/httpd/htdocs/skins/Agent/*/img/source
98
99 PLIST_SUB=      VER_CKEDITOR="4.7.0" OTRS_USER=${USERS} WWWOWN=${WWWOWN}
100
101 PGSQL_RUN_DEPENDS=      p5-DBD-Pg>=0:databases/p5-DBD-Pg
102 PGSQL_USES=             pgsql
103
104 MYSQL_RUN_DEPENDS=      p5-DBD-mysql>=0:databases/p5-DBD-mysql
105
106 SSL_RUN_DEPENDS=        p5-Crypt-SSLeay>=0:security/p5-Crypt-SSLeay
107
108 APACHE_RUN_DEPENDS=     ${APACHE_PKGNAMEPREFIX}mod_perl2>=2.0.5:www/mod_perl2 \
109                         p5-Apache-DBI>0:www/p5-Apache-DBI
110 APACHE_USES=            apache:run,2.2+
111
112 REPORTS_RUN_DEPENDS=    p5-GD>=0:graphics/p5-GD \
113                         p5-GD-Graph>=0:graphics/p5-GD-Graph \
114                         p5-GD-TextUtil>=0:graphics/p5-GD-TextUtil
115
116 SMTP_RUN_DEPENDS=       p5-Authen-SASL>=0:security/p5-Authen-SASL \
117                         p5-Net-SSLGlue>=0:security/p5-Net-SSLGlue
118
119 POP3_RUN_DEPENDS=       p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL \
120                         p5-Net-SSLGlue>=0:security/p5-Net-SSLGlue
121
122 IMAP_RUN_DEPENDS=       p5-Mail-IMAPClient>=0:mail/p5-Mail-IMAPClient \
123                         p5-Net-IMAP-Simple>=0:mail/p5-Net-IMAP-Simple
124
125 LDAP_RUN_DEPENDS=       p5-perl-ldap>=0:net/p5-perl-ldap
126
127 PDF_RUN_DEPENDS=        p5-PDF-API2>=0.57:textproc/p5-PDF-API2
128
129 ISPELL_RUN_DEPENDS=     ispell:textproc/aspell-ispell
130
131 ASPELL_RUN_DEPENDS=     aspell:textproc/aspell
132
133 GNUPG_RUN_DEPENDS=      gpg:security/gnupg1
134
135 .include <bsd.port.pre.mk>
136
137 post-patch:
138         @${FIND} ${WRKSRC} -name "*.pm" | \
139                 ${XARGS} ${REINPLACE_CMD} -i '' \
140                         -e 's|Digest::SHA::PurePerl|Digest::SHA|g'
141         @${FIND} ${WRKSRC} -name "*.orig" -delete
142         @${RM} -r ${WRKSRC}/Kernel/cpan-lib/ \
143                 ${CLEAN_FILES:S!^!${WRKSRC}/!}
144
145 do-build:
146         @${FIND} ${WRKSRC}/Kernel -type d | ${XARGS} ${CHMOD} 0755
147         @${FIND} ${WRKSRC}/Kernel -type f | ${XARGS} ${CHMOD} ${SHAREMODE}
148         @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
149                 -e "s=/opt/=${PREFIX}/=g;s=wwwrun=${WWWOWN}=g;"
150
151 do-build-ISPELL-on:
152         @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
153                 -e "s=/usr/bin/ispell=${PREFIX}/bin/ispell=g"
154 do-build-ASPELL-on:
155         @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
156                 -e "s=/usr/bin/ispell=${PREFIX}/bin/aspell=g"
157 do-build-GNUPG-on:
158         @${FIND} ${WRKSRC} -type f | ${XARGS} ${SED} -i '' \
159                 -e "s=/usr/bin/gpg=${PREFIX}/bin/gpg=g"
160
161 do-install:
162 .for D in ${ROOT_DIRS_LIST:S!^!${OTRSDIR}/!} ${BIN_DIRS_LIST:S!^!${OTRSDIR}/bin/!} ${SCRIPTS_DIRS_LIST:S!^!${OTRSDIR}/scripts/!}
163         ${MKDIR} ${STAGEDIR}${D}
164 .endfor
165         ${INSTALL_DATA} ${WRKSRC}/.*.dist ${STAGEDIR}${OTRSDIR}/
166         ${INSTALL_DATA} ${WRKSRC}/RELEASE ${STAGEDIR}${OTRSDIR}/
167         ${INSTALL_DATA} ${WRKSRC}/*.md ${STAGEDIR}${OTRSDIR}/
168 .for D in ${BIN_DIRS_LIST}
169         ${INSTALL_SCRIPT} ${WRKSRC}/bin/${D}/*.* ${STAGEDIR}${OTRSDIR}/bin/${D}/
170 .endfor
171         (cd ${WRKSRC} && ${PAX} -r -w Kernel var ${STAGEDIR}${OTRSDIR})
172         ${INSTALL_SCRIPT} ${WRKSRC}/scripts/*.[ps][lh] ${STAGEDIR}${OTRSDIR}/scripts/
173         ${INSTALL_DATA} ${WRKSRC}/scripts/apache* \
174                 ${WRKSRC}/scripts/*.[pl][pm] ${STAGEDIR}${OTRSDIR}/scripts/
175         ${INSTALL_DATA} ${WRKSRC}/scripts/database/*.* ${STAGEDIR}${OTRSDIR}/scripts/database/
176         ${INSTALL_SCRIPT} ${WRKSRC}/scripts/test/*.t ${STAGEDIR}${OTRSDIR}/scripts/test/
177         ${INSTALL_SCRIPT} ${WRKSRC}/scripts/tools/*.pl ${STAGEDIR}${OTRSDIR}/scripts/tools/
178         (cd ${WRKSRC}/scripts && ${PAX} -r -w DBUpdateTo6 ${STAGEDIR}${OTRSDIR}/scripts)
179         ${FIND} ${CRON_SCRIPTS} -type f -name *.dist | ${SED} -e "p;s/\.dist//" | ${XARGS} -n2 ${MV}
180         ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/var/article
181         ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/var/httpd/htdocs/js/js-cache/
182         ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}/var/tmp
183         # Attemt to set permissions for OTRS. It will fail if there is no pre-existing otrs user
184         cd ${STAGEDIR}/${OTRSDIR} && ${PERL} ./bin/otrs.SetPermissions.pl \
185         --web-group=${WWWOWN} \
186         --otrs-user=${PORTNAME} \
187         --admin-group=wheel  ${STAGEDIR}${OTRSDIR} || true
188
189 .include <bsd.port.post.mk>