From bf86887d873e6018304771a90537489991563dfd Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Tue, 24 Jan 2023 23:36:13 +0000 Subject: [PATCH] feat(cask): add emacs-app-nightly-29 cask --- Casks/emacs-app-good.rb | 1 + Casks/emacs-app-nightly-28.rb | 1 + Casks/emacs-app-nightly-29.rb | 66 +++++++++++++++++++++++++++ Casks/emacs-app-nightly.rb | 1 + Casks/emacs-app-pretest.rb | 1 + Casks/emacs-app.rb | 1 + templates/emacs-app-good.rb.tpl | 1 + templates/emacs-app-nightly-28.rb.tpl | 1 + templates/emacs-app-nightly-29.rb.tpl | 66 +++++++++++++++++++++++++++ templates/emacs-app-nightly.rb.tpl | 1 + templates/emacs-app-pretest.rb.tpl | 1 + templates/emacs-app.rb.tpl | 1 + 12 files changed, 142 insertions(+) create mode 100644 Casks/emacs-app-nightly-29.rb create mode 100644 templates/emacs-app-nightly-29.rb.tpl diff --git a/Casks/emacs-app-good.rb b/Casks/emacs-app-good.rb index 5d39e602..6e4be97f 100644 --- a/Casks/emacs-app-good.rb +++ b/Casks/emacs-app-good.rb @@ -23,6 +23,7 @@ cask 'emacs-app-good' do emacs-app emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/Casks/emacs-app-nightly-28.rb b/Casks/emacs-app-nightly-28.rb index d08731f8..15ad0f5d 100644 --- a/Casks/emacs-app-nightly-28.rb +++ b/Casks/emacs-app-nightly-28.rb @@ -27,6 +27,7 @@ cask 'emacs-app-nightly-28' do emacs-app emacs-app-good emacs-app-nightly + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/Casks/emacs-app-nightly-29.rb b/Casks/emacs-app-nightly-29.rb new file mode 100644 index 00000000..4da677d0 --- /dev/null +++ b/Casks/emacs-app-nightly-29.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +cask 'emacs-app-nightly-29' do + version '2023-01-23.c15c0f7.emacs-29' + + sha256 'f2faf33b3784898989b7bd1c3cb7e87fc032a04c816ad7f9a863f5fc0af13e42' + url 'https://github.com/jimeh/emacs-builds/releases/download/Emacs.2023-01-23.c15c0f7.emacs-29/Emacs.2023-01-23.c15c0f7.emacs-29.macOS-11.x86_64.dmg' + + name 'Emacs' + desc 'GNU Emacs text editor (nightly build of emacs-29 branch)' + 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{4}-\d{2}-\d{2}\.\w+\.emacs-29)$/.match(tag) + next unless m + + m[1] + end.compact + end + end + + conflicts_with( + cask: %w[ + emacs-app + emacs-app-good + emacs-app-nightly + emacs-app-nightly-28 + emacs-app-pretest + emacs + emacs-nightly + emacs-pretest + emacs-mac + emacs-mac-spacemacs-icon + ], + formula: %w[ + emacs + emacs-mac + ] + ) + + depends_on macos: '>= :big_sur' + + 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 diff --git a/Casks/emacs-app-nightly.rb b/Casks/emacs-app-nightly.rb index b83c60c2..5e8c93dc 100644 --- a/Casks/emacs-app-nightly.rb +++ b/Casks/emacs-app-nightly.rb @@ -27,6 +27,7 @@ cask 'emacs-app-nightly' do emacs-app emacs-app-good emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/Casks/emacs-app-pretest.rb b/Casks/emacs-app-pretest.rb index e794d3b7..0412ca61 100644 --- a/Casks/emacs-app-pretest.rb +++ b/Casks/emacs-app-pretest.rb @@ -28,6 +28,7 @@ cask 'emacs-app-pretest' do emacs-app-good emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs emacs-nightly emacs-pretest diff --git a/Casks/emacs-app.rb b/Casks/emacs-app.rb index 67d95681..8f8a27fe 100644 --- a/Casks/emacs-app.rb +++ b/Casks/emacs-app.rb @@ -27,6 +27,7 @@ cask 'emacs-app' do emacs-app-good emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/templates/emacs-app-good.rb.tpl b/templates/emacs-app-good.rb.tpl index 74b88b4e..c664dd9d 100644 --- a/templates/emacs-app-good.rb.tpl +++ b/templates/emacs-app-good.rb.tpl @@ -23,6 +23,7 @@ cask 'emacs-app-good' do emacs-app emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/templates/emacs-app-nightly-28.rb.tpl b/templates/emacs-app-nightly-28.rb.tpl index 2d9a4ad3..1f21a5c1 100644 --- a/templates/emacs-app-nightly-28.rb.tpl +++ b/templates/emacs-app-nightly-28.rb.tpl @@ -27,6 +27,7 @@ cask 'emacs-app-nightly-28' do emacs-app emacs-app-good emacs-app-nightly + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/templates/emacs-app-nightly-29.rb.tpl b/templates/emacs-app-nightly-29.rb.tpl new file mode 100644 index 00000000..f13cb133 --- /dev/null +++ b/templates/emacs-app-nightly-29.rb.tpl @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +cask 'emacs-app-nightly-29' do + version '{{ .Version }}' + + sha256 '{{ .SHA256 "macOS-11" "x86_64" }}' + url '{{ .DownloadURL "macOS-11" "x86_64" }}' + + name 'Emacs' + desc 'GNU Emacs text editor (nightly build of emacs-29 branch)' + 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{4}-\d{2}-\d{2}\.\w+\.emacs-29)$/.match(tag) + next unless m + + m[1] + end.compact + end + end + + conflicts_with( + cask: %w[ + emacs-app + emacs-app-good + emacs-app-nightly + emacs-app-nightly-28 + emacs-app-pretest + emacs + emacs-nightly + emacs-pretest + emacs-mac + emacs-mac-spacemacs-icon + ], + formula: %w[ + emacs + emacs-mac + ] + ) + + depends_on macos: '>= :big_sur' + + 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 diff --git a/templates/emacs-app-nightly.rb.tpl b/templates/emacs-app-nightly.rb.tpl index ec97ff0b..1bec9c09 100644 --- a/templates/emacs-app-nightly.rb.tpl +++ b/templates/emacs-app-nightly.rb.tpl @@ -27,6 +27,7 @@ cask 'emacs-app-nightly' do emacs-app emacs-app-good emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly diff --git a/templates/emacs-app-pretest.rb.tpl b/templates/emacs-app-pretest.rb.tpl index d429c2c8..100783db 100644 --- a/templates/emacs-app-pretest.rb.tpl +++ b/templates/emacs-app-pretest.rb.tpl @@ -28,6 +28,7 @@ cask 'emacs-app-pretest' do emacs-app-good emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs emacs-nightly emacs-pretest diff --git a/templates/emacs-app.rb.tpl b/templates/emacs-app.rb.tpl index 8456333d..b7133bb0 100644 --- a/templates/emacs-app.rb.tpl +++ b/templates/emacs-app.rb.tpl @@ -27,6 +27,7 @@ cask 'emacs-app' do emacs-app-good emacs-app-nightly emacs-app-nightly-28 + emacs-app-nightly-29 emacs-app-pretest emacs emacs-nightly