summaryrefslogtreecommitdiff
path: root/lang/ruby/rails.mk
blob: 3913d536b58932d3b04b511a7ac0f724eb7be079 (plain)
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
# $NetBSD: rails.mk,v 1.1 2011/03/23 14:22:49 taca Exp $

.if !defined(_RUBY_RAILS_MK)
_RUBY_RAILS_MK=	# defined

#
# === User-settable variables ===
#
# RUBY_RAILS_DEFAULT
#	Select default Ruby on Rails version.
#
#	Possible values: 2 3
#	Default: 2
#
#
# === Package-settable variables ===
#
# RUBY_RAILS
#	Force sepecify RUBY_RAILS_DEFAULT.  It is only for packages of
#	rails components.
#
#	Possible values: 2 3 (empty)
#

#
# current Ruby on Rails versions.
#
RUBY_RAILS2_VERSION?=	2.3.11
RUBY_RAILS3_VERSION?=	3.0.5

.if !empty(RUBY_RAILS)
RUBY_RAILS_DEFAULT=		${RUBY_RAILS}
_RUBY_RAILS_DEPENDS_EXACT=	yes
.endif

.if empty(RUBY_RAILS_DEFAULT)
_RUBY_INSTALLED_RAILS!= \
	if ${PKG_INFO} -qe "${RUBY_PKGPREFIX}-rack>=1.2" || \
		${PKG_INFO} -qe "${RUBY_PKGPREFIX}-activesupport>=3.0"; then \
		${ECHO} 3; \
	elif ${PKG_INFO} -qe "${RUBY_PKGPREFIX}-rack<1.2" || \
		${PKG_INFO} -qe "${RUBY_PKGPREFIX}-activesupport<3"; then \
		${ECHO} 2; \
	else \
		${ECHO} "none"; \
	fi
. if ${_RUBY_INSTALLED_RAILS} != "none"
RUBY_RAILS_DEFAULT:=	${_RUBY_INSTALLED_RAILS}
. endif
.endif

RUBY_RAILS_DEFAULT?=	2
.if ${RUBY_RAILS_DEFAULT} == "2"
RUBY_RAILS_VERSION:=	${RUBY_RAILS2_VERSION}
_RUBY_RAILS_MAJOR=	2
.else
RUBY_RAILS_VERSION:=	${RUBY_RAILS3_VERSION}
_RUBY_RAILS_MAJOR=	3
.endif

#
MULTI+=			RUBY_RAILS_DEFAULT=${RUBY_RAILS_DEFAULT}

#
# _
#	If defined, match exact version.  Otherwise allow greater minor version.
#
.if empty(_RUBY_RAILS_DEPENDS_EXACT)
_RUBY_RAILS_NEXT!=	${EXPR} ${_RUBY_RAILS_MAJOR} + 1
_RAILS_DEP=		>=${RUBY_RAILS_VERSION}<${_RUBY_RAILS_NEXT}
.else
_RUBY_RAILS_VERS=   ${RUBY_RAILS_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1.\2/}
_RUBY_RAILS_TEENY=  ${RUBY_RAILS_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\3/}

_RUBY_RAILS_NEXT!=	${EXPR} ${_RUBY_RAILS_TEENY} + 1
_RAILS_DEP=		>=${RUBY_RAILS_VERSION}<${_RUBY_RAILS_VERS}.${_RUBY_RAILS_NEXT}
.endif

RUBY_ACTIVESUPPORT?=	${RUBY_RAILS_VERSION}
RUBY_ACTIONPACK?=	${RUBY_RAILS_VERSION}
RUBY_ACTIVERECORD?=	${RUBY_RAILS_VERSION}
RUBY_ACTIVERESOURCE?=	${RUBY_RAILS_VERSION}
RUBY_ACTIONMAILER?=	${RUBY_RAILS_VERSION}
RUBY_RAILTIES?=		${RUBY_RAILS_VERSION}

RUBY_RAILS2_ACTIVESUPPORT=	../../devel/ruby-activesupport
RUBY_RAILS2_ACTIONPACK=		../../www/ruby-actionpack
RUBY_RAILS2_ACTIVERECORD=	../../databases/ruby-activerecord
RUBY_RAILS2_ACTIVERESOURCE=	../../www/ruby-activeresource
RUBY_RAILS2_ACTIONMAILER=	../../mail/ruby-actionmailer

RUBY_RAILS3_ACTIVESUPPORT=	../../devel/ruby-activesupport3
RUBY_RAILS3_ACTIVEMODEL=	../../devel/ruby-activemodel
RUBY_RAILS3_ACTIONPACK=		../../www/ruby-actionpack3
RUBY_RAILS3_ACTIVERECORD=	../../databases/ruby-activerecord3
RUBY_RAILS3_ACTIVERESOURCE=	../../www/ruby-activeresource3
RUBY_RAILS3_ACTIONMAILER=	../../mail/ruby-actionmailer3
RUBY_RAILS3_RAILTIES=		../../devel/ruby-railties

.if ${_RUBY_RAILS_MAJOR} == "2"
RUBY_ACTIVESUPPORT_DEPENDS= \
	${RUBY_PKGPREFIX}-activesupport${_RAILS_DEP}:${RUBY_RAILS2_ACTIVESUPPORT}
RUBY_ACTIONPACK_DEPENDS= \
	${RUBY_PKGPREFIX}-actionpack${_RAILS_DEP}:${RUBY_RAILS2_ACTIONPACK}
RUBY_ACTIVERECORD_DEPENDS= \
	${RUBY_PKGPREFIX}-activerecord${_RAILS_DEP}:${RUBY_RAILS2_ACTIVERECORD}
RUBY_ACTIVERESOURCE_DEPENDS= \
	${RUBY_PKGPREFIX}-activeresource${_RAILS_DEP}:${RUBY_RAILS2_ACTIVERESOURCE}
RUBY_ACTIONMAILER_DEPENDS= \
	${RUBY_PKGPREFIX}-actionmailer${_RAILS_DEP}:${RUBY_RAILS2_ACTIONMAILER}
RUBY_RAILTIES_DEPENDS= # empty
.else
RUBY_ACTIVESUPPORT_DEPENDS= \
	${RUBY_PKGPREFIX}-activesupport${_RAILS_DEP}:${RUBY_RAILS3_ACTIVESUPPORT}
RUBY_ACTIVEMODEL_DEPENDS= \
	${RUBY_PKGPREFIX}-activemodel${_RAILS_DEP}:${RUBY_RAILS3_ACTIVEMODEL}
RUBY_ACTIONPACK_DEPENDS= \
	${RUBY_PKGPREFIX}-actionpack${_RAILS_DEP}:${RUBY_RAILS3_ACTIONPACK}
RUBY_ACTIVERECORD_DEPENDS= \
	${RUBY_PKGPREFIX}-activerecord${_RAILS_DEP}:${RUBY_RAILS3_ACTIVERECORD}
RUBY_ACTIVERESOURCE_DEPENDS= \
	${RUBY_PKGPREFIX}-activeresource${_RAILS_DEP}:${RUBY_RAILS3_ACRIVERESOURCE}
RUBY_ACTIONMAILER_DEPENDS= \
	${RUBY_PKGPREFIX}-actionmailer${_RAILS_DEP}:${RUBY_RAILS3_ACTIONMAILER}
RUBY_RAILTIES_DEPENDS= \
	${RUBY_PKGPREFIX}-railties${_RAILS_DEP}:${RUBY_RAILS3_RAILTIES}
.endif

.endif