Skip to content

Conversation

@mrled
Copy link
Contributor

@mrled mrled commented Feb 26, 2025

Copy all the requisite homebrew libraries, including libadwaita, into the macOS bundle. This makes it a standalone app that can be executed directly on any system without installing Homebrew and libadwaita first. Also does away with the requirement that Homebrew is installed to the default location, which is otherwise required because the binary refers to dynamic libraries via their absolute paths.

@mrled mrled force-pushed the include-libadwaita-macos-bundle branch from a1d3c7b to 832ce91 Compare February 26, 2025 21:28
@mrled
Copy link
Contributor Author

mrled commented Feb 27, 2025

Not sure what's up with that Linux failure, I didn't change any of the application code. Maybe it's using some newer version of Rust with more warnings enabled?

@feschber
Copy link
Owner

Not sure what's up with that Linux failure, I didn't change any of the application code. Maybe it's using some newer version of Rust with more warnings enabled?

It seems like there are some new clippy lints in the newest version. I will fix that real quick

@feschber
Copy link
Owner

You can rebase now ;)

@mrled mrled force-pushed the include-libadwaita-macos-bundle branch from b41aa8e to f59f91d Compare February 27, 2025 16:21
@mrled
Copy link
Contributor Author

mrled commented Feb 27, 2025

There we go, it's passing now

@feschber
Copy link
Owner

Whats your status on this PR?

@mrled
Copy link
Contributor Author

mrled commented Mar 20, 2025

Just fixing a minor permissions thing and it's good to go if you want it :)

  • Testing this on a fresh VM with no homebrew lets the app launch and work normally
  • The permissions problem doesn't actually break anything, but it shows warnings when the quarantine is cleared with xattr -rd. My most recent commit fixes this.

@feschber
Copy link
Owner

Awesome! I will see if I can setup a vm again to at least test it myself once. It's kind of a pain on non-macos.

@apoorvkh
Copy link
Contributor

Hey, I wanted to try out lan-mouse, but I don't have further need for Homebrew and so I don't want to install it on my system. I think having a standalone .app makes a lot of sense. It would be great if this can be tested/merged, thank you!

@apoorvkh
Copy link
Contributor

Note: I get the following build error when running the tagged release workflow from @mrled's branch.

Run cargo bundle --release
  
   Compiling lan-mouse v0.10.0 (/Users/runner/work/lan-mouse/lan-mouse)
    Finished `release` profile [optimized] target(s) in 1m 36s
    Bundling Lan Mouse.app
    Finished 1 bundle at:
        /Users/runner/work/lan-mouse/lan-mouse/target/release/bundle/osx/Lan Mouse.app
error: /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool-classic: can't open file: target/debug/bundle/osx/Lan Mouse.app/Contents/MacOS/lan-mouse (No such file or directory)
Updating target/debug/bundle/osx/Lan Mouse.app/Contents/MacOS/lan-mouse to reference @rpath/...
error: /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: target/debug/bundle/osx/Lan Mouse.app/Contents/MacOS/lan-mouse (No such file or directory)

@apoorvkh
Copy link
Contributor

I fixed it in mrled#1. I also bumped the macos build platform to macos-26, which I think is fine, but could be reverted if needed.

@feschber feschber force-pushed the include-libadwaita-macos-bundle branch from b756195 to cd476e1 Compare October 4, 2025 19:23
@feschber feschber force-pushed the include-libadwaita-macos-bundle branch from cd476e1 to 0d1e07c Compare October 14, 2025 09:41
@feschber
Copy link
Owner

@apoorvkh I just cherry-picked this commit from your PR. I'm going to update the macos runner to macos-26 later on. Thank you!

@feschber feschber merged commit 0a0d91b into feschber:main Oct 14, 2025
7 checks passed
@feschber
Copy link
Owner

@mrled Thank you for the update! And sorry it took this long ...

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.

3 participants