toltec-dev / toolchain

Set of Docker images for cross-compiling binaries targeting the reMarkable tablet.
MIT License
34 stars 12 forks source link

Meson is too old #9

Closed yduf closed 3 years ago

yduf commented 3 years ago

Hello,

I am using toltec toolchain to compile cairo but it require meson 0.57 (current debian package is 0.49).

I was about to make a PR to have the toolchain use the latest meson version, but doing so required to run pip3, which is provided on a separate python docker image:

RUN  pip3 install meson

It seems that toolchain image already contains python3 (probably because it's a dependancy of meson), so would you consider to have pip3 part of the toolchain image as well ?

Or maybe the alternative would be to retrieve meson directly from the github release page as the documentation suggest... but it would probably make the Dockerfile a bit more complex.

matteodelabre commented 3 years ago

Are you sure Cairo requires Meson 0.57? The latest Git version seems to require 0.54.

yduf commented 3 years ago

I am using meson 0.57.1, and I got these warning below, when invoking meson build as part of fonctconfig which is a cairo dependency. The one that lead me to believe it requires 0.57 is the one saying _Project specifies a minimum mesonversion '>= 0.56.0' but uses features which were added in newer version But latter it says | * 0.54.0: {'list_sep arg in summary'} which now confuse me.

So I did have a look in subproject dir, subprojects/fontconfig/meson.buildwhich specify meson_version : '>= 0.56.0', and to compile cairo as a whole, including dependencies, at least version 0.56 is required.

I admit that I didn't try with 0.54 nor 0.56, I only tried first with toltec version 0.49, which didn't work, then upgrade to latest.

I am not a regular meson user and I don't know how meson maintain backward compatiblity (or not). Do you think upgrading meson to the latest version would break building some toltec existing package ?

|WARNING: Project targeting '>= 0.53' but tried to use feature introduced in '0.54.0': list_sep arg in summary.
|Build targets in project: 61
|WARNING: Project specifies a minimum meson_version '>= 0.56.0' but uses features which were added in newer versions:
| * 0.54.0: {'list_sep arg in summary'}
|WARNING: Deprecated features used:
| * 0.55.0: {'ExternalProgram.path'}
| * 0.56.0: {'meson.source_root'}
|Subproject fontconfig finished.
matteodelabre commented 3 years ago

I’m currently updating the images to be based on the latest Debian unstable snapshot, which includes Meson 0.56 but not 0.57, so that’s why I was asking. Based on your findings, this should make Cairo build correctly. I’ll keep you updated when the new images are ready.

matteodelabre commented 3 years ago

Versions v1.6 and v2.1 of toolchain now contain Meson 0.56.2 (cc @yduf).