mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-28 18:24:01 +00:00
@@ -1,3 +1,20 @@
|
||||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
.. contents::
|
||||
|
||||
|
||||
Contributing happens via "Pull requests" (PR) on github. Every PR needs to be
|
||||
reviewed before it can be merged and the Continuous Integration should be green.
|
||||
|
||||
The PR has to be approved (and is often merged too) by one "code owner", either
|
||||
by the code owner who is responsible for the subsystem the PR belongs to or by
|
||||
two core developers or by Araq.
|
||||
|
||||
See `codeowners <codeowners.html>`_ for more details.
|
||||
|
||||
|
||||
Writing tests
|
||||
=============
|
||||
|
||||
@@ -84,6 +101,21 @@ list of these, see ``testament/categories.nim``, at the bottom.
|
||||
|
||||
./koch tests c lib
|
||||
|
||||
To run a single test:
|
||||
|
||||
::
|
||||
|
||||
./koch tests c <category>/<name>
|
||||
|
||||
E.g. ``./koch test run stdlib/thttpclient_ssl``
|
||||
|
||||
For reproducible tests (to reproduce an environment more similar to the one
|
||||
run by Continuous Integration on travis/appveyor), you may want to disable your
|
||||
local configuration (eg in ``~/.config/nim/nim.cfg``) which may affect some
|
||||
tests; this can also be achieved by using
|
||||
``export XDG_CONFIG_HOME=pathtoAlternateConfig`` before running ``./koch``
|
||||
commands.
|
||||
|
||||
Comparing tests
|
||||
===============
|
||||
|
||||
|
||||
69
doc/packaging.rst
Normal file
69
doc/packaging.rst
Normal file
@@ -0,0 +1,69 @@
|
||||
=============
|
||||
Packaging Nim
|
||||
=============
|
||||
|
||||
|
||||
Supported architectures
|
||||
-----------------------
|
||||
|
||||
Nim runs on a wide variety of platforms. Support on amd64 and i386 is tested regularly, while less popular platforms are tested by the community.
|
||||
|
||||
- amd64
|
||||
- arm64 (aka aarch64)
|
||||
- armel
|
||||
- armhf
|
||||
- i386
|
||||
- m68k
|
||||
- mips64el
|
||||
- mipsel
|
||||
- powerpc
|
||||
- ppc64
|
||||
- ppc64el (aka ppc64le)
|
||||
- riscv64
|
||||
|
||||
The following platforms are seldomly tested:
|
||||
|
||||
- alpha
|
||||
- hppa
|
||||
- ia64
|
||||
- mips
|
||||
- s390x
|
||||
- sparc64
|
||||
|
||||
Packaging for Linux
|
||||
-------------------
|
||||
|
||||
See https://github.com/nim-lang/Nim/labels/Installation for installation-related bugs.
|
||||
|
||||
Build Nim from the released tarball at https://nim-lang.org/install_unix.html
|
||||
It is different from the GitHub sources as it contains Nimble, C sources & other tools.
|
||||
|
||||
The Debian package ships bash and ksh completion and manpages that can be reused.
|
||||
|
||||
Hints on the build process:
|
||||
|
||||
::
|
||||
|
||||
# build from C sources and then using koch
|
||||
./build.sh --os $os_type --cpu $cpu_arch
|
||||
./bin/nim c koch
|
||||
./koch boot -d:release
|
||||
|
||||
# optionally generate docs into doc/html
|
||||
./koch docs
|
||||
|
||||
./koch tools -d:release
|
||||
|
||||
# extract files to be really installed
|
||||
./install.sh <tempdir>
|
||||
|
||||
# also include the tools
|
||||
for fn in nimble nimsuggest nimgrep; do cp ./bin/$fn <tempdir>/nim/bin/; done
|
||||
|
||||
What to install:
|
||||
|
||||
- The expected stdlib location is /usr/lib/nim
|
||||
- Global configuration files under /etc/nim
|
||||
- Optionally: manpages, documentation, shell completion
|
||||
- When installing documentation, .idx files are not required
|
||||
- The "compiler" directory contains compiler sources and should not be part of the compiler binary package
|
||||
Reference in New Issue
Block a user