Upgrading ocaml to 5.1.1, promoting annobin and updating llvm
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
- [x] The toolchain has been rebuilt successfully (or no changes were made to it)
- [x] The toolchain/worker package manifests are up-to-date
- [x] Any updated packages successfully build (or no packages were changed)
- [x] Packages depending on static components modified in this PR (Golang,
*-staticsubpackages, etc.) have had theirReleasetag incremented. - [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
- [x] All package sources are available
- [x] cgmanifest files are up-to-date and sorted (
./cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json) - [x] LICENSE-MAP files are up-to-date (
./SPECS/LICENSES-AND-NOTICES/data/licenses.json,./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md,./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON) - [x] All source files have up-to-date hashes in the
*.signatures.jsonfiles - [x]
sudo make go-tidy-allandsudo make go-test-coveragepass - [x] Documentation has been updated to match any changes to the build system
- [x] Ready to merge
Summary
As part of 3.0 package upgrade I have upgraded ocaml to version 5.1.1 and upgraded and promoted the depenedcies it has such as annobin and the dependency of annobin which is llvm.
Change Log
- Upgraded ocaml to version
5.1.1and imported the spec from Fedora. Removed old patches that are not needed - Promoted annobin from extended to core and upgraded to
12.40 - Added LLVmgold.so files to be produced by
llvmpackage
Does this affect the toolchain?
NO
Test Methodology
- Pipeline build id: local and https://dev.azure.com/mariner-org/mariner/_build/results?buildId=548455&view=results
Is there a reason all three of these are in the same PR? This is a pretty meaty change if they're not all interrelated.
Is there a reason all three of these are in the same PR? This is a pretty meaty change if they're not all interrelated.
Oh yes. The new version of ocaml depends on annocheck subpackage built by annobin package, so I had to first promote the annobin package to core and upgrade it to the newest version as ocmal needs newest. Then the newer version of annobin requires some files from llvm package which our version of the package is missing, so then I had to add the change to make llvm produce those files as well.
So essentially it was a dependency chain of Ocaml -> annobin -> llvm