#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=-all
export CFLAGS =
export CXXFLAGS =
export LDFLAGS =

COMPILER_FAMILY := gnu15
MPI_FAMILY      := openmpi5
PNAME           := scipy
VERSION         := 1.14.1
INSTALL_PATH    := /opt/ohpc/pub/libs/$(COMPILER_FAMILY)/$(MPI_FAMILY)/$(PNAME)/$(VERSION)
DEB_HOST_ARCH   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
PIP_FIND_LINKS  := --no-index --find-links=../SOURCES/pip-wheels
ifeq ($(DEB_HOST_ARCH),ppc64el)
PIP_FIND_LINKS  :=
endif
SRCDIR          := $(CURDIR)/$(PNAME)-$(VERSION)
PKG             := $(CURDIR)/debian/python3-$(PNAME)-$(COMPILER_FAMILY)-$(MPI_FAMILY)-ohpc
ENV             := OHPC_MODULES="openblas fftw numpy" bash /build/devel/build-mpi.sh

%:
	dh $@

override_dh_auto_configure:
	test -s SOURCES/$(PNAME)-$(VERSION).tar.gz || \
		wget -q -O SOURCES/$(PNAME)-$(VERSION).tar.gz \
			https://github.com/scipy/scipy/releases/download/v$(VERSION)/scipy-$(VERSION).tar.gz
	rm -rf $(SRCDIR)
	tar xf SOURCES/$(PNAME)-$(VERSION).tar.gz

override_dh_auto_build:
	cd $(SRCDIR) && $(ENV) sh -c ' \
		export PKG_CONFIG_PATH="$${OPENBLAS_LIB}/pkgconfig:$${PKG_CONFIG_PATH}" && \
		export PYTHONPATH="$${NUMPY_DIR}/local/lib/python3.12/dist-packages:$${PYTHONPATH}" && \
		export PATH="$${NUMPY_DIR}/local/bin:$${HOME}/.local/bin:$${PATH}" && \
		export FFLAGS="-fPIC -fno-strict-aliasing" && \
		export FCFLAGS="-fPIC -fno-strict-aliasing" && \
		pip3 install --break-system-packages $(PIP_FIND_LINKS) meson-python meson cython ninja pybind11 pythran && \
		python3 -m pip wheel --no-build-isolation --no-deps --wheel-dir=dist .'

override_dh_auto_install:
	cd $(SRCDIR) && $(ENV) sh -c ' \
		export PYTHONPATH="$${NUMPY_DIR}/local/lib/python3.12/dist-packages:$${PYTHONPATH}" && \
		export PKG_CONFIG_PATH="$${OPENBLAS_LIB}/pkgconfig:$${PKG_CONFIG_PATH}" && \
		pip3 install --break-system-packages --no-deps --prefix=$(INSTALL_PATH) --root=$(PKG) dist/*.whl'
	# Install modulefile
	mkdir -p $(PKG)/opt/ohpc/pub/moduledeps/$(COMPILER_FAMILY)-$(MPI_FAMILY)/$(PNAME)
	install -m 644 debian/modulefile $(PKG)/opt/ohpc/pub/moduledeps/$(COMPILER_FAMILY)-$(MPI_FAMILY)/$(PNAME)/$(VERSION)

override_dh_missing:
	dh_missing --list-missing

override_dh_auto_clean:
	rm -rf $(SRCDIR)

override_dh_usrlocal:

override_dh_shlibdeps:
	dh_shlibdeps -- --ignore-missing-info || true

override_dh_strip:
	dh_strip --no-automatic-dbgsym || true

override_dh_auto_test:
