Saturday, June 20, 2026

F45 Change Proposal: Lazarus with multiple widgetsets (self-contained)

Wiki - https://fedoraproject.org/wiki/Changes/LazarusWithMultipleWidgetsets Discussion Thread - https://discussion.fedoraproject.org/t/f45-change-proposal-lazarus-with-multiple-widgetsets-self-contained/194291 This is a proposed Change for Fedora Linux. This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee. == Summary == Offer the Lazarus IDE built with multiple widgetsets, instead of just the GTK2 version. == Owner == * Name: [[User:Suve| Artur Frenszek-Iwicki]] * Email: <fedora@svgames.pl> == Detailed Description == Lazarus is a RAD IDE for developing programs using Free Pascal. It allows for creating GUI applications using the Lazarus Component Library (LCL), which serves as an abstraction layer over many different interfaces (or, in Lazarus parlance, ''widgetsets''), enabling users to build e.g. a GTK2 and Qt5 application from the same codebase. While Lazarus in Fedora has shipped with support for different widgetsets [https://fedoraproject.org/wiki/Changes/F39-Lazarus-repackaging since Fedora 39], so far the IDE itself was offered only in the GTK2 version. The goal of this change is to build the Lazarus IDE with multiple widgetsets, allowing users to e.g. use a Qt6-based build instead of the GTK2 one. Packaging-wise, the following changes will be made: * The existing `lazarus-ide` package will be renamed to `lazarus-ide-base`; it will contain only files common to all the builds. * Five new sub-packages will be introduced: ** `lazarus-ide-gtk2` ** `lazarus-ide-gtk3` ** `lazarus-ide-qt` ** `lazarus-ide-qt5` ** `lazarus-ide-qt6` * The different builds will be marked as conflicting and thus '''NOT''' parallel-installable. == Benefit to Fedora == For users satisfied with using the GTK2 build of Lazarus, this Change should not affect their experience. Users preferring to use a different interface (e.g. Qt6) will get the possibility to do so. Also, this Change will make it easier to retire `gtk2` one day. == Scope == * Proposal owners: Make relevant changes to `lazarus.spec`. * Other developers: Should not affect other packages. * Release engineering: N/A * Policies and guidelines: N/A * Trademark approval: N/A * Alignment with the Fedora Strategy: <!-- Does your proposal align with the current Fedora Strategy: https://discussion.fedoraproject.org/t/fedora-strategy-2028-february-march-planning-work-and-roadmap-til-flock/43618 ? It's okay if it doesn't, but it's something to consider --> == Upgrade/compatibility impact == `Obsoletes:` will be added to appropriate packages so users upgrading from Fedora 43/44 will continue using the GTK2 build. == How To Test == A COPR repository is available for early testing: [https://copr.fedorainfracloud.org/coprs/suve/lazarus-ws/ suve/lazarus-ws] Install `lazarus-ide-${WIDGETSET}`, where `${WIDGETSET}` is one of `gtk2`, `gtk3`, `qt`, `qt5` or `qt6`. Start the program and check if everything works as expected. == Dependencies == The following packages depend on Lazarus (either the `lazarus` metapackage, or one of the subpackages): * ccdciel * cqrlog * doublecmd * goverlay * indistarter * lazpaint * morserunner * pasdoc * peazip * skychart == Contingency Plan == * Contingency mechanism: Revert changes to the spec file and rebuild the package. * Contingency deadline: Before beta freeze * Blocks release? N/A (not a System Wide Change) == Documentation == N/A (not a System Wide Change) == Release Notes == -- Aoife Moloney Fedora Operations Architect Fedora Project Matrix: @amoloney:fedora.im IRC: amoloney -- _______________________________________________ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org 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-announce@lists.fedoraproject.org Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new

No comments:

Post a Comment