distros

このモジュールは Linux ディストリビューション ("ディストロ") の検出、および OS ネイティブのパッケージマネージャで使う基盤技術の実装です。主な用途は Nimble パッケージ出力などを生成することです。

インストールを完了するには、下記のコマンドを実行します。

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

上述の出力結果によるコードスニペットは、

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

Distribution {...}{.pure.} = enum
  Windows,                    ## Windows のバージョン
  Posix,                      ## POSIX システム
  MacOSX,                     ## OSX のバージョン
  Linux,                      ## 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, ## Unix OS または Unix ビルド環境
  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: [],
    tags: [].}
'foreignPackageName' のインストールで使うディストリビューションのネイティブコマンドライン、および root/admin 権限が必要であるかの有無を返します。  ソース 編集
proc foreignDep(foreignPackageName: string) {...}{.raises: [], tags: [].}
外部パッケージの依存性で使う内部リストに 'foreignPackageName' を登録します。パッケージ名の遵守は開発者の義務です。   ソース 編集
proc echoForeignDeps() {...}{.raises: [], tags: [].}
登録された外部パッケージの依存性リストを標準出力に書き出します。  ソース 編集

テンプレート

template detectOs(d: untyped): bool
ディストリビューション / OS を検出します。便宜上、 Distribution 型が必要になります。修飾子は列挙型の値に追加されます。  ソース 編集