Appimage/ru: Difference between revisions
No edit summary |
Add translation. |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
[https://appimage.org/ AppImage] - тип монолитных пакетов для приложений Linux. Содержит все зависимости приложения в одном файле, состоящем из исполняемого файла и встроенной файловой системы. | |||
[https://appimage.org/ AppImage] | |||
<span id="Usage"></span> | <span id="Usage"></span> | ||
Line 17: | Line 15: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<span id="Packaging"></span> | <span id="Packaging"></span> | ||
=== | === Создание AppImage === | ||
См. руководство [https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-appimageTools Nixpkgs manual on wrapping AppImage packages]. Если кратко, AppImage извлекается, а все зависимости добавляются в качестве зависимостей сборки nix. Следующий пример представляет собой производную для программы Quba, которая также распространяется в виде AppImage. | См. руководство [https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-appimageTools Nixpkgs manual on wrapping AppImage packages]. Если кратко, AppImage извлекается, а все зависимости добавляются в качестве зависимостей сборки nix. Следующий пример представляет собой производную для программы Quba, которая также распространяется в виде AppImage. | ||
< | <syntaxhighlight lang="nix"> | ||
{ | |||
lib, | |||
appimageTools, | |||
fetchurl, | |||
}: | |||
let | let | ||
version = "1.4.0"; | version = "1.4.0"; | ||
pname = "quba"; | pname = "quba"; | ||
name = "${pname}-${version}"; | name = "${pname}-${version}"; | ||
src = fetchurl { | src = fetchurl { | ||
url = "https://github.com/ZUGFeRD/quba-viewer/releases/download/v${version}/Quba-${version}.AppImage"; | url = "https://github.com/ZUGFeRD/quba-viewer/releases/download/v${version}/Quba-${version}.AppImage"; | ||
hash = "sha256-EsTF7W1np5qbQQh3pdqsFe32olvGK3AowGWjqHPEfoM="; | hash = "sha256-EsTF7W1np5qbQQh3pdqsFe32olvGK3AowGWjqHPEfoM="; | ||
}; | }; | ||
appimageContents = appimageTools.extractType1 { inherit name src; }; | appimageContents = appimageTools.extractType1 { inherit name src; }; | ||
in | in | ||
appimageTools.wrapType1 { | appimageTools.wrapType1 { | ||
inherit name src; | inherit name src; | ||
extraInstallCommands = '' | extraInstallCommands = '' | ||
mv $out/bin/${name} $out/bin/${pname} | mv $out/bin/${name} $out/bin/${pname} | ||
Line 50: | Line 48: | ||
cp -r ${appimageContents}/usr/share/icons $out/share | cp -r ${appimageContents}/usr/share/icons $out/share | ||
''; | ''; | ||
meta = { | meta = { | ||
description = "Viewer for electronic invoices"; | description = "Viewer for electronic invoices"; | ||
Line 64: | Line 60: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<span id="Configuration"></span> | <span id="Configuration"></span> |