Spec-Zone.ru › Nim

std/distros

Source Edit

Этот модуль реализует основы для определения дистрибутива Linux ("дистро") и системного менеджера пакетов. Его основная цель — выводить информацию для пакетов Nimble, например:

To complete the installation, run:

sudo apt-get install libblas-dev
sudo apt-get install libvoodoo

Вышеприведённый вывод может быть результатом фрагмента кода, такого как:

if detectOs(Ubuntu):
  foreignDep "lbiblas-dev"
  foreignDep "libvoodoo"

См. packaging за подсказками по распространению Nim с помощью пакетов ОС.

Импорты

strutils, osproc, envvars

Типы

Distribution {.pure.} = enum
  Windows,                  ## some version of Windows
  Posix,                    ## some POSIX system
  MacOSX,                   ## some version of OSX
  Linux,                    ## some version of Linux
  Ubuntu, Debian, Gentoo, Fedora, RedHat, OpenSUSE, Manjaro, Elementary, Zorin,
  CentOS, Deepin, ArchLinux, Artix, Antergos, PCLinuxOS, Mageia, LXLE, Solus,
  Lite, Slackware, Androidx86, Puppy, Peppermint, Tails, AntiX, Kali,
  SparkyLinux, Apricity, BlackLab, Bodhi, TrueOS, ArchBang, KaOS, WattOS,
  Korora, Simplicity, RemixOS, OpenMandriva, Netrunner, Alpine, BlackArch,
  Ultimate, Gecko, Parrot, KNOPPIX, GhostBSD, Sabayon, Salix, Q4OS, ClearOS,
  Container, ROSA, Zenwalk, Parabola, ChaletOS, BackBox, MXLinux, Vector, Maui,
  Qubes, RancherOS, Oracle, TinyCore, Robolinux, Trisquel, Voyager, Clonezilla,
  SteamOS, Absolute, NixOS, ## NixOS or a Nix build environment
  AUSTRUMI, Arya, Porteus, AVLinux, Elive, Bluestar, SliTaz, Solaris, Chakra,
  Wifislax, Scientific, ExTiX, Rockstor, GoboLinux, Void, BSD, FreeBSD, NetBSD,
  OpenBSD, DragonFlyBSD, Haiku
список известных дистрибутивов Source Edit

Переменные

foreignDeps: seq[string] = @[]
Зарегистрированные внешние зависимости. Source Edit

Константы

LacksDevPackages = {Distribution.Gentoo, Distribution.Slackware,
                    Distribution.ArchLinux, Distribution.Artix,
                    Distribution.Antergos, Distribution.BlackArch,
                    Distribution.ArchBang}
Source Edit

Процедуры

proc echoForeignDeps() {....raises: [], tags: [], forbids: [].}
Выводит список зарегистрированных внешних зависимостей в стандартный вывод. Source Edit
proc foreignCmd(cmd: string; requiresSudo = false) {....raises: [], tags: [],
    forbids: [].}
Регистрирует внешнюю команду в внутреннем списке команд, которые можно запросить позже. Source Edit
proc foreignDep(foreignPackageName: string) {....raises: [], tags: [], forbids: [].}
Регистрирует foreignPackageName во внутреннем списке внешних зависимостей. Вам необходимо убедиться в правильности имени пакета. Source Edit
proc foreignDepInstallCmd(foreignPackageName: string): (string, bool) {.
    ...raises: [], tags: [], forbids: [].}
Возвращает системную команду дистрибутива для установки foreignPackageName и требует ли она прав администратора. Source Edit

Шаблоны

template detectOs(d: untyped): bool
Обнаружение дистрибутива/ОС. Для удобства добавляется необходимая Distribution. квалификация к значению перечисления. Source Edit

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/distros.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API