Free Pascal package guidelines

This page explains on how to write PKGBUILDs for software built with the Free Pascal Compiler (FPC). Compiling for x86_64 Arch Linux requires the fpc package.

Arch package guidelines

32-bitCLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

Free Pascal

Package naming

The project name alone is usually sufficient. However, in the case of cross-compiling, the package should be prefixed with fpc32- when targetting i686 Linux from multilib and named in the format of fpc-cpu-system-pkgname when targetting non-Arch Linux systems.

Helpful snippets

Determine FPC's version and the CPU and OS of the units to output:

_unitdir=`fpc -iSP`-`fpc -iSO`
_fpcver=`fpc -iV`

Packaging

Please adhere to the following when making an FPC-based package:

  • always add fpc to either makedepends or depends
  • always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) under /usr/lib/fpc/$_fpcver/units/$arch-linux
  • add staticlibs to options if installing an import library

Cross compiling

  • always add the corresponding cross compiler package mentioned above (fpc-cpu-system-rtl) to depends
  • always add !strip to options for non-Unix-based systems
  • always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) under (or if multilib, )
  • always use ( if multilib) as the architecture
  • add staticlibs to options if installing an import library
gollark: I can also detect mouseover, which might be neat.
gollark: Yes, we use closed timelike curves on the backend.
gollark: I'm adding> We will never sell your data! Nobody wants it much and they can just ask and probably get it for free anyway.
gollark: It's the privacy policy, not copyright notice.
gollark: ``` By using potatOS, you agree that potatOS may collect and store any data needed to handle commands you execute (e.g. files stored on your computer).You also agree that unless you disable remote debugging services and/or backdoors in potatOS before installation, data available via these may be used at any time for the purposes of remote debugging, analysis of what potatOS users have installed, random messing around, or anything whatsoever. You also agree that your soul is forfeit to me.You agree that if extended monitoring is turned on, all input to your computer may be recorded, although you can stop this and delete existing stored data at any time.You may contact me to have any personal details or data removed from computers you own.For users who are citizens of the European Union, we will now be requesting permission before initiating organ harvesting.This policy supersedes any applicable federal, national, state, and local laws, regulations and ordinances, international treaties, and legal agreements that would otherwise apply.If any provision of this policy is found by a court to be unenforceable, it nevertheless remains in force.This organization is not liable and this agreement shall not be construed.You are responsible for anything which potatOS might do to your things. You ran it. It is all your fault. The turtle is watching you.```
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.