#!/usr/bin/make -f

# No se compila nada: cada paquete lleva el binario que upstream publica para
# esa versión de PHP. El directorio de extensión es fijo por versión (es el
# número de API de Zend), así que no depende de la release de Ubuntu — el mismo
# .deb sirve con el PHP de la distro y con el de ppa:ondrej/php.
#
# Los .zip de upstream llegan a la raíz del árbol: debtransform los mete en el
# paquete fuente vía DEBTRANSFORM-FILES, que en formato quilt los agrega sin
# tocarlos.

PHP_VERSIONS := 8.4 8.5
GNU_CPU      := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)


%:
	dh $@

override_dh_auto_configure:

override_dh_auto_build:
	set -e; for v in $(PHP_VERSIONS); do \
	    zip=typst-php$$(echo $$v | tr -d .)-$(GNU_CPU).zip; \
	    test -f $$zip || { \
	        echo "upstream no publica un binario para PHP $$v en $(GNU_CPU)"; \
	        exit 1; }; \
	    unzip -q -o $$zip; \
	    test -f php_typst-*_php$$v-$(GNU_CPU)-linux-glibc/typst.so; \
	done

override_dh_auto_test:

override_dh_auto_install:
	set -e; for v in $(PHP_VERSIONS); do \
	    mod=$$(echo php_typst-*_php$$v-$(GNU_CPU)-linux-glibc); \
	    case $$v in \
	      8.4) extdir=/usr/lib/php/20240924 ;; \
	      8.5) extdir=/usr/lib/php/20250925 ;; \
	    esac; \
	    install -D -m 0644 $$mod/typst.so debian/php$$v-typst$$extdir/typst.so; \
	    install -D -m 0644 debian/typst.ini \
	        debian/php$$v-typst/etc/php/$$v/mods-available/typst.ini; \
	done

override_dh_auto_clean:
	rm -rf php_typst-*-linux-glibc

# Binario ya stripped por upstream.
override_dh_strip:
override_dh_dwz:

# Un módulo de PHP resuelve los símbolos de Zend contra el binario de php.
override_dh_shlibdeps:
	dh_shlibdeps -- --ignore-missing-info
