FirebirdSQL / firebird

Firebird server, client and tools
https://firebirdsql.org
1.26k stars 217 forks source link

Update the libcxx (llvm project) to version 19.1.1 #8285

Closed Noremos closed 1 month ago

Noremos commented 1 month ago

Update the libcxx custom package to remove the dependency on an old Python version

Noremos commented 1 month ago

The ARM build failed during the unit test compilation. It seems like it is necessary to update BOOST. It uses std::unary_function, which was deleted in C++17. I checked, and the updated BOOST version works. It would be nice to update BOOST, but it consists of over 2000 files. I can create another PR, but I'm not sure if all this is really needed by anyone besides me.

aafemt commented 1 month ago

If you are sure that this piece of BOOST cannot be eliminated from Firebird tree completely - try to set _HAS_AUTO_PTR_ETC to 1. According to the BOOST sources it should switch it to usage of own implementation of unary_function.

asfernandes commented 1 month ago

Doing boost update in https://github.com/FirebirdSQL/firebird/pull/8286

Noremos commented 1 month ago

I'm a little concerned about the “Cache not found for input keys” message in the cache action. Does it really work?

asfernandes commented 1 month ago

I'm a little concerned about the “Cache not found for input keys” message in the cache action. Does it really work?

Seems it was not already working. The path is invalid.

Noremos commented 1 month ago

I tried using a different approach for vcpkg dependency caching, described in https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache. And it seems to be working: https://github.com/Noremos/firebird/commit/4b5eeb2f799d43ea379a34bc467c85c9525381f2

Restored 3 package(s) from GitHub Actions Cache in 12 s.

asfernandes commented 1 month ago

It's an experimental flag and is not clear for me what it use as cache key and how it will be in regard to multiple arch and branches. But we may go with it and see.

asfernandes commented 1 month ago

I did some tests and it caches packages individually with their hashs. Seems good. Could you incorporate it here? Is it the only pendency for merge?

Noremos commented 1 month ago

Could you incorporate it here?

Commied the change

Is it the only pendency for merge?

Yes. If there are no problems with CI and there are no additional issues, then everything is ready