Update INSTALL to use Markdown and refer to Meson for building.

This commit is contained in:
Michael James Gratton 2018-02-11 10:25:27 +11:00
parent 9749345735
commit dc4324701e
2 changed files with 74 additions and 87 deletions

159
INSTALL
View file

@ -1,120 +1,107 @@
Building & Installing Geary
---------------------------
Building & Installing Geary
===========================
* Building
Building
--------
To build Geary, run the following commands:
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:
$ ./configure
$ make
meson build
ninja -C build
By default, Geary will install under /usr/local. The configure script can
customize the prefix directory. Run ./configure --help for instructions
and other installation options.
A convenience Makefile for development only is also provided. To use
it, simply invoke make from the top-level directory.
Dependencies
------------
* Dependencies
Building Geary requires the following major libraries and tools:
Building Geary requires the following major libraries and tools:
* GTK+ 3
* WebKitGTK+ 2
* SQLite 3
* GObject introspection repository
* Vala
* GTK+ 3.22
* WebKitGTK+ 2.16
* Vala 0.34
* GObject introspection repository
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`. Further, SQLite 3.11.x specifically must
also be built with `-DSQLITE_ENABLE_FTS3_TOKENIZER`.
Geary also requires SQLite to be built with the compiler flag
`-DSQLITE_ENABLE_FTS3`. Further, SQLite 3.11.x specifically must also
be built with `-DSQLITE_ENABLE_FTS3_TOKENIZER`.
The developer packages and headers for the following libraries and
tools are required when building Geary:
All required libraries and tools are available from major Linux
distribution's package repositories:
* canberra
* cmake
* desktop-file-utils
* gee-0.8
* gio-2.0
* glib-2.0
* gmime-2.6
* gnome-doc-utils
* gtk+-3.0
* libsecret-1
* libxml-2.0
* notify
* sqlite3
* webkit2gtk-4.0
* gcr-3
* enchant
* libunwind
* messaging-menu (optional; enables support for Ubuntu Unity
messaging menu)
* unity (optional; enables support for Ubuntu Unity launcher)
Installing dependencies on Fedora
---------------------------------
Most of these are standard libraries available from major distros'
package repositories.
Fedora 25 and later ships with the correct versions of the required
libraries. Install them by running this command:
See the files `CMakeLists.txt` and `src/CMakeLists.txt` for the
complete list of required libraries, tools and minimum version
requirements.
sudo yum install vala gobject-introspection-devel \
meson desktop-file-utils libcanberra-devel libgee-devel \
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel \
webkitgtk4-devel libsecret-devel libxml2-devel vala-tools \
gcr-devel enchant-devel libunwind-devel
Installing dependencies on Ubuntu/Debian
----------------------------------------
* Installing dependencies on Fedora
Ubuntu 17.10 (Artful) and later ships with the correct versions of the
required libraries.
Fedora 25 and later ships with the correct versions of the
required libraries. Install them by running this command:
Ubuntu 16.04 LTS (Xenial) does not meet the minimum requirements,
users of that are encourage to use Geary 0.12 LTS instead.
$ sudo yum install vala gobject-introspection-devel cmake \
desktop-file-utils gnome-doc-utils libcanberra-devel libgee-devel \
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel \
webkitgtk4-devel libsecret-devel libxml2-devel vala-tools \
gcr-devel enchant-devel libunwind-devel
Debian 9 (Stretch) and later ships with the correct versions of the
required libraries.
Install them by running this command:
* Installing dependencies on Ubuntu/Debian
sudo apt-get install valac libgirepository1.0-dev \
meson desktop-file-utils libcanberra-dev \
libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev \
libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev \
libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev \
libunwind-dev
Ubuntu 17.04 (Zesty) and later ships with the correct versions of
the required libraries. Note that Ubuntu 16.04 LTS (Xenial) does not
meet the minimum requirements, users of that are encourage to use
Geary 0.12 LTS instead.
And for Ubuntu Unity integration:
Debian 9 (Stretch) and later ships with the correct versions of
the required libraries.
sudo apt-get install libunity-dev libmessaging-menu-dev
Install them by running this command:
Running
-------
$ sudo apt-get install valac libgirepository1.0-dev \
cmake desktop-file-utils gnome-doc-utils libcanberra-dev \
libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev \
libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev \
libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev \
libunwind-dev
If you wish to try Geary before installing it, you may execute it directly
from its build directory:
And for Ubuntu Unity integration:
./build/src/geary
$ sudo apt-get install libunity-dev libmessaging-menu-dev
Note that certain desktop integration (such as being listed in an
application menu) requires full installation.
Installation
------------
* Running
After Geary has built, install it by invoking the install target:
If you wish to try Geary before installing it, you may execute it directly
from its build directory:
ninja -C build install
$ ./geary
After installation, it can be uninstalled in the same way:
Note that certain desktop integration (such as being listed in an
application menu) requires full installation.
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:
* Installing
meson --prefix=/usr -C build
After Geary has built, run the following command to install it:
$ sudo make install
To uninstall, run:
$ sudo make uninstall
Copyright 2016 Software Freedom Conservancy Inc.
---
Copyright 2016 Software Freedom Conservancy Inc.
Copyright 2018 Michael Gratton <mike@vee.net>

View file

@ -4,7 +4,7 @@
# This Makefile is for developer convenience, and is optimised for
# development work, not production. Packagers should invoke meson and
# ninja directly.
# ninja directly. See INSTALL for further information.
CONFIGURE := meson \
--buildtype debug \