Commit caa1668b authored by Guido Gunther's avatar Guido Gunther
Browse files

Update upstream source from tag 'upstream/3.38.2+git20210118+7bb025'

Update to upstream version '3.38.2+git20210118+7bb025'
with Debian dir 020372a27cc713ee5cc058fc2b4365dbf0e24dde
parents abd46214 7bb02558
.gitattributes export-ignore
.gitignore export-ignore
/debian/ export-ignore
*meson.build gitlab-language=python
*~
.valencia
/Makefile
/.stamp
build/
_build/
debian/*.debhelper.log
debian/*.substvars
debian/.debhelper
debian/debhelper-build-stamp
debian/files
debian/geary
debian/geary-dbg
/geary
/geary-mailer
/geary-console
.flatpak-builder
*.diff
*.patch
*.xz
*.swp
__pycache__
bindings/vapi/gmime-2.6/gmime-2.6.gi
/valadoc
/po/untitled.pot
/help/*/*.page
!/help/C/*.page
src/sqlite3-unicodesn/unicodesn.sqlext
#
# Geary CI config.
#
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
variables:
# ImapDB and other tests that touch the disk are super slow on CI
# runners like gcc150.osuosl.org that use platter drives still.
# See Infrastructure/Infrastructure#97.
TEST_ARGS: -t 10
# Locale used for unit tests. See notes in test/test-engine.vala and
# test/test-client.vala.
TEST_LOCALE: en_US.UTF-8
# Build
BUILD_DIR: build
CONFIG_CMD: meson --buildtype=debug $BUILD_DIR
BUILD_CMD: ninja -v -C $BUILD_DIR
TEST_CMD: xvfb-run meson test -v --no-stdsplit -C $BUILD_DIR $TEST_ARGS
INSTALL_CMD: ninja -v -C $BUILD_DIR install
# Fedora packages
FEDORA_DEPS:
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 json-glib-devel itstool
libappstream-glib-devel libgee-devel libhandy1-devel libicu-devel
libpeas-devel libsecret-devel libstemmer-devel libunwind-devel
libxml2-devel libytnef-devel sqlite-devel webkitgtk4-devel
FEDORA_TEST_DEPS: glibc-langpack-en gnutls-utils tar Xvfb xz
# Ubuntu packages
UBUNTU_DEPS:
meson build-essential valac desktop-file-utils gettext iso-codes
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
libhandy-1-dev libicu-dev libjson-glib-dev libmessaging-menu-dev
libpeas-dev libsecret-1-dev libsqlite3-dev libstemmer-dev
libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev libytnef0-dev
UBUNTU_TEST_DEPS: gnutls-bin librsvg2-common locales xauth xvfb
fedora:
stage: build
image: fedora:rawhide
before_script:
- dnf update -y --nogpgcheck
- dnf install -y --nogpgcheck $FEDORA_DEPS $FEDORA_TEST_DEPS
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
artifacts:
when: 'always'
paths:
- '$BUILD_DIR/meson-logs/meson-log.txt'
- '$BUILD_DIR/meson-logs/testlog.txt'
expire_in: 2 days
ubuntu:
stage: build
image: ubuntu:devel
before_script:
- ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime
- apt-get update
- apt-get install -q -y --no-install-recommends $UBUNTU_DEPS $UBUNTU_TEST_DEPS
- locale-gen $TEST_LOCALE
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
artifacts:
when: 'always'
paths:
- '$BUILD_DIR/meson-logs/meson-log.txt'
- '$BUILD_DIR/meson-logs/testlog.txt'
expire_in: 2 days
flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
variables:
APP_ID: org.gnome.Geary.Devel
FLATPAK_MODULE: geary
MANIFEST_PATH: org.gnome.Geary.yaml
RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
TEST_RUN_ARGS: $TEST_ARGS
BUNDLE: geary-dev.flatpak
extends: .flatpak
nightly:
extends: '.publish_nightly'
dependencies: ['flatpak']
needs: ['flatpak']
**Bug Summary**
Provide a short summary of the bug you encountered. Please replace all
comments such as this with the requested information.
**Your installation**
To obtain installation information, copy it from Geary's Problem
Report dialog if shown (or else open the Geary Inspector by typing
Shift + Alt + I) by selecting System, and clicking the Copy
button, then pasting here.
* Geary version: <!-- "x.y.z" -->
* Installation method: <!-- Package? Flathub? Self-compiled? -->
* Desktop environment: <!-- GNOME? KDE? Something else? -->
* Operating system and version: <!-- Ubuntu 18.04? Fedora 29? -->
* Email provider: <!-- Gmail, Yahoo, Outlook.com, something else? -->
**Steps to reproduce**
1. Step one
2. Step two
3. ...
**What happened?**
What did Geary do that was unexpected?
**What did you expect to happen?**
What did you expect Geary to do?
**Relevant logs and/or screenshots**
To obtain log information, save it from Geary's Problem Report dialog
if shown (or else open the Geary Inspector by typing Shift + Alt + I),
by clicking the Save As button and attaching the resulting file
to this issue.
If the bug is a crash, please obtain a stack trace and attach it to
this issue so it can be debugged by following the instructions on this
page: https://wiki.gnome.org/Apps/Geary/ReportingABug#Stack_Trace
<!-- Do not remove the following line -->
/label ~"1. Bug"
**Feature Summary**
Describe what you would like to be able to do with Geary that you
currently cannot do, such as "send email whilst underwater".
Please replace all comments such as this with the requested
information.
**How would you like it to work**
If you can think of a way Geary might be able to do this, let us know
here.
**Relevant links, screenshots, etc.**
If you have further information about missing features, such as
technical documentation, or a similar feature in another email
application, please provide links and/or screenshots.
<!-- Do not remove the following line -->
/label ~"1. Feature"
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 requires SQLite is built with both FTS3 and FTS5 support. Ensure
`--enable-fts5`, `-DSQLITE_ENABLE_FTS3` and
`-DSQLITE_ENABLE_FTS3_PARENTHESIS` are passed to the SQLite configure
script.
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 libicu-devel libstemmer-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 libicu-dev libpeas-dev \
libsecret-1-dev libsqlite3-dev libstemmer-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>
Copyright (c) 2001, Dr Martin Porter, and (for the Java developments) Copyright
(c) 2002, Richard Boulton
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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.
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 Michael Gratton <mike@vee.net>
Version 3.38.1
~~~~~~~~~~~~~~
Released: 2020-10-04
Version 40.alpha
~~~~~~~~~~~~~~~~
Released: 2021-01-18
Enhancements included in this release:
* Numerous bug fixes
* Numerous translation updates
An alpha-quality development release.
Thanks to those who contributed translations for the interface:
Please see the AppStream file for updated features. Notable build
changes included in this release:
* Andika Triwidada (id)
* Daniel Mustieles (es)
* Dušan Kazik (sk)
* Fabio Tomat (fur)
* Goran Vidović (hr)
* Yosef Or Boczko (he)
* Require a build flag to be set for releases builds and from tarballs
* Updated build options to use meson features, be internally consistent
* Add a dependency on the libstemmer library
Version 3.38.0.1
~~~~~~~~~~~~~~~~
......
......@@ -6,7 +6,7 @@ Geary: Send and receive email
Geary is an email application built around conversations, for the
GNOME 3 desktop. It allows you to read, find and send email with a
straightforward, modern interface.
straight-forward, modern interface.
Visit https://wiki.gnome.org/Apps/Geary for more information.
......@@ -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
----------------
......@@ -30,7 +31,8 @@ Getting in Touch
* Support and discussion: See the `geary` tag on [GNOME Discourse](https://discourse.gnome.org/tags/c/applications/7/geary)
* Matrix channel: [#geary:gnome.org](https://gnome.element.io/#/room/#geary:gnome.org)
**Code Of Conduct**
Code Of Conduct
---------------
We follow the [Contributor Covenant](./code-of-conduct.md) as our
Code of Conduct. All communications in project spaces are expected to
......@@ -47,5 +49,5 @@ Want to help improve Geary? Here are some ways to contribute:
* Donate: https://wiki.gnome.org/Apps/Geary/Donate
---
Copyright 2016 Software Freedom Conservancy Inc.
Copyright 2017-2020 Michael Gratton <mike@vee.net>
Copyright © 2016 Software Freedom Conservancy Inc.
Copyright © 2017-2020 Michael Gratton <mike@vee.net>
// Based on icu-uc.vapi from the Dino project.
[CCode (cprefix="u_")]
namespace Icu {
[CCode (cname = "UChar")]
[IntegerType (rank = 5, min = 0, max = 65535)]
struct Char {}
[CCode (cname = "UErrorCode", cprefix = "U_", cheader_filename = "unicode/utypes.h")]
enum ErrorCode {
ZERO_ERROR,
INVALID_CHAR_FOUND,
INDEX_OUTOFBOUNDS_ERROR,
BUFFER_OVERFLOW_ERROR,
STRINGPREP_PROHIBITED_ERROR,
UNASSIGNED_CODE_POINT_FOUND,
IDNA_STD3_ASCII_RULES_ERROR;
[CCode (cname = "u_errorName")]
public unowned string errorName();
[CCode (cname = "U_SUCCESS")]
public bool is_success();
[CCode (cname = "U_FAILURE")]
public bool is_failure();
}
[CCode (cname = "UParseError", cprefix = "U_", cheader_filename = "unicode/parseerr.h")]
struct ParseError {}
[CCode (cname = "UText", cprefix = "utext_", free_function = "utext_close", cheader_filename = "unicode/utext.h")]
[Compact]
class Text {
[CCode (cname="utext_openUTF8")]
public static Text open_utf8(Text* existing, [CCode (array_length_type = "int64_t")] uint8[] text, ref ErrorCode status);
}
[CCode (cname = "UBreakIterator", cprefix = "ubrk_", free_function = "ubrk_close", cheader_filename = "unicode/ubrk.h")]
[Compact]
class BreakIterator {
[CCode (cname = "UBRK_DONE")]
public const int32 DONE;
[CCode (cname = "UBreakIteratorType", cprefix = "UBRK_")]
public enum Type {
CHARACTER,
WORD,
LINE,
SENTENCE;
}
[CCode (cname = "UWordBreak", cprefix = "UBRK_WORD_")]
enum WordBreak {
NONE,
NONE_LIMIT,
NUMBER,
NUMBER_LIMIT,
LETTER,
LETTER_LIMIT,
KANA,
KANA_LIMIT,
IDEO,
IDEO_LIMIT;
}
public static BreakIterator open(Type type, string locale, Char* text, int32 text_len, ref ErrorCode status);
public int32 current {
[CCode (cname="ubrk_current")] get;
}
public int32 rule_status {
[CCode (cname="ubrk_getRuleStatus")] get;
}
[CCode (cname="ubrk_isBoundary")]
public bool is_boundary(int32 offset);
public int32 first();
public int32 last();
public int32 next();
public int32 previous();
public int32 proceeding(int32 offset);
public int32 following(int32 offset);
[CCode (cname="ubrk_setUText")]
public void set_utext(Text text, ref ErrorCode status);
}
}
\ No newline at end of file
/*-
* Copyright (c) 2010-2013 Giulio Paci <giuliopaci@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF