Deps for LyX 2.5: GCC 8.5, Qt 5.12, Python 3.8 (was: GCC >= 5?)

Pavel Sanda sanda at lyx.org
Tue Oct 22 09:35:06 UTC 2024


On Mon, Oct 21, 2024 at 04:29:19PM +0200, Jean-Marc Lasgouttes wrote:
> My conclusion is that it would only be nice to use with C++20 where one can
> use constinit to force a function to be computed at compilation time. Then
> we would be able to have:
>  docstring const var = "sôme ascii text"_asc;
> 
> This would not compile. Forcing the use of constexpr is annoying IMO.

Your call ;)

> > tl;dr: the lower intersection for LyX 2.5 gives GCC 8.5, Qt 5.12, Python 3.6.
> 
> So shall we enforce these gcc/qt  versions?

Yes, I think we can bump to GCC 8.5 and Qt 5.12.
If someone wants to go through the sources and cleanup ifdefs we can switch anytime.

By doing this we should get access to C++17, so my favourite new feature highlights:
- if & switch with initializers: if (status_code c = foo(); c != SUCCESS) {...
  https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0305r1.html
- structured bindings to get direct access inside pairs & maps in loops: for (const auto& [key,val] : myMap) {  
  https://www.cppstories.com/2022/structured-bindings/

> Isn't it Python 3.8?

My assesment for LyX 2.5 was P3.6, but the reality is that we already bumped to P3.8 AFAIU.
On old system people will need to install P3.6 in parallel (at least that should be 
simpler than Qt/GCC).

Pavel


More information about the lyx-devel mailing list