Skip to content

[#60] Update gpgme to 0.11 - #61

Merged
heitor-lassarote merged 1 commit into
masterfrom
heitor-lassarote/#60-gpgme-0.11
Oct 14, 2026
Merged

heitor-lassarote merged 1 commit into
masterfrom
heitor-lassarote/#60-gpgme-0.11

Conversation

@heitor-lassarote

Copy link
Copy Markdown
Member

Description

Updates gpgme from 0.10 to 0.11. Its -sys crates find gpgme and libgpg-error through pkg-config, so update-daemon builds outside Nix on systems whose gpgme and libgpg-error no longer ship gpgme-config and gpg-error-config.

This is stacked on #59: the new lockfile needs Rust 1.85 or newer, and master pins 1.77.1. Once #59 is merged, this PR's base becomes master.

Related issue(s)

Resolves #60

Notes for reviewers

  • The five gpgme functions update-daemon calls (Context::from_protocol, get_secret_key, add_signer, set_armor and sign_detached) are unchanged in 0.11, apart from formatting.
  • The tests don't cover commit signing, so it was checked by hand: the same calls in a small program produced a detached signature that gpg --verify accepts.
  • Builds outside Nix on Arch Linux (gpgme 2.2.0, libgpg-error 1.61) with no workarounds. nix build, which now runs the tests and pedantic clippy, passes.

@heitor-lassarote

Copy link
Copy Markdown
Member Author

Reopening to retrigger CI — the check never fired for the latest push.

@Martoon-00 Martoon-00 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for leaving notes for reviewers, they are handy.

@heitor-lassarote
heitor-lassarote force-pushed the heitor-lassarote/#60-gpgme-0.11 branch from 4e7a050 to b82a123 Compare October 9, 2026 16:38
@heitor-lassarote
heitor-lassarote force-pushed the heitor-lassarote/#60-gpgme-0.11 branch from b82a123 to 8fb1108 Compare October 14, 2026 13:39
Base automatically changed from heitor-lassarote/#56-upstream-ssh2-config to master October 14, 2026 13:48
Problem: `gpgme` 0.10 depends on `gpgme-sys` 0.10 and
`libgpg-error-sys` 0.5, whose build scripts run `gpgme-config` and
`gpg-error-config`. Current gpgme and libgpg-error no longer ship
these scripts, so update-daemon does not build outside Nix on such
systems.

Solution: update `gpgme` to 0.11, whose build scripts use
`pkg-config` through `system-deps`. The functions update-daemon calls
are unchanged in 0.11, apart from formatting. The lockfile also picks
up `system-deps` and its dependencies, and newer `indexmap` and
`hashbrown` versions, which `toml_edit` needs.
@heitor-lassarote
heitor-lassarote force-pushed the heitor-lassarote/#60-gpgme-0.11 branch from 8fb1108 to 69469d7 Compare October 14, 2026 13:48
@heitor-lassarote
heitor-lassarote merged commit 7d8ae78 into master Oct 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update-daemon does not build outside Nix with current gpgme and libgpg-error

2 participants