Update mupdf to use git dependency so it works on windows

This commit is contained in:
itsjunetime
2025-09-05 10:34:46 -05:00
parent 45409bacd0
commit bd5554db27
6 changed files with 18 additions and 46 deletions
Generated
+7 -40
View File
@@ -250,9 +250,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "bindgen" name = "bindgen"
version = "0.71.1" version = "0.72.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
dependencies = [ dependencies = [
"bitflags 2.9.4", "bitflags 2.9.4",
"cexpr", "cexpr",
@@ -1889,13 +1889,11 @@ dependencies = [
[[package]] [[package]]
name = "mupdf" name = "mupdf"
version = "0.5.0" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/messense/mupdf-rs.git?rev=2e0fae910fac8048c7008211fc4d3b9f5d227a07#2e0fae910fac8048c7008211fc4d3b9f5d227a07"
checksum = "3a6499267155b9ae03ff8e53c456d0bfff988b2647d62ff1df038f39ebe93a0c"
dependencies = [ dependencies = [
"bitflags 2.9.4", "bitflags 2.9.4",
"font-kit", "font-kit",
"mupdf-sys", "mupdf-sys",
"num_enum",
"once_cell", "once_cell",
"zerocopy", "zerocopy",
] ]
@@ -1903,8 +1901,7 @@ dependencies = [
[[package]] [[package]]
name = "mupdf-sys" name = "mupdf-sys"
version = "0.5.0" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/messense/mupdf-rs.git?rev=2e0fae910fac8048c7008211fc4d3b9f5d227a07#2e0fae910fac8048c7008211fc4d3b9f5d227a07"
checksum = "13e9a0d4e844ab50315d43312f3d62f72c77205b07c8ee21cbd4b52bdc2a9910"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"cc", "cc",
@@ -2050,28 +2047,6 @@ dependencies = [
"autocfg", "autocfg",
] ]
[[package]]
name = "num_enum"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
dependencies = [
"num_enum_derive",
"rustversion",
]
[[package]]
name = "num_enum_derive"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.106",
]
[[package]] [[package]]
name = "num_threads" name = "num_threads"
version = "0.1.7" version = "0.1.7"
@@ -2367,15 +2342,6 @@ dependencies = [
"zerocopy", "zerocopy",
] ]
[[package]]
name = "proc-macro-crate"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
dependencies = [
"toml_edit",
]
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.101" version = "1.0.101"
@@ -2551,6 +2517,7 @@ dependencies = [
[[package]] [[package]]
name = "ratatui-image" name = "ratatui-image"
version = "8.0.1" version = "8.0.1"
source = "git+https://github.com/itsjunetime/ratatui-image.git?branch=vb64_on_personal#fe3d0b992bcfafa671c5374a94503831baf165ca"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"icy_sixel", "icy_sixel",
@@ -4044,9 +4011,9 @@ dependencies = [
[[package]] [[package]]
name = "wit-bindgen" name = "wit-bindgen"
version = "0.45.0" version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36"
[[package]] [[package]]
name = "xflags" name = "xflags"
+1 -1
View File
@@ -38,7 +38,7 @@ flume = { version = "0.11.0", default-features = false, features = ["async"] }
xflags = "0.4.0-pre.2" xflags = "0.4.0-pre.2"
mimalloc = "0.1.43" mimalloc = "0.1.43"
nix = { version = "0.30.0", features = ["signal"] } nix = { version = "0.30.0", features = ["signal"] }
mupdf = { version = "0.5.0", default-features = false, features = ["svg", "system-fonts", "img"] } mupdf = { git = "https://github.com/messense/mupdf-rs.git", rev = "2e0fae910fac8048c7008211fc4d3b9f5d227a07", default-features = false, features = ["svg", "system-fonts", "img"] }
rayon = { version = "*", default-features = false } rayon = { version = "*", default-features = false }
# kittage = { path = "../kittage/", features = ["crossterm-tokio", "image-crate", "log"] } # kittage = { path = "../kittage/", features = ["crossterm-tokio", "image-crate", "log"] }
kittage = { git = "https://github.com/itsjunetime/kittage.git", features = ["crossterm-tokio", "image-crate", "log"] } kittage = { git = "https://github.com/itsjunetime/kittage.git", features = ["crossterm-tokio", "image-crate", "log"] }
+3
View File
@@ -26,6 +26,7 @@ pub enum MaybeTransferred {
Transferred(kittage::ImageId) Transferred(kittage::ImageId)
} }
#[derive(Debug)]
pub enum ConvertedImage { pub enum ConvertedImage {
Generic(Protocol), Generic(Protocol),
Kitty { Kitty {
@@ -168,6 +169,8 @@ pub async fn run_conversion_loop(
) )
}; };
log::debug!("got converted page for num {} with results {:?}", page_info.page_num, page_info.result_rects);
// update the iteration to the iteration that we stole this image from // update the iteration to the iteration that we stole this image from
*iteration = new_iter; *iteration = new_iter;
+4 -4
View File
@@ -2,7 +2,7 @@ use std::{collections::VecDeque, num::NonZeroUsize, thread::sleep, time::Duratio
use flume::{Receiver, SendError, Sender, TryRecvError}; use flume::{Receiver, SendError, Sender, TryRecvError};
use mupdf::{ use mupdf::{
Colorspace, Document, Matrix, Page, Pixmap, Quad, TextPageOptions, text_page::SearchHitResponse Colorspace, Document, Matrix, Page, Pixmap, Quad, TextPageFlags, text_page::SearchHitResponse
}; };
use ratatui::layout::Rect; use ratatui::layout::Rect;
@@ -520,7 +520,7 @@ fn render_single_page_to_ctx(
}) })
} }
#[derive(Clone)] #[derive(Clone, Debug)]
pub struct HighlightRect { pub struct HighlightRect {
pub ul_x: u32, pub ul_x: u32,
pub ul_y: u32, pub ul_y: u32,
@@ -536,7 +536,7 @@ fn search_page(
) -> Result<Vec<Quad>, mupdf::error::Error> { ) -> Result<Vec<Quad>, mupdf::error::Error> {
search_term search_term
.map(|term| { .map(|term| {
page.to_text_page(TextPageOptions::empty()) page.to_text_page(TextPageFlags::empty())
.and_then(|page| { .and_then(|page| {
let mut v = Vec::with_capacity(trusted_search_results); let mut v = Vec::with_capacity(trusted_search_results);
page.search_cb(term, &mut v, |v, results| { page.search_cb(term, &mut v, |v, results| {
@@ -552,7 +552,7 @@ fn search_page(
#[inline] #[inline]
fn count_search_results(page: &Page, search_term: &str) -> Result<usize, mupdf::error::Error> { fn count_search_results(page: &Page, search_term: &str) -> Result<usize, mupdf::error::Error> {
page.to_text_page(TextPageOptions::empty()) page.to_text_page(TextPageFlags::empty())
.and_then(|page| { .and_then(|page| {
let mut count = 0; let mut count = 0;
page.search_cb(search_term, &mut count, |count, results| { page.search_cb(search_term, &mut count, |count, results| {
+2
View File
@@ -427,6 +427,8 @@ impl Tui {
} }
} }
log::debug!("tui got page {page_num} ready with img {img:#?}");
// We always just set this here because we handle reloading in the `set_n_pages` function. // We always just set this here because we handle reloading in the `set_n_pages` function.
// If the document was reloaded, then It'll have the `set_n_pages` called to set the new // If the document was reloaded, then It'll have the `set_n_pages` called to set the new
// number of pages, so the vec will already be cleared // number of pages, so the vec will already be cleared