mirror of
https://github.com/kovidgoyal/calibre.git
synced 2026-03-01 06:30:00 -05:00
Build the calibre installers, including all dependencies from scratch
=======================================================================
This folder contains code to automate the process of building calibre,
including all its dependencies, from scratch, for all platforms that calibre
supports.
In general, builds proceed in two steps: first build all the dependencies, then
build the calibre installer itself.
Requirements
---------------
Building *must* run on a Linux computer.
First create some empty top level directory and run the following commands::
git clone https://github.com/kovidgoyal/bypy.git
git clone https://github.com/kovidgoyal/calibre.git
cd calibre
Now we need to bootstrap calibre, for which all its Linux build dependencies
must have already been installed (see the `Dependencies
<https://calibre-ebook.com/download_linux>`_ section of the Linux installation
page for details). Once the dependencies are installed, run::
./setup.py bootstrap
All building is done inside QEMU VMs. Linux VMs are auto-created as needed,
Windows and macOS VMs must be created manually. Instructions on
creating the VMs are in the bypy repo under :file:`virtual_machine/README.rst`.
Required software for the VMs is listed in :file:`bypy/windows.conf` and
:file:`bypy/macos.conf`.
Linux
-------
To build the Intel and ARM dependencies for calibre, run::
./setup.py build_dep linux
./setup.py build_dep linux-arm64
The output (after a very long time) will be in :literal:`bypy/b/linux/[32|64]`
Now you can build the calibre Linux tarballs with::
./setup.py linux
The output will be in :file:`dist`
macOS
--------------
Name the QEMU VM using ``vm_name`` from :literal:`bypy/macos.conf`.
Make sure all software mentioned in :file:`bypy/macos.conf` is installed.
To build the dependencies for calibre, run::
./setup.py build_dep macos
The output (after a very long time) will be in :literal:`bypy/b/macos`.
Now you can build the calibre ``.dmg`` with::
./setup.py osx --dont-sign --dont-notarize
The output will be in :file:`dist`
Windows
-------------
Name the QEMU VM using ``vm_name`` from :file:`bypy/windows.conf`.
Make sure all software mentioned in :file:`bypy/windows.conf` is installed.
To build the dependencies for calibre, run::
./setup.py build_dep windows
The output (after a very long time) will be in :literal:`bypy/b/windows/64`.
Now you can build the calibre Windows installers with::
./setup.py win64 --dont-sign
The output will be in :file:`dist`