このリポジトリには、NIMコンパイラ、NIMのSTDLIB、ツール、ドキュメントが含まれています。最新リリースのダウンロードやドキュメントなど、NIMの詳細については、NIMのWebサイトまたはBleeding Edgeドキュメントをご覧ください。
コンパイラは現在、次のプラットフォームとアーキテクチャの組み合わせを正式にサポートしています。
| オペレーティング·システム | サポートされているアーキテクチャ |
|---|---|
| Windows(Windows XP以上) | x86およびx86_64 |
| Linux(ほとんどの分布) | x86、x86_64、ppc64、およびarmv6l |
| Mac OS X(10.04以降) | X86、X86_64、PPC64、およびApple Silicon(ARM64) |
より多くのプラットフォームがサポートされていますが、それらは定期的にテストされておらず、上記のプラットフォームほど安定していない可能性があります。
NIMコンパイラをコンパイルすることは、これらの手順に従う場合、非常に簡単です。
まず、NIMコンパイラ自体がNIMプログラミング言語で書かれているため、最新バージョンをブートストラップするには、NIMコンパイラの古いバージョンのCソースが必要です。これらのCソースはnim-lang/csources_v2リポジトリ内で入手できます。
次に、ソースから構築するには、次のことが必要です。
gcc 6.x/後のACコンパイラ、またはclang 、 Visual C++ 、 Intel C++などの代替手段。 gcc 6.x以降を使用することをお勧めします。gitまたはwgetいずれか。gccを使用する場合のbuild-essentialパッケージ(およびおそらく他のディストリビューションも同様です)。Windows注:Cygwinおよび同様のPOSIXランタイム環境はサポートされていません。
次に、 *nixシステムまたはWindowsにいる場合は、 gcc 、 git 、およびkochビルドツールを使用して、ソースからNIMをコンパイルする必要があります。
注:次のコマンドは、コンパイラの開発バージョン用です。ほとんどのユーザーにとって、最新の安定したバージョンをインストールするだけで十分です。 Webサイトのインストール手順を確認してください:https://nim-lang.org/install.html。
パッケージメンテナーについては、パッケージングガイドラインを参照してください。
まず、GithubからNimを取得します:
git clone https://github.com/nim-lang/Nim.git
cd Nim
次に、プラットフォームに適切なビルドシェルスクリプトを実行します。
build_all.sh (Linux、Mac)build_all.bat (windows)最後に、ビルドステップ(Windows、Mac、またはLinux)を完了したら、 binディレクトリをパスに追加する必要があります。
コンパイラのブートストラップも参照してください。
再現可能なビルドも参照してください。
koch 、NIMのさまざまな部分を構築し、ドキュメントやWebサイトなどを生成するために使用されるビルドツールです。 kochツールは、NIMテストスイートの実行にも使用できます。
NIMのbinディレクトリをパスに追加したと仮定すると、 ./koch testsを使用してテストを実行できます。テストの実行には時間がかかりますが、カテゴリを指定することでテストのサブセットを実行できます(たとえば./koch tests cat async )。
kochビルドツールの詳細については、doc/koch.mdファイル内のドキュメントを参照してください。
nimbleはNIMのパッケージマネージャーです。詳細については、 nim-lang/nimbleリポジトリを参照してください。
このプロジェクトは、貢献するすべての人々のおかげで存在します。
詳細な貢献ガイドラインを参照してください。それらがどれほど小さいか大きいかに関係なく、NIMへのすべての貢献を歓迎します。標準ライブラリに含まれるスペル修正から新しいモジュールまで、すべてが歓迎され、高く評価されています。貢献を開始する前に、次のリポジトリ構造に慣れる必要があります。
bin/ 、 build/ - これらのディレクトリは空ですが、NIMが構築されるときに使用されます。compiler/ - コンパイラソースコード。 compiler/plugins内のプラグインも含まれています。nimsuggest以前はnim-lang/nimsuggestリポジトリに住んでいたNimSuggestツール。config/ -コンパイラおよびドキュメントジェネレーターの構成。doc/ -rcructuredText形式のドキュメントファイル。lib/ - 標準ライブラリ、以下を含む:pure/ - 純粋なNIMで記述された標準ライブラリのモジュール。impure/ - 他の言語で依存関係が記述されたモジュール。wrappers/ - 他の言語で記述された依存関係をラップするモジュール。tests/ - コンパイラおよび標準ライブラリの分類されたテストが含まれています。tools/ - niminstを含むツール(主にkochを介して呼び出されます)。koch.nim -NIMをブートストラップし、Cソースを生成し、Webサイトを構築し、ドキュメントを生成するために使用されるツール。GitHubおよび/またはGitを使用してプルリクエストを作成することに慣れていない場合は、このガイドをお読みください。
理想的には、プルリクエストを送信する前に、すべてのテストが合格することを確認する必要があります。ただし、時間内に不足している場合は、対応するカテゴリのテストのみを実行することで、変更に固有のテストを実行するだけです。 CIは、プル要求を受け入れることを許可する前にすべてのテストが通過することを確認するため、特定のテストのみを実行することは無害である必要があります。統合テストはtests/untestableで行われるはずです。
貢献する方法を探している場合は、問題トラッカーをご覧ください。 Easyラベル付けされた問題は常にたくさんあります。これらは、NIMへの最初の貢献の良い出発点である必要があります。
また、寄付をすることでNIMの開発を支援することもできます。寄付は以下を使用して行うことができます。
ご質問がある場合は、NIMフォーラムまたは#NIMチャンネルでIRCを介して質問を送信してください。
すべての支援者に感謝します! [支援者になる]
スポンサーになることにより、このプロジェクトをサポートします。あなたのロゴは、あなたのウェブサイトへのリンクでここに表示されます。 [スポンサーになる]
また、当社のウェブサイトのスポンサーページで、さまざまな支払いサービスのすべてのスポンサー/バッカーのリストを見ることができます。
コンパイラと標準ライブラリは、MITライセンスの下でライセンスされていますが、それ以外の場合は明示的に述べられているモジュールを除きます。その結果、NIMを使用して開発された独自のプログラムに、互換性のあるライセンス(基本的に任意のライセンス)を使用できます。 NIMを使用して商用アプリケーションを開発することが明示的に許可されています。
詳細については、copying.txtファイルをお読みください。
Copyright©2006-2024 Andreas Rumpf、All Rights Reserved。