#1134399 shotman: please bump png dependency to 0.18 (transition unblocker)

Package:
shotman
Source:
shotman
Description:
uncompromising screenshot GUI for Wayland compositors
Submitter:
Greg Lamberson
Date:
2026-06-23 21:21:02 UTC
Severity:
normal
Tags:
#1134399#5
Date:
2026-04-19 16:40:37 UTC
From:
To:
Hello Blair,

Debian's Rust Team is working through the png 0.17 -> 0.18 transition
(tracked as rust-team/debcargo-conf#150). shotman currently pins
"png = 0.17.5" in its Cargo.toml, which blocks it from building against
a future png 0.18 archive. When the librust-png-dev package in the
Debian archive bumps to 0.18, shotman FTBFS until its Cargo.toml is
updated.

The attached quilt patch bumps the dependency to png 0.18.1. No source
changes are required: shotman's png use is encoder-only (Encoder::new,
set_depth, set_color, write_header, write_image_data, finish), and
that surface is API-compatible across 0.17 -> 0.18. The 0.18 breaking
changes (Decoder now requires Seek+BufRead, removed Encoder::set_srgb,
improved compression settings API) don't touch shotman's call sites.

I verified locally on the current main branch (0.4.10 tree equivalent):

  cargo build                         -> clean
  cargo test --no-run                 -> clean
  cargo clippy -- -D warnings         -> clean

The same patch was submitted upstream to
~whynothugo/shotman@lists.sr.ht today. Carrying this locally in Debian
lets the transition proceed without waiting on upstream merge and
release; it can be dropped when a new upstream tag is cut.

Patch follows.

Thanks,
Greg Lamberson
---
Description: Bump png dependency to 0.18.1
 The png 0.18 release series is API-compatible with shotman's encoder
 usage (Encoder::new, set_depth, set_color, write_header,
 write_image_data, finish). No source changes are required.
 .
 This unblocks the Debian png 0.17 -> 0.18 transition for shotman
 while upstream review of the equivalent patch is pending.
Author: Greg Lamberson <greg@lamco.io>
Forwarded: https://lists.sr.ht/~whynothugo/shotman/patches
Last-Update: 2026-04-19
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -30,7 +30,7 @@ wayland-client = "0.31.11"
 wayland-protocols = { version = "0.32.9", features = ["client", "unstable", "staging"] }
 wayland-protocols-wlr = { version = "0.3.9", features = ["client"] }
 smithay-client-toolkit = { version = "0.19.2" }
-png = "0.17.5"
+png = "0.18.1"
 memmap2 = "0.9.0"
 itertools = "0.11.0"
 thiserror = "1.0.32"