[Midnightbsd-cvs] [MidnightBSD/mports] d9f870: mail/geary: update to 46.0 (#725)

Lucas Holt noreply at github.com
Sun Aug 9 09:43:04 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/MidnightBSD/mports
  Commit: d9f870de6e4f70206e2b6a209a05574ce3a06b28
      https://github.com/MidnightBSD/mports/commit/d9f870de6e4f70206e2b6a209a05574ce3a06b28
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    M mail/geary/Makefile
    M mail/geary/distinfo
    R mail/geary/files/patch-meson.build
    A mail/geary/files/patch-src_engine_api_geary-client-service.vala
    M mail/geary/pkg-plist

  Log Message:
  -----------
  mail/geary: update to 46.0 (#725)

Update `mail/geary` from 40.0 to 46.0 — a six-major-version jump.

## Two latent dependency bugs fixed, not just churn

- `security/gcr` → **`security/gcr3`**: mports `security/gcr` is 4.3.0
and **does not provide `libgcr-base-3.so`**. `gcr3` is 3.40.0.
- `devel/libpeas` → **`devel/libpeas1`**: mports `devel/libpeas` is
2.0.7; geary needs `libpeas-1.0`/`libpeas-gtk-1.0`. `libpeas1` is
1.36.0.

Other dependency moves: `devel/libsoup` (2.4) → `devel/libsoup3`
(3.6.6); `www/webkit2-gtk at 40` → `@41` (2.46.6); **added**
`misc/iso-codes` (new hard dep — meson `files()`-checks the XML at
configure time); **dropped** `audio/libcanberra` (unreferenced in 46.0's
meson.build) and `devel/libunwind` (replaced by `-Dlibunwind=disabled`,
matching FreeBSD).

Every dependency was verified present in mports **and** resolved at
meson configure. Nothing missing, nothing too old.

## Patch set

- **Deleted `patch-meson.build`** — its only job was `dirs:
['/usr/local/lib/']` on the `stemmer`/`icuuc` `find_library` calls, and
its context was libsoup-2.4/webkit-4.0 era so it could not apply.
`USES=localbase:ldflags` is proven equivalent: meson-log shows `Library
stemmer found: YES`, `Library icuuc found: YES`.
- **Added `patch-src_engine_api_geary-client-service.vala`** (from
FreeBSD) — 46.0 started using logind; MidnightBSD has none, so the D-Bus
names are mapped to ConsoleKit. Applies with zero fuzz.
- **Dropped `PATCH_SITES`/`PATCHFILES`** — three GNOME commit diffs that
fixed 40.0-era bugs, all upstream in 46.0.

## A host bug this exposed, now fixed

The build initially failed at `[2% 33/705]` on every itstool rule:

```
ImportError: /usr/local/lib/python3.11/site-packages/lxml/etree.cpython-311.so:
Undefined symbol "xmlSchematronFree"
```

`/usr/local/bin/itstool` runs under python3.11, and `py311-lxml` was
linked against a pre-2.14 libxml2 while the host is at 2.15.3, which
removed the schematron API. **This broke itstool outright, blocking
every mports port that builds help pages — not just geary.**
`py311-lxml` has been rebuilt and reinstalled on this host; geary then
builds, stages and packages with the stock toolchain, no workaround.

## Verification

makesum/patch/build/fake/package all OK → `geary-46.0.mport`, built with
the stock toolchain after the lxml fix. Checksums match FreeBSD
byte-for-byte. Staged tree verified line-by-line against the plist. 46.0
adds `eu`/`ru` help translations and `ie`/`ka` locales, drops the
`mail-forward`/`mail-reply-*`/`marker-symbolic` icons.

MidnightBSD delta preserved: `MASTER_SITES` `:C//` form, `MAINTAINER`,
lowercase LICENSE ids, `INSTALLS_ICONS`, `CPE_VENDOR`,
`CFLAGS+=-Wno-error=int-conversion`.

## LICENSE — pre-existing error, NOT changed here

Not a 46.0 relicense. `COPYING.icons` line 1 reads *"licensed under a
Creative Commons Attribution 3.0 Unported License"* — CC-BY-3.0. mports
declares `ccasa3`, which `Mk/components/licenses.db.mk:125` defines as
Creative Commons Attribution-**Share Alike** 3.0. FreeBSD correctly uses
`CC-BY-3.0`, and mports carries `CC-BY-3.0` as a valid identifier at
`licenses.db.mk:37`.

Suggested follow-up (deliberately not done here, since it's unrelated to
the version bump): `LICENSE= bsd2 CC-BY-3.0 lgpl2.1`. `bmake
check-license` passes as-is.

**Not done:** `bmake test`; runtime verification (geary was not
launched). amd64 only. No dependent bumps — geary installs no public
shared library.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Summary by Sourcery

Update the Geary mail client port to version 46.0 and align its
dependencies and build configuration with the newer upstream release and
the host environment.

New Features:
- Expose the Geary port version in the plist via PLIST_SUB VERSION for
versioned file paths.

Bug Fixes:
- Switch dependency from security/gcr to security/gcr3 to provide the
required libgcr-base-3.so library.
- Switch dependency from devel/libpeas to devel/libpeas1 to match
Geary's libpeas-1.0 / libpeas-gtk-1.0 requirements.
- Adjust the Geary client service to use ConsoleKit D-Bus names instead
of logind to work on MidnightBSD.

Enhancements:
- Update WebKit and libsoup dependencies to newer ABI versions
(webkit2-gtk 4.1 and libsoup3).
- Add explicit iso-codes XML paths in Meson arguments to satisfy Geary
46.0's configuration checks.
- Extend GNOME component usage to include gdkpixbuf and glib20.
- Disable libunwind via Meson options instead of linking against the
libunwind port.

Build:
- Add iso-codes as a build dependency to support new XML-based
configuration checks.
- Enable localbase:ldflags in USES to ensure required libraries are
found during Meson configuration.
- Remove legacy PATCH_SITES/PATCHFILES now obsolete in Geary 46.0.
- Drop the custom meson.build patch in favor of standard localbase
handling.

Signed-off-by: Lucas Holt <luke at foolishgames.com>



To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/mports/settings/notifications



More information about the Midnightbsd-cvs mailing list