318 lines
9.7 KiB
Diff
318 lines
9.7 KiB
Diff
|
From c240884f521da7356d9c5792a7568abc2dba5b38 Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Gratton <mike@vee.net>
|
||
|
Date: Sat, 3 Oct 2020 23:31:35 +1000
|
||
|
Subject: [PATCH 038/124] 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.
|
||
|
---
|
||
|
BUILDING.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
INSTALL | 120 ---------------------------------------------------
|
||
|
README.md | 9 ++--
|
||
|
meson.build | 4 +-
|
||
|
4 files changed, 129 insertions(+), 126 deletions(-)
|
||
|
create mode 100644 BUILDING.md
|
||
|
delete mode 100644 INSTALL
|
||
|
|
||
|
diff --git a/BUILDING.md b/BUILDING.md
|
||
|
new file mode 100644
|
||
|
index 00000000..c00b1901
|
||
|
--- /dev/null
|
||
|
+++ b/BUILDING.md
|
||
|
@@ -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>
|
||
|
diff --git a/INSTALL b/INSTALL
|
||
|
deleted file mode 100644
|
||
|
index e445a409..00000000
|
||
|
--- a/INSTALL
|
||
|
+++ /dev/null
|
||
|
@@ -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>
|
||
|
diff --git a/README.md b/README.md
|
||
|
index d99cd8aa..73c4e595 100644
|
||
|
--- a/README.md
|
||
|
+++ b/README.md
|
||
|
@@ -17,11 +17,12 @@ for more information.
|
||
|
|
||
|
![Geary displaying a conversation](https://wiki.gnome.org/Apps/Geary?action=AttachFile&do=get&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
|
||
|
----------------
|
||
|
diff --git a/meson.build b/meson.build
|
||
|
index 1dc9e3aa..54bccfec 100644
|
||
|
--- a/meson.build
|
||
|
+++ b/meson.build
|
||
|
@@ -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
|
||
|
--
|
||
|
2.29.2
|
||
|
|