Electron package guidelines (Português)

From ArchWiki
Jump to navigation Jump to search
Status de tradução: Esse artigo é uma tradução de Electron package guidelines. Data da última tradução: 2019-01-18. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.
Diretrizes de criação de pacotes

CLRCrossEclipseElectronFree PascalGNOMEGoHaskellJavaKDEKernelLispMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

Este documento abrange padrões e diretrizes para escrever PKGBUILDs para Electron.

Usando o electron do sistema

Arch Linux fornece os pacotes globais electron e electron2 que podem ser usados para executar um aplicativo electron por meio de um wrapper de shellscript:

#!/bin/sh

exec electron /caminho/para/nome_do_app/ "$@"

O diretório nome_do_app/ ou, alternativamente, um pacote de arquivo chamado nome_do_app.asar, pode ser localizado em um aplicativo electro pré-compilado como a pasta resources/app/ (ou resources/app.asar). Todo resto é apenas uma cópia de runtime do electron e pode ser removido no pacote resultante.

Construindo extensões compiladas com o electron do sistema

Alguns aplicativos de electron compilaram extensões nativas vinculadas ao runtime do electron e devem ser compiladas usando a versão correta de electron. Como o npm/yarn sempre será compilado com uma cópia pré-compilada privada de electron, aplique um patch na dependência de electron de package.json para referenciar a mesma versão da dependência de electron do sistema. O sistema de compilação irá baixar a cópia pré-compilada que precisar, compilará as extensões nativas e empacotará tudo em uma distribuição final, mas isso pode ser removido durante a etapa package() como de costume.

Alternativamente, você pode remover a dependência de electron do package.json e definir as variáveis de ambiente corretas antes de executar o npm:

export npm_config_target=$(cat /usr/lib/electron/version | tail -c +2)
export npm_config_arch=x64
export npm_config_target_arch=x64
export npm_config_disturl=https://atom.io/download/electron
export npm_config_runtime=electron
export npm_config_build_from_source=true
HOME="$srcdir/.electron-gyp" npm install

Configure HOME para um caminho dentro do $srcdir para que o processo de compilação não coloque nenhum arquivo em seu diretório real HOME. Certifique-se de ajustar o caminho para todos os comandos adicionais que fazem uso do cache .electron-gyp.

(mais detalhes aqui).

Arquitetura

Veja PKGBUILD (Português)#arch.

Um pacote Electron que contém extensões nativas compiladas depende da arquitetura. Caso contrário, é mais provável que seja independente de arquitetura.

Se o pacote contiver uma cópia pré-compilada do electron, será sempre dependente da arquitetura.

Estrutura de diretórios

Se o pacote é dependente de arquitetura, instale o diretório resources/app/ em /usr/lib/nome_do_app/. Do contrário, use /usr/share/nome_do_app/.

Se o pacote contém uma cópia pré-compilada de electron, copie toda a distribuição final para /opt/nome_do_app.