Free Pascal package guidelines (Português)
32-bit – CLR – CMake – Cross – DKMS – Eclipse – Electron – Fonte – Free Pascal – GNOME – Go – Haskell – Java – KDE – Kernel – Lisp – Meson – MinGW – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – Web – Wine
Esta página explica como escrever PKGBUILDs para software construído com o Free Pascal Compiler (FPC)[link inativo 2021-11-10 ⓘ]. Atualmente, existem duas opções para a criação de software do Linux, bem como várias opções para construir software em outros destinos usando compiladores cruzados do FPC:
- fpc fornece um compilador visando apenas a CPU de seu host (x86_64 somente).
- fpc-multilibAUR[link quebrado: package not found] fornece um compilador para host x86_64 visando ambientes Linux com CPU i686 e x86_64. Isso também vai fornecer o pacote de driver de compilador FPC ppcross386AUR[link quebrado: package not found].
Free Pascal
Nomenclatura do pacote
O nome do projeto sozinho é geralmente suficiente. No entanto, no caso de compilação cruzada, o pacote deve ser prefixado com fpc32-
ao direcionar o i686 Linux a partir de multilib e nomeado no formato de fpc-cpu-sistema-pkgname
ao direcionar a sistemas Linux não Arch.
Trechos úteis de código
- Determine a versão do FPC e a CPI e o sistema operacional das unidades para retornar:
_unitdir=`fpc -iSP`-`fpc -iSO` _fpcver=`fpc -iV`
Empacotamento
Por favor, siga as opções abaixo ao criar um pacote baseado no FPC:
- sempre adicione fpc a
makedepends
oudepends
- sempre coloque todas as unidades compiladas (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) sob
/usr/lib/fpc/$_fpcver/units/$arch-linux
- adicione
staticlibs
aoptions
se estiver instalando uma biblioteca de importação
Compilação cruzada
- sempre adicione o pacote de compilador cruzado correspondente mencionado acima (
fpc-cpu-system-rtl
ou fpc-multilibAUR[link quebrado: package not found] para multilib) aodepends
- sempre adicione
!strip
aoptions
para sistemas não baseados no Unix - sempre coloque todas as unidades compiladas (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) sob
/usr/lib/fpc/$_fpcver/units/$_unitdir
(ou, se multilib,/usr/lib/fpc/$_fpcver/units/i386-linux
) - sempre use
any
(x86_64
se multilib) como a arquitetura - adicione
staticlibs
aoptions
se estiver instalando uma biblioteca de importação