# $NetBSD$

PKGNAME=	${RUBY_PKGPREFIX}-gitlab-${GITLAB_VERSION}
COMMENT=	Complete software development platform around Git (Ruby Gems)

USE_TOOLS+=	pax

USE_LANGUAGES+=	c c++

GEMS_DISTFILES+=	RedCloth-4.3.2.gem
GEMS_DISTFILES+=	acme-client-2.0.6.gem
GEMS_DISTFILES+=	activerecord-explain-analyze-0.1.0.gem
GEMS_DISTFILES+=	acts-as-taggable-on-7.0.0.gem
GEMS_DISTFILES+=	addressable-2.7.0.gem
GEMS_DISTFILES+=	akismet-3.0.0.gem
GEMS_DISTFILES+=	apollo_upload_server-2.0.2.gem
GEMS_DISTFILES+=	asana-0.10.3.gem
GEMS_DISTFILES+=	asciidoctor-2.0.10.gem
GEMS_DISTFILES+=	asciidoctor-include-ext-0.3.1.gem
GEMS_DISTFILES+=	asciidoctor-kroki-0.3.0.gem
GEMS_DISTFILES+=	asciidoctor-plantuml-0.0.12.gem
GEMS_DISTFILES+=	atlassian-jwt-0.2.0.gem
GEMS_DISTFILES+=	attr_encrypted-3.1.0.gem
GEMS_DISTFILES+=	autoprefixer-rails-10.2.0.0.gem
GEMS_DISTFILES+=	awesome_print-1.8.0.gem
GEMS_DISTFILES+=	aws-sdk-cloudformation-1.48.0.gem
GEMS_DISTFILES+=	aws-sdk-core-3.112.0.gem
GEMS_DISTFILES+=	aws-sdk-s3-1.88.2.gem
GEMS_DISTFILES+=	babosa-1.0.2.gem
GEMS_DISTFILES+=	base32-0.3.0.gem
GEMS_DISTFILES+=	batch-loader-1.4.0.gem
GEMS_DISTFILES+=	bcrypt-3.1.12.gem
GEMS_DISTFILES+=	bcrypt_pbkdf-1.0.0.gem
GEMS_DISTFILES+=	benchmark-ips-2.3.0.gem
GEMS_DISTFILES+=	benchmark-memory-0.1.2.gem
GEMS_DISTFILES+=	better_errors-2.7.1.gem
GEMS_DISTFILES+=	bootsnap-1.4.6.gem
GEMS_DISTFILES+=	bootstrap_form-4.2.0.gem
GEMS_DISTFILES+=	brakeman-4.10.1.gem
GEMS_DISTFILES+=	browser-4.2.0.gem
GEMS_DISTFILES+=	bullet-6.1.3.gem
GEMS_DISTFILES+=	bundler-audit-0.7.0.1.gem
GEMS_DISTFILES+=	capybara-3.34.0.gem
GEMS_DISTFILES+=	capybara-screenshot-1.0.22.gem
GEMS_DISTFILES+=	carrierwave-1.3.2.gem
GEMS_DISTFILES+=	charlock_holmes-0.7.7.gem
GEMS_DISTFILES+=	commonmarker-0.21.2.gem
GEMS_DISTFILES+=	concurrent-ruby-1.1.8.gem
GEMS_DISTFILES+=	connection_pool-2.2.3.gem
GEMS_DISTFILES+=	countries-3.0.0.gem
GEMS_DISTFILES+=	creole-0.5.0.gem
GEMS_DISTFILES+=	crystalball-0.7.0.gem
GEMS_DISTFILES+=	danger-8.0.6.gem
GEMS_DISTFILES+=	database_cleaner-1.7.0.gem
GEMS_DISTFILES+=	deckar01-task_list-2.3.1.gem
GEMS_DISTFILES+=	default_value_for-3.4.0.gem
GEMS_DISTFILES+=	deprecation_toolkit-1.5.1.gem
GEMS_DISTFILES+=	derailed_benchmarks-1.8.1.gem
GEMS_DISTFILES+=	device_detector-1.0.5.gem
GEMS_DISTFILES+=	devise-4.7.2.gem
GEMS_DISTFILES+=	devise-two-factor-3.1.0.gem
GEMS_DISTFILES+=	diff_match_patch-0.1.0.gem
GEMS_DISTFILES+=	diffy-3.4.0.gem
GEMS_DISTFILES+=	discordrb-webhooks-blackst0ne-3.3.0.gem
GEMS_DISTFILES+=	doorkeeper-5.5.0.rc2.gem
GEMS_DISTFILES+=	doorkeeper-openid_connect-1.7.5.gem
GEMS_DISTFILES+=	ed25519-1.2.4.gem
GEMS_DISTFILES+=	elasticsearch-api-6.8.2.gem
GEMS_DISTFILES+=	elasticsearch-model-6.1.1.gem
GEMS_DISTFILES+=	elasticsearch-rails-6.1.1.gem
GEMS_DISTFILES+=	email_reply_trimmer-0.1.6.gem
GEMS_DISTFILES+=	email_spec-2.2.0.gem
GEMS_DISTFILES+=	erubi-1.9.0.gem
GEMS_DISTFILES+=	escape_utils-1.2.1.gem
GEMS_DISTFILES+=	factory_bot_rails-6.1.0.gem
GEMS_DISTFILES+=	faraday-1.3.0.gem
GEMS_DISTFILES+=	faraday_middleware-aws-sigv4-0.3.0.gem
GEMS_DISTFILES+=	fast_blank-1.0.0.gem
GEMS_DISTFILES+=	ffaker-2.18.0.gem
GEMS_DISTFILES+=	flipper-0.17.1.gem
GEMS_DISTFILES+=	flipper-active_record-0.17.1.gem
GEMS_DISTFILES+=	flipper-active_support_cache_store-0.17.1.gem
GEMS_DISTFILES+=	flowdock-0.7.1.gem
GEMS_DISTFILES+=	fog-aliyun-0.3.3.gem
GEMS_DISTFILES+=	fog-aws-3.8.0.gem
GEMS_DISTFILES+=	fog-core-2.1.0.gem
GEMS_DISTFILES+=	fog-google-1.12.0.gem
GEMS_DISTFILES+=	fog-local-0.6.0.gem
GEMS_DISTFILES+=	fog-openstack-1.0.8.gem
GEMS_DISTFILES+=	fog-rackspace-0.1.1.gem
GEMS_DISTFILES+=	fugit-1.2.1.gem
GEMS_DISTFILES+=	fuubar-2.2.0.gem
GEMS_DISTFILES+=	gemojione-3.3.0.gem
GEMS_DISTFILES+=	gettext-3.3.6.gem
GEMS_DISTFILES+=	gettext_i18n_rails-1.8.0.gem
GEMS_DISTFILES+=	gettext_i18n_rails_js-1.3.0.gem
GEMS_DISTFILES+=	gitaly-13.9.0.pre.rc1.gem
GEMS_DISTFILES+=	github-markup-1.7.0.gem
GEMS_DISTFILES+=	gitlab-chronic-0.10.5.gem
GEMS_DISTFILES+=	gitlab-experiment-0.4.9.gem
GEMS_DISTFILES+=	gitlab-fog-azure-rm-1.0.0.gem
GEMS_DISTFILES+=	gitlab-labkit-0.14.0.gem
GEMS_DISTFILES+=	gitlab-license-1.3.0.gem
GEMS_DISTFILES+=	gitlab-mail_room-0.0.8.gem
GEMS_DISTFILES+=	gitlab-markup-1.7.1.gem
GEMS_DISTFILES+=	gitlab-net-dns-0.9.1.gem
GEMS_DISTFILES+=	gitlab-pry-byebug-3.9.0.gem
GEMS_DISTFILES+=	gitlab-sidekiq-fetcher-0.5.2.gem
GEMS_DISTFILES+=	gitlab-styles-6.0.0.gem
GEMS_DISTFILES+=	gitlab_chronic_duration-0.10.6.2.gem
GEMS_DISTFILES+=	gitlab_omniauth-ldap-2.1.1.gem
GEMS_DISTFILES+=	gon-6.2.0.gem
GEMS_DISTFILES+=	google-api-client-0.50.0.gem
GEMS_DISTFILES+=	google-protobuf-3.15.2.gem
GEMS_DISTFILES+=	gpgme-2.0.20.gem
GEMS_DISTFILES+=	grape-1.5.2.gem
GEMS_DISTFILES+=	grape-entity-0.7.1.gem
GEMS_DISTFILES+=	grape-path-helpers-1.6.1.gem
GEMS_DISTFILES+=	grape_logging-1.8.4.gem
GEMS_DISTFILES+=	graphiql-rails-1.4.10.gem
GEMS_DISTFILES+=	graphlient-0.4.0.gem
GEMS_DISTFILES+=	graphql-1.11.4.gem
GEMS_DISTFILES+=	graphql-docs-1.6.0.gem
GEMS_DISTFILES+=	grpc-1.30.2.gem
GEMS_DISTFILES+=	gssapi-1.2.0.gem
GEMS_DISTFILES+=	guard-rspec-4.7.3.gem
GEMS_DISTFILES+=	haml_lint-0.36.0.gem
GEMS_DISTFILES+=	hamlit-2.14.4.gem
GEMS_DISTFILES+=	hangouts-chat-0.0.5.gem
GEMS_DISTFILES+=	hashie-4.1.0.gem
GEMS_DISTFILES+=	hashie-forbidden_attributes-0.1.1.gem
GEMS_DISTFILES+=	health_check-3.0.0.gem
GEMS_DISTFILES+=	hipchat-1.5.0.gem
GEMS_DISTFILES+=	html-pipeline-2.13.2.gem
GEMS_DISTFILES+=	html2text-0.3.1.gem
GEMS_DISTFILES+=	httparty-0.16.4.gem
GEMS_DISTFILES+=	icalendar-2.7.0.gem
GEMS_DISTFILES+=	invisible_captcha-1.1.0.gem
GEMS_DISTFILES+=	ipaddress-0.8.3.gem
GEMS_DISTFILES+=	jira-ruby-2.1.4.gem
GEMS_DISTFILES+=	js_regex-3.6.0.gem
GEMS_DISTFILES+=	json-2.3.0.gem
GEMS_DISTFILES+=	json-schema-2.8.0.gem
GEMS_DISTFILES+=	json_schemer-0.2.12.gem
GEMS_DISTFILES+=	jwt-2.1.0.gem
GEMS_DISTFILES+=	kaminari-1.2.1.gem
GEMS_DISTFILES+=	knapsack-1.17.0.gem
GEMS_DISTFILES+=	kramdown-2.3.0.gem
GEMS_DISTFILES+=	kubeclient-4.9.1.gem
GEMS_DISTFILES+=	lefthook-0.7.2.gem
GEMS_DISTFILES+=	letter_opener_web-1.3.4.gem
GEMS_DISTFILES+=	license_finder-6.0.0.gem
GEMS_DISTFILES+=	licensee-9.14.1.gem
GEMS_DISTFILES+=	lockbox-0.3.3.gem
GEMS_DISTFILES+=	lograge-0.11.2.gem
GEMS_DISTFILES+=	loofah-2.9.0.gem
GEMS_DISTFILES+=	lru_redux-1.1.0.gem
GEMS_DISTFILES+=	mail-2.7.1.gem
GEMS_DISTFILES+=	marginalia-1.10.0.gem
GEMS_DISTFILES+=	memory_profiler-0.9.14.gem
GEMS_DISTFILES+=	method_source-1.0.0.gem
GEMS_DISTFILES+=	mimemagic-0.3.5.gem
GEMS_DISTFILES+=	mini_magick-4.10.1.gem
GEMS_DISTFILES+=	minitest-5.11.0.gem
GEMS_DISTFILES+=	multi_json-1.14.1.gem
GEMS_DISTFILES+=	net-ldap-0.16.3.gem
GEMS_DISTFILES+=	net-ntp-2.1.3.gem
GEMS_DISTFILES+=	net-ssh-6.0.0.gem
GEMS_DISTFILES+=	nokogiri-1.11.1.gem
GEMS_DISTFILES+=	oauth2-1.4.4.gem
GEMS_DISTFILES+=	octokit-4.20.0.gem
GEMS_DISTFILES+=	oj-3.10.6.gem
GEMS_DISTFILES+=	omniauth-1.9.0.gem
GEMS_DISTFILES+=	omniauth-atlassian-oauth2-0.2.0.gem
GEMS_DISTFILES+=	omniauth-auth0-2.0.0.gem
GEMS_DISTFILES+=	omniauth-authentiq-0.3.3.gem
GEMS_DISTFILES+=	omniauth-azure-oauth2-0.0.9.gem
GEMS_DISTFILES+=	omniauth-cas3-1.1.4.gem
GEMS_DISTFILES+=	omniauth-facebook-4.0.0.gem
GEMS_DISTFILES+=	omniauth-github-1.4.0.gem
GEMS_DISTFILES+=	omniauth-gitlab-1.0.2.gem
GEMS_DISTFILES+=	omniauth-google-oauth2-0.6.0.gem
GEMS_DISTFILES+=	omniauth-kerberos-0.3.0.gem
GEMS_DISTFILES+=	omniauth-oauth2-generic-0.2.2.gem
GEMS_DISTFILES+=	omniauth-salesforce-1.0.5.gem
GEMS_DISTFILES+=	omniauth-saml-1.10.0.gem
GEMS_DISTFILES+=	omniauth-shibboleth-1.3.0.gem
GEMS_DISTFILES+=	omniauth-twitter-1.4.0.gem
GEMS_DISTFILES+=	omniauth_crowd-2.4.0.gem
GEMS_DISTFILES+=	omniauth_openid_connect-0.3.5.gem
GEMS_DISTFILES+=	org-ruby-0.9.12.gem
GEMS_DISTFILES+=	parallel-1.20.1.gem
GEMS_DISTFILES+=	parslet-1.8.2.gem
GEMS_DISTFILES+=	peek-1.1.0.gem
GEMS_DISTFILES+=	pg-1.2.3.gem
GEMS_DISTFILES+=	pg_query-1.3.0.gem
GEMS_DISTFILES+=	png_quantizator-0.2.1.gem
GEMS_DISTFILES+=	premailer-rails-1.10.3.gem
GEMS_DISTFILES+=	prometheus-client-mmap-0.12.0.gem
GEMS_DISTFILES+=	pry-rails-0.3.9.gem
GEMS_DISTFILES+=	pry-remote-0.1.8.gem
GEMS_DISTFILES+=	puma-5.1.1.gem
GEMS_DISTFILES+=	puma_worker_killer-0.3.1.gem
GEMS_DISTFILES+=	rack-2.2.3.gem
GEMS_DISTFILES+=	rack-attack-6.3.0.gem
GEMS_DISTFILES+=	rack-cors-1.0.6.gem
GEMS_DISTFILES+=	rack-oauth2-1.16.0.gem
GEMS_DISTFILES+=	rack-proxy-0.6.0.gem
GEMS_DISTFILES+=	rack-timeout-0.5.1.gem
GEMS_DISTFILES+=	rails-6.0.3.1.gem
GEMS_DISTFILES+=	rails-controller-testing-1.0.5.gem
GEMS_DISTFILES+=	rails-i18n-6.0.0.gem
GEMS_DISTFILES+=	rainbow-3.0.0.gem
GEMS_DISTFILES+=	raindrops-0.19.1.gem
GEMS_DISTFILES+=	rblineprof-0.3.6.gem
GEMS_DISTFILES+=	rbtrace-0.4.14.gem
GEMS_DISTFILES+=	rdoc-6.1.2.gem
GEMS_DISTFILES+=	re2-1.2.0.gem
GEMS_DISTFILES+=	recaptcha-4.13.1.gem
GEMS_DISTFILES+=	redis-4.2.5.gem
GEMS_DISTFILES+=	redis-namespace-1.7.0.gem
GEMS_DISTFILES+=	redis-rails-5.0.2.gem
GEMS_DISTFILES+=	request_store-1.5.0.gem
GEMS_DISTFILES+=	responders-3.0.0.gem
GEMS_DISTFILES+=	retriable-3.1.2.gem
GEMS_DISTFILES+=	rouge-3.26.0.gem
GEMS_DISTFILES+=	rqrcode-rails3-0.1.7.gem
GEMS_DISTFILES+=	rspec-parameterized-0.4.2.gem
GEMS_DISTFILES+=	rspec-rails-4.0.2.gem
GEMS_DISTFILES+=	rspec-retry-0.6.1.gem
GEMS_DISTFILES+=	rspec_junit_formatter-0.4.1.gem
GEMS_DISTFILES+=	rspec_profiling-0.0.6.gem
GEMS_DISTFILES+=	ruby-fogbugz-0.2.1.gem
GEMS_DISTFILES+=	ruby-prof-1.3.0.gem
GEMS_DISTFILES+=	ruby-progressbar-1.11.0.gem
GEMS_DISTFILES+=	ruby_parser-3.15.0.gem
GEMS_DISTFILES+=	rubyzip-2.0.0.gem
GEMS_DISTFILES+=	rugged-1.0.1.gem
GEMS_DISTFILES+=	sanitize-5.2.1.gem
GEMS_DISTFILES+=	sassc-rails-2.1.0.gem
GEMS_DISTFILES+=	scss_lint-0.59.0.gem
GEMS_DISTFILES+=	seed-fu-2.3.7.gem
GEMS_DISTFILES+=	selenium-webdriver-3.142.7.gem
GEMS_DISTFILES+=	sentry-raven-3.0.4.gem
GEMS_DISTFILES+=	settingslogic-2.0.9.gem
GEMS_DISTFILES+=	shoulda-matchers-4.0.1.gem
GEMS_DISTFILES+=	sidekiq-5.2.7.gem
GEMS_DISTFILES+=	sidekiq-cron-1.0.4.gem
GEMS_DISTFILES+=	simple_po_parser-1.1.2.gem
GEMS_DISTFILES+=	simplecov-0.18.5.gem
GEMS_DISTFILES+=	simplecov-cobertura-1.3.1.gem
GEMS_DISTFILES+=	slack-messenger-2.3.4.gem
GEMS_DISTFILES+=	snowplow-tracker-0.6.1.gem
GEMS_DISTFILES+=	spring-2.1.0.gem
GEMS_DISTFILES+=	spring-commands-rspec-1.0.4.gem
GEMS_DISTFILES+=	sprockets-3.7.0.gem
GEMS_DISTFILES+=	sshkey-2.0.0.gem
GEMS_DISTFILES+=	stackprof-0.2.15.gem
GEMS_DISTFILES+=	state_machines-activerecord-0.8.0.gem
GEMS_DISTFILES+=	sys-filesystem-1.1.6.gem
GEMS_DISTFILES+=	terser-1.0.2.gem
GEMS_DISTFILES+=	test-prof-0.12.0.gem
GEMS_DISTFILES+=	thin-1.8.0.gem
GEMS_DISTFILES+=	timecop-0.9.1.gem
GEMS_DISTFILES+=	toml-rb-1.0.0.gem
GEMS_DISTFILES+=	truncato-0.7.11.gem
GEMS_DISTFILES+=	u2f-0.2.1.gem
GEMS_DISTFILES+=	unf-0.1.4.gem
GEMS_DISTFILES+=	unicorn-5.5.5.gem
GEMS_DISTFILES+=	unicorn-worker-killer-0.4.4.gem
GEMS_DISTFILES+=	unleash-0.1.5.gem
GEMS_DISTFILES+=	valid_email-0.1.3.gem
GEMS_DISTFILES+=	validates_hostname-1.0.11.gem
GEMS_DISTFILES+=	version_sorter-2.2.4.gem
GEMS_DISTFILES+=	vmstat-2.3.0.gem
GEMS_DISTFILES+=	webauthn-2.3.0.gem
GEMS_DISTFILES+=	webmock-3.9.1.gem
GEMS_DISTFILES+=	webrick-1.6.1.gem
GEMS_DISTFILES+=	wikicloth-0.8.1.gem
GEMS_DISTFILES+=	yajl-ruby-1.4.1.gem

