mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-09 14:32:53 +00:00
Document how to compile a reproducible build (#18953)
* Make compiler build more reproducible
Removed the compile time from the version output.
Added Git commit's author's datetime in UTC timezone.
Fixes #18508
See https://reproducible-builds.org/docs/timestamps/
See https://reproducible-builds.org/docs/source-date-epoch/
* Revert "Make compiler build more reproducible"
This reverts commit 2f9359ae89.
Documented how to use compile reproducible builds with the
`SOURCE_DATE_EPOCH` environment variable.
* Corrected `readme.md` formatting
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
This commit is contained in:
@@ -68,6 +68,17 @@ More information about its options can be found in the `koch <koch.html>`_
|
||||
documentation.
|
||||
|
||||
|
||||
Reproducible builds
|
||||
-------------------
|
||||
|
||||
Set the compilation timestamp with the `SOURCE_DATE_EPOCH` environment variable.
|
||||
|
||||
.. code:: cmd
|
||||
|
||||
export SOURCE_DATE_EPOCH=$(git log -n 1 --format=%at)
|
||||
koch boot # or `./build_all.sh`
|
||||
|
||||
|
||||
Developing the compiler
|
||||
=======================
|
||||
|
||||
|
||||
@@ -6,6 +6,9 @@ This page provide hints on distributing Nim using OS packages.
|
||||
|
||||
See `distros <distros.html>`_ for tools to detect Linux distribution at runtime.
|
||||
|
||||
See `here <intern.html#bootstrapping-the-compiler-reproducible-builds>`_ for how to
|
||||
compile reproducible builds.
|
||||
|
||||
Supported architectures
|
||||
-----------------------
|
||||
|
||||
@@ -71,3 +74,4 @@ What to install:
|
||||
- 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
|
||||
|
||||
|
||||
@@ -71,7 +71,6 @@ the installation instructions on the website to do so: https://nim-lang.org/inst
|
||||
|
||||
For package maintainers: see [packaging guidelines](https://nim-lang.github.io/Nim/packaging.html).
|
||||
|
||||
|
||||
First, get Nim from github:
|
||||
|
||||
```
|
||||
@@ -89,6 +88,8 @@ should add the ``bin`` directory to your PATH.
|
||||
|
||||
See also [rebuilding the compiler](doc/intern.rst#rebuilding-the-compiler).
|
||||
|
||||
See also [reproducible builds](doc/intern.rst#reproducible-builds).
|
||||
|
||||
## Koch
|
||||
|
||||
``koch`` is the build tool used to build various parts of Nim and to generate
|
||||
|
||||
Reference in New Issue
Block a user