#!/usr/bin/make -f

export LANG := C.UTF-8
export HOME := $(CURDIR)/debian/.home
export GEM_HOME := $(CURDIR)/debian/.gems
export BUNDLE_APP_CONFIG := $(CURDIR)/debian/.bundle
export OBS_RUBY := /usr/bin/ruby3.4

%:
	dh $@

override_dh_auto_build:
	:

override_dh_auto_test:
	:

override_dh_auto_clean:
	rm -rf $(CURDIR)/debian/.bundle $(CURDIR)/debian/.gems $(CURDIR)/debian/.home
	dh_auto_clean

override_dh_auto_install:
	install -d $(HOME) $(GEM_HOME) $(BUNDLE_APP_CONFIG)
	install -d $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api
	cd $(CURDIR)/src/api && \
		$(OBS_RUBY) -S bundle config set --local build.ffi --enable-system-libffi && \
		$(OBS_RUBY) -S bundle config set --local build.nokogiri --use-system-libraries && \
		$(OBS_RUBY) -S bundle config set --local build.sassc --disable-march-tune-native && \
		$(OBS_RUBY) -S bundle config set --local build.nio4r "--with-cflags=$(CFLAGS) -Wno-return-type" && \
		$(OBS_RUBY) -S bundle config set --local force_ruby_platform true && \
		$(OBS_RUBY) -S bundle config set --local shebang $(OBS_RUBY) && \
		$(OBS_RUBY) -S bundle config set --local path $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api && \
		$(OBS_RUBY) -S bundle install --local
	chmod 755 $(CURDIR)/dist/gem_build_cleanup.sh
	cd $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api && $(CURDIR)/dist/gem_build_cleanup.sh .
	rm -rf $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/gems/diff-lcs-*/bin || true
	find $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api -regextype posix-extended \
		-regex '.*/gems/[^/]+/(spec|test)' -type d -prune -exec rm -rf {} + || true
	find $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api -path '*/gems/selenium-webdriver-*/lib/selenium/webdriver/firefox/native' -prune -exec rm -rf {} + || true
	find $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api -name .gitignore -delete
	find $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api -name .cvsignore -delete
	set -e; \
	for bin in \
		$(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/bin/* \
		$(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/gems/*/bin/* \
		$(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/gems/*/bin/linux/*; do \
		[ -f "$$bin" ] || continue; \
		sed -i -e '1!b;s,^#!.*/bin/ruby.*$$,#!/usr/bin/ruby3.4,' "$$bin"; \
		sed -i -e '1!b;s,^#!.*/bin/env ruby.*$$,#!/usr/bin/ruby3.4,' "$$bin"; \
	done
	set -e; \
	for so in $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/extensions/*/*/mysql2-*/mysql2/mysql2.so \
		$(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/gems/mysql2-*/lib/mysql2/mysql2.so; do \
		[ -f "$$so" ] || continue; \
		chrpath -d "$$so" || true; \
	done
	find $(CURDIR)/debian/obs-bundled-gems/usr/lib/obs-api/ruby/*/specifications -maxdepth 1 -type f -name '*.gemspec' -exec chmod 0644 {} + || true