RUBY_VERSIONS_ACCEPTED=	27 30

.for gem in ${GEMS_DISTFILES}
DISTFILES+=	${gem}
SITES.${gem}=	https://rubygems.org/downloads/
.endfor

GEM_HOME=	${GITLAB_DIR}/gems
PLIST_SUBST+=	GEM_HOME=${GEM_HOME}

DEPENDS+=	gitlab-assets-[0-9]*:../../wip/gitlab-assets

GEM_EXTSDIR_NEEDS_SUBDIR=	no

.include "../../lang/ruby/gem-extract.mk"

do-build:
.for gem in ${DISTFILES:M*.gem:S/.gem$//g}
	${RUN} cd ${WRKDIR}/${gem} && ${SETENV} ${MAKE_ENV} ${RUBYGEM_ENV} \
		${RUBYGEM_NAME} build ../${gem}.gemspec
	${RUN} ${TEST} -f ${WRKDIR}/${gem}/${gem}.gem || \
		${FAIL_MSG} "Build of ${gem}.gem failed."
.endfor

RUBYGEM_INSTALL_ROOT=		${WRKDIR}/.inst
RUBYGEM_INSTALL_ROOT_OPTION=	--install-root ${RUBYGEM_INSTALL_ROOT}
_RUBYGEM_OPTIONS=		--no-update-sources # don't cache the gem index
_RUBYGEM_OPTIONS+=		--install-dir ${PREFIX}/${GEM_HOME}
_RUBYGEM_OPTIONS+=		${RUBYGEM_INSTALL_ROOT_OPTION}
_RUBYGEM_OPTIONS+=		--ignore-dependencies
_RUBYGEM_OPTIONS+=		--no-document

do-install:
.for gem in ${DISTFILES:M*.gem:S/.gem$//g}
	@${STEP_MSG} "Installing gem into installation root"
	${RUN} ${SETENV} ${MAKE_ENV} ${RUBYGEM_ENV} ${INSTALL_ENV} \
		${RUBYGEM_NAME} install --backtrace ${RUBYGEM_OPTIONS} \
			${_RUBYGEM_OPTIONS} --local ${WRKDIR}/${gem}/${gem}.gem
	@${STEP_MSG} "gem install"

	${RUN} cd ${RUBYGEM_INSTALL_ROOT}${PREFIX} && \
		pax -rwpp . ${DESTDIR}${PREFIX}
.endfor

.include "../../lang/ruby/buildlink3.mk"
.include "../../security/gpgme/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
.include "../../wip/gitlab/Makefile.common"
.include "../../mk/pgsql.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
