-
-
Save syneart/4a8724cd479d31f0f742f499f807dcb2 to your computer and use it in GitHub Desktop.
### Test on https://github.com/yousseb/meld/releases/tag/osx-20 | |
### OSX - 3.21.0 (r4) Sonoma | |
### !!! Note: You need put the Meld.app r4 build to the /Applications path first. | |
#!/bin/zsh | |
#Fix libpng16.16.dylib not found | |
install_name_tool -change /usr/local/opt/libpng/lib/libpng16.16.dylib @executable_path/../Frameworks/libpng16.16.dylib /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib | |
#Fix libbrotlidec.1.dylib not found | |
install_name_tool -change /usr/local/opt/brotli/lib/libbrotlidec.1.dylib @executable_path/../Frameworks/libbrotlidec.1.dylib /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib | |
#Make MacOS trust Meld.app | |
xattr -rd com.apple.quarantine /Applications/Meld.app | |
#Removes the existing code signature | |
codesign --remove-signature /Applications/Meld.app | |
#Re-signs with system’s default certificate | |
codesign --force --deep --sign - /Applications/Meld.app | |
#if CPU type is Apple silicon, use Rosetta to execute | |
/usr/libexec/PlistBuddy -c "Set :LSRequiresNativeExecution false" /Applications/Meld.app/Contents/Info.plist | |
#Try to open Meld | |
open /Applications/Meld.app | |
#Meld CLI Setup | |
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_setup_cli.sh | zsh |
#!/bin/zsh | |
RC_FILES=( .bashrc .zshrc ) | |
for RC_FILE in "${RC_FILES[@]}" | |
do | |
[ -f ~/${RC_FILE} ] && { | |
( cat ~/${RC_FILE} | grep "alias meld=" ) && { | |
echo "Already put it at ~/${RC_FILE}" | |
}|| { | |
echo "alias meld='meld_script(){ /Applications/Meld.app/Contents/MacOS/Meld \$* 2>/dev/null & };meld_script'" >> ~/${RC_FILE} | |
. ~/${RC_FILE} | |
echo "Put it at ~/${RC_FILE} .. ok" | |
} | |
} | |
done | |
echo "[!] You may need to reopen your Terminal." |
1. Download the official **3.21.0 osx4 (r4 pre-release)** [https://github.com/yousseb/meld/releases/tag/osx-20] version. | |
2. Move the Meld.app file to the /Applications directory. | |
3. Execute the hot-fix script at CLI with the following command (**only one line**): | |
`curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh` |
@stevejordi I too got those errors
"The application Finder does not have permission to open null" or
"The application Dock does not have permission to open null"
Removing the signature of the app and self-signing it solved the problem.
codesign --remove-signature /Applications/Meld.app
codesign --force --deep --sign - /Applications/Meld.app
@syneart Thank you. It's working again.
@syneart Thanks for sharing this! It solved the crashing issue when running any diff on macOS 15.0 (on M3 Pro).
A combination of the hotfix command above and running BOTH the code signing commands worked for me; having just downloaded latest meld onto brand-new macBook Pro M4 :)
Thank you,
It works for me
M2 Pro Sonora 14.6.1
For macOS 15.1 (24B83)
The application “(null)” does not have permission to open “(null)”.@k4u5hik, @stevejordi Thank you for the feedback. I have already made adjustments for this issue. You can simply run the hot-fix script again to continue using Meld.app.
-> Execute the hot-fix script at CLI with the following command (only one line):
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
If it still fails, you can go through the process again.
- First, Remove the original Meld.app located in the /Applications directory.
- And, go to https://github.com/yousseb/meld/releases/tag/osx-20 and download the official 3.21.0 osx4 (r4 pre-release) version.
- Move the Meld.app file to the /Applications directory.
- Execute the hot-fix script at CLI with the following command (only one line):
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
perfect! Thanks. Works like a charm on M1 Sequoia 15.1.1.
For macOS 15.1 (24B83)
The application “(null)” does not have permission to open “(null)”.@k4u5hik, @stevejordi Thank you for the feedback. I have already made adjustments for this issue. You can simply run the hot-fix script again to continue using Meld.app.
-> Execute the hot-fix script at CLI with the following command (only one line):
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
If it still fails, you can go through the process again.
- First, Remove the original Meld.app located in the /Applications directory.
- And, go to https://github.com/yousseb/meld/releases/tag/osx-20 and download the official 3.21.0 osx4 (r4 pre-release) version.
- Move the Meld.app file to the /Applications directory.
- Execute the hot-fix script at CLI with the following command (only one line):
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
@syneart @Sunac Thanks to these, meld works well from both command line and Applications, but I'm not able to configure it as a difftool/mergetool with git. After adding the settings suggested at https://yousseb.github.io/meld/ to .gitconfig, when I execute git difftool, the following error appears on the right side of the window (the left side is loaded ok):
There was a problem opening the file “filepath”.
Error opening file /filepath: No such file or directory
Please help me with the right config.
Thanks a lot, you save my day :)
Thank you so much! Meld is the best tool for the job and you saved the day!
could anybody provide the right configs for git difftool/mergetool, please?
[difftool "meld"]
cmd = /Applications/Meld.app/Contents/MacOS/Meld "$LOCAL" "$REMOTE" 2>/dev/null
This has been working for me. Though I've been having to blindly answer "Launch meld?" by hitting return. I think that's caused by something else in my terminal/git config setup though.
Edit: oh, and mergetool should be:
[mergetool "meld"]
cmd = /Applications/Meld.app/Contents/MacOS/Meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED" 2>/dev/null
Thanks @liamjones!
@k4u5hik, @stevejordi Thank you for the feedback.
I have already made adjustments for this issue. You can simply run the hot-fix script again to continue using Meld.app.
-> Execute the hot-fix script at CLI with the following command (only one line):
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
If it still fails, you can go through the process again.
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh