mirror of
https://github.com/jimeh/homebrew-emacs-builds.git
synced 2026-02-19 13:16:38 +00:00
feat(cask): add emacs-app cask for latest stable emacs release
This commit is contained in:
64
Casks/emacs-app.rb
Normal file
64
Casks/emacs-app.rb
Normal file
@@ -0,0 +1,64 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
cask 'emacs-app' do
|
||||
version '27.1'
|
||||
|
||||
sha256 'ad4a3d90f68c19f44f6e05a0da7b0bf72cd0205a81dcacbd78302a1a931c6c00'
|
||||
url 'https://github.com/jimeh/emacs-builds/releases/download/Emacs-27.1/Emacs.2020-08-04.86d8d76.emacs-27-1.macOS-10-15.x86_64.dmg'
|
||||
|
||||
name 'Emacs'
|
||||
desc 'GNU Emacs text editor'
|
||||
homepage 'https://github.com/jimeh/emacs-builds'
|
||||
|
||||
livecheck do
|
||||
url 'https://github.com/jimeh/emacs-builds.git'
|
||||
strategy :git do |tags|
|
||||
tags.map do |tag|
|
||||
m = /^Emacs-(\d+\.\d+(?:[a-z]+)?)$/.match(tag)
|
||||
next unless m
|
||||
|
||||
m[1]
|
||||
end.compact
|
||||
end
|
||||
end
|
||||
|
||||
conflicts_with(
|
||||
cask: %w[
|
||||
emacs-app-nightly
|
||||
emacs-app-good
|
||||
emacs
|
||||
emacs-nightly
|
||||
emacs-pretest
|
||||
emacs-mac
|
||||
emacs-mac-spacemacs-icon
|
||||
],
|
||||
formula: %w[
|
||||
emacs
|
||||
emacs-mac
|
||||
]
|
||||
)
|
||||
|
||||
depends_on macos: '>= :catalina'
|
||||
depends_on arch: :intel
|
||||
|
||||
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
|
||||
64
templates/emacs-app.rb.tpl
Normal file
64
templates/emacs-app.rb.tpl
Normal file
@@ -0,0 +1,64 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
cask 'emacs-app' do
|
||||
version '{{ .Version }}'
|
||||
|
||||
sha256 '{{ .SHA256 "macOS-10-15.x86_64" }}'
|
||||
url '{{ .DownloadURL "macOS-10-15.x86_64" }}'
|
||||
|
||||
name 'Emacs'
|
||||
desc 'GNU Emacs text editor'
|
||||
homepage 'https://github.com/jimeh/emacs-builds'
|
||||
|
||||
livecheck do
|
||||
url 'https://github.com/jimeh/emacs-builds.git'
|
||||
strategy :git do |tags|
|
||||
tags.map do |tag|
|
||||
m = /^Emacs-(\d+\.\d+(?:[a-z]+)?)$/.match(tag)
|
||||
next unless m
|
||||
|
||||
m[1]
|
||||
end.compact
|
||||
end
|
||||
end
|
||||
|
||||
conflicts_with(
|
||||
cask: %w[
|
||||
emacs-app-nightly
|
||||
emacs-app-good
|
||||
emacs
|
||||
emacs-nightly
|
||||
emacs-pretest
|
||||
emacs-mac
|
||||
emacs-mac-spacemacs-icon
|
||||
],
|
||||
formula: %w[
|
||||
emacs
|
||||
emacs-mac
|
||||
]
|
||||
)
|
||||
|
||||
depends_on macos: '>= :catalina'
|
||||
depends_on arch: :intel
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user