[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Status of cross-building Python extension modules



Hi Helmut.


> Can I also ask you to get more specific? Please point to changes
> performed in the archive or X-Debbugs-Cc your cross build patches to
> this list. It is much easier to talk about concrete cases.

I didn't want to ask you to actually spend the time to solve my problem,
but if it's helpful, I'll talk specifics. I'm looking at two packages.
I'm the maintainer of both. Both are currently in NEW. The
cross-building work isn't in the uploaded packages, but it's in git.

== pyfltk ==

Grab it with

  debcheckout git@salsa.debian.org:python-team/packages/pyfltk.git

This is the package that builds arch:all documentation from arch:any
build products. You said

> It's a common issue. The most frequent advice is to split your
> documentation to an arch:all package. As it happens, that's already the
> case for your particular package. Now the only thing you have to do is
> skipping the documentation generator in an arch-only build.

Will that work, though? Modifying the sources in the way I think you
suggest would look like this:

  # Make the docs after the install because I know where stuff is then
  override_dh_auto_install-arch:
          dh_auto_install

  override_dh_auto_install-indep:
          mkdir -p debian/python3-fltk-doc/usr/share/doc/python3-fltk
          cd debian/python3-fltk/usr/lib/python3*/dist-packages/fltk && \
            pydoc3 -w ./ && \
            mv fltk.html _fltk.html \
               ../../../../../../python3-fltk-doc/usr/share/doc/python3-fltk

          # remove links to absolute build-time paths
          perl -p -i -e 's{(<a href="file:).*?(/usr/.*?">).*?(/usr/)}{$$1$$2$$3}' \
            debian/python3-fltk-doc/usr/share/doc/python3-fltk/fltk.html \
            debian/python3-fltk-doc/usr/share/doc/python3-fltk/_fltk.html

The biggest issue here is that the override_dh_auto_install-indep rule
needs the the override_dh_auto_install-arch products. So Make needs to
have some extra dependency. And when cross-building we need to make sure
somehow that only arch:any products are being built. Suggestions?


== mrcal ==

Grab it with

  debcheckout git@salsa.debian.org:science-team/mrcal.git

This package has a number of Build-Depends that are only needed for
testing. If testing is only happening when we can run the host Python
without emulation, I'd like the build to not require these dependencies.
You said to do this with build profiles, and I haven't yet looked at
what that would entail, exactly. All the "python-..." Build-Depends are
for testing. The only one needed for building is libpython3-all-dev.

Thanks!


Reply to: