mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-03 22:18:40 +00:00
Deploy to GitHub pages
This commit is contained in:
338
niminst.html
Normal file
338
niminst.html
Normal file
@@ -0,0 +1,338 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- This file is generated by Nim. -->
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>niminst User's manual</title>
|
||||
|
||||
<!-- Google fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
||||
|
||||
<!-- JS -->
|
||||
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="documentId">
|
||||
<input type="checkbox" id="nav-toggle" hidden>
|
||||
<label for="nav-toggle" id="nav-burger">☰</label>
|
||||
<label for="nav-toggle" id="nav-overlay"></label>
|
||||
<div class="container">
|
||||
<h1 class="title">niminst User's manual</h1>
|
||||
<div class="row">
|
||||
<div class="three columns">
|
||||
<div class="theme-select-wrapper">
|
||||
<label for="theme-select">Theme: </label>
|
||||
<select id="theme-select" onchange="setTheme(this.value)">
|
||||
<option value="auto">🌗 Match OS</option>
|
||||
<option value="dark">🌑 Dark</option>
|
||||
<option value="light">🌕 Light</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="global-links">
|
||||
<ul class="simple-boot">
|
||||
<li><a href="manual.html">Manual</a></li>
|
||||
<li><a href="lib.html">Standard library</a></li>
|
||||
<li> <a id="indexLink" href="theindex.html">Index</a></li>
|
||||
<li><a href="compiler/theindex.html">Compiler docs</a></li>
|
||||
<li><a href="https://nim-lang.github.io/fusion/theindex.html">Fusion docs</a></li>
|
||||
<li><a href="https://nim-lang.github.io/Nim/">devel</a>, <a href="https://nim-lang.org/documentation.html">stable</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchInputDiv">
|
||||
Search: <input type="search" id="searchInput"
|
||||
oninput="search()" />
|
||||
</div>
|
||||
<div class="search-groupby">
|
||||
Group by:
|
||||
<select onchange="groupBy(this.value)">
|
||||
<option value="section">Section</option>
|
||||
<option value="type">Type</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<ul class="simple simple-toc" id="toc-list">
|
||||
<li><a class="reference" id="introduction_toc" href="#introduction">Introduction</a></li>
|
||||
<li><a class="reference" id="configuration-file_toc" href="#configuration-file">Configuration file</a></li>
|
||||
<ul class="simple"><li><a class="reference" id="configuration-file-project-section_toc" href="#configuration-file-project-section">Project section</a></li>
|
||||
<li><a class="reference" id="configuration-file-nimfiles-key_toc" href="#configuration-file-nimfiles-key"><tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key</a></li>
|
||||
<li><a class="reference" id="configuration-file-config-section_toc" href="#configuration-file-config-section">Config section</a></li>
|
||||
<li><a class="reference" id="configuration-file-documentation-section_toc" href="#configuration-file-documentation-section">Documentation section</a></li>
|
||||
<li><a class="reference" id="configuration-file-other-section_toc" href="#configuration-file-other-section">Other section</a></li>
|
||||
<li><a class="reference" id="configuration-file-lib-section_toc" href="#configuration-file-lib-section">Lib section</a></li>
|
||||
<li><a class="reference" id="configuration-file-windows-section_toc" href="#configuration-file-windows-section">Windows section</a></li>
|
||||
<li><a class="reference" id="configuration-file-unixbin-section_toc" href="#configuration-file-unixbin-section">UnixBin section</a></li>
|
||||
<li><a class="reference" id="configuration-file-unix-section_toc" href="#configuration-file-unix-section">Unix section</a></li>
|
||||
<li><a class="reference" id="configuration-file-innosetup-section_toc" href="#configuration-file-innosetup-section">InnoSetup section</a></li>
|
||||
<li><a class="reference" id="configuration-file-c-compiler-section_toc" href="#configuration-file-c-compiler-section">C_Compiler section</a></li>
|
||||
</ul><li><a class="reference" id="realminusworld-example_toc" href="#realminusworld-example">Real-world example</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="nine columns" id="content">
|
||||
<a href="https://github.com/nim-lang/Nim/tree/devel/doc/niminst.md#L1" class="link-seesrc" target="_blank">Source</a>
|
||||
<a href="https://github.com/nim-lang/Nim/edit/devel/doc/niminst.md#L1" class="link-seesrc" target="_blank" >Edit</a>
|
||||
|
||||
<div id="tocRoot"></div>
|
||||
|
||||
<p class="module-desc"><table class="docinfo" frame="void" rules="none"><col class="docinfo-name" /><col class="docinfo-content" /><tbody valign="top"><tr><th class="docinfo-name">Author:</th><td>Andreas Rumpf</td></tr>
|
||||
<tr><th class="docinfo-name">Version:</th><td>2.3.1</td></tr>
|
||||
</tbody></table>
|
||||
<h1><a class="toc-backref" id="introduction" href="#introduction">Introduction</a></h1><p>niminst is a tool to generate an installer for a Nim program. Currently it can create an installer for Windows via <a class="reference external" href="https://www.jrsoftware.org/isinfo.php">Inno Setup</a> as well as installation/deinstallation scripts for UNIX. Later versions will support Linux' package management systems.</p>
|
||||
<p>niminst works by reading a configuration file that contains all the information that it needs to generate an installer for the different operating systems.</p>
|
||||
|
||||
<h1><a class="toc-backref" id="configuration-file" href="#configuration-file">Configuration file</a></h1><p>niminst uses the Nim <a class="reference external" href="parsecfg.html">parsecfg</a> module to parse the configuration file. Here's an example of how the syntax looks like:</p>
|
||||
<pre># This is a comment.
|
||||
; this too.
|
||||
|
||||
[Common]
|
||||
cc=gcc # '=' and ':' are the same
|
||||
--foo="bar" # '--cc' and 'cc' are the same, 'bar' and '"bar"' are the same (except for '#')
|
||||
macrosym: "#" # Note that '#' is interpreted as a comment without the quotation
|
||||
--verbose
|
||||
|
||||
[Windows]
|
||||
isConsoleApplication=False ; another comment
|
||||
|
||||
[Posix]
|
||||
isConsoleApplication=True
|
||||
|
||||
key1: "in this string backslash escapes are interpreted\n"
|
||||
key2: r"in this string not"
|
||||
key3: """triple quotes strings
|
||||
are also supported. They may span
|
||||
multiple lines."""
|
||||
|
||||
--"long option with spaces": r"c:\myfiles\test.txt"
|
||||
</pre>
|
||||
<p>The value of a key-value pair can reference user-defined variables via the <tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">variable</span></span></tt> notation: They can be defined in the command line with the <tt class="docutils literal"><span class="pre option">--var:name=value</span></tt> switch. This is useful to not hard-coding the program's version number into the configuration file, for instance.</p>
|
||||
<p>It follows a description of each possible section and how it affects the generated installers.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-project-section" href="#configuration-file-project-section">Project section</a></h2><p>The project section gathers general information about your project. It must contain the following key-value pairs:</p>
|
||||
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Name</span></span></tt></td><td>the project's name; this needs to be a single word</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">DisplayName</span></span></tt></td><td>the project's long name; this can contain spaces. If not specified, this is the same as <tt class="docutils literal"><span class="pre"><span class="Identifier">Name</span></span></tt>.</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Version</span></span></tt></td><td>the project's version</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">OS</span></span></tt></td><td>the OSes to generate C code for; for example: <tt class="docutils literal"><span class="pre"><span class="StringLit">"windows;linux;macosx"</span></span></tt></td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">CPU</span></span></tt></td><td>the CPUs to generate C code for; for example: <tt class="docutils literal"><span class="pre"><span class="StringLit">"i386;amd64;powerpc"</span></span></tt></td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Authors</span></span></tt></td><td>the project's authors</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Description</span></span></tt></td><td>the project's description</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">App</span></span></tt></td><td>the application's type: "Console" or "GUI". If "Console", niminst generates a special batch file for Windows to open up the command-line shell.</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">License</span></span></tt></td><td>the filename of the application's license</td></tr>
|
||||
</table>
|
||||
<h2><a class="toc-backref" id="configuration-file-nimfiles-key" href="#configuration-file-nimfiles-key"><tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key</a></h2><p>Many sections support the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed filenames can be separated by semicolon or the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key can be repeated. Wildcards in filenames are supported. If it is a directory name, all files in the directory are used:</p>
|
||||
<pre>[Config]
|
||||
Files: "configDir"
|
||||
Files: "otherconfig/*.conf;otherconfig/*.cfg"</pre>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-config-section" href="#configuration-file-config-section">Config section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">config</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's configuration directory.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-documentation-section" href="#configuration-file-documentation-section">Documentation section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">documentation</span></span></tt> section supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native documentation directory (which might be <tt class="docutils literal"><span class="pre">$appdir/doc</span></tt>).</p>
|
||||
<p>There is a <tt class="docutils literal"><span class="pre"><span class="Identifier">start</span></span></tt> key which determines whether the Windows installer generates a link to e.g. the <tt class="docutils literal"><span class="pre">index.html</span></tt> of your documentation.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-other-section" href="#configuration-file-other-section">Other section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">other</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the application installation directory (<tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span></span></tt>).</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-lib-section" href="#configuration-file-lib-section">Lib section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">lib</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native library directory (which might be <tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span><span class="Operator">/</span><span class="Identifier">lib</span></span></tt>).</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-windows-section" href="#configuration-file-windows-section">Windows section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">windows</span></span></tt> section supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key for Windows-specific files. Listed files will be installed into the application installation directory (<tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span></span></tt>).</p>
|
||||
<p>Other possible options are:</p>
|
||||
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">BinPath</span></span></tt></td><td>paths to add to the Windows <tt class="docutils literal"><span class="pre"><span class="Operator">%</span><span class="Identifier">PATH</span><span class="Operator">%</span></span></tt> environment variable. Example: <tt class="docutils literal"><span class="pre">BinPath: r"bin;dist\mingw\bin"</span></tt></td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">InnoSetup</span></span></tt></td><td>boolean flag whether an Inno Setup installer should be generated for Windows. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">InnoSetup</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
||||
</table>
|
||||
<h2><a class="toc-backref" id="configuration-file-unixbin-section" href="#configuration-file-unixbin-section">UnixBin section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">UnixBin</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native bin directory (e.g. <tt class="docutils literal"><span class="pre">/usr/local/bin</span></tt>). The exact location depends on the installation path the user specifies when running the <tt class="docutils literal"><span class="pre"><span class="Identifier">install</span><span class="Operator">.</span><span class="Identifier">sh</span></span></tt> script.</p>
|
||||
|
||||
<h2><a class="toc-backref" id="configuration-file-unix-section" href="#configuration-file-unix-section">Unix section</a></h2><p>Possible options are:</p>
|
||||
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">InstallScript</span></span></tt></td><td>boolean flag whether an installation shell script should be generated. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">InstallScript</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">UninstallScript</span></span></tt></td><td>boolean flag whether a de-installation shell script should be generated. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">UninstallScript</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
||||
</table>
|
||||
<h2><a class="toc-backref" id="configuration-file-innosetup-section" href="#configuration-file-innosetup-section">InnoSetup section</a></h2><p>Possible options are:</p>
|
||||
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt></td><td>Path to Inno Setup. Example: <tt class="docutils literal"><span class="pre">path = r"c:\inno setup 5\iscc.exe"</span></tt></td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span></span></tt></td><td>Flags to pass to Inno Setup. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span> <span class="Operator">=</span> <span class="StringLit">"/Q"</span></span></tt></td></tr>
|
||||
</table>
|
||||
<h2><a class="toc-backref" id="configuration-file-c-compiler-section" href="#configuration-file-c-compiler-section">C_Compiler section</a></h2><p>Possible options are:</p>
|
||||
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt></td><td>Path to the C compiler.</td></tr>
|
||||
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span></span></tt></td><td>Flags to pass to the C Compiler. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span> <span class="Operator">=</span> <span class="StringLit">"-w"</span></span></tt></td></tr>
|
||||
</table>
|
||||
<h1><a class="toc-backref" id="realminusworld-example" href="#realminusworld-example">Real-world example</a></h1><p>The installers for the Nim compiler itself are generated by niminst. Have a look at its configuration file:</p>
|
||||
<pre>; This config file holds configuration information about the Nim compiler
|
||||
; and project.
|
||||
|
||||
[Project]
|
||||
Name: "Nim"
|
||||
Version: "$version"
|
||||
Platforms: """
|
||||
windows: i386;amd64
|
||||
linux: i386;hppa;ia64;alpha;amd64;powerpc64;arm;sparc;sparc64;s390x;m68k;mips;mipsel;mips64;mips64el;powerpc;powerpc64el;arm64;riscv32;riscv64;loongarch64
|
||||
macosx: i386;amd64;powerpc64;arm64
|
||||
solaris: i386;amd64;sparc;sparc64
|
||||
freebsd: i386;amd64;powerpc64;arm;arm64;riscv64;sparc64;mips;mipsel;mips64;mips64el;powerpc;powerpc64el
|
||||
netbsd: i386;amd64;arm64
|
||||
openbsd: i386;amd64;arm;arm64
|
||||
dragonfly: i386;amd64
|
||||
crossos: amd64
|
||||
haiku: i386;amd64
|
||||
android: i386;arm;arm64
|
||||
nintendoswitch: arm64
|
||||
"""
|
||||
|
||||
Authors: "Andreas Rumpf"
|
||||
Description: """This is the Nim Compiler. Nim is a new statically typed,
|
||||
imperative programming language, that supports procedural, functional, object
|
||||
oriented and generic programming styles while remaining simple and efficient.
|
||||
A special feature that Nim inherited from Lisp is that Nim's abstract
|
||||
syntax tree (AST) is part of the specification - this allows a powerful macro
|
||||
system which can be used to create domain specific languages.
|
||||
|
||||
Nim is a compiled, garbage-collected systems programming language
|
||||
which has an excellent productivity/performance ratio. Nim's design
|
||||
focuses on the 3E: efficiency, expressiveness, elegance (in the order of
|
||||
priority)."""
|
||||
|
||||
App: Console
|
||||
License: "copying.txt"
|
||||
|
||||
[Config]
|
||||
Files: "config/*.cfg"
|
||||
Files: "config/config.nims"
|
||||
|
||||
[Documentation]
|
||||
; Files: "doc/*.html"
|
||||
; Files: "doc/*.cfg"
|
||||
; Files: "doc/*.pdf"
|
||||
; Files: "doc/*.ini"
|
||||
Files: "doc/html/overview.html"
|
||||
Start: "doc/html/overview.html"
|
||||
|
||||
|
||||
[Other]
|
||||
Files: "copying.txt"
|
||||
Files: "koch.nim"
|
||||
|
||||
Files: "icons/nim.ico"
|
||||
Files: "icons/nim.rc"
|
||||
Files: "icons/nim.res"
|
||||
Files: "icons/nim_icon.o"
|
||||
Files: "icons/koch.ico"
|
||||
Files: "icons/koch.rc"
|
||||
Files: "icons/koch.res"
|
||||
Files: "icons/koch_icon.o"
|
||||
|
||||
Files: "compiler"
|
||||
Files: "doc"
|
||||
Files: "doc/html"
|
||||
Files: "tools"
|
||||
Files: "tools/debug/nim-gdb.py"
|
||||
Files: "nimpretty"
|
||||
Files: "testament"
|
||||
Files: "nimsuggest"
|
||||
Files: "nimsuggest/tests/*.nim"
|
||||
Files: "changelogs/*.md"
|
||||
Files: "ci/funs.sh"
|
||||
|
||||
[Lib]
|
||||
Files: "lib"
|
||||
|
||||
[Other]
|
||||
Files: "examples"
|
||||
Files: "dist/nimble"
|
||||
Files: "dist/checksums"
|
||||
Files: "dist/nimony"
|
||||
|
||||
Files: "tests"
|
||||
|
||||
[Windows]
|
||||
Files: "bin/nim.exe"
|
||||
Files: "bin/nimgrep.exe"
|
||||
Files: "bin/nimsuggest.exe"
|
||||
Files: "bin/nimble.exe"
|
||||
Files: "bin/vccexe.exe"
|
||||
Files: "bin/nimgrab.exe"
|
||||
Files: "bin/nimpretty.exe"
|
||||
Files: "bin/testament.exe"
|
||||
Files: "bin/nim-gdb.bat"
|
||||
Files: "bin/atlas.exe"
|
||||
|
||||
Files: "koch.exe"
|
||||
Files: "finish.exe"
|
||||
; Files: "bin/downloader.exe"
|
||||
|
||||
; Files: "dist/mingw"
|
||||
Files: r"tools\start.bat"
|
||||
BinPath: r"bin;dist\mingw\bin;dist"
|
||||
|
||||
; Section | dir | zipFile | size hint (in KB) | url | exe start menu entry
|
||||
Download: r"Documentation|doc|docs.zip|13824|https://nim-lang.org/download/docs-${version}.zip|overview.html"
|
||||
Download: r"C Compiler (MingW)|dist|mingw.zip|82944|https://nim-lang.org/download/${mingw}.zip"
|
||||
Download: r"Support DLLs|bin|nim_dlls.zip|479|https://nim-lang.org/download/dlls.zip"
|
||||
Download: r"Aporia Text Editor|dist|aporia.zip|97997|https://nim-lang.org/download/aporia-0.4.0.zip|aporia-0.4.0\bin\aporia.exe"
|
||||
; for now only NSIS supports optional downloads
|
||||
|
||||
[WinBin]
|
||||
Files: "bin/makelink.exe"
|
||||
Files: "bin/7zG.exe"
|
||||
Files: "bin/*.dll"
|
||||
Files: "bin/cacert.pem"
|
||||
|
||||
[UnixBin]
|
||||
Files: "bin/nim"
|
||||
|
||||
|
||||
[Unix]
|
||||
InstallScript: "yes"
|
||||
UninstallScript: "yes"
|
||||
Files: "bin/nim-gdb"
|
||||
Files: "build_all.sh"
|
||||
|
||||
|
||||
[InnoSetup]
|
||||
path = r"c:\Program Files (x86)\Inno Setup 5\iscc.exe"
|
||||
flags = "/Q"
|
||||
|
||||
[NSIS]
|
||||
flags = "/V0"
|
||||
|
||||
[C_Compiler]
|
||||
path = r""
|
||||
flags = "-w"
|
||||
|
||||
|
||||
[deb]
|
||||
buildDepends: "gcc (>= 4:4.3.2)"
|
||||
pkgDepends: "gcc (>= 4:4.3.2)"
|
||||
shortDesc: "The Nim Compiler"
|
||||
licenses: "bin/nim,MIT;lib/*,MIT;"
|
||||
|
||||
[nimble]
|
||||
pkgName: "nim"
|
||||
pkgFiles: "compiler/*;doc/basicopt.txt;doc/advopt.txt;doc/nimdoc.css;doc/nimdoc.cls"
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="twelve-columns footer">
|
||||
<span class="nim-sprite"></span>
|
||||
<br>
|
||||
<small style="color: var(--hint);">Made with Nim. Generated: 2026-07-22 18:30:54 UTC</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user