aboutsummaryrefslogtreecommitdiffstats
path: root/www/rt2/Makefile
blob: 992cd56052dd98efb31993f8b5bbaf67be561546 (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
# New ports collection makefile for:   RT2
# Date created:        12 August 2002
# Whom:                plasma
#
# $FreeBSD$
#

PORTNAME=   rt2
PORTVERSION=    2.0.15
PORTREVISION=   1
CATEGORIES= www
MASTER_SITES=   http://www.fsck.com/pub/rt/release/
DISTNAME=   rt-${PORTVERSION:S/./-/g}

MAINTAINER= ports@FreeBSD.org
COMMENT=    RT is an industrial-grade ticketing system written in Perl

BUILD_DEPENDS=  ${LOCALBASE}/libexec/apache/libperl.so:${PORTSDIR}/www/mod_perl \
        ${SITE_PERL}/${PERL_ARCH}/Apache/Cookie.pm:${PORTSDIR}/www/p5-libapreq \
        ${SITE_PERL}/Apache/DBI.pm:${PORTSDIR}/www/p5-Apache-DBI \
        ${SITE_PERL}/Apache/Session.pm:${PORTSDIR}/www/p5-Apache-Session \
        ${SITE_PERL}/DBIx/DataSource.pm:${PORTSDIR}/databases/p5-DBIx-DataSource \
        ${SITE_PERL}/DBIx/SearchBuilder.pm:${PORTSDIR}/databases/p5-DBIx-SearchBuilder \
        ${SITE_PERL}/Date/Format.pm:${PORTSDIR}/devel/p5-TimeDate \
        ${SITE_PERL}/Date/Parse.pm:${PORTSDIR}/devel/p5-TimeDate \
        ${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5 \
        ${SITE_PERL}/FreezeThaw.pm:${PORTSDIR}/devel/p5-FreezeThaw \
        ${SITE_PERL}/Getopt/Long.pm:${PORTSDIR}/devel/p5-Getopt-Long \
        ${SITE_PERL}/${PERL_ARCH}/HTML/Entities.pm:${PORTSDIR}/www/p5-HTML-Parser \
        ${SITE_PERL}/Apache/Mason.pm:${PORTSDIR}/www/p5-HTML-Mason \
        ${SITE_PERL}/Log/Dispatch.pm:${PORTSDIR}/devel/p5-Log-Dispatch \
        ${SITE_PERL}/MIME/Entity.pm:${PORTSDIR}/mail/p5-MIME-Tools \
        ${SITE_PERL}/MLDBM.pm:${PORTSDIR}/databases/p5-MLDBM \
        ${SITE_PERL}/Mail/Mailer.pm:${PORTSDIR}/mail/p5-Mail-Tools \
        ${SITE_PERL}/Net/SMTP.pm:${PORTSDIR}/net/p5-Net \
        ${SITE_PERL}/${PERL_ARCH}/Params/Validate.pm:${PORTSDIR}/devel/p5-Params-Validate \
        ${SITE_PERL}/${PERL_ARCH}/Storable.pm:${PORTSDIR}/devel/p5-Storable \
        ${SITE_PERL}/Text/Template.pm:${PORTSDIR}/textproc/p5-Text-Template \
        ${SITE_PERL}/Text/Wrapper.pm:${PORTSDIR}/textproc/p5-Text-Wrapper \
        ${SITE_PERL}/Tie/IxHash.pm:${PORTSDIR}/devel/p5-Tie-IxHash \
        ${SITE_PERL}/CGI/Cookie.pm:${PORTSDIR}/www/p5-CGI.pm \
        ${SITE_PERL}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp

WRKSRC=     ${WRKDIR}/rt-${RT_VERSION}
RT_VERSION= ${PORTVERSION:C/\./-/g}
DB_TYPE?=   mysql

.if ${DB_TYPE} == "Pg"
BUILD_DEPENDS+= ${LOCALBASE}/bin/psql:${PORTSDIR}/databases/postgresql7 \
        ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg
.else
DB_TYPE=    mysql
BUILD_DEPENDS+= ${LOCALBASE}/bin/safe_mysqld:${PORTSDIR}/databases/mysql323-server
.endif

RUN_DEPENDS=    ${BUILD_DEPENDS}

USE_REINPLACE=  yes
USE_PERL5=  yes

RT_PATH?=   ${PREFIX}/rt2
DB_DBA_PASSWORDD?=
DB_HOST?=   localhost
DB_RT_PASS= rt_pass

MAN3=       RT::Links.3 \
        RT::Watchers.3 \
        RT::Group.3 \
        RT::Keyword.3 \
        RT::Record.3 \
        RT::ScripConditions.3 \
        RT::Action::Generic.3 \
        RT::Transaction.3 \
        RT::Interface::Email.3 \
        RT::Link.3 \
        RT.3 \
        RT::Watcher.3 \
        RT::ObjectKeywords.3 \
        RT::EasySearch.3 \
        RT::ScripActions.3 \
        RT::Scrip.3 \
        RT::GroupMembers.3 \
        RT::Action::SendPasswordEmail.3 \
        RT::Transactions.3 \
        RT::Scrips.3 \
        RT::Action::SendEmail.3 \
        RT::User.3 \
        RT::ScripCondition.3 \
        RT::Users.3 \
        RT::Ticket.3 \
        RT::ACE.3 \
        RT::Queue.3 \
        RT::Interface::CLI.3 \
        RT::Tickets.3 \
        RT::GroupMember.3 \
        RT::Template.3 \
        RT::Templates.3 \
        RT::Queues.3 \
        RT::Date.3 \
        RT::CurrentUser.3 \
        RT::ScripAction.3 \
        RT::Keywords.3 \
        RT::ObjectKeyword.3 \
        RT::Attachment.3 \
        RT::Groups.3 \
        RT::KeywordSelect.3 \
        RT::Condition::Generic.3 \
        RT::Handle.3 \
        RT::ACL.3 \
        RT::Attachments.3

pre-everything::
    @${ECHO_MSG} ""
    @${ECHO_MSG} "You may use the following build options:"
    @${ECHO_MSG} ""
    @${ECHO_MSG} "  DB_DBA_PASSWORD=password    Your password of MySQL root ();"
    @${ECHO_MSG} "  DB_HOST=hostname        Where MySQL resident (localhost);"
    @${ECHO_MSG} "  DB_RT_PASS=password     Your password of MySQL RT user (rt_pass);"
    @${ECHO_MSG} "  DB_TYPE=type            Pg for postgresql, mysql for MySQL (mysql);"
    @${ECHO_MSG} "  INSTALL_NEW         Install a fresh port, otherwise just upgrade;"
    @${ECHO_MSG} ""
    @${ECHO_MSG} "IMPORTANT!!! If you want to install a fresh new port, define INSTALL_NEW to do so, otherwise this port just do a upgrade."
    @${ECHO_MSG} ""

post-patch:
.for _FILE in tools/testdeps
    ${REINPLACE_CMD} 's,/usr/bin/perl,${PERL},' ${WRKSRC}/${_FILE}
    ${CHMOD} +x ${WRKSRC}/${_FILE}
.endfor

do-build:
.for _NAME in RT_PATH DB_DBA_PASSWORD DB_HOST DB_RT_PASS DB_TYPE
    @${REINPLACE_CMD} "s!%%${_NAME}%%!${${_NAME}}!g" ${WRKSRC}/Makefile
.endfor
    @cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile testdeps
    @cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile fixdeps

do-install:
    @${MKDIR} /var/log/rt2
.if defined(INSTALL_NEW)
    -@cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile dropdb
    @cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile install
.else
    @cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile upgrade
.endif
    @${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/rt2/README
    @${CHOWN} -R www /var/log/rt2

post-install:
    @${SED} s!%%PREFIX%%!${PREFIX}!g ${PKGMESSAGE}

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 502000
BROKEN=     "Broken pkg-plist"
.endif

.if ${PERL_LEVEL} < 500601
BUILD_DEPENDS+= ${SITE_PERL}/File/Spec.pm:${PORTSDIR}/devel/p5-File-Spec
RUN_DEPENDS+=   ${SITE_PERL}/File/Spec.pm:${PORTSDIR}/devel/p5-File-Spec
.endif

.include <bsd.port.post.mk>