Skip to content

Conversation

@joagonca
Copy link
Contributor

Summary

Removes unipdf and rmapi dependencies (licensing issues) and replaces with Cairo-based PDF rendering.

Key Changes

  • Removed: unipdf, juruen/rmapi
  • Added: go-cairo, pdfcpu
  • New: Internal encoding/rm and archive packages (copied from AGPL rmapi fork)
  • Renamed: RenderRmapi()RenderPDF()

Requirements

Cairo must be installed for building and running:

  • Debian/Ubuntu: apt-get install libcairo2-dev pkg-config
  • macOS: brew install cairo pkg-config
  • Docker: Now uses debian:bookworm-slim base (includes Cairo runtime)

Breaking Changes

  • Requires CGO (no more CGO_ENABLED=0 builds)
  • Docker base image changed from scratch to debian:bookworm-slim

All reMarkable PDF rendering features preserved (annotations, highlighters, v3/v5 formats, etc).

@joagonca
Copy link
Contributor Author

@ddvk I've done a bit of copying/pasting, and I've made the build process similar/equal to the one suggested in the v6_rmc branch.

Though I don't have access to v5 content to test. That's why I've opened a draft PR.
Any suggestions?

@rmitchellscott
Copy link
Contributor

Isn't rmapi also AGPL 3.0?

@joagonca
Copy link
Contributor Author

@ddvk Is this OK? If so, I could bump the v6_rmc @ #392 branch to accommodate these changes. Currently there are a few conflicts due to the rendering and the modules.

@ericchianti ericchianti mentioned this pull request Jan 11, 2026
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.

2 participants