Bug#1040748: ftbfs in pycairo with meson 1.2.0 rc2

2023-08-05 Thread Aurelien Jarno
Hi,

On 2023-07-10 10:09, Simon McVittie wrote:
> On Sun, 09 Jul 2023 at 23:00:01 -0400, Eli Schwartz wrote:
> > The underlying cause is an additional feature
> > of meson:
> > 
> > https://mesonbuild.com/Release-notes-for-1-2-0.html#python-module-can-now-compile-bytecode
> > 
> > If this file is not desired in the debian package, please specify your
> > preferred value for this meson setting. For example, to avoid compiling
> > bytecode as part of `meson install`, you could setup the build system
> > with the `-Dpython.bytecompile=-1` option.
> 
> I think we probably want debhelper's meson build system backend
> (/usr/share/perl5/Debian/Debhelper/Buildsystem/meson.pm) to do this
> globally for all Meson-built packages, the same way it already handles
> cross-compilation, --prefix, --sysconfdir and so on, instead of having to
> do it per-package.

I understand the need to fix the issue globally on the debhelper or
meson side, and I have seen the bug #1042398. From my understanding we
won't have a solution soon, and in the meantime pycairo is not
buildable. This affects the riscv64 bootstrap, many packages are blocked
behind this.

Therefore I wonder if it should be possible to temporarily address the
issue directly in pycairo by passing -Dpython.bytecompile=-1 at the
configure step. I can offer to do a NMU if it can spare you some work.

Regards
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://aurel32.net



Bug#1040748: ftbfs in pycairo with meson 1.2.0 rc2

2023-07-10 Thread Eli Schwartz
On 7/10/23 5:09 AM, Simon McVittie wrote:
> Is there a way for debhelper to set this option without breaking the
> build of packages that contain no Python?


It should be fine to always pass this option on meson 1.2.0+, since the
option will exist even if it is never read.

-- 
Eli Schwartz



Bug#1040748: ftbfs in pycairo with meson 1.2.0 rc2

2023-07-10 Thread Simon McVittie
On Sun, 09 Jul 2023 at 23:00:01 -0400, Eli Schwartz wrote:
> The underlying cause is an additional feature
> of meson:
> 
> https://mesonbuild.com/Release-notes-for-1-2-0.html#python-module-can-now-compile-bytecode
> 
> If this file is not desired in the debian package, please specify your
> preferred value for this meson setting. For example, to avoid compiling
> bytecode as part of `meson install`, you could setup the build system
> with the `-Dpython.bytecompile=-1` option.

I think we probably want debhelper's meson build system backend
(/usr/share/perl5/Debian/Debhelper/Buildsystem/meson.pm) to do this
globally for all Meson-built packages, the same way it already handles
cross-compilation, --prefix, --sysconfdir and so on, instead of having to
do it per-package.

Is there a way for debhelper to set this option without breaking the
build of packages that contain no Python?

smcv



Bug#1040748: ftbfs in pycairo with meson 1.2.0 rc2

2023-07-09 Thread Eli Schwartz
Source: pycairo
Version: 1.24.0-1
Severity: important
Tags: ftbfs
X-Debbugs-CC: hel...@subdivi.de


During an archive rebuild against the release candidate for meson in
experimental, pycairo failed to build from source with the following log
excerpt:


```
   dh_auto_install -O--buildsystem=meson
cd obj-x86_64-linux-gnu && DESTDIR=/<>/debian/tmp
LC_ALL=C.UTF-8 ninja install
[0/1] Installing files.
Compiling
'/<>/debian/tmp/usr/lib/python3/dist-packages/cairo/__init__.py'...
[...]
Running custom install script '/usr/bin/python3
/<>/obj-x86_64-linux-gnu/meson-private/pycompile.py
python-3.11-installed.json 0'
[...]
   dh_missing -O--buildsystem=meson
dh_missing: warning:
usr/lib/python3/dist-packages/cairo/__pycache__/__init__.cpython-311.pyc
exists in debian/tmp but is not installed to anywhere
dh_missing: error: missing files, aborting
[...]
make: *** [debian/rules:6: binary] Error 25
```


This fails with the release candidate, but does not fail against the
stable release of meson. The underlying cause is an additional feature
of meson:

https://mesonbuild.com/Release-notes-for-1-2-0.html#python-module-can-now-compile-bytecode

If this file is not desired in the debian package, please specify your
preferred value for this meson setting. For example, to avoid compiling
bytecode as part of `meson install`, you could setup the build system
with the `-Dpython.bytecompile=-1` option.


-- 
Eli Schwartz