Skip to content

Building Python 2 packages with Meson might fail #167216

@jtojnar

Description

@jtojnar

Currently, python2.pkgs.pycairo, which is transitively depended on by GIMP, is failing on staging-next due to Meson crashing in configure step:

Traceback (most recent call last):
  File "/nix/store/xp66zc4w184hwipy6zljah1mzk7dprqg-meson-0.61.2/bin/meson", line 6, in <module>
    from mesonbuild.mesonmain import main
  File "/nix/store/xp66zc4w184hwipy6zljah1mzk7dprqg-meson-0.61.2/lib/python3.9/site-packages/mesonbuild/mesonmain.py", line 27, in <module>
    from . import mesonlib
  File "/nix/store/xp66zc4w184hwipy6zljah1mzk7dprqg-meson-0.61.2/lib/python3.9/site-packages/mesonbuild/mesonlib/__init__.py", line 21, in <module>
    from .universal import *
  File "/nix/store/xp66zc4w184hwipy6zljah1mzk7dprqg-meson-0.61.2/lib/python3.9/site-packages/mesonbuild/mesonlib/universal.py", line 28, in <module>
    import typing as T
  File "/nix/store/sgk7zd1sqax5gh9avijwp3k7h8451b1g-python2.7-typing-3.10.0.0/lib/python2.7/site-packages/typing.py", line 782, in <module>
    AnyStr = TypeVar('AnyStr', bytes, unicode)
NameError: name 'unicode' is not defined

https://hydra.nixos.org/build/171372612/nixlog/31

It appears that Meson (a Python 3 app) is picking up python2.pkgs.typing from a transitive dependency in checkInputs (likely introduced in 58f6365), and we were just lucky that we did not encounter this sooner (thanks to Meson being largely self-contained).

cc @jonringer @FRidh

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions