https://fedoraproject.org/wiki/Changes/Free_Pascal_Compiler_3.2.0 == Summary == Update the Free Pascal Compiler used within Fedora to version 3.2.0, once it is published, and enable building (previously unsupported) AArch64 and ppc64le packages using the compiler. == Owners == * Name: [[User:suve|Artur Iwicki]] * Email: <fedora@xxxxxxxxxx> * Name: [[User:joost|Joost van der Sluis]] * Email: <joost@xxxxxxx> == Detailed Description == The Free Pascal Compiler team plans to release a new release, 3.2.0, somewhere until the end of this year (2019). This date falls within the Fedora 32 release schedule, so the new compiler version could be introduced into F32 once it's released. == Benefit to Fedora == The Free Pascal Compiler will support new architectures, which in turn will allow programs compiled using FPC to run on more architectures supported by Fedora. See also [https://wiki.freepascal.org/FPC_New_Features_3.2|FPC New Features 3.2] for a list of other new compiler features. == Scope == All packages depending on `fpc` should be rebuilt with the new `fpc` once it hits F32, or, if there is not enough time for that, just all packages built after the new `fpc` hits the buildroots. * Proposal owners: ** Update the `fpc` package to version 3.2.0. ** Cross-compile the compiler for AArch64 and ppc64le (required for bootstrapping). ** Add AArch64 and ppc64le to the `ExclusiveArch:` tag in the package spec. ** Build the compiler for the new architectures, using the cross-compiled binaries. ** Build the compiler once again, this time using the self-hosted binary. ** Update the `fpc-rpm-macros` package to accurately reflect the new, expanded architecture list. * Other developers: In the first few days or weeks, just voluntary rebuilds using the new `fpc`. Should there be any build failures, look at the [https://wiki.freepascal.org/User_Changes_3.2|User Changes 3.2] page to see if the package is affected by any backwards-incompatible change. If the packaged program/library does not support one of the newly introduced architectures (AArch64/ppc64le), either resolve the issue or add an `ExcludeArch:` tag to the spec. * Release engineering: Mass rebuild requested for F32. * Policies and guidelines: No changes needed. * Trademark approval: N/A (not needed for this Change) == Upgrade/compatibility impact == No impact == How To Test == Since the main impact of this change is adding support for new architectures, a mass-rebuild of dependent packages will also act as a test. Users wanting to test this change may want to submit a scratch build against rawhide. If needed, a [b]copr[/b] repo may also be created, so anyone interested may install the compiler on F31 or F30. == User Experience == FPC-dependent packages will become available on a larger number of architectures. == Dependencies == Lazarus depends on FPC exact version, so it will need to be rebuilt. == Contingency Plan == If bugs are discovered, I'd appreciate help from the package owners in preparing self-contained testcases to speed up analysis and fixing the bugs. I do not expect the compiler to introduce any bugs for x86 / x86_64 / ARM, so the main question will be whether the new AArch64 and ppc64le targets work correctly. * Contingency mechanism: If errors occur only for AArch64 / ppc64le builds, keep the compiler at the new version (3.2.0), but disable AArch64 and ppc64le (attempt to enable them again once F32 branches from Rawhide). If errors are also spotted on x86 / x86_64 / ARM, revert to the the older version (3.0.4). After choosing either option, perform a mass rebuild of dependent packages. * Contingency deadline: Before release * Blocks release? No * Blocks product? No == Documentation == Free Pascal wiki pages: * [https://wiki.freepascal.org/FPC_New_Features_3.2|FPC New Features 3.2] * [https://wiki.freepascal.org/User_Changes_3.2|User Changes 3.2] == Release Notes == Fedora 32 ships with Free Pascal Compiler 3.2.0, see the [https://wiki.freepascal.org/FPC_New_Features_3.2|FPC New Features 3.2] page for a list of new features and consult the [https://wiki.freepascal.org/User_Changes_3.2|User Changes 3.2] page for a list of backwards-incompatible changes. -- Ben Cotton He / Him / His Fedora Program Manager Red Hat TZ=America/Indiana/Indianapolis _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx