Source: libprelude
Version: 5.2.0-3
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: cross-satisfiability
User: helm...@debian.org
Usertags: rebootstrap

libprelude cannot currently satisfy its cross Build-Depends in any
combination of build profiles. The primary cause is its g++ dependency.
It was needed two stable releases ago, but no longer is and can be
dropped. Beyond this, the python Build-Depends need to be multiarchified
to become satisfiable. For cross building a perl extension module, we're
now supposed to build depend on perl-xs-dev. The attached patch also
enables the python3 debhelper addon declaratively to simplify matters.
Please consider applying it.

Some issues are remaining. It doesn't enable the ruby addon
declaratively, because gem2deb does not yet provide dh-sequence-ruby.
I've filed a separate bug about that. Also cross compiling any of the
perl, python or ruby bindings still fails. For perl and python, a build
architecture compiler invocation sneaks into the build and the ruby
build seems to be silently skipped for some reasons. I've not solved any
of these and don't consider them part of this bug report. In theory, it
should be sufficient for perl to export a suitable PERL5LIB containing
the cross Config.pm, but that didn't seem to have any effect in
practice. Possibly, separating the extension builds could help here such
that we don't have to fiddle the settings through autotools but can
instead run dh_auto_* for each binding separately? It sounds a little
invasive though.

In any case, after this patch one can cross build libprelude given
profiles cross,nocheck,noperl,noython,noruby and that's what's needed
for architecture bootstrap.

Helmut
diff --minimal -Nru libprelude-5.2.0/debian/changelog 
libprelude-5.2.0/debian/changelog
--- libprelude-5.2.0/debian/changelog   2020-11-26 19:53:39.000000000 +0100
+++ libprelude-5.2.0/debian/changelog   2021-07-14 06:22:17.000000000 +0200
@@ -1,3 +1,14 @@
+libprelude (5.2.0-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Improve cross satisfiability. (Closes: #-1)
+    + Drop unnecessary versioned g++ dependency.
+    + Build-Depends: perl-xs-dev as we are building an extension.
+    + Multiarchify python Build-Depends.
+  * Declaratively depend on the python3 addon.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Wed, 14 Jul 2021 06:22:17 +0200
+
 libprelude (5.2.0-3) unstable; urgency=medium
 
   * d.patches: Add new patch
diff --minimal -Nru libprelude-5.2.0/debian/control 
libprelude-5.2.0/debian/control
--- libprelude-5.2.0/debian/control     2020-11-26 19:53:39.000000000 +0100
+++ libprelude-5.2.0/debian/control     2021-07-14 06:22:17.000000000 +0200
@@ -5,8 +5,7 @@
 Uploaders: Thomas Andrejak <thomas.andre...@gmail.com>
 Rules-Requires-Root: no
 Build-Depends: debhelper-compat (= 13),
-    dh-python <!nopython>,
-    g++ (>= 4:7),
+    dh-sequence-python3 <!nopython>,
     gawk,
     gem2deb <!noruby>,
     libgcrypt20-dev,
@@ -15,8 +14,9 @@
     pkg-config,
     liblua5.1-dev <!nolua>,
     lua5.1 <!nolua>,
-    libperl-dev <!noperl>,
-    python3-all-dev <!nopython>,
+    perl-xs-dev <!noperl>,
+    libpython3-all-dev <!nopython>,
+    python3-all-dev:any <!nopython>,
     ruby-all-dev <!noruby>,
     swig <!nopython> <!noperl> <!noruby> <!nolua>,
 Build-Depends-Indep: gtk-doc-tools, libglib2.0-dev
diff --minimal -Nru libprelude-5.2.0/debian/rules libprelude-5.2.0/debian/rules
--- libprelude-5.2.0/debian/rules       2020-11-15 17:46:34.000000000 +0100
+++ libprelude-5.2.0/debian/rules       2021-07-14 06:22:17.000000000 +0200
@@ -4,7 +4,6 @@
 CONFIGURE_FLAGS = --without-python2 --enable-easy-bindings
 
 ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
-       DH_ADDONS += --with python3
        CONFIGURE_FLAGS += --with-python3=yes
        PY3VERS=$(shell py3versions -vr)
 else

Reply via email to