Source: lammps
Version: 20250204+dfsg.1-2
Tags: patch
User: [email protected]
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
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 <[email protected]>  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 -- \
-- 
debian-science-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to