Skip to content
Snippets Groups Projects
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
No related branches found
No related tags found
1 merge request!14Update to git snapshot
Showing
with 1153 additions and 390 deletions
.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
* SUCH DAMAGE.
*/
[CCode (cheader_filename = "libstemmer.h", lower_case_cprefix = "sb_", cprefix="sb_")]
namespace SnowBall {
[Compact]
[CCode (cname = "struct sb_stemmer", free_function="sb_stemmer_delete")]
public class Stemmer {
public unowned string stem(string word, int size);
public int length();
public Stemmer(string language, string encoding = "UTF_8");
[CCode (array_length = false, array_null_terminated = true)]
public static unowned string[] list();
}
}
\ No newline at end of file
Description: Build libstemmer as a shared library.
Author: Stefano Rivera <stefanor@debian.org>
Forwarded: http://news.gmane.org/find-root.php?message_id=%3c20110821220427.GC1738%40bach.rivera.co.za%3e
Last-Update: 2019-10-17
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -154,12 +154,13 @@ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURC
override CFLAGS += -W -Wall -Wmissing-prototypes -Wmissing-declarations
override CPPFLAGS += -Iinclude
-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+all: snowball libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
clean:
rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
$(LIBSTEMMER_OBJECTS) $(LIBSTEMMER_UTF8_OBJECTS) $(STEMWORDS_OBJECTS) snowball \
- libstemmer.o stemwords \
+ $(wildcard libstemmer.so*) libstemmer.a \
+ stemwords \
libstemmer/modules.h \
libstemmer/modules_utf8.h \
$(C_LIB_SOURCES) $(C_LIB_HEADERS) $(C_LIB_OBJECTS) \
@@ -173,7 +174,7 @@ clean:
libstemmer/mkinc.mak libstemmer/mkinc_utf8.mak \
libstemmer/libstemmer.c libstemmer/libstemmer_utf8.c \
algorithms.mk
- rm -rf dist
+ rm -rf dist .shared
-rmdir $(c_src_dir)
-rmdir $(python_output_dir)
-rmdir $(js_output_dir)
@@ -197,11 +198,17 @@ libstemmer/modules_utf8.h libstemmer/mki
libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
-libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
- $(AR) -cru $@ $^
+libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ $(CC) $(CFLAGS) -shared $(LDFLAGS) \
+ -Wl,-soname,libstemmer.so.0 \
+ -o $@.0.0.0 ${^:%=.shared/%}
+ ln -s $@.0.0.0 $@.0
+ ln -s $@.0.0.0 $@
+ $(AR) -crs ${@:.so=.a} $^
-stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+stemwords: $(STEMWORDS_OBJECTS) libstemmer.so
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ $(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $(STEMWORDS_OBJECTS) -L. -lstemmer
csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
$(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
@@ -241,7 +248,6 @@ $(c_src_dir)/stem_ISO_8859_2_%.c $(c_src
./snowball charsets/ISO-8859-2.sbl $< -o $${o} -eprefix $${l}_ISO_8859_2_ -r ../runtime
$(c_src_dir)/stem_%.o: $(c_src_dir)/stem_%.c $(c_src_dir)/stem_%.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
$(java_src_dir)/%Stemmer.java: algorithms/%.sbl snowball
@mkdir -p $(java_src_dir)
@@ -473,13 +479,14 @@ check_koi8r: $(KOI8_R_algorithms:%=check
# a sibling to this one.
STEMMING_DATA ?= ../snowball-data
STEMMING_DATA_ABS := $(abspath $(STEMMING_DATA))
+STEMWORDS=LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./stemwords
check_utf8_%: $(STEMMING_DATA)/% stemwords
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with UTF-8"
@if test -f '$</voc.txt.gz' ; then \
- gzip -dc '$</voc.txt.gz'|./stemwords -c UTF_8 -l `echo $<|sed 's!.*/!!'` -o tmp.txt; \
+ gzip -dc '$</voc.txt.gz'|$(STEMWORDS) -c UTF_8 -l `echo $<|sed 's!.*/!!'` -o tmp.txt; \
else \
- ./stemwords -c UTF_8 -l `echo $<|sed 's!.*/!!'` -i $</voc.txt -o tmp.txt; \
+ $(STEMWORDS) -c UTF_8 -l `echo $<|sed 's!.*/!!'` -i $</voc.txt -o tmp.txt; \
fi
@if test -f '$</output.txt.gz' ; then \
gzip -dc '$</output.txt.gz'|diff -u - tmp.txt; \
@@ -491,7 +498,7 @@ check_utf8_%: $(STEMMING_DATA)/% stemwor
check_iso_8859_1_%: $(STEMMING_DATA)/% stemwords
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with ISO_8859_1"
@$(ICONV) -fUTF8 -tISO8859-1 '$</voc.txt' |\
- ./stemwords -c ISO_8859_1 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
+ $(STEMWORDS) -c ISO_8859_1 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
@$(ICONV) -fUTF8 -tISO8859-1 '$</output.txt' |\
diff -u - tmp.txt
@rm tmp.txt
@@ -499,7 +506,7 @@ check_iso_8859_1_%: $(STEMMING_DATA)/% s
check_iso_8859_2_%: $(STEMMING_DATA)/% stemwords
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with ISO_8859_2"
@$(ICONV) -fUTF8 -tISO8859-2 '$</voc.txt' |\
- ./stemwords -c ISO_8859_2 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
+ $(STEMWORDS) -c ISO_8859_2 -l `echo $<|sed 's!.*/!!'` -o tmp.txt
@$(ICONV) -fUTF8 -tISO8859-2 '$</output.txt' |\
diff -u - tmp.txt
@rm tmp.txt
@@ -507,7 +514,7 @@ check_iso_8859_2_%: $(STEMMING_DATA)/% s
check_koi8r_%: $(STEMMING_DATA)/% stemwords
@echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with KOI8R"
@$(ICONV) -fUTF8 -tKOI8-R '$</voc.txt' |\
- ./stemwords -c KOI8_R -l `echo $<|sed 's!.*/!!'` -o tmp.txt
+ $(STEMWORDS) -c KOI8_R -l `echo $<|sed 's!.*/!!'` -o tmp.txt
@$(ICONV) -fUTF8 -tKOI8-R '$</output.txt' |\
diff -u - tmp.txt
@rm tmp.txt
@@ -663,4 +670,9 @@ update_version:
csharp/Snowball/AssemblyInfo.cs \
python/setup.py
+%.o: %.c
+ @mkdir -p $(shell dirname ${@:%=.shared/%})
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -fPIC -o ${@:%=.shared/%} $<
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
.SUFFIXES: .class .java
......@@ -77,7 +77,7 @@ endif
# Contractor file (Elementary OS)
#
if install_contractor_file
if get_option('contractor').enabled()
# Call msgfmt manually since gettext won't otherwise translate the
# Description field. See merge req !50.
msgfmt = find_program('msgfmt')
......
......@@ -88,12 +88,19 @@
<translation type="gettext">geary</translation>
<releases>
<release version="3.38.1" date="2020-10-04">
<release version="40.0">
<description>
<p>Enhancements included in this release:</p>
<ul>
<li>Numerous bug fixes</li>
<li>Numerous translation updates</li>
<li>Visual refresh including updated icon and interface</li>
<li>Add support for half-screen, portrait and small displays</li>
<li>Improved performance when displaying large conversations</li>
<li>Upgraded full-text search engine</li>
<li>Improved search for languages such as Thai and Chinese</li>
<li>Improved keyboard shortcuts</li>
<li>Improved server compatibility</li>
<li>Numerous bug fixes and user interface improvements</li>
<li>Numerous user interface translation updates</li>
</ul>
</description>
</release>
......
......@@ -21,42 +21,12 @@
<description>The last recorded height of the application window.</description>
</key>
<key name="folder-list-pane-position" type="i">
<default>100</default>
<summary>Position of folder list pane</summary>
<description>Position of the folder list Paned grabber.</description>
</key>
<key name="folder-list-pane-position-horizontal" type="i">
<default>-1</default>
<summary>Position of folder list pane when horizontal</summary>
<description>Position of the folder list Paned grabber in the horizontal orientation.</description>
</key>
<key name="folder-list-pane-position-vertical" type="i">
<default>200</default>
<summary>Position of folder list pane when vertical</summary>
<description>Position of the folder list Paned grabber in the vertical orientation.</description>
</key>
<key name="folder-list-pane-horizontal" type="b">
<default>true</default>
<summary>Orientation of the folder list pane</summary>
<description>True if the folder list Paned is in the horizontal orientation.</description>
</key>
<key name="formatting-toolbar-visible" type="b">
<default>false</default>
<summary>Show/hide formatting toolbar</summary>
<description>True if the formatting toolbar in the composer is shown.</description>
</key>
<key name="messages-pane-position" type="i">
<default>250</default>
<summary>Position of message list pane</summary>
<description>Position of the message list Paned grabber.</description>
</key>
<key name="autoselect" type="b">
<default>true</default>
<summary>Autoselect next message</summary>
......
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128" version="1.0"><defs><linearGradient id="e"><stop offset="0" stop-color="#e5a50a"/><stop offset=".042" stop-color="#f9cf69" stop-opacity=".965"/><stop offset=".097" stop-color="#f6ba29" stop-opacity=".965"/><stop offset=".921" stop-color="#f6ba2b" stop-opacity=".996"/><stop offset=".974" stop-color="#f9cf69"/><stop offset="1" stop-color="#e5a50a" stop-opacity=".828"/></linearGradient><linearGradient id="d"><stop offset="0" stop-color="#e5a50a"/><stop offset=".035" stop-color="#f6ba29" stop-opacity=".965"/><stop offset=".962" stop-color="#f6bb2c"/><stop offset="1" stop-color="#e5a50a" stop-opacity=".828"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#f6f5f4"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#d5d3cf"/><stop offset="1" stop-color="#949390"/></linearGradient><linearGradient id="c"><stop offset="0" stop-color="#9a9996"/><stop offset="1" stop-color="#77767b"/></linearGradient><linearGradient xlink:href="#d" id="g" x1="18" y1="196.232" x2="110.132" y2="196.232" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#e" id="f" gradientUnits="userSpaceOnUse" x1="12" y1="196.232" x2="116" y2="196.232"/></defs><g transform="translate(0 -172)"><rect ry="8.721" rx="8.721" y="184" x="12" height="104" width="104" style="marker:none;font-variant-east_asian:normal" fill="url(#f)"/><rect style="marker:none" width="104" height="76" x="12" y="184" rx="8" ry="8" fill="#f9f06b"/><rect ry="2" rx="2" y="190" x="18" height="64" width="92" style="marker:none" fill="url(#g)"/><rect style="marker:none" width="92" height="40" x="18" y="214" rx="2" ry="2" fill="#e5a50a"/><path d="M22.204 200.057a2.18 2.18 0 0 0-2.18 2.18L20 254h18v8h52v-8h18l-.055-51.762a2.18 2.18 0 0 0-2.18-2.18H45.88z" style="marker:none" fill="#f6f5f4"/><path d="M20.462 200.676l43.169 34.886 43.606-34.886-43.606 37.066z" opacity=".1"/><path d="M22.204 200.676c-.466 0-.897.148-1.251.397l42.678 34.489 42.893-34.315a2.17 2.17 0 0 0-1.467-.57H45.88z" style="marker:none" fill="#f7f8f9"/><path style="marker:none" d="M63.63 224.84c-4 0-8 1.429-11.064 4.286l-32.542 22.92L20 252v2h88v-2l-33.305-22.874c-3.065-2.857-7.065-4.286-11.064-4.286z" opacity=".05"/><path d="M63.63 226.84c-4 0-8 1.429-11.064 4.286l-32.542 22.92L38 254v10h52v-10h18l-33.305-22.874c-3.065-2.857-7.065-4.286-11.064-4.286z" style="marker:none" fill="#f0f0ee"/><path d="M22.553 200.676a2.18 2.18 0 0 0-2.02 1.36l33.13 33.546a14.43 14.43 0 0 0 20.633 0l33.129-33.547a2.18 2.18 0 0 0-2.02-1.359H46.229z" style="marker:none" opacity=".12"/><path d="M22.553 200.676c-.472 0-.907.151-1.264.406l32.374 32.374a14.558 14.558 0 0 0 20.633 0l32.374-32.374a2.168 2.168 0 0 0-1.264-.406H46.228z" style="marker:none" fill="#f6f5f4"/><path d="M38 268v7c0 2.216 1.784 4 4 4h44c2.216 0 4-1.784 4-4v-7c0 2.216-1.784 4-4 4H42c-2.216 0-4-1.784-4-4z" fill="#f9f06b"/><path d="M90 264v4c0 2.216-1.784 4-4 4H42c-2.216 0-4-1.784-4-4v-4z" fill="#c0bfbc"/></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="12" x2="116.000001" y1="124" y2="124">
<stop offset="0" stop-color="#ce9508"/>
<stop offset="0.0384615" stop-color="#f5c211"/>
<stop offset="0.0769231" stop-color="#e5a50a"/>
<stop offset="0.921478" stop-color="#e5a50a"/>
<stop offset="0.961538" stop-color="#f5c211"/>
<stop offset="1" stop-color="#ce9708"/>
</linearGradient>
<linearGradient id="b" gradientUnits="userSpaceOnUse" x1="18.000001" x2="110.000001" y1="24" y2="24">
<stop offset="0" stop-color="#cc920a"/>
<stop offset="0.0434163" stop-color="#e5a50a"/>
<stop offset="0.955153" stop-color="#e5a50a"/>
<stop offset="1" stop-color="#cc920a"/>
</linearGradient>
<filter id="c" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="d">
<g filter="url(#c)">
<rect fill-opacity="0.1" height="128" width="128"/>
</g>
</mask>
<clipPath id="e">
<rect height="152" width="192"/>
</clipPath>
<mask id="f">
<g filter="url(#c)">
<rect fill-opacity="0.14" height="128" width="128"/>
</g>
</mask>
<clipPath id="g">
<rect height="152" width="192"/>
</clipPath>
<mask id="h">
<g filter="url(#c)">
<rect fill-opacity="0.3" height="128" width="128"/>
</g>
</mask>
<linearGradient id="i" gradientUnits="userSpaceOnUse" x1="28.53382" x2="115.42492" y1="64.799103" y2="64.799103">
<stop offset="0" stop-opacity="0.35"/>
<stop offset="0.5"/>
<stop offset="1" stop-opacity="0.35"/>
</linearGradient>
<clipPath id="j">
<rect height="152" width="192"/>
</clipPath>
<mask id="k">
<g filter="url(#c)">
<rect fill-opacity="0.3" height="128" width="128"/>
</g>
</mask>
<clipPath id="l">
<rect height="152" width="192"/>
</clipPath>
<path d="m 20 12 h 88 c 4.417969 0 8 3.582031 8 8 v 88 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -88 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
<path d="m 20 12 h 88 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="#f6d32d"/>
<path d="m 20 18 h 88 c 1.105469 0 2 0.894531 2 2 v 60 c 0 1.105469 -0.894531 2 -2 2 h -88 c -1.105469 0 -2 -0.894531 -2 -2 v -60 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="url(#b)"/>
<path d="m 20 42 h 88 c 1.105469 0 2 0.894531 2 2 v 36 c 0 1.105469 -0.894531 2 -2 2 h -88 c -1.105469 0 -2 -0.894531 -2 -2 v -36 c 0 -1.105469 0.894531 -2 2 -2 z m 0 0" fill="#c18b08"/>
<path d="m 22.203125 28.058594 c -1.203125 0 -2.179687 0.976562 -2.179687 2.179687 l -0.023438 51.761719 h 18 v 8 h 52 v -8 h 18 l -0.054688 -51.761719 c 0 -1.203125 -0.976562 -2.179687 -2.179687 -2.179687 z m 0 0" fill="#f6f5f4"/>
<g clip-path="url(#e)" mask="url(#d)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 28.460938 44.675781 l 43.167968 34.886719 l 43.609375 -34.886719 l -43.609375 37.066407 z m 0 0"/>
</g>
<path d="m 22.203125 28.675781 c -0.464844 0 -0.894531 0.148438 -1.25 0.398438 l 42.675781 34.488281 l 42.894532 -34.316406 c -0.386719 -0.351563 -0.902344 -0.570313 -1.464844 -0.570313 z m 0 0" fill="#f7f8f9"/>
<g clip-path="url(#g)" mask="url(#f)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 71.628906 68.839844 c -4 0 -8 1.429687 -11.0625 4.285156 l -32.542968 22.921875 l -0.023438 -0.046875 v 2 h 88 v -2 l -33.304688 -22.875 c -3.066406 -2.855469 -7.066406 -4.285156 -11.066406 -4.285156 z m 0 0"/>
</g>
<path d="m 63.628906 54.839844 c -4 0 -8 1.429687 -11.0625 4.285156 l -32.542968 22.921875 l 17.976562 -0.046875 v 10 h 52 v -10 h 18 l -33.304688 -22.875 c -3.066406 -2.855469 -7.066406 -4.285156 -11.066406 -4.285156 z m 0 0" fill="#f0f0ee"/>
<g clip-path="url(#j)" mask="url(#h)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 30.554688 44.675781 c -0.914063 0 -1.695313 1.5625 -2.019532 2.359375 l 33.128906 33.546875 c 5.714844 5.785157 14.917969 5.785157 20.632813 0 l 33.128906 -33.546875 c -0.324219 -0.796875 -1.105469 -2.359375 -2.019531 -2.359375 z m 0 0" fill="url(#i)"/>
</g>
<path d="m 22.554688 28.675781 c -0.472657 0 -0.910157 0.152344 -1.265626 0.40625 l 32.375 32.375 c 5.714844 5.714844 14.917969 5.714844 20.632813 0 l 32.371094 -32.375 c -0.355469 -0.253906 -0.789063 -0.40625 -1.261719 -0.40625 z m 0 0" fill="#f6f5f4"/>
<path d="m 38 95 v 7 c 0 2.214844 1.785156 4 4 4 h 44 c 2.214844 0 4 -1.785156 4 -4 v -7 c 0 2.214844 -1.785156 4 -4 4 h -44 c -2.214844 0 -4 -1.785156 -4 -4 z m 0 0" fill="#f6d32d"/>
<path d="m 90 92 v 4 c 0 2.214844 -1.785156 4 -4 4 h -44 c -2.214844 0 -4 -1.785156 -4 -4 v -4 z m 0 0" fill="#c0bfbc"/>
<g clip-path="url(#l)" mask="url(#k)" transform="matrix(1 0 0 1 -8 -16)">
<path d="m 172.492188 27 h 7 c 0.832031 0 1.5 0.445312 1.5 1 s -0.667969 1 -1.5 1 h -7 c -0.832032 0 -1.5 -0.445312 -1.5 -1 s 0.667968 -1 1.5 -1 z m 0 0" fill="#241f31"/>
</g>
</svg>
......@@ -6,6 +6,7 @@ de
el
es
fr
id
it
pl
pt_BR
......
......@@ -1508,5 +1508,5 @@ msgid ""
msgstr ""
"En el mode text pla, el text es justificarà automàticament mitjançant salts "
"de línies de manera que no tinguin més de 74 caràcters d'ample i, el text "
"sagnat es justificarà i se citarà utilitzant el caràcter \"&gt,\" per a cada"
"sagnat es justificarà i se citarà utilitzant el caràcter \"&gt;\" per a cada"
" nivell de cita."
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment