-
-
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` |
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!
FYI, for most people, I would now recommend installing Meld on Mac OS via brew install dehesselle-meld
. I wrote up some details in https://gist.github.com/ilyagr/1b40f6061d8ad320cee4c12843df1a23.
Update: As of May 2025, brew install meld
now works and is equivalent to what brew install dehesselle-meld
previously was. In particular, it no longer installs a broken version of yousseb's Meld as it used to in 2023. (By contrast, this gist installs a fixed version of yousseb's Meld).
It has the downside of not supporting a proper MacOS menu bar, and probably misses some other MacOS integrations.
However, I used syneart's recipe in this gist for a long time, and it works well too (and even results in a slightly nicer Meld version). Thanks syneart and yousseb!
+1 seems to work for m4 pro / sequoia 15.4
Upgrade from Sonoma to Sequoia (Intel) break the install, but running this fix it again:
curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
Thanks for this. Much appreciated
Repeating my edit to https://gist.github.com/syneart/4a8724cd479d31f0f742f499f807dcb2?permalink_comment_id=5404734#gistcomment-5404734, brew install meld
now again works, and installs what used to be called deheselle-meld
. This is different from what brew install meld
did in 2023 and earlier.
This is also different from what you get if you follow this gist; see my earlier comment for some examples (I find the differences minor, but YMMV). This gist continues to work fine if you prefer it.
That's a great news @ilyagr !!! 🎉
Thanks for sharing it :)
@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.