Closed badshah400 closed 4 years ago
Thank you, I missed a spot there.
This fix should be made on top the libmypaint-v1.5.x
branch and set up to merge against that same branch.
This needs to be fixed in master
as well, but there -@LIBMYPAINT_API_PLATFORM_VERSION@
should not be removed, as it is currently set up so that both major and minor numbers are part of the package name (not very fond of that myself). Additionally, in master
the platform version should also be appended to the end of the name (after adding -gegl
).
I'll have a PR for the 1.5.x branch soon.
@jplloyd I have not followed much, sorry for this. But did you change libmypaint
1.5 to generate libmypaint-1.5.pc
or something similar? I hope not! libmypaint.pc
was not the best choice, but now that it was done, you should stick with it for all the v1.x series. Otherwise a project which was requiring a libmypaint say 1.3.0 or above (e.g. GIMP) would not find libmypaint 1.5.0 anymore (and would need to tweak the configure script with if conditions and whatnot).
So basically libmypaint 2 and over will have versionning in the pkg-config (and other) file but stick to old naming convention for the v1 series (we just know that no version == v1.x).
it is currently set up so that both major and minor numbers are part of the package name (not very fond of that myself)
Are you saying that libmypaint 2.0 pkg-config file will be libmypaint-2.0.pc
but v2.1 will be libmypaint-2.1.pc
. Once again, I hope not! Unless you are going for a versionning scheme where minor versions are incompatible (i.e. away from semantic versioning). You should once again stick to a same naming for a whole serie meant to be backward compatible. It could be libmypaint-2.pc
, libmypaint2.pc
or libmypaint-2.0.pc
or whatever, but you should stick to your name. Pick the convention you like (you still have time, stable libmypaint 2 is not out yet) and stick to it for years to come.
Note: the '0' in libmypaint-2.0.pc
does not mean minor version of '0', but we are talking of the whole 2.x series. This is for instance the convention used by GTK+:
$ pkg-config --modversion gtk+-3.0
3.24.13
If you don't like this '0' here (not sure either the purpose), just go for libmypaint-2
for instance.
@jplloyd I have not followed much, sorry for this. But did you change
libmypaint
1.5 to generatelibmypaint-1.5.pc
or something similar? I hope not!libmypaint.pc
was not the best choice, but now that it was done, you should stick with it for all the v1.x series. Otherwise a project which was requiring a libmypaint say 1.3.0 or above (e.g. GIMP) would not find libmypaint 1.5.0 anymore (and would need to tweak the configure script with if conditions and whatnot).So basically libmypaint 2 and over will have versionning in the pkg-config (and other) file but stick to old naming convention for the v1 series (we just know that no version == v1.x).
I think this is what @jplloyd meant too. That's why I made a separate pr #166 for the 1.5.x branch.
@jplloyd I have not followed much, sorry for this. But did you change
libmypaint
1.5 to generatelibmypaint-1.5.pc
or something similar?
No, it's still libmypaint.pc
in the libmypaint-v1.5.x
branch, and the corresponding -gegl pc file is libmypaint-gegl.pc
.
The concerns for the current (and 1.5.0) libmypaint-gegl.pc are:
gegl-0.3
instead of the version determined in the configure script (gegl-0.3
or gegl-0.4
). That was an oversight on my part.Are you saying that libmypaint 2.0 pkg-config file will be
libmypaint-2.0.pc
but v2.1 will belibmypaint-2.1.pc
.
That is how it is set up now in master
, since this commit: 0b31421ffbfb5f4a1c68ceeafa292c6ff08e949c nearly three years ago. To quote myself from earlier in the discussion:
(not very fond of that myself)
The commit references this issue: #92, which mentions a discussion on the GIMP irc channel. I don't know if you were involved in that discussion of course, but maybe there was some confusion on how to do things.
I was already pretty set on reverting the "at the level of the minor version number" part, so I'm glad you agree.
I was already pretty set on reverting the "at the level of the minor version number" part, so I'm glad you agree.
Yeah I do agree and any other GIMP dev will. So if that were the result of some earlier discussion with us, it's just a misunderstanding. ;-)
If you look at our own configure file for instance (for libgimp*
which are libs used by plug-ins), we have a separate variable gimp_pkgconfig_version
, and it is set at "2.0" even though we are at the 2.10.16 version of GIMP (and libgimp). We don't use the application major/minor versions which are a different thing.
So yeah we should just change this. I can make the fix later on tonight, if you wish. Should we go with libmypaint-MAJOR.0.pc
?
So yeah we should just change this. I can make the fix later on tonight, if you wish. Should we go with
libmypaint-MAJOR.0.pc
?
Unless there is a good reason for the .0
(other than being a gimp/gtk convention), I personally think libmypaint-MAJOR.pc is sufficient. You are very welcome to make the reversal if you want.
Question: seeing as the bugs in the libmypaint-gegl.pc
file in 1.5.0 are build-breaking, I'm assuming I should make a 1.5.1
release with the fixes? Of course, no known project currently uses that component, but still.
@badshah400 I have squashed and merged your commits, editing the message to reflect the sum of the changes. This is primarily so the .MINOR
-level reversal will be consistent. Thanks!
@badshah400 I have squashed and merged your commits, editing the message to reflect the sum of the changes. This is primarily so the
.MINOR
-level reversal will be consistent. Thanks!
Thank you very much.