I have had a response from the Debian people, no, they are not interested in updating the version of libqt5pas as their policy is quite clear, the existing library works fine with the RELEASE version of Lazarus they currently support (and that is not going to change between now and release of Bullseye). And honestly, I consider that quite a reasonable position.
I don't believe what we have now is workable. Every new user who tries out Lazarus Trunk and Qt5 is going to get an incomprehensible error message and will walk away shaking his or her head sadly. If the changes propagate into the next Lazarus release, its even worse.
With (eg) Debian having a two year release cycle, any application we build with either trunk or a newly released Lazarus will fail unless the end user manually updates their own libqt5pas library. And thats a massive turn off for end users.
I propose that we make the recent changes to the Lazarus code (NOT the C library code) subject to a #ifdef. zeljko has done much of that much of that already, all the Lazarus cbindings have moved out of qt5.pas and into qt56.pas. qt5.pas just has an include, we make that include subject to the #ifdef
So, we reintroduce the 'old' qt5.pas as qt56stable.pas back into the repo and change q5.pas to -
{$I qtdefines.inc}
{ Enabling the next define will allow use of the accessibility functions now built into Lazarus QT5.
But that requires manually installed new versions of the libqt5pas library. See the cbinding
directory for build instructions or see https://github.com/davidbannon/libqt5pas }
// {$define QT5DEV}
{$ifdef QT5DEV}
{$i qt56.pas}
{$else}
{$i qt56stable.pas}
{$endif}
The library (and dev library) remain the same, as distros pick them up, they will get the new code, eventually all distros will have the new code and the above setting can become the default. In the mean time, developers and end users who need the new facilities can install them, other people will be able to continue working in the mean time.
This new approach needs to be documented on the wiki. I also believe the new accessibility features need to be documented too. All we have at the moment is a bug report.
I have not tested the above proposal and if there are more changes than I expect to the common C code it will be more complicated than I present but its a start !
Is this an acceptable approach ?
Davo