#!/usr/bin/make -f

PKG_DIR  = $(CURDIR)/debian/vesperos-taskbar
EXT_DIR  = $(PKG_DIR)/usr/share/gnome-shell/extensions/vesperos-taskbar@oxmc.me

%:
	dh $@

override_dh_auto_build:
	# Compile vesperos-taskbar gschema + locale files
	$(MAKE)
	# Compile DING GResource bundle (output goes into ding/app/ for install)
	glib-compile-resources \
		--sourcedir=$(CURDIR)/ding/data \
		--target=$(CURDIR)/ding/app/com.desktop.ding.data.gresource \
		$(CURDIR)/ding/data/com.desktop.ding.data.gresource.xml
	# Compile DING .po locale files to .mo
	for po in $(CURDIR)/ding/po/*.po; do \
		lang=$$(basename $$po .po); \
		mkdir -p $(CURDIR)/ding/po/mo/$$lang/LC_MESSAGES; \
		msgfmt -o $(CURDIR)/ding/po/mo/$$lang/LC_MESSAGES/gtk4-ding.mo $$po; \
	done
	# Process AppArmor profile template
	sed 's|@PREFIX@|/usr|g' $(CURDIR)/ding/apparmor/gtk4-desktop-icons.in \
		> $(CURDIR)/ding/apparmor/gtk4-desktop-icons

override_dh_install:
	dh_install
	rm -f $(EXT_DIR)/COPYING
	rm -f $(EXT_DIR)/README.md
	# --- DING shell-side JS (in ding/ subdir so relative imports resolve) ---
	mkdir -p $(EXT_DIR)/ding
	install -m 644 $(CURDIR)/ding/dingManager.js          $(EXT_DIR)/ding/
	install -m 644 $(CURDIR)/ding/gnomeShellOverride.js    $(EXT_DIR)/ding/
	install -m 644 $(CURDIR)/ding/emulateX11WindowType.js  $(EXT_DIR)/ding/
	install -m 644 $(CURDIR)/ding/visibleArea.js           $(EXT_DIR)/ding/
	cp -r $(CURDIR)/ding/utils        $(EXT_DIR)/ding/
	cp -r $(CURDIR)/ding/dependencies $(EXT_DIR)/ding/
	# --- DING GTK4 subprocess app/ (inside ding/ so all relative imports resolve) ---
	cp -r $(CURDIR)/ding/app $(EXT_DIR)/ding/
	chmod -R a+rX $(EXT_DIR)/ding/app
	chmod +x $(EXT_DIR)/ding/app/adw-ding.js
	# --- DING desktop entry ---
	mkdir -p $(PKG_DIR)/usr/share/applications
	install -m 644 $(CURDIR)/ding/data/com.desktop.ding.desktop \
		$(PKG_DIR)/usr/share/applications/
	# --- DING AppArmor profile ---
	mkdir -p $(PKG_DIR)/etc/apparmor.d
	install -m 644 $(CURDIR)/ding/apparmor/gtk4-desktop-icons \
		$(PKG_DIR)/etc/apparmor.d/
	# --- DING app icon ---
	mkdir -p $(PKG_DIR)/usr/share/icons/hicolor/scalable/apps
	install -m 644 $(CURDIR)/ding/data/icons/com.desktop.ding.svg \
		$(PKG_DIR)/usr/share/icons/hicolor/scalable/apps/
	# --- DING compiled locales ---
	for lang_dir in $(CURDIR)/ding/po/mo/*/; do \
		lang=$$(basename $$lang_dir); \
		install -d $(PKG_DIR)/usr/share/locale/$$lang/LC_MESSAGES; \
		install -m 644 $$lang_dir/LC_MESSAGES/gtk4-ding.mo \
			$(PKG_DIR)/usr/share/locale/$$lang/LC_MESSAGES/; \
	done
	# --- Start Menu themes ---
	cp -r $(CURDIR)/src/themes $(EXT_DIR)/themes

override_dh_fixperms:
	dh_fixperms
	chmod +x $(EXT_DIR)/ding/app/adw-ding.js
