jeremypw / gnonograms

Nonograms puzzle game written in Vala.
GNU General Public License v3.0
12 stars 7 forks source link

build: fix build with meson 0.61 #45

Closed DimStar77 closed 2 years ago

DimStar77 commented 2 years ago

Fixes https://github.com/jeremypw/gnonograms/issues/44

jeremypw commented 2 years ago

Maybe not - it stills builds with meson 0.59 (my current version). Not sure what the minimum version would be now.

eli-schwartz commented 2 years ago

The name argument only became optional/disallowed with versions >=0.60?

This is an incorrect analysis, because what actually happened is that there is not, and never has been, a name argument.

Every version of Meson that has an i18n.merge_file() function works without this argument -- because it was originally intended to not have a name argument.

Previous versions of Meson had bad type-checking. You could pass anything there, but it was ignored so thoroughly that the parser didn't even check whether or not you passed an argument there, much less what object type it was, or the value of it.

During a routine update to Meson, better type checking was added. The main purpose of this was to provide better error messages instead of giant tracebacks when using invalid variables such as, say, passing an integer instead of a string to the install_dir kwarg. It also added a check that the positional arguments matched the documented expectation, namely that there were zero of them.

Some projects had more than zero positional arguments. This is a bug in that meson.build, and Meson 0.60.x emitted a deprecation warning telling you that it wasn't supposed to be there and that you should remove it.

Since this is just fixing the build to align with what was always supposed to happen, there is no minimum version bump. Meson doesn't remove features and break builds until you both update your minimum version and remove the feature. It does sometimes add better error checking for things that were never allowed, but that isn't a change in minimum version.