#!/usr/bin/make -f

# Use project's .cargo/config.toml

%:
	dh $@

override_dh_auto_configure:
	# Native format: source is extracted directly in build directory
	# Check for Cargo.toml to verify we have the source
	if [ ! -f "Cargo.toml" ]; then \
		echo "Error: Cargo.toml not found - source not properly extracted!"; \
		ls -la; \
		exit 1; \
	fi
	# Ensure .cargo/config.toml exists for vendored dependencies
	if [ ! -f ".cargo/config.toml" ]; then \
		echo "Creating .cargo/config.toml for vendored sources"; \
		mkdir -p .cargo; \
		echo '[source.crates-io]' > .cargo/config.toml; \
		echo 'replace-with = "vendored-sources"' >> .cargo/config.toml; \
		echo '' >> .cargo/config.toml; \
		echo '[source.vendored-sources]' >> .cargo/config.toml; \
		echo 'directory = "vendor"' >> .cargo/config.toml; \
	fi

override_dh_auto_build:
	# Fix vendor checksums for offline build
	for checksum in vendor/*/.cargo-checksum.json; do \
		if [ -f "$$checksum" ]; then \
			pkg=$$(cat "$$checksum" | grep -o '"package":"[^"]*"' | cut -d'"' -f4); \
			echo "{\"files\":{},\"package\":\"$$pkg\"}" > "$$checksum"; \
		fi; \
	done
	cargo build --offline --release

override_dh_auto_install:
	install -Dm755 target/release/xwayland-satellite \
		$(CURDIR)/debian/xwayland-satellite-git/usr/bin/xwayland-satellite

override_dh_auto_clean:
	# Don't remove .cargo - it contains config.toml needed for vendor
	cargo clean 2>/dev/null || true
	dh_auto_clean
