aboutsummaryrefslogtreecommitdiffstats
path: root/www/rt34/Makefile
blob: c99d802f15c9cce63cd34bb26e288d8d88e2940b (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
# New ports collection makefile for:   rt3
# Date created:        28 November 2002
# Whom:                autrijus
#
# $FreeBSD$
#

PORTNAME=   rt3
PORTVERSION=    3.0.1
CATEGORIES=     www
MASTER_SITES?=   http://www.fsck.com/pub/rt/release/
DISTFILES?=      rt-3-0-1.tar.gz

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

BUILD_DEPENDS=  ${APXS}:${APACHE_PORT} \
        ${SITE_PERL}/Apache/DBI.pm:${PORTSDIR}/www/p5-Apache-DBI \
        ${SITE_PERL}/Apache/Mason.pm:${PORTSDIR}/www/p5-HTML-Mason \
        ${SITE_PERL}/Apache/Session.pm:${PORTSDIR}/www/p5-Apache-Session \
        ${SITE_PERL}/Cache/Cache.pm:${PORTSDIR}/devel/p5-Cache-Cache \
        ${SITE_PERL}/CGI/Cookie.pm:${PORTSDIR}/www/p5-CGI.pm \
        ${SITE_PERL}/Date/Format.pm:${PORTSDIR}/devel/p5-TimeDate \
        ${SITE_PERL}/Date/Parse.pm:${PORTSDIR}/devel/p5-TimeDate \
        ${ARCH_PERL}/DBI.pm:${PORTSDIR}/databases/p5-DBI \
        ${SITE_PERL}/DBIx/DataSource.pm:${PORTSDIR}/databases/p5-DBIx-DataSource \
        ${SITE_PERL}/DBIx/SearchBuilder.pm:${PORTSDIR}/databases/p5-DBIx-SearchBuilder \
        ${ARCH_PERL}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5 \
        ${SITE_PERL}/Exception/Class.pm:${PORTSDIR}/devel/p5-Exception-Class \
        ${SITE_PERL}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp \
        ${SITE_PERL}/FreezeThaw.pm:${PORTSDIR}/devel/p5-FreezeThaw \
        ${SITE_PERL}/Getopt/Long.pm:${PORTSDIR}/devel/p5-Getopt-Long \
        ${ARCH_PERL}/HTML/Entities.pm:${PORTSDIR}/www/p5-HTML-Parser \
        ${SITE_PERL}/HTML/Formatter.pm:${PORTSDIR}/textproc/p5-HTML-Format \
        ${SITE_PERL}/HTML/TreeBuilder.pm:${PORTSDIR}/www/p5-HTML-Tree \
        ${SITE_PERL}/Locale/Maketext.pm:${PORTSDIR}/devel/p5-Locale-Maketext \
        ${SITE_PERL}/Locale/Maketext/Fuzzy.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Fuzzy \
        ${SITE_PERL}/Locale/Maketext/Lexicon.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Lexicon \
        ${SITE_PERL}/Log/Dispatch.pm:${PORTSDIR}/devel/p5-Log-Dispatch \
        ${SITE_PERL}/Mail/Mailer.pm:${PORTSDIR}/mail/p5-Mail-Tools \
        ${SITE_PERL}/MIME/Entity.pm:${PORTSDIR}/mail/p5-MIME-Tools \
        ${SITE_PERL}/MLDBM.pm:${PORTSDIR}/databases/p5-MLDBM \
        ${SITE_PERL}/Net/SMTP.pm:${PORTSDIR}/net/p5-Net \
        ${ARCH_PERL}/Params/Validate.pm:${PORTSDIR}/devel/p5-Params-Validate \
        ${SITE_PERL}/Regexp/Common.pm:${PORTSDIR}/textproc/p5-Regexp-Common \
        ${ARCH_PERL}/Storable.pm:${PORTSDIR}/devel/p5-Storable \
        ${ARCH_PERL}/Term/ReadKey.pm:${PORTSDIR}/devel/p5-Term-ReadKey \
        ${SITE_PERL}/Text/Autoformat.pm:${PORTSDIR}/textproc/p5-Text-Autoformat \
        ${SITE_PERL}/Text/Quoted.pm:${PORTSDIR}/textproc/p5-Text-Quoted \
        ${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 \
        ${ARCH_PERL}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
        ${SITE_PERL}/Time/ParseDate.pm:${PORTSDIR}/devel/p5-Time \
        ${SITE_PERL}/WWW/Mechanize.pm:${PORTSDIR}/www/p5-WWW-Mechanize

WRKSRC=         ${WRKDIR}/rt-3-0-1
HAS_CONFIGURE=  yes

CONFIGURE_ARGS= --prefix=${RT_PATH} \
        --enable-layout=${LAYOUT} \
        --with-web-user=${WEB_USER} \
        --with-web-group=${WEB_GROUP} \
        --with-libs-group=${LIBS_GROUP} \
        --with-db-host=${DB_HOST} \
        --with-db-port=${DB_PORT} \
        --with-db-type=${DB_TYPE} \
        --with-db-dba=${DB_DBA_USER}

.if defined(WITH_APACHE2)
APACHE_PORT?=   ${PORTSDIR}/www/apache2
BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache2/mod_perl.so:${PORTSDIR}/www/mod_perl2
TESTDEPS_ARGS+= --with-MODPERL2
.else
APACHE_PORT?=   ${PORTSDIR}/www/apache13
BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache/libperl.so:${PORTSDIR}/www/mod_perl
TESTDEPS_ARGS+= --with-MODPERL1
.endif

APXS?=          ${LOCALBASE}/sbin/apxs

DB_TYPE?=  mysql

.if ${DB_TYPE} == "Pg"
BUILD_DEPENDS+= ${LOCALBASE}/bin/psql:${PORTSDIR}/databases/postgresql7
TESTDEPS_ARGS+= --with-POSTGRESQL
.else
DB_TYPE=        mysql
BUILD_DEPENDS+= ${LOCALBASE}/bin/mysql_config:${PORTSDIR}/databases/mysql40-server \
        ${ARCH_PERL}/Mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql
TESTDEPS_ARGS+= --with-MYSQL
.endif

RUN_DEPENDS=    ${BUILD_DEPENDS}

SITE_PERL:= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}
ARCH_PERL=  ${SITE_PERL}/${PERL_ARCH}/
USE_PERL5=      yes
RT_PATH?=       ${PREFIX}/rt3
LAYOUT?=    RT3

DB_DBA_USER?=   root
DB_HOST?=   localhost
DB_DBA_PASSWORD?=

WEB_USER?=  nobody
WEB_GROUP?= nogroup
LIBS_GROUP?=    wheel
RT_GROUP?=  rt

pre-fetch:
    @${ECHO} ""
    @${ECHO} "You may use the following build options:"
    @${ECHO} ""
    @${ECHO} "      DB_TYPE=type                    Pg for postgresql, mysql for MySQL (mysql)"
    @${ECHO} "      DB_HOST=hostname                The database host (localhost)"
    @${ECHO} "      DB_PORT=port                    The database port"
    @${ECHO} "      DB_DBA_USER=password            Name of database administrator (root)"
    @${ECHO} "      DB_DBA_PASSWORD=password        Password of database administrator"
    @${ECHO} "      WITH_APACHE2                    Use Apache2 as the web server"
    @${ECHO} "      UPGRADE                         Upgrade only, don't initialize DB"
    @${ECHO} ""

post-extract:
    -@pw groupadd ${RTGROUP}
    -@cd ${WRKSRC} && chmod a+x configure

do-build:
    -@cd ${WRKSRC} && ${PERL} ./sbin/rt-test-dependencies --install ${TESTDEPS_ARGS}

do-install:
    @cd ${WRKSRC} && ${MAKE} -f ${WRKSRC}/Makefile install
    @${INSTALL_DATA} ${WRKSRC}/README ${RT_PATH}/README

post-install:
.if defined(UPGRADE)
    @echo Upgrade of RT3 complete.
.else
    -@${PERL} $(RT_PATH)/sbin/rt-setup-database --force --action drop --dba ${DB_DBA_USER} --dba-password ${DB_DBA_PASSWORD}
    -@${PERL} $(RT_PATH)/sbin/rt-setup-database --force --action init --dba ${DB_DBA_USER} --dba-password ${DB_DBA_PASSWORD}
    @${SED} s!%%RT_PATH%%!${RT_PATH}!g ${PKGMESSAGE}
.endif

.include <bsd.port.pre.mk>

.if ${PERL_LEVEL} < 500601
IGNORE=     This program only support perl 5.6.1 or above
.endif

.if ${PERL_LEVEL} == 500601
BUILD_DEPENDS+= ${SITE_PERL}/Encode/compat.pm:${PORTSDIR}/devel/p5-Encode-compat \
        ${ARCH_PERL}/Text/Iconv.pm:${PORTSDIR}/converters/p5-Text-Iconv
.endif

.include <bsd.port.post.mk>