Source: pycairo Version: 1.26.1-2 Tags: patch User: debian-cr...@lists.debian.org Usertags: cross-satisfiability ftcbfs
pycairo cannot be cross built for multiple reason. The immediate failure is installing the sphinx dependencies. Fortunately, the documentation already is separated into an Arch:all -doc package, so all we have to do is move the relevant dependencies to B-D-I to make them irrelevant for cross building. That happens to include the sphinxdoc debhelper addon, so I suggest enabling addons via Build-Depends. Then, the host architecture Python interpreter cannot be installed. Typically, what is needed for cross building is libpython3-all-dev plus python3-all-dev:native. Once these changes are applied, it actually starts building, but the emitted extension uses a build architecture filename. This is due to using defaulting to the build architecture sysconfig. If it were being built using pybuild, debhelper would handle this, but for meson there usually is no need to set this. Hence, we get to do this manually. I'm attaching a patch handling all of the aforementioned issues for your convenience. Helmut
diff --minimal -Nru pycairo-1.26.1/debian/changelog pycairo-1.26.1/debian/changelog --- pycairo-1.26.1/debian/changelog 2024-09-05 17:33:13.000000000 +0200 +++ pycairo-1.26.1/debian/changelog 2024-11-10 17:53:42.000000000 +0100 @@ -1,3 +1,14 @@ +pycairo (1.26.1-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Declaratively use debhelper addons. + + Demote sphinx dependencies to B-D-I. + + Multiarchify python3 build dependency. + + Export _PYTHON_SYSCONFIGDATA_NAME through meson. + + -- Helmut Grohne <hel...@subdivi.de> Sun, 10 Nov 2024 17:53:42 +0100 + pycairo (1.26.1-2) unstable; urgency=medium * Build with cairo 1.18.2 (LP: #2078971) diff --minimal -Nru pycairo-1.26.1/debian/control pycairo-1.26.1/debian/control --- pycairo-1.26.1/debian/control 2024-09-05 17:33:13.000000000 +0200 +++ pycairo-1.26.1/debian/control 2024-11-10 17:53:42.000000000 +0100 @@ -5,14 +5,15 @@ Uploaders: Torsten Marek <shlo...@debian.org> Build-Depends: debhelper-compat (= 13), dh-exec, - dh-python, + dh-sequence-python3, libcairo2-dev (>= 1.18.2), + libpython3-all-dev, meson, - python3-all-dev, + python3-all-dev:native, python3-pytest <!nocheck>, - python3-sphinx, - python3-sphinx-rtd-theme, - sphinx-common +Build-Depends-Indep: dh-sequence-sphinxdoc, + python3-sphinx, + python3-sphinx-rtd-theme, Standards-Version: 4.6.2 Homepage: https://cairographics.org/pycairo/ Vcs-Git: https://salsa.debian.org/python-team/packages/pycairo.git diff --minimal -Nru pycairo-1.26.1/debian/rules pycairo-1.26.1/debian/rules --- pycairo-1.26.1/debian/rules 2024-09-05 17:33:13.000000000 +0200 +++ pycairo-1.26.1/debian/rules 2024-11-10 17:53:42.000000000 +0100 @@ -2,8 +2,14 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all +include /usr/share/dpkg/architecture.mk + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) +export _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__$(DEB_HOST_ARCH_OS)_$(DEB_HOST_MULTIARCH) +endif + %: - dh $@ --with python3,sphinxdoc --buildsystem=meson + dh $@ --buildsystem=meson # Build for all supported python3 versions. # for details, see https://bugs.debian.org/1055488