# distros

- マニュアル
- 標準ライブラリ
- 索引

検索
分類:

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

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

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

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

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

# インポート

strutils, osproc, os

# 型

    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` 型が必要になります。修飾子は列挙型の値に追加されます。 ソース 編集