Spec-Zone.ru › Nim 1

distros

Этот модуль реализует основы для определения дистрибутива 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, os

Типы

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, 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, BSD, FreeBSD, OpenBSD,
  DragonFlyBSD, Haiku
список известных дистрибутивов Исходный код Редактировать

Константы

LacksDevPackages = {Distribution.Gentoo, Distribution.Slackware,
                    Distribution.ArchLinux}
Исходный код Редактировать

Процедуры

proc foreignCmd(cmd: string; requiresSudo = false) {...}{.raises: [], tags: [].}
Регистрирует внешнюю команду в внутреннем списке команд, которые можно запросить позже. Исходный код Редактировать
proc foreignDepInstallCmd(foreignPackageName: string): (string, bool) {...}{.
    raises: [Exception, IOError, OSError],
    tags: [ExecIOEffect, ReadIOEffect, RootEffect, ReadEnvEffect].}
Возвращает родную командную строку дистрибутива для установки 'foreignPackageName' и требуется ли для этого права администратора. Исходный код Редактировать
proc foreignDep(foreignPackageName: string) {...}{.
    raises: [Exception, IOError, OSError],
    tags: [ExecIOEffect, ReadIOEffect, RootEffect, ReadEnvEffect].}
Регистрирует 'foreignPackageName' во внутреннем списке внешних зависимостей. Вам необходимо убедиться, что имя пакета Исходный код Редактировать
proc echoForeignDeps() {...}{.raises: [], tags: [].}
Выводит список зарегистрированных внешних зависимостей в стандартный вывод. Исходный код Редактировать

Шаблоны

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

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

Spec-Zone.ru

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