Bug#1108103: lammps: improve build-depends for cross building
Helmut Grohne
helmut at subdivi.de
Fri Jun 20 08:24:12 BST 2025
Source: lammps
Version: 20250204+dfsg.1-2
Tags: patch
User: debian-cross at lists.debian.org
Usertags: cross-satisfiability
lammps cannot be cross built for several reasons relating to its
Build-Depends. I looked into it and propose a patch solving some of
them:
* gfortran requests a host architecture compiler executable. If it were
installable, it could not be run. For cross building, we need to add
a -for-host suffix, but it comes with a catch. The compiler must now
be prefixed with the host architecture even for native builds. To
that end, dpkg's buildtools.mk may export suitable variables.
* sphinx notoriously poses issues to cross satisfiability. Fortunately,
most of the pieces already reside in B-D-I, so I propose to move the
remainders there as well.
* python3-all-dev needs to be split into two dependencies for cross
building.
* libvtk9-dev transitively depends on a host Python interpreter. I
don't have a solution for this and it is a larger problem to be
solved elsewhere.
Please consider applying the attached patch that solves the first three
issues in the forky cycle and close this bug when doing so.
Helmut
-------------- next part --------------
diff --minimal -Nru lammps-20250204+dfsg.1/debian/changelog lammps-20250204+dfsg.1/debian/changelog
--- lammps-20250204+dfsg.1/debian/changelog 2025-03-03 06:03:37.000000000 +0100
+++ lammps-20250204+dfsg.1/debian/changelog 2025-06-20 08:08:10.000000000 +0200
@@ -1,3 +1,14 @@
+lammps (20250204+dfsg.1-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Improve cross build satisfiability. (Closes: #-1)
+ + Annotate gfortran dependency with -for-host and let dpkg's
+ buildtools.mk supply the prefixed fortran compiler.
+ + Move all sphinx dependencies to B-D-I.
+ + Multiarchify python B-D.
+
+ -- Helmut Grohne <helmut at subdivi.de> Fri, 20 Jun 2025 08:08:10 +0200
+
lammps (20250204+dfsg.1-2) unstable; urgency=medium
* [a7ad696] Move ipython dep to common section
diff --minimal -Nru lammps-20250204+dfsg.1/debian/control lammps-20250204+dfsg.1/debian/control
--- lammps-20250204+dfsg.1/debian/control 2025-03-03 06:03:21.000000000 +0100
+++ lammps-20250204+dfsg.1/debian/control 2025-06-20 08:08:10.000000000 +0200
@@ -9,7 +9,7 @@
dh-python,
pybuild-plugin-pyproject,
python3-setuptools,
- gfortran | fortran-compiler,
+ gfortran-for-host | fortran-compiler,
libavcodec-dev,
libeigen3-dev,
libfftw3-dev,
@@ -24,11 +24,12 @@
mpi-default-bin,
mpi-default-dev,
ocl-icd-opencl-dev | opencl-dev,
- python3-all-dev,
+ python3-all-dev:native,
+ libpython3-all-dev,
python3-ipython,
- python3-sphinx,
voro++-dev
-Build-Depends-Indep: libjs-sphinxdoc,
+Build-Depends-Indep: dh-sequence-sphinxdoc,
+ libjs-sphinxdoc,
libjs-jquery,
libjs-mathjax,
libjs-underscore,
@@ -40,6 +41,7 @@
sphinx-rtd-theme-common,
latexmk,
htmldoc,
+ python3-sphinx,
python3-sphinx-tabs,
python3-sphinxcontrib.jquery,
python3-sphinxcontrib.spelling,
diff --minimal -Nru lammps-20250204+dfsg.1/debian/rules lammps-20250204+dfsg.1/debian/rules
--- lammps-20250204+dfsg.1/debian/rules 2025-03-02 22:48:50.000000000 +0100
+++ lammps-20250204+dfsg.1/debian/rules 2025-06-20 08:08:10.000000000 +0200
@@ -1,7 +1,9 @@
#!/usr/bin/make -f
BUILDDIR = $(CURDIR)/debian/build
-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+include /usr/share/dpkg/architecture.mk
+DPKG_EXPORT_BUILDTOOLS := 1
+include /usr/share/dpkg/buildtools.mk
PY3VER_DEFAULT := $(shell py3versions -dv)
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
@@ -11,7 +13,7 @@
disable_auto_test_archs_simpl = mips64el
%:
- dh $@ --with python3,sphinxdoc --sourcedirectory=cmake --builddirectory=$(BUILDDIR)
+ dh $@ --with python3 --sourcedirectory=cmake --builddirectory=$(BUILDDIR)
override_dh_auto_configure:
dh_auto_configure -- \
More information about the debian-science-maintainers
mailing list