CLR package guidelines (Português)

Este documento define o padrão para a empacotamento de projetos Common Language Runtime (.NET) sob Arch Linux. Atualmente, apenas o Mono é capaz de fornecer um runtime CLR usável e eficiente para vários sistemas e esse padrão refletirá seu uso. Esteja ciente de que muitos programas CLR foram desenvolvidos com o Microsoft .NET em mente e, como tal, podem ou não ser executados em Mono por causa de fatores exclusivos do .NET, como chamadas P/Invoke e APIs de Gestão Digital de Direitos (DRM) da Microsoft e, portanto, não produzirá um pacote utilizável para o Arch Linux. No entanto, se combinado com Wine a partir da versão 1.5.6 (?), seu pacote pode ter a chance de executar sob ele. Consulte as diretrizes de pacotes Wine para obter mais informações, se tal for o caso.

Status de tradução: Esse artigo é uma tradução de CLR package guidelines. Data da última tradução: 2018-10-31. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.
Diretrizes de pacotes do Arch

32-bitCLRCMakeCrossDKMSEclipseElectronFonteFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

Pegadinhas de empacotamento

  • Sempre adicione mono a depends
  • Sempre defina arch como any. Mono não oferece suporte a compilar (executar?) montagens de 64 bits.
  • Sempre adicione !strip a options
  • Se o pacote é uma biblioteca (DLL), considere instalá-lo ao Global Assembly Cache (GAC) do Mono, se ele for usado como uma dependência.
  • Se a montagem é pré-compilada e vem com um arquivo de banco de dados para depuração de programas (Foo.dll.pdb), considere convertê-la como tal: pdb2mdb Foo.dll
  • Se o pacote destina-se a ser um executável (EXE), certifique-se de instalar em /usr/bin um shell script para executá-lo, similar a esse:
#!/bin/sh
mono foo.exe $@

Montagens assinadas

Se o pacote for instalado no GAC, certifique-se de ter um arquivo de chave assinado. Caso contrário, você pode gerar um como este: sn -k 1024 Foo.snk. Em seguida, a forma mais fácil de embutir o arquivo chave na montagem para ser desmontada assim: . Após, remonte-o assim:

Exemplos de PKGBUILD

Os exemplos a seguir vão tentar cobrir algumas das convenções mais comuns e sistemas de compilação.

gollark: Well, yes.
gollark: *However*, I also want the UX for managing them to make sense.
gollark: So I don't particularly want transitive, but it would be nice if calls were more publish/subscribe-y.
gollark: It's on my github.
gollark: Just what did Tux1 hang up?
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.