aboutsummaryrefslogtreecommitdiff
path: root/www/gitlab-ce/Makefile
blob: 80b796de96bd0888eec1ebe1b8537da319dfe5de (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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
# Created by: Torsten Zuehlsdorff <tz@FreeBSD.org>

PORTNAME=	gitlab-ce
PORTVERSION=	13.11.3
PORTREVISION=	1
CATEGORIES=	www devel

MAINTAINER=	mfechner@FreeBSD.org
COMMENT=	Web GUI for managing git repositories

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE

# the rubygems of RUN_DEPENDS matches the order of the Gemfile
# which makes maintaining this long list much easier!
MY_DEPENDS=	git>=2.31.0:devel/git \
	gitaly>=${PORTVERSION}:devel/gitaly \
	gitlab-elasticsearch-indexer>=2.9.0:textproc/gitlab-elasticsearch-indexer \
	gitlab-agent>=13.11.1:net/gitlab-agent \
	gitlab-pages>=1.38.0:www/gitlab-pages \
	gitlab-shell>=13.17.0:devel/gitlab-shell \
	gitlab-workhorse>=${PORTVERSION}:www/gitlab-workhorse \
	redis>=6.0.12:databases/redis \
	yarn>=1.10.0:www/yarn \
	gtar>0:archivers/gtar \
	bash>0:shells/bash \
	rubygem-rails60>=6.0.3.6<6.0.4:www/rubygem-rails60 \
	rubygem-bootsnap14>=1.4.6<2.0:devel/rubygem-bootsnap14 \
	rubygem-responders-rails60>=3.0<4.0:www/rubygem-responders-rails60 \
	rubygem-sprockets3>=3.7<3.8:devel/rubygem-sprockets3 \
	rubygem-default_value_for>=3.4.0<3.5.0:devel/rubygem-default_value_for \
	rubygem-pg>=1.2.3<2:databases/rubygem-pg \
	rubygem-rugged>=1.1<2:devel/rubygem-rugged \
	rubygem-grape-path-helpers>=1.6.1<1.7:devel/rubygem-grape-path-helpers \
	rubygem-faraday>=1.0<2:www/rubygem-faraday \
	rubygem-marginalia>=1.10.0<1.11:databases/rubygem-marginalia \
	rubygem-devise47-rails60>=4.7.2<4.8:devel/rubygem-devise47-rails60 \
	rubygem-bcrypt>=3.1.14<3.2:security/rubygem-bcrypt \
	rubygem-doorkeeper>=5.5.0.rc2<5.6:security/rubygem-doorkeeper \
	rubygem-doorkeeper-openid_connect>=1.7.5<1.8:security/rubygem-doorkeeper-openid_connect \
	rubygem-rexml>=3.2.5<3.3:textproc/rubygem-rexml \
	rubygem-ruby-saml>=1.12.1<1.13:security/rubygem-ruby-saml \
	rubygem-omniauth>=1.8<2.0:security/rubygem-omniauth \
	rubygem-omniauth-auth0>=2.0.0<2.1.0:net/rubygem-omniauth-auth0 \
	rubygem-omniauth-azure-activedirectory-v2>=0.1<1:net/rubygem-omniauth-azure-activedirectory-v2 \
	rubygem-omniauth-azure-oauth2>=0.0.9<0.1.0:net/rubygem-omniauth-azure-oauth2 \
	rubygem-omniauth-cas3>=1.1.4<1.2.0:security/rubygem-omniauth-cas3 \
	rubygem-omniauth-facebook4>=4.0.0<4.1.0:net/rubygem-omniauth-facebook4 \
	rubygem-omniauth-github>=1.4.0<2.0:net/rubygem-omniauth-github \
	rubygem-omniauth-gitlab>=1.0.2<1.1.0:security/rubygem-omniauth-gitlab \
	rubygem-omniauth-google-oauth2>=0.6.0<0.7.0:net/rubygem-omniauth-google-oauth2 \
	rubygem-omniauth-kerberos>=0.3.0<0.4.0:net/rubygem-omniauth-kerberos \
	rubygem-omniauth-oauth2-generic>=0.2.2<0.3.0:security/rubygem-omniauth-oauth2-generic \
	rubygem-omniauth-saml>=1.10<2.0:security/rubygem-omniauth-saml \
	rubygem-omniauth-shibboleth>=1.3.0<1.4.0:security/rubygem-omniauth-shibboleth \
	rubygem-omniauth-twitter>=1.4<2.0:net/rubygem-omniauth-twitter \
	rubygem-omniauth_crowd>=2.4.0<2.5:devel/rubygem-omniauth_crowd \
	rubygem-omniauth-authentiq>=0.3.3<0.4.0:net/rubygem-omniauth-authentiq \
	rubygem-omniauth_openid_connect>=0.3.5<0.4.0:net/rubygem-omniauth_openid_connect \
	rubygem-omniauth-ultraauth>=0.0.2<0.1.0:net/rubygem-omniauth-ultraauth \
	rubygem-omniauth-salesforce>=1.0.5<1.1.0:net/rubygem-omniauth-salesforce \
	rubygem-omniauth-atlassian-oauth2>=0.2.0<0.3:security/rubygem-omniauth-atlassian-oauth2 \
	rubygem-rack-oauth2>=1.16.0<1.17.0:security/rubygem-rack-oauth2 \
	rubygem-jwt21>=2.1.0<2.2.0:www/rubygem-jwt21 \
	rubygem-gssapi>0:security/rubygem-gssapi \
	rubygem-recaptcha>=4.11<5.0:devel/rubygem-recaptcha \
	rubygem-akismet>=3.0<4.0:devel/rubygem-akismet \
	rubygem-invisible_captcha>=1.1.0<1.2.0:graphics/rubygem-invisible_captcha \
	rubygem-devise-two-factor-rails60>=4.0.0<4.1:security/rubygem-devise-two-factor-rails60 \
	rubygem-rqrcode-rails3>=0.1.7<0.2.0:www/rubygem-rqrcode-rails3 \
	rubygem-attr_encrypted>=3.1.0<3.2.0:security/rubygem-attr_encrypted \
	rubygem-u2f0>=0.2.1<0.3.0:net/rubygem-u2f0 \
	rubygem-validates_hostname>=1.0.11<1.1.0:dns/rubygem-validates_hostname \
	rubygem-rubyzip20>=2.0.0<2.1.0:archivers/rubygem-rubyzip20 \
	rubygem-acme-client>=2.0.6<3:security/rubygem-acme-client \
	rubygem-browser>=4.2<5.0:www/rubygem-browser \
	rubygem-ohai>=16.10<17:sysutils/rubygem-ohai \
	rubygem-gpgme>=2.0.20<2.1.0:security/rubygem-gpgme \
	rubygem-gitlab_omniauth-ldap>=2.1.1<2.2.0:net/rubygem-gitlab_omniauth-ldap \
	rubygem-net-ldap>0.16.3:net/rubygem-net-ldap \
	rubygem-grape>=1.5.2<1.6:devel/rubygem-grape \
	rubygem-grape-entity07>=0.7.1<0.8.0,1:devel/rubygem-grape-entity07 \
	rubygem-rack-cors>=1.0.6<1.1.0:www/rubygem-rack-cors \
	rubygem-graphql>=1.11.8<1.12:devel/rubygem-graphql \
	rubygem-graphiql-rails>=1.4.10<1.5.0:devel/rubygem-graphiql-rails \
	rubygem-apollo_upload_server>=2.0.2<2.1:net/rubygem-apollo_upload_server \
	rubygem-graphql-docs>=1.6.0<1.7.0:devel/rubygem-graphql-docs \
	rubygem-graphlient>=0.4.0<0.5:devel/rubygem-graphlient \
	rubygem-hashie>0:devel/rubygem-hashie \
	rubygem-hashie-forbidden_attributes>0:devel/rubygem-hashie-forbidden_attributes \
	rubygem-kaminari-rails60>=1.2.1<2.0:www/rubygem-kaminari-rails60 \
	rubygem-hamlit>=2.15.0<2.16:www/rubygem-hamlit \
	rubygem-carrierwave>=1.3.2<2.0:www/rubygem-carrierwave \
	rubygem-mini_magick>=4.10.1<4.11:graphics/rubygem-mini_magick \
	rubygem-fog-aws>=3.9<4.0:net/rubygem-fog-aws \
	rubygem-fog-core210=2.1.0:devel/rubygem-fog-core210 \
	rubygem-gitlab-fog-google>=1.13<2:net/rubygem-gitlab-fog-google \
	rubygem-fog-local>=0.6<1.0:net/rubygem-fog-local \
	rubygem-fog-openstack>=1.0<2.0:net/rubygem-fog-openstack \
	rubygem-fog-rackspace>=0.1.1<1.2.0:net/rubygem-fog-rackspace \
	rubygem-fog-aliyun>=0.3<1.0:net/rubygem-fog-aliyun \
	rubygem-gitlab-fog-azure-rm>=1.0.1<2:net/rubygem-gitlab-fog-azure-rm \
	rubygem-google-api-client>=0.33<1:devel/rubygem-google-api-client \
	rubygem-unf>=0.1.4<0.2.0:textproc/rubygem-unf \
	rubygem-seed-fu>=2.3.7<2.4.0:databases/rubygem-seed-fu \
	rubygem-elasticsearch-model6>=6.1.1<7:textproc/rubygem-elasticsearch-model6 \
	rubygem-elasticsearch-rails6>=6.1.1<7:textproc/rubygem-elasticsearch-rails6 \
	rubygem-elasticsearch-api6>=6.8.2<6.9:textproc/rubygem-elasticsearch-api6 \
	rubygem-aws-sdk-core>=3<4:devel/rubygem-aws-sdk-core \
	rubygem-aws-sdk-cloudformation>=1<2:devel/rubygem-aws-sdk-cloudformation \
	rubygem-aws-sdk-s3>=1<2:devel/rubygem-aws-sdk-s3 \
	rubygem-faraday_middleware-aws-sigv403>=0.3.0<0.4:devel/rubygem-faraday_middleware-aws-sigv403 \
	rubygem-html-pipeline>=2.13.2<2.14:textproc/rubygem-html-pipeline \
	rubygem-deckar01-task_list=2.3.1:www/rubygem-deckar01-task_list \
	rubygem-gitlab-markup>=1.7.1<1.8.0:textproc/rubygem-gitlab-markup \
	rubygem-github-markup17>=1.7.0<1.8.0:textproc/rubygem-github-markup17 \
	rubygem-commonmarker>=0.21<1.0:textproc/rubygem-commonmarker \
	rubygem-kramdown>=2.3.1<2.4:textproc/rubygem-kramdown \
	rubygem-redcloth>=4.3.2<4.4.0:www/rubygem-redcloth \
	rubygem-rdoc>=6.1.2<7:devel/rubygem-rdoc \
	rubygem-org-ruby>=0.9.12<0.10.0:textproc/rubygem-org-ruby \
	rubygem-creole>=0.5.0<0.6.0:textproc/rubygem-creole \
	rubygem-wikicloth081>=0.8.1<0.8.2:textproc/rubygem-wikicloth081 \
	rubygem-asciidoctor>=2.0.12<2.1.0:textproc/rubygem-asciidoctor \
	rubygem-asciidoctor-include-ext>=0.3.1<0.4.0:textproc/rubygem-asciidoctor-include-ext \
	rubygem-asciidoctor-plantuml>=0.0.12<0.1:textproc/rubygem-asciidoctor-plantuml \
	rubygem-asciidoctor-kroki>=0.4.0<0.5:textproc/rubygem-asciidoctor-kroki \
	rubygem-rouge>=3.26.0<3.27:textproc/rubygem-rouge \
	rubygem-truncato>=0.7.11<0.8.0:textproc/rubygem-truncato \
	rubygem-bootstrap_form>=4.2.0<4.3.0:devel/rubygem-bootstrap_form \
	rubygem-nokogiri>=1.11.3<1.12:textproc/rubygem-nokogiri \
	rubygem-escape_utils>=1.1<2.0:textproc/rubygem-escape_utils \
	rubygem-icalendar>=0:devel/rubygem-icalendar \
	rubygem-diffy>=3.3<4:textproc/rubygem-diffy \
	rubygem-diff_match_patch>=0.1.0<0.2.0:textproc/rubygem-diff_match_patch \
	rubygem-rack>=2.2.3<2.3,3:www/rubygem-rack \
	rubygem-rack-timeout>=0.5.1<0.6:www/rubygem-rack-timeout \
	rubygem-unicorn>=5.5<6:www/rubygem-unicorn \
	rubygem-unicorn-worker-killer>=0.4.4<0.5.0:www/rubygem-unicorn-worker-killer \
	rubygem-puma>=5.1.1:www/rubygem-puma \
	rubygem-puma_worker_killer>=0.3.1:www/rubygem-puma_worker_killer \
	rubygem-state_machines-activerecord>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord \
	rubygem-acts-as-taggable-on>=7.0<8.0:www/rubygem-acts-as-taggable-on \
	rubygem-sidekiq5>=5.2.9<5.3.0:devel/rubygem-sidekiq5 \
	rubygem-sidekiq-cron>=1.0<2.0:devel/rubygem-sidekiq-cron \
	rubygem-redis-namespace17>=1.7.0<1.8.0:databases/rubygem-redis-namespace17 \
	rubygem-gitlab-sidekiq-fetcher>=0.5.6<0.5.7:devel/rubygem-gitlab-sidekiq-fetcher \
	rubygem-fugit12>=1.2.1<1.3.0:devel/rubygem-fugit12 \
	rubygem-httparty>=0.16.4<0.17.0:www/rubygem-httparty \
	rubygem-rainbow>=3.0<4.0:devel/rubygem-rainbow \
	rubygem-ruby-progressbar>=1.11<2:devel/rubygem-ruby-progressbar \
	rubygem-settingslogic>=2.0.9<2.1.0:devel/rubygem-settingslogic \
	rubygem-re2>=1.2.0<1.3.0:devel/rubygem-re2 \
	rubygem-version_sorter>=2.2.4<2.3.0:textproc/rubygem-version_sorter \
	rubygem-js_regex>=3.4<4.0:textproc/rubygem-js_regex \
	rubygem-device_detector>=0:devel/rubygem-device_detector \
	rubygem-redis>=4.0<5.0:databases/rubygem-redis \
	rubygem-connection_pool>=2.0<3.0:net/rubygem-connection_pool \
	rubygem-redis-rails-rails60>=5.0.2<5.1:www/rubygem-redis-rails-rails60 \
	rubygem-discordrb-webhooks>=3.4<4.0:net-im/rubygem-discordrb-webhooks \
	rubygem-jira-ruby>=2.1.4<2.2:devel/rubygem-jira-ruby \
	rubygem-atlassian-jwt>=0.2.0<0.3.0:www/rubygem-atlassian-jwt \
	rubygem-flowdock>=0.7<1.0:www/rubygem-flowdock \
	rubygem-slack-messenger>=2.3.4<2.4.0:devel/rubygem-slack-messenger \
	rubygem-hangouts-chat>=0.0.5<0.1.0:net/rubygem-hangouts-chat \
	rubygem-asana>=0.10.3<0.11:www/rubygem-asana \
	rubygem-ruby-fogbugz021>=0.2.1<0.3.0:devel/rubygem-ruby-fogbugz021 \
	rubygem-kubeclient>=4.9.1<4.10.0:www/rubygem-kubeclient \
	rubygem-sanitize>=5.2.1<6:textproc/rubygem-sanitize \
	rubygem-babosa>=1.0.2<1.1.0:textproc/rubygem-babosa \
	rubygem-loofah>=2.9.0<3.0:textproc/rubygem-loofah \
	rubygem-licensee>=9.14.1<9.15:devel/rubygem-licensee \
	rubygem-charlock_holmes>=0.7.7<0.8.0:textproc/rubygem-charlock_holmes \
	rubygem-ruby-magic>=0.4<1:devel/rubygem-ruby-magic \
	rubygem-fast_blank>=0:devel/rubygem-fast_blank \
	rubygem-gitlab-chronic>=0.10.5<0.11.0:devel/rubygem-gitlab-chronic \
	rubygem-gitlab_chronic_duration>=0.10.6.2<0.10.7:devel/rubygem-gitlab_chronic_duration \
	rubygem-rack-proxy>=0.6.0<0.7.0:www/rubygem-rack-proxy \
	rubygem-sassc-rails-rails60>=2.1.0<2.2.0:textproc/rubygem-sassc-rails-rails60 \
	rubygem-autoprefixer-rails1020>=10.2.0.0<10.2.1:textproc/rubygem-autoprefixer-rails1020 \
	rubygem-terser>=1.0.2:textproc/rubygem-terser \
	rubygem-addressable>=2.7<3:www/rubygem-addressable \
	rubygem-gemojione>=3.3<4.0:graphics/rubygem-gemojione \
	rubygem-gon-rails60>=6.4.0<6.5:www/rubygem-gon-rails60 \
	rubygem-request_store>=1.5<2.0:devel/rubygem-request_store \
	rubygem-base32>=0.3.0<0.4.0:converters/rubygem-base32 \
	rubygem-gitlab-license>=1.4<2.0:devel/rubygem-gitlab-license \
	rubygem-rack-attack>=6.3.0<6.4.0:www/rubygem-rack-attack \
	rubygem-sentry-raven>=3.0<4.0:devel/rubygem-sentry-raven \
	rubygem-pg_query>=1.3.0<1.4:databases/rubygem-pg_query \
	rubygem-premailer-rails-rails60>=1.10.3<1.11.0:mail/rubygem-premailer-rails-rails60 \
	rubygem-gitlab-labkit>=0.16.2<0.17:devel/rubygem-gitlab-labkit \
	rubygem-thrift>=0.14.0:devel/rubygem-thrift \
	rubygem-ruby_parser>=3.15<4.0:devel/rubygem-ruby_parser \
	rubygem-rails-i18n-rails60>=6.0<7.0:devel/rubygem-rails-i18n-rails60 \
	rubygem-gettext_i18n_rails>=1.8.0<1.9.0:devel/rubygem-gettext_i18n_rails \
	rubygem-gettext_i18n_rails_js-rails60>=1.3<2.0:devel/rubygem-gettext_i18n_rails_js-rails60 \
	rubygem-gettext>=3.3<4:devel/rubygem-gettext \
	rubygem-batch-loader>=2.0.1<2.1:devel/rubygem-batch-loader \
	rubygem-peek-rails60>=1.1.0<2.0:devel/rubygem-peek-rails60 \
	rubygem-snowplow-tracker>=0.6.1<0.7.0:devel/rubygem-snowplow-tracker \
	rubygem-method_source>=1.0<2:devel/rubygem-method_source \
	rubygem-webrick>=1.6.1:www/rubygem-webrick \
	rubygem-prometheus-client-mmap>=0.12.0<0.13.0:devel/rubygem-prometheus-client-mmap \
	rubygem-raindrops>=0.18<1.0:www/rubygem-raindrops \
	rubygem-octokit>=4.20<5.0:net/rubygem-octokit \
	rubygem-gitlab-mail_room>=0.0.9<0.1.0:mail/rubygem-gitlab-mail_room \
	rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
	rubygem-html2text>=0:textproc/rubygem-html2text \
	rubygem-ruby-prof>=1.3.0<1.4.0:devel/rubygem-ruby-prof \
	rubygem-stackprof>=0.2.15<0.3:devel/rubygem-stackprof \
	rubygem-rbtrace>=0.4.14<1.0:devel/rubygem-rbtrace \
	rubygem-memory_profiler>=0.9<1.0:devel/rubygem-memory_profiler \
	rubygem-benchmark-memory>=0.1<1.0:benchmarks/rubygem-benchmark-memory \
	rubygem-activerecord-explain-analyze>=0.1<1.0:databases/rubygem-activerecord-explain-analyze \
	rubygem-oauth2>=1.4.4<2.0:net/rubygem-oauth2 \
	rubygem-health_check>=3.0<4:devel/rubygem-health_check \
	rubygem-vmstat>=2.3.0<2.4.0:sysutils/rubygem-vmstat \
	rubygem-sys-filesystem>=1.1.6<1.2.0:sysutils/rubygem-sys-filesystem \
	rubygem-net-ntp>0:net/rubygem-net-ntp \
	rubygem-net-ssh>=6.0<7,2:security/rubygem-net-ssh \
	rubygem-sshkey>=2.0<3.0:security/rubygem-sshkey \
	rubygem-ed25519>=1.2<2.0:security/rubygem-ed25519 \
	rubygem-bcrypt_pbkdf>=1.0<2.0:security/rubygem-bcrypt_pbkdf \
	rubygem-gitaly>=13.11.0.pre.rc1<13.12.0:net/rubygem-gitaly \
	rubygem-grpc130>=1.30.2<1.31:net/rubygem-grpc130 \
	rubygem-google-protobuf314>=3.14.0<3.15:devel/rubygem-google-protobuf314 \
	rubygem-toml-rb10>=1.0.0<1.1.0:www/rubygem-toml-rb10 \
	rubygem-flipper017>=0.17.1<0.18.0:devel/rubygem-flipper017 \
	rubygem-flipper-active_record017>=0.17.1<0.18.0:databases/rubygem-flipper-active_record017 \
	rubygem-flipper-active_support_cache_store017>=0.17.1<0.18.0:devel/rubygem-flipper-active_support_cache_store017 \
	rubygem-unleash>=0.1.5<0.2.0:devel/rubygem-unleash \
	rubygem-gitlab-experiment>=0.5.3<0.6:devel/rubygem-gitlab-experiment \
	rubygem-lograge-rails60>=0.11.2<1.0:www/rubygem-lograge-rails60 \
	rubygem-grape_logging>=1.7<2.0:devel/rubygem-grape_logging \
	rubygem-gitlab-net-dns>=0.9.1<0.10:dns/rubygem-gitlab-net-dns \
	rubygem-countries>=3.0.0<4.0.0:devel/rubygem-countries \
	rubygem-retriable>=3.1.2<3.2.0:devel/rubygem-retriable \
	rubygem-lru_redux>0:devel/rubygem-lru_redux \
	rubygem-erubi19>=1.9.0<1.10:www/rubygem-erubi19 \
	rubygem-mail>=2.7.1<2.7.2,2:mail/rubygem-mail \
	rubygem-lockbox>=0.6.2<0.7:security/rubygem-lockbox \
	rubygem-valid_email>=0.1<1:mail/rubygem-valid_email \
	rubygem-json>=2.3.0<2.4:devel/rubygem-json \
	rubygem-json_schemer>=0.2.12<0.3:devel/rubygem-json_schemer \
	rubygem-oj310>=3.10.6<3.11:devel/rubygem-oj310 \
	rubygem-multi_json114>=1.14.1<1.15:devel/rubygem-multi_json114 \
	rubygem-yajl-ruby>=1.4.1<1.5:devel/rubygem-yajl-ruby \
	rubygem-webauthn>=2.3<3:security/rubygem-webauthn \
	rubygem-ipaddress>=0.8.3<0.9:net/rubygem-ipaddress \
	rubygem-parslet1>=1.8<2:textproc/rubygem-parslet1

BUILD_DEPENDS=	gem:devel/ruby-gems \
	${MY_DEPENDS}

RUN_DEPENDS=	${MY_DEPENDS}

CONFLICTS_INSTALL=	gitolite-* \
			gitolite2-* \
			gogs-* \
			gitea-* \
			${PYTHON_PKGNAMEPREFIX}-gitosis-*

USES=		go:modules shebangfix
USE_RUBY=	yes

USE_RC_SUBR=	gitlab
USE_GITLAB=	yes
GL_ACCOUNT?=	gitlab-org
GL_PROJECT?=	gitlab-foss
# Find the here: https://gitlab.com/gitlab-org/gitlab-foss/-/tags
GL_COMMIT?=	b321336e4437c4fc1693be95ec7e5319cace9510

USERS=	git
GROUPS=	git

NO_BUILD=	yes

NO_ARCH=	yes

post-patch:
	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config/gitlab.yml.example \
		${WRKSRC}/config/puma.rb.example \
		${WRKSRC}/config/unicorn.rb.example \
		${WRKSRC}/lib/support/nginx/gitlab \
		${WRKSRC}/lib/support/nginx/gitlab-ssl
	# Remove symlink a create a file with content
	${RM} ${WRKSRC}/GITLAB_WORKHORSE_VERSION
	${ECHO} ${PORTVERSION} > ${WRKSRC}/GITLAB_WORKHORSE_VERSION

do-install:
	${CP} ${WRKSRC}/config/database.yml.postgresql ${WRKSRC}/config/database.yml.sample
	(cd ${WRKSRC} && ${RM} Gemfile.lock && bundle install --local)
	${RM} -R ${WRKSRC}/workhorse
	${FIND} ${WRKSRC} -name '*.orig' -delete
	${FIND} ${WRKSRC} -name '*.bak' -delete
	${FIND} ${WRKSRC} -name '*.gitkeep' -delete
	${FIND} ${WRKSRC} -name '*.gitignore' -delete
	${FIND} ${WRKSRC} -name "Gemfile.lock" -delete
	# get files for workdir with: find . -name "*.example"
	${MV} ${WRKSRC}/config/puma.rb.example ${WRKSRC}/config/puma.rb.sample
	${MV} ${WRKSRC}/config/secrets.yml.example ${WRKSRC}/config/secrets.yml.sample
	${MV} ${WRKSRC}/config/redis.cache.yml.example ${WRKSRC}/config/redis.cache.yml.sample
	${MV} ${WRKSRC}/config/sidekiq.yml.example ${WRKSRC}/config/sidekiq.yml.sample
	${MV} ${WRKSRC}/config/cable.yml.example ${WRKSRC}/config/cable.yml.sample
	${MV} ${WRKSRC}/config/gitlab.yml.example ${WRKSRC}/config/gitlab.yml.sample
	${MV} ${WRKSRC}/config/redis.queues.yml.example ${WRKSRC}/config/redis.queues.yml.sample
	${MV} ${WRKSRC}/config/initializers/devise_password_length.rb.example ${WRKSRC}/config/initializers/devise_password_length.rb.sample
	${MV} ${WRKSRC}/config/redis.shared_state.yml.example ${WRKSRC}/config/redis.shared_state.yml.sample
	${MV} ${WRKSRC}/config/unicorn.rb.example ${WRKSRC}/config/unicorn.rb.sample
	${MV} ${WRKSRC}/config/resque.yml.example ${WRKSRC}/config/resque.yml.sample
	${MV} ${WRKSRC}/lib/support/nginx/gitlab ${WRKSRC}/lib/support/nginx/gitlab.sample
	${MV} ${WRKSRC}/lib/support/nginx/gitlab-ssl ${WRKSRC}/lib/support/nginx/gitlab-ssl.sample
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/assets
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/public/uploads
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/cache
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/sessions
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/tmp/backups
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/tmp
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/shared/artifacts/tmp/work
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/vendor/assets/stylesheets
	${MKDIR} ${STAGEDIR}${PREFIX}/www/${PORTNAME}/workhorse/changelogs/unreleased
	(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/www/${PORTNAME})

# Execute this target to automatically generate the correct pkg-plist
makeplist:
	$(MAKE) clean patch
	${RM} -R ${WRKSRC}/workhorse
	php scripts/create-plist.php ${WRKSRC} > pkg-plist
	$(MAKE) clean

.include <bsd.port.mk>