contrib/packaging/inno/readme.rst
author Georges Racinet on incendie.racinet.fr <georges@racinet.fr>
Sun, 29 Oct 2023 12:01:57 +0100
changeset 51244 03fdd4d7b5bd
parent 49080 b44678aeb460
child 51836 905bc9d0a149
permissions -rw-r--r--
rust-python-testing: separated base test classes This will allow, e.g., to change `test-rust-discovery.py` simply by adding the appropriate base class.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     1
Requirements
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     2
============
1291
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     4
Building the Inno installer requires a Windows machine.
1291
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     6
The following system dependencies must be installed:
18960
170fc0949fb6 check-code: check txt files for trailing whitespace
Mads Kiilerich <madski@unity3d.com>
parents: 13246
diff changeset
     7
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     8
* Inno Setup (http://jrsoftware.org/isdl.php) version 5.4 or newer.
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
     9
  Be sure to install the optional Inno Setup Preprocessor feature,
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    10
  which is required.
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    11
* Python 3.6+ (to run the ``packaging.py`` script)
1291
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    13
Building
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    14
========
7660
ceed5f8c4ebf Document how HTML documentation is built under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 5081
diff changeset
    15
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    16
The ``packaging.py`` script automates the process of producing an Inno
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    17
installer. It manages fetching and configuring non-system dependencies
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    18
(such as gettext, and various Python packages).  It can be run from a
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    19
basic cmd.exe Window (i.e. activating the MSBuildTools environment is
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    20
not required).
4401
d1dd16256114 Update Windows build instructions.
Lee Cantey <lcantey@gmail.com>
parents: 2384
diff changeset
    21
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    22
From the prompt, change to the Mercurial source directory. e.g.
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    23
``cd c:\src\hg``.
4401
d1dd16256114 Update Windows build instructions.
Lee Cantey <lcantey@gmail.com>
parents: 2384
diff changeset
    24
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    25
Next, invoke ``packaging.py`` to produce an Inno installer.::
1291
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
46450
e933e66153f3 packaging: replace a documentation reference to `python3` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43513
diff changeset
    27
   $ py -3 contrib\packaging\packaging.py \
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    28
       inno --pyoxidizer-target x86_64-pc-windows-msvc
7660
ceed5f8c4ebf Document how HTML documentation is built under Windows
Patrick Mezard <pmezard@gmail.com>
parents: 5081
diff changeset
    29
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    30
If everything runs as intended, dependencies will be fetched and
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    31
configured into the ``build`` sub-directory, Mercurial will be built,
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    32
and an installer placed in the ``dist`` sub-directory. The final line
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    33
of output should print the name of the generated installer.
4401
d1dd16256114 Update Windows build instructions.
Lee Cantey <lcantey@gmail.com>
parents: 2384
diff changeset
    34
49080
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    35
Additional options may be configured. Run ``packaging.py inno --help``
b44678aeb460 packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents: 46450
diff changeset
    36
to see a list of program flags.
12263
5f19416056b4 win32: 64-bit Inno Setup installer
Pascal Quantin <pascal.quantin@gmail.com>
parents: 12262
diff changeset
    37
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    38
MinGW
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    39
=====
4401
d1dd16256114 Update Windows build instructions.
Lee Cantey <lcantey@gmail.com>
parents: 2384
diff changeset
    40
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    41
It is theoretically possible to generate an installer that uses
43513
081a77df7bc6 packaging: consolidate CLI functionality into packaging.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 42607
diff changeset
    42
MinGW. This isn't well tested and ``packaging.py`` and may properly
41853
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    43
support it. See old versions of this file in version control for
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41849
diff changeset
    44
potentially useful hints as to how to achieve this.