Instaladores em Rust para ambientes Pascal e componentes ACBr, com interface gráfica e linha de comando.
| Aplicativo | Função | Plataformas |
|---|---|---|
| ACBrInstall | Baixar, atualizar e instalar componentes ACBr em uma IDE existente. | Lazarus: Linux, Windows e macOS. Delphi: somente Windows. |
| PascalInstall | Preparar FPC, Lazarus, compiladores adicionais, Online Package Manager e designer integrado. | Linux, Windows e macOS. |
Downloads · Uso · Requisitos · CLI · Desenvolvimento
Os dois aplicativos estão disponíveis separadamente nas Releases:
| Sistema | Arquitetura | Formatos |
|---|---|---|
| Linux | x86-64 | .AppImage e executável |
| Windows | x86-64 | .exe |
| macOS | Intel e Apple Silicon, em builds separados | .pkg, .app.zip e executável |
Os arquivos incluem o nome do aplicativo e a plataforma, como ACBrInstall-linux-x86_64.AppImage. Builds de desenvolvimento ficam nos artefatos do GitHub Actions.
No Linux, conceda permissão de execução ao arquivo baixado:
chmod +x ACBrInstall-linux-x86_64.AppImage
./ACBrInstall-linux-x86_64.AppImageSe FUSE não estiver disponível, acrescente --appimage-extract-and-run. Os AppImages usam a glibc de base do Ubuntu 22.04 e as bibliotecas gráficas do sistema.
No macOS, o .pkg instala o aplicativo em /Applications. Os pacotes usam assinatura ad-hoc e ainda não possuem certificado Developer ID nem notarização Apple.
- Prepare o ambiente, se necessário, com o PascalInstall: escolha a pasta, as versões do FPC/Lazarus e os compiladores adicionais. O ambiente inclui OPM, AnchorDockingDsgn e DockedFormEditor.
- Abra o ACBrInstall e selecione a instalação do Lazarus ou Delphi.
- Configure os fontes usando a pasta que contém
Pacotes/LazarusouPacotes/Delphi. - Selecione os componentes, confira o resumo e inicie a instalação. As dependências são resolvidas automaticamente; o log acompanha a execução.
| Ação | Condição |
|---|---|
| Apenas instalar | Fontes locais existentes; não executa SVN. |
| Baixar e instalar | Pasta nova ou vazia para checkout. |
| Atualizar e instalar | Raiz de uma cópia SVN existente. |
A opção Baixar fontes para selecionar componentes permite fazer somente o checkout antes de escolher os pacotes.
No Lazarus, a seleção substitui os componentes ACBr registrados na IDE: os desmarcados são retirados da lista de instalação, preservando os demais pacotes de terceiros. Artefatos antigos da plataforma atual são guardados em Lib/.acbrinstall-backup antes da recompilação.
- FortesReport-CE e PowerPDF: preparados pelo ACBrInstall via OPM quando exigidos pela seleção no Lazarus. Pacotes já registrados são reutilizados. No Delphi, o FortesReport-CE deve estar instalado previamente.
- FastReport: integrações disponíveis, desmarcadas por padrão. Exigem uma cópia adquirida, instalada na IDE ou informada em FastReport (opcional). O produto pago não é baixado pelo aplicativo. No Delphi, a pasta informada complementa os caminhos de compilação e não substitui sua instalação na IDE.
Os aplicativos acompanham o tema do sistema e permitem alternar entre claro e escuro. No Linux, a interface registra ícones e atalhos no perfil do usuário, com suporte ao Wayland.
Downloads exigem internet. Para baixar ou atualizar os fontes ACBr, disponibilize um cliente SVN de linha de comando. A instalação requer os compiladores da IDE selecionada.
| Sistema | Preparação do ambiente Pascal |
|---|---|
| Linux | Compilador C, make, binutils, unzip, SVN e bibliotecas de desenvolvimento GTK2/X11. O PascalInstall verifica as dependências. |
| Windows | Ferramentas preparadas pelo fpclazup; SVN no PATH para o ACBr, como as command line tools do TortoiseSVN. |
| macOS | Command Line Tools do Xcode (xcode-select --install), make, unzip e svn no PATH. Lazarus usa Cocoa. |
No Debian/Ubuntu, para compilar o FPC/Lazarus:
sudo apt install build-essential subversion unzip libgtk2.0-dev libx11-dev \
libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev libxtst-dev \
libatk1.0-dev libglib2.0-devPara Delphi, use uma instalação existente e feche a IDE antes de instalar componentes. O backend aceita compiladores XE2 ou posteriores; a compatibilidade de cada pacote depende dos fontes ACBr.
Sem argumentos, os executáveis abrem a interface gráfica. Os exemplos pressupõem comandos disponíveis no PATH; no Windows, use a extensão .exe.
# Preparar FPC/Lazarus com compiladores adicionais para Windows
pascalinstall --cli --dir ~/lazarus_dev --fpc stable --laz stable --cross win32,win64
# Configurar OPM e designer em um Lazarus existente
pascalinstall --cli --dir ~/lazarus_dev --configure-ide
# Consultar componentes dos fontes locais
acbrinstall --cli --ide lazarus --acbr-dir ~/ACBr --default-acbr --list-components
# Instalar componentes selecionados a partir dos fontes locais
acbrinstall --cli --ide lazarus --dir ~/lazarus_dev --acbr-dir ~/ACBr \
--acbr-action install --acbr-packages ACBr_NFe,ACBr_BoletoPara baixar ou atualizar antes de instalar, use --acbr-action download ou --acbr-action update. Os nomes de pacotes variam conforme a revisão do ACBr; consulte --list-components.
| Opção | Função |
|---|---|
--cross "" |
Desativar compiladores adicionais no PascalInstall. |
--list-environments |
Listar instalações detectadas pelo ACBrInstall. |
--default-acbr |
Selecionar os componentes sem FastReport. |
--all-acbr |
Selecionar todos, incluindo integrações FastReport. |
--fastreport-dir <pasta> |
Informar uma cópia adquirida do FastReport. |
Exemplo para Delphi no PowerShell, ajustando o caminho à instalação local:
acbrinstall.exe --cli --ide delphi `
--delphi-dir 'C:\Program Files (x86)\Embarcadero\Studio\23.0' `
--acbr-dir C:\ACBr --acbr-action install `
--acbr-packages ACBr_NFe,DCLACBr_NFeAs opções Delphi incluem --win64, --debug, --ide64 e --delphi-key. Consulte acbrinstall --help ou pascalinstall --help para a referência completa; --version exibe a versão.
A CLI restaura as últimas opções salvas. Em scripts, informe explicitamente ambiente, ação e seleção para obter o comportamento desejado.
Para preparar ambientes de CI ou Docker, ambos aceitam --build-only no fluxo Lazarus. O PascalInstall prepara FPC/Lazarus sem adicionar OPM e designer à IDE; o ACBrInstall registra e compila os pacotes e dependências sem alterar os componentes instalados na IDE. Falhas na preparação de cross-compilers interrompem a operação.
Cada aplicativo salva suas opções ao iniciar a operação e gera um log completo por execução. Salvar log exporta uma cópia, inclusive durante a instalação.
| Sistema | Configuração | Logs |
|---|---|---|
| Linux | ~/.config/<app>/config.json |
~/.local/state/<app>/logs |
| Windows | %APPDATA%\<App>\config.json |
%LOCALAPPDATA%\<App>\logs |
| macOS | ~/Library/Application Support/<App>/config.json |
~/Library/Logs/<App> |
Substitua <app> por acbrinstall ou pascalinstall; <App>, por ACBrInstall ou PascalInstall. No Linux, XDG_CONFIG_HOME e XDG_STATE_HOME são respeitados. No Windows, os logs usam APPDATA se LOCALAPPDATA não estiver disponível.
A migração do instalador Delphi original é gradual. Cópia de DLLs, opções específicas para C++Builder e edição de defines do ACBr.inc ainda não estão disponíveis. A cópia de DLLs será exclusiva do Windows.
A instalação foi validada localmente no Linux. Os builds e testes cobrem as plataformas distribuídas, mas a instalação completa com Delphi e em macOS ainda precisa de validação nesses sistemas.
Use Rust estável e Cargo. No Windows, o toolchain MSVC exige ferramentas C++ e Windows SDK; no macOS, use os Command Line Tools do Xcode. Para compilar a interface Rust no Debian/Ubuntu:
sudo apt install build-essential libxkbcommon-dev libwayland-dev libx11-dev \
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-devgit clone https://github.com/rftd/ACBrInstall.git
cd ACBrInstall
cargo fmt --all --check
cargo test --workspace --locked
cargo build --workspace --release --locked
# Executar a interface durante o desenvolvimento
cargo run -p acbrinstall
cargo run -p pascalinstallOs executáveis ficam em target/release/. O workspace contém os aplicativos em apps/, os backends e a infraestrutura em crates/install-core/ e a interface em crates/install-ui/.
O script de empacotamento exige Python 3 e deve ser executado no sistema de destino após o build release:
python3 scripts/package.py --platform linux-x86_64
# No macOS: --platform macos-x86_64 ou --platform macos-aarch64Os pacotes são gerados em dist/. O workflow testa e compila os dois aplicativos em cada push e pull request. Ao publicar uma release, compila a tag nas quatro plataformas da matriz e anexa os arquivos após todos os builds passarem.
Abra uma issue com versão, sistema, arquitetura, IDE, passos para reproduzir e log sem dados sensíveis. Para pull requests, descreva a alteração e a validação realizada; execute a formatação e os testes antes do envio.
Autor: Rafael Teno DIas · Licença: MIT.
O projeto utiliza os fontes ACBr, o fpclazup e o catálogo OPM. O ícone do ACBrInstall pertence ao Projeto ACBr; a origem dos recursos está em assets/README.md. Componentes e recursos de terceiros mantêm suas respectivas licenças.

