From Fedora Project Wiki

FPC repackaging

Summary

Split the fpc package (the Free Pascal Compiler) into several sub-packages (built from the same spec file).

Owner


Current status

Detailed Description

The fpc package will be split into three packages:

  • fpc - the compiler itself, plus utility programs
  • fpc-ide - the terminal-based TUI IDE (/usr/bin/fp)
  • fpc-units-ARCHNAME-linux - pre-compiled units (think "FPC's stdlib") for developing programs for Linux

The "units" subpackage will be a shared dependency for both fpc and fpc-ide.

Benefit to Fedora

The TUI IDE will be moved to a separate package, slightly reducing the download size for packages requiring FPC to build.

Putting Linux units in an fpc-units-ARCHNAME-linux package will create a precedent which can be used in the future for introducing cross-compilation packages, like fpc-units-x86_64-win64 for MS Windows.

Scope

  • Proposal owners:
    • Edit fpc.spec as required and rebuild the package, preferably before the Mass Rebuild.
  • Other developers: No action required.
  • Release engineering: No action required.
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: N/A

Upgrade/compatibility impact

After upgrading to Fedora 38, users interested in the TUI IDE will need to manually install the fpc-ide package. For those not interested in the TUI IDE, there will be no impact.

How To Test

A copr repository has been created where users can test out the modified package: copr/suve/fpc-split.

This copr repository also modifies the spec to build units for MS Windows (x86_64 only), allowing for cross-compilation.

User Experience

For users not interested in the TUI IDE, this Change will slightly reduce the install size (about 1.5 MiB for the IDE plus another 3.5 MiB for its dependencies).

Since the TUI IDE does not launch the compiler as a sub-process, but rather contains an embedded copy of the compiler, users who use only the IDE and not the standalone compiler will benefit in a similar way - they will be able to install just the IDE, without the main compiler package.

Dependencies

None.

Contingency Plan

Worst case scenario - give up, revert to an old version of fpc.spec and rebuild the package.

Documentation

N/A (not a System Wide Change)

Release Notes

The fpc package no longer includes the terminal-based TUI IDE. Users interested in the IDE should install the fpc-ide package.