Commit graph

154 commits

Author SHA1 Message Date
Niels De Graef
81859bd3c3 Adapt vala-unit and tests to GLib 2.70 and later
`GLib.TestSuite` is a special type of object, as it doesn't actually
have an associated copy function or a reference/unreference function.
In practice, that actually means there's no way to actually have 2
strong references to such an object, or to copy it somehow. Due to the
way GObject properties in Vala work, that means you can't really use
them either.

Ever since vala commit 5f0a146f65, this got reflected properly in the
internally maintained GLib VAPI (as people were experiencing double
frees otherwise), but it was added only conditionally for GLib 2.70 or
later. In practice, that means you only get vala compiler issues if you
(impliclty) set `--target-glib=2.70` (or a later version).

To fix this for vala-unit and our own Geary tests, this commit changes
the `ValaUnit.TestCase` class to only allow "stealing" the strong
reference to the `GLib.TestSuite`, rather than somehowing allowing
people to hold a weak reference, and by also making it a protected field
rather than a property.

Since this changes the API of ValaUnit, we also bump the version. In
general though, I hope people aren't using ValaUnit externally, since
these types of API/ABI breaks can happen with Vala libraries.

Link: 5f0a146f65
2025-12-07 11:37:22 +01:00
Kamila Łopuszańska
91e87a6d1b make sure the C.UTF-8 locale is installed on the system 2025-07-11 22:01:05 +00:00
Jeremy Bicha
6e8bd9b310 build: Set minimum libhandy to 1.6
needed for the GNOME 42 dark theme preference
2025-06-09 21:12:02 +02:00
Balló György
e56734a97d build: Use appstream for appdata validation test
appstream-glib is under heavy maintenance mode and recommends using
appstream instead.
2025-02-28 17:33:22 +00:00
Cédric Bellegarde
46e93c0c0d meson: Fix dist 2024-05-20 11:06:33 +02:00
Cédric Bellegarde
c3df33c64b Update files for 46.0 release 2024-05-20 10:55:51 +02:00
Cédric Bellegarde
db6bab0119 build: Remove '(Development)' string from nightlies
Fix #1156
2023-08-30 18:01:49 +02:00
Cédric Bellegarde
63472121d2 Revert "Fix crash when conversation scrolled window child changes."
This reverts commit 07966a1156.

This commit was needed due to an issue in GTK
https://bugzilla.gnome.org/show_bug.cgi?id=778190 (which was later
migrated to https://gitlab.gnome.org/GNOME/gtk/-/issues/749).

This was fixed since 3.24.24, so bump the meson version too.
2023-07-08 00:59:56 +02:00
Cédric Bellegarde
b72db2a5e8
Update files for 44.0 release 2023-07-05 14:44:13 +02:00
Cédric Bellegarde
94d6bec861 Update files for 43.0 release 2022-09-29 12:59:26 +00:00
Cédric Bellegarde
a14f5d4799 client: accounts: Add support for Thunderbird autoconfig
- Auto detect server settings
- Rework accounts editor add panel

Fix #1390
Fix #1350
2022-09-07 12:10:06 +00:00
Michael Gratton
42fa8c9f0a engine: Fix GLib.Timezone deprecation warning in GLib 2.68 2022-07-15 23:49:19 +02:00
Maximiliano Sandoval R
fa99f13900
meson: Remove uses of get_pkgconfig_variable
It will throw warnings on 0.56 or newer.
2022-07-15 13:32:30 +02:00
Maximiliano Sandoval R
146a76c0dd meson: Use gnome.post_install
Requires meson 0.59. The command to update the desktop database was not
executed which could lead to the app not appearing on the apps menu
after install.
2022-07-15 11:18:49 +00:00
Maximiliano Sandoval R
080ead9775 meson: Update to 0.59 2022-07-15 11:18:49 +00:00
Cédric Bellegarde
796845aaa7 build: Fix building against libsoup3
- Move to WebKitGTK 4.1
- Remove commit hold on EDS
2022-07-13 20:10:22 +02:00
Cédric Bellegarde
31cdd0a847 Update for 43 development 2022-07-06 00:37:29 +02:00
Cédric Bellegarde
adca034818 build: Use JSON Flatpak manifest
Generating JSON from meson does not work as flatpak-builder needs it
earlier
2022-07-05 21:55:03 +02:00
Michael Gratton
4abd4a3781 Update for 41 development 2021-07-26 22:21:35 +09:30
Michael Gratton
e23f2cde66 Merge branch 'mjog/build-updates' into 'mainline'
Misc build fixes

See merge request GNOME/geary!703
2021-07-26 12:15:31 +00:00
Guido Günther
c805f8750c build: Depend on vala >= 0.48.18
the `GUri` bindings were added past vala 0.48

```
$ git log -1 --pretty=oneline 3c69e297eda4b287a6a37d30d4bf46b83241a453
3c69e297eda4b287a6a37d30d4bf46b83241a453 glib-2.0: Add GLib.Uri bindings (since 2.66)
$ git describe 3c69e297eda4b287a6a37d30d4bf46b83241a453
0.48.2-145-g3c69e297e
```

and would require vala 0.50 but the changes were also backported to
0.48:

$ git log -1 --pretty=oneline e6c95081f8499eda46ca136edcb11b134b58423c
e6c95081f8499eda46ca136edcb11b134b58423c vapi: Update GLib bindings to 2.66
$ git describe e6c95081f8499eda46ca136edcb11b134b58423c
0.48.17-29-ge6c95081f

and are contained in the released 0.48.18.

Closes: #1248
2021-07-05 10:47:41 +02:00
Michael Gratton
1c1912d006 build: Remove explicit libsoup dependency
Replace all uses of libsoup with their GLib equivalents, and remove the
build dependency.

