Skip to content

Add macOS support - #50

Open
gglanzani wants to merge 14 commits into
FineFindus:mainfrom
gglanzani:main
Open

Add macOS support#50
gglanzani wants to merge 14 commits into
FineFindus:mainfrom
gglanzani:main

Conversation

@gglanzani

@gglanzani gglanzani commented Apr 9, 2026

Copy link
Copy Markdown

Addresses #49 and also #40

Edit: Sorry, I was so busy with this I missed the Contributing part of the README :(

On macOS, there were collission with file names
@jassler

jassler commented Apr 24, 2026

Copy link
Copy Markdown

I can confirm that the forked project compiles and runs on my Mac. Would be nice to have it included here :)

@FineFindus FineFindus left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks for the PR and sorry for the late response. I appreciate the work you have done, however I'm not a macOS user, so I'm hesitant to merge this, as I cannot ensure the (continued) quality of the app on macOS or fix bugs related to that version.
I think there are 3 possible ways forward:

  • It is maintained as a soft-fork, thus making clear, that it is not an official version
  • Someone (e.g. you) agrees to help with the app and fix macOS-specific issues and we experimentally merge it
  • No one steps up, in which case I would have to unfortunately decline the PR

Comment thread scripts/generate_icons.py
Comment on lines -84 to +83
id = base64.b64encode(id.encode("utf-8"))
id = str(id, "utf-8")
id = id.rstrip("=")
id = id.encode("utf-8").hex()

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I would like to avoid changing the IDs, as that also requires changing them on the server, a database migration, all the scripts, etc.

Comment thread src/main.rs
Comment on lines +33 to +46
#[cfg(target_os = "macos")]
let (resources_file, localedir) = match macos_bundle_share_dir() {
Some(share) => (
share
.join("hieroglyphic")
.join("resources.gresource")
.to_string_lossy()
.into_owned(),
share.join("locale").to_string_lossy().into_owned(),
),
None => (RESOURCES_FILE.to_string(), LOCALEDIR.to_string()),
};
#[cfg(not(target_os = "macos"))]
let (resources_file, localedir) = (RESOURCES_FILE, LOCALEDIR);

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I'm a bit confused by this, as this doesn't seem to be required in other GTK apps with macOS support.

Comment thread src/meson.build
Comment on lines +35 to +42
# On macOS, ort-sys needs help finding the ONNX Runtime dynamic library
if host_machine.system() == 'darwin'
onnxruntime_dep = dependency('libonnxruntime')
ort_lib_dir = onnxruntime_dep.get_variable(pkgconfig: 'libdir')
cargo_env += [ 'ORT_LIB_PATH=' + ort_lib_dir ]
cargo_env += [ 'ORT_PREFER_DYNAMIC_LINK=1' ]
endif

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This is also required for the Flatpak build. Considering there is already a macOS-specific build script, it's probably better to set them there.

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.