Files
homebrew-emacs-builds/Casks/emacs-app.rb

70 lines
2.2 KiB
Ruby

# frozen_string_literal: true
cask 'emacs-app' do
name 'Emacs'
desc 'GNU Emacs text editor'
homepage 'https://github.com/jimeh/emacs-builds'
version '30.2'
on_arm do
sha256 '34d1d37106244828edc3c23d12dd43e578d3caa4b0e52fda0add138757094255'
url 'https://github.com/jimeh/emacs-builds/releases/download/Emacs-30.2/Emacs.2025-08-14.636f166.emacs-30-2.macOS-11.arm64.dmg'
depends_on macos: '>= :big_sur'
end
on_intel do
sha256 '09e7342e57b34686c8b2afaf3891fdde0e986c1e16bb57ebc633312ea3987765'
url 'https://github.com/jimeh/emacs-builds/releases/download/Emacs-30.2/Emacs.2025-08-14.636f166.emacs-30-2.macOS-11.x86_64.dmg'
depends_on macos: '>= :big_sur'
end
livecheck do
url 'https://github.com/jimeh/emacs-builds.git'
strategy :git do |tags|
tags.map do |tag|
m = /^Emacs-(\d+\.\d+[a-z]*(-\d+)?)$/.match(tag)
next unless m
m[1]
end.compact
end
end
conflicts_with(
cask: %w[
emacs-app-good
emacs-app-monthly
emacs-app-nightly
emacs-app-nightly-28
emacs-app-nightly-29
emacs-app-pretest
emacs
emacs-nightly
emacs-pretest
emacs-mac
emacs-mac-spacemacs-icon
]
)
app 'Emacs.app'
binary "#{appdir}/Emacs.app/Contents/MacOS/bin/ebrowse"
binary "#{appdir}/Emacs.app/Contents/MacOS/bin/emacs"
binary "#{appdir}/Emacs.app/Contents/MacOS/bin/emacsclient"
binary "#{appdir}/Emacs.app/Contents/MacOS/bin/etags"
binary "#{appdir}/Emacs.app/Contents/Resources/include/emacs-module.h",
target: "#{HOMEBREW_PREFIX}/include/emacs-module.h"
binary "#{appdir}/Emacs.app/Contents/Resources/site-lisp/subdirs.el",
target: "#{HOMEBREW_PREFIX}/share/emacs/site-lisp/subdirs.el"
manpage "#{appdir}/Emacs.app/Contents/Resources/man/man1/ebrowse.1.gz"
manpage "#{appdir}/Emacs.app/Contents/Resources/man/man1/emacs.1.gz"
manpage "#{appdir}/Emacs.app/Contents/Resources/man/man1/emacsclient.1.gz"
manpage "#{appdir}/Emacs.app/Contents/Resources/man/man1/etags.1.gz"
zap trash: [
'~/Library/Caches/org.gnu.Emacs',
'~/Library/Preferences/org.gnu.Emacs.plist',
'~/Library/Saved Application State/org.gnu.Emacs.savedState'
]
end