See GNOME/gnome-build-meta#378
2021-05-15 22:14:49 +10:00
Michael Gratton
8db785d6f3 build: Remove unused libpeas_gtk dependency 2021-04-28 08:47:57 +10:00
Michael Gratton
67e923c92e Update files for 40.0 release 2021-04-23 12:54:16 +09:30
Michael Gratton
3a5bb3523c build: Update for 40.rc 2021-04-14 21:03:49 +10:00
Michael Gratton
11882a1055 build: Pull in libhandy as a submodule until 1.2.1 is packaged 2021-04-14 00:49:45 +10:00
Michael Gratton
a5d6ec03e5 build: Bump libhandy requirement to 1.2.1
Needed to fix a conversation header bar spacing issue.

See GNOME/libhandy#431
2021-04-14 00:49:45 +10:00
Julian Sparber
baf29a9214 bump min libhandy version to 1.2 2021-04-04 12:44:30 +10:00
Michael Gratton
43c2fa4342 Merge branch 'update-libhandy' into 'mainline'
Update libhandy

Closes #305

See merge request GNOME/geary!622
2021-04-03 23:16:00 +00:00
Michael Gratton
2f81fdf146 build: Add minimal ICU VAPI for UBreakIterator 2021-01-19 20:49:01 +11:00
Michael Gratton
7e38198287 ImapDb.Database: Register new ICU-based tokeniser for FTS
The SQLite tokeniser does not deal with scripts that do not use spaces
for word breaking (CJK, Thai, etc), thus searching in those languages
does not work well.

This adds a custom SQLite tokeniser based on ICU that breaks words for
all languages supported by that library, and uses NFKC_Casefold
normalisation to handle normalisation, case folding, and dropping of
ignorable characters.

Fixes #121
2021-01-19 20:48:59 +11:00
Michael Gratton
4fe0d92147 engine: Convert from SQLite FTS3/4 to FTS5 for full-text-search
Add SQL migration that drops the old FTS4 MessageSearchTable table,
re-create as a FTS5 table, clean up the column names a bit, and adds a
flags column so unread/starred queries can be made fast.

Define a SQLite FTS5 extension function `geary_matches()` to replace
the FTS3 `offsets()` function which no longer exists in FTS5, based on
Tracker's implementation.

Update code to FTS5 conventions (docid -> rowid, etc), use new column
names, populate and update the flags column as the email's flags
change, and use new match function for getting matching tokens.

Advanced searches are probably currently broken, these will be fixed
by subsequent commits.
2021-01-19 20:48:17 +11:00
Michael Gratton
000f602e18 meson.build: Ensure up-to-date main dependencies 2021-01-18 21:57:40 +11:00
Yuri Edward
f31164cc9b Bumped version of libhandy to 1.0.1 2021-01-10 23:54:46 +01:00
Yuri Edward
0475949ee1 Bump version of libhandy to 1.0 in order to fix issue #305 2021-01-09 22:24:11 +01:00
Michael Gratton
968bc1a9e8 ImapDb.SearchQuery: Use libstemmer for stemming
Instead of shipping our own forked stemmer via SQLite, add a dependency
on libstemmer and use that instead.
2020-10-14 20:05:12 +11:00
Michael Gratton
7c0ad051bd build: Make comment about system libs with custom VAPI more generic 2020-10-14 20:02:18 +11:00
Michael Gratton
fac257a273 Merge branch 'mjog/558-webkit-shared-process-redux' into 'mainline'
Webkit shared process redux

See merge request GNOME/geary!565
2020-10-13 08:27:01 +00:00
Michael Gratton
3f7c054db0 build: Bump WebKitGTK min version to include UserMessage support 2020-10-13 00:02:09 +11:00
Michael Gratton
c240884f52 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.
2020-10-03 23:34:31 +10:00
Michael Gratton
23bd2507a7 build: Update how build profiles are handled
Default to development build profile if a `.git` directory exists, else
error out of build configuration.

This make `auto` the default build profile and if set and a `.git`
directory is present default to `development`, else raise an error.
Add some docs to INSTALL describing build profiles and update how they
are used in the source to match.
2020-10-03 23:34:31 +10:00
Michael Gratton
aaa2934acf meson_options.txt: Update to use meson best practices and clean up
Convert to use meson features for features. Reorganise and rename
options for consistency. Make descriptions a bit less redundant.
2020-10-03 23:34:31 +10:00
Michael Gratton
880705f2ab Update files for 40 development 2020-09-25 08:23:15 +10:00
Michael Gratton
26f3878a7a Update files for 3.38.0.1 2020-09-14 23:36:32 +10:00
Michael Gratton
22b642edef Update files for 3.38 2020-09-13 14:21:30 +10:00
Michael Gratton
5b64939490 Update files for 3.37.92 2020-09-06 08:48:36 +10:00
Michael Gratton
ab97c5193e Update files for 3.37.91 2020-08-27 10:34:52 +10:00
Michael Gratton
f9df7dddf5 build: Remove libhandy submodule from the build
Although libhandy-1 is not widely available yet, Damned-Lies is having
trouble dealing with the submodule and it's more important to get
translations done than this build convenience, so pull it out.

See Infrastructure/damned-lies#184
2020-08-27 08:34:08 +10:00
Michael Gratton
d6ed4768bf build: Bump minimum GLib version to 2.64
This should have been included in !554, but wasn't.
2020-08-23 17:40:28 +10:00
Michael Gratton
fe269267a3 Merge branch 'mjog/931-cannot-remove-accounts' into 'mainline'
Cannot remove accounts

Closes #931

See merge request GNOME/geary!550
2020-08-21 00:43:15 +00:00