Rename INSTALLING to BUILDING.md

Renamed since most people want to know how to build Geary when they
get its source, not install it. Use MD extension to get formatting in
gitlab.
This commit is contained in:
Michael Gratton 2020-10-03 23:31:35 +10:00 committed by Michael James Gratton
parent 456b6cd55a
commit c240884f52
4 changed files with 129 additions and 126 deletions

122
BUILDING.md Normal file
View file

@ -0,0 +1,122 @@
Building and running Geary
==========================
Geary uses the [Meson](http://mesonbuild.com) and
[Ninja](https://ninja-build.org) build systems. You will need these
and a number of other development libraries installed to build
Geary. See the Dependencies section below for a list of packages to
install.
Building, running, tests and documentation
------------------------------------------
To build Geary, run the following commands from the top-level
directory of the source code repository:
```
meson build
ninja -C build
```
Once built, Geary can be run directly from the build directory without
being installed:
```
./build/src/geary
```
Note that certain desktop integration (such as being listed in an
application menu) requires full installation to work correctly.
To run the unit tests, use the Meson `test` command:
```
meson test -C build
```
API documentation will be built if `valadoc` is installed.
Consult the Meson documentation for information about configuring the
build, installing, and so on.
Build profiles
--------------
Geary can be built using a number of different build profiles, which
determine things like the application id, the location of stored data,
the name of the application, icon and other visual elements.
These can be set at build configuration time using the Meson `setup`
and `configure` commands, using the standard `-Dprofile=…` option. See
the `profile` option in `meson_options.txt` for the current list of
supported types.
Maintainers must use the `release` build profile when packaging Geary,
otherwise when run it will use branding and data locations intended
for development only.
Note that setting the profile does not alter such things as compiler
options, use the standard Meson `--buildtype` argument for that.
Consult the Meson documentation for more information about configuring
options.
Dependencies
------------
Building Geary requires the following major libraries and tools:
* GTK+ 3
* WebKitGTK+ 2
* SQLite 3
* Vala
See the `meson.build` file in the top-level directory for the complete
list of required dependencies and minimum versions.
Geary also requires SQLite to be built with the compiler flag
`-DSQLITE_ENABLE_FTS3`.
All required libraries and tools are available from major Linux
distribution's package repositories:
Installing dependencies on Fedora
---------------------------------
Install them by running this command:
```
sudo dnf install meson vala desktop-file-utils enchant2-devel \
folks-devel gcr-devel glib2-devel gmime30-devel \
gnome-online-accounts-devel gspell-devel gsound-devel \
gtk3-devel iso-codes-devel itstool json-glib-devel \
libappstream-glib-devel libgee-devel libhandy1-devel \
libpeas-devel libsecret-devel libunwind-devel libxml2-devel \
libytnef-devel sqlite-devel webkitgtk4-devel
```
Installing dependencies on Ubuntu/Debian
----------------------------------------
Install them by running this command:
```
sudo apt-get install meson build-essential valac \
desktop-file-utils iso-codes gettext itstool \
libappstream-glib-dev libenchant-2-dev libfolks-dev \
libgcr-3-dev libgee-0.8-dev libglib2.0-dev libgmime-3.0-dev \
libgoa-1.0-dev libgspell-1-dev libgsound-dev libgtk-3-dev \
libjson-glib-dev libhandy-1-dev libpeas-dev libsecret-1-dev \
libsqlite3-dev libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev \
libytnef0-dev
```
And for Ubuntu Messaging Menu integration:
```
sudo apt-get install libmessaging-menu-dev
```
---
Copyright © 2016 Software Freedom Conservancy Inc.
Copyright © 2018-2020 Michael Gratton <mike@vee.net>

120
INSTALL
View file

@ -1,120 +0,0 @@
Building & Installing Geary
===========================
Building
--------
Geary uses the Meson <http://mesonbuild.com> and Ninja
<https://ninja-build.org> build systems. To build Geary, run the
following commands from the top-level directory of the source code
repository:
meson build
ninja -C build
A convenience Makefile for development only is also provided. To use
it, simply invoke make from the top-level directory.
Build profiles
--------------
Geary can be built using a number of different build profiles, which
determine things like the application id, the location of stored data,
the name of the application and other visual elements that distinguish
release builds from other types.
These can be set at build configuration time using the Meson `setup`
and `configure` commands, using the standard `-Dprofile=…` option. See
the `profile` option in `meson_options.txt` for the current list of
supported types.
Maintainers must select the `release` build profile when packaging
non-test release builds, otherwise Geary will using branding and data
locations intended for development only.
Note that setting the profile does not alter such things as cmopiler
options, use the standard Meson `--buildtype` argument for that.
If built from
Dependencies
------------
Building Geary requires the following major libraries and tools:
* GTK+ 3
* WebKitGTK+ 2
* SQLite 3
* Vala
See the `meson.build` file in the top-level directory for the complete
list of required dependencies and minimum versions.
Geary also requires SQLite to be built with the compiler flag
`-DSQLITE_ENABLE_FTS3`.
All required libraries and tools are available from major Linux
distribution's package repositories:
Installing dependencies on Fedora
---------------------------------
Install them by running this command:
sudo dnf install meson vala desktop-file-utils enchant2-devel \
folks-devel gcr-devel glib2-devel gmime30-devel \
gnome-online-accounts-devel gspell-devel gsound-devel \
gtk3-devel iso-codes-devel itstool json-glib-devel \
libappstream-glib-devel libgee-devel libhandy1-devel \
libpeas-devel libsecret-devel libunwind-devel libxml2-devel \
libytnef-devel sqlite-devel webkitgtk4-devel
Installing dependencies on Ubuntu/Debian
----------------------------------------
Install them by running this command:
sudo apt-get install meson build-essential valac \
desktop-file-utils iso-codes gettext itstool \
libappstream-glib-dev libenchant-2-dev libfolks-dev \
libgcr-3-dev libgee-0.8-dev libglib2.0-dev libgmime-3.0-dev \
libgoa-1.0-dev libgspell-1-dev libgsound-dev libgtk-3-dev \
libjson-glib-dev libhandy-1-dev libpeas-dev libsecret-1-dev \
libsqlite3-dev libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev \
libytnef0-dev
And for Ubuntu Messaging Menu integration:
sudo apt-get install libmessaging-menu-dev
Running
-------
If you wish to try Geary before installing it, you may execute it directly
from its build directory:
./build/src/geary
Note that certain desktop integration (such as being listed in an
application menu) requires full installation.
Installation
------------
After Geary has built, install it by invoking the install target:
ninja -C build install
After installation, it can be uninstalled in the same way:
ninja -C build uninstall
By default, Geary will install under /usr/local. To install to a
different directory, set pass the --prefix to meson when performing
the initial configuration step:
meson --prefix=/usr -C build
---
Copyright © 2016 Software Freedom Conservancy Inc.
Copyright © 2018-2020 Michael Gratton <mike@vee.net>

View file

@ -17,11 +17,12 @@ for more information.
![Geary displaying a conversation](https://wiki.gnome.org/Apps/Geary?action=AttachFile&amp;do=get&amp;target=geary-3-32-main-window.png)
Installation & Licensing
------------------------
Building & Licensing
--------------------
Please consult the [INSTALL](./INSTALL) and [COPYING](./COPYING) files
for more information.
Please consult the [BUILDING.md](./BUILDING.md) and
[COPYING](./COPYING) files for more information about building Geary
and the licence granted by its copyright holders for redistribution.
Getting in Touch
----------------

View file

@ -12,7 +12,7 @@ if profile == 'auto'
if run_command('[', '-d', '.git', ']').returncode() == 0
profile = 'development'
else
error('No build profile specified, see INSTALL')
error('No build profile specified, see BUILDING.md')
endif
endif
@ -23,7 +23,7 @@ elif profile == 'beta'
appid_suffix = '.Beta'
name_suffix = ' (Beta)'
elif profile != 'release'
error('Unknown build profile specified, see INSTALL')
error('Unknown build profile specified, see BUILDING.md')
endif
# Configurable install dirs