Bug#1041692: python3-mesonpy: could the build be verbose by default

2023-10-14 Thread stefanor
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

2023-10-14 Thread Stefano Rivera
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

2023-09-15 Thread Simon McVittie
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

2023-07-22 Thread Picca Frédéric-Emmanuel
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