Bug#1041692: python3-mesonpy: could the build be verbose by default
Hi Simon (2023.10.14_10:54:21_+) > > Another way to achieve this in packages like python-fabio and pyfai > > would be to bypass pyproject and meson-python to run Meson directly, > > either manually per-package via "export PYBUILD_SYSTEM=meson", or maybe > > automatically in pybuild when build-backend = 'mesonpy' is found (but > > perhaps that would be too much magic). > > Also an option. Means duplicating less of debhelper in dh-python. > > Yeah, having the pyproject backend do non-pyproject builds would be a > bit unexpected, I agree. Not sure I'd want to go there. Thinking about that more, does mesonpy ever do anything else beyond building with meson? Just scoring the meson pybuild backend above the pyproject backend should be sufficient, then. That's how things stand right now. Stefano -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Bug#1041692: python3-mesonpy: could the build be verbose by default
Hi Simon (2023.09.15_11:10:20_+0200) > I think this might be more appropriate to be done in pybuild than in > meson-python. meson-python has its upstream behaviour (detailed output > only when requested) similar to Meson, but if I patched the meson-python > source package to make verbose output the default, that would affect > *all* builds done on Debian - not just Debian packages, but also users' > local builds. Of course this could be done in a way that detects a Debian build environment via environment variables, but... not pretty. > dh-python maintainers: would it make sense for pybuild to detect > "[build-system] build-backend = 'mesonpy'" in pyproject.toml, and if found, > make it behave more like what happens in non-Python Meson packages? > (configure with --wrap-mode=nodownload --buildtype=plain etc., > build with --verbose, and so on) That probably makes sense, yes. I expect dh-python to end up with some quirks for driving various build backends. We already set environment variables for flit, for example. Not knowing much about meson, I could use help verifying that we're getting this stuff right: How does this look? https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/48 > Another way to achieve this in packages like python-fabio and pyfai > would be to bypass pyproject and meson-python to run Meson directly, > either manually per-package via "export PYBUILD_SYSTEM=meson", or maybe > automatically in pybuild when build-backend = 'mesonpy' is found (but > perhaps that would be too much magic). Also an option. Means duplicating less of debhelper in dh-python. Yeah, having the pyproject backend do non-pyproject builds would be a bit unexpected, I agree. Not sure I'd want to go there. Stefano -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Bug#1041692: python3-mesonpy: could the build be verbose by default
Control: reassign -1 python3-mesonpy,src:dh-python On Sat, 22 Jul 2023 at 10:33:11 +0200, Picca Frédéric-Emmanuel wrote: > I am packaging python-fabio and pyfai whcih use this new build system for > python extensions. > > Now blhc complain that the compilation is not verbose. > So I need to add something like this to abtain a verbose output. > > override_dh_auto_build: > PYBUILD_BUILD_ARGS="-Ccompile-args=--verbose" dh_auto_build > > It seems to me that it will be a lot eaysier to have a default verbose output > instead of modifying each package which use this build system. I think this might be more appropriate to be done in pybuild than in meson-python. meson-python has its upstream behaviour (detailed output only when requested) similar to Meson, but if I patched the meson-python source package to make verbose output the default, that would affect *all* builds done on Debian - not just Debian packages, but also users' local builds. That would be conceptually similar to patching the upstream parts of Meson or CMake or any other build system to be verbose by default, which we also don't do. dh-python maintainers: would it make sense for pybuild to detect "[build-system] build-backend = 'mesonpy'" in pyproject.toml, and if found, make it behave more like what happens in non-Python Meson packages? (configure with --wrap-mode=nodownload --buildtype=plain etc., build with --verbose, and so on) Another way to achieve this in packages like python-fabio and pyfai would be to bypass pyproject and meson-python to run Meson directly, either manually per-package via "export PYBUILD_SYSTEM=meson", or maybe automatically in pybuild when build-backend = 'mesonpy' is found (but perhaps that would be too much magic). smcv
Bug#1041692: python3-mesonpy: could the build be verbose by default
Package: python3-mesonpy Version: 0.12.0-2 Severity: normal X-Debbugs-Cc: pi...@debian.org Dear Maintainer, I am packaging python-fabio and pyfai whcih use this new build system for python extensions. Now blhc complain that the compilation is not verbose. So I need to add something like this to abtain a verbose output. override_dh_auto_build: PYBUILD_BUILD_ARGS="-Ccompile-args=--verbose" dh_auto_build It seems to me that it will be a lot eaysier to have a default verbose output instead of modifying each package which use this build system. thanks for considering Frederic -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 6.3.0-1-amd64 (SMP w/4 CPU threads; PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages python3-mesonpy depends on: ii libjs-sphinxdoc 5.3.0-4 ii meson 1.2.0-1 ii ninja-build 1.11.1-1 ii python3 3.11.4-5 ii python3-pyproject-metadata 0.6.1-3 ii python3-tomli 2.0.1-2 ii python3-typing-extensions 4.4.0-1 Versions of packages python3-mesonpy recommends: ii patchelf 0.14.3-1+b1 python3-mesonpy suggests no packages. -- no debconf information