Lazarus with multiple widgetsets
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: 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 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-idepackage will be renamed tolazarus-ide-base; it will contain only files common to all the builds. -
Five new sub-packages will be introduced:
lazarus-ide-gtk2lazarus-ide-gtk3lazarus-ide-qtlazarus-ide-qt5lazarus-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:
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: 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
Last edited by @amoloney 2026-06-20T12:57:54Z
Last edited by @amoloney 2026-06-20T12:57:54Z