summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs')
-rw-r--r--app-emacs/a/Manifest1
-rw-r--r--app-emacs/a/a-1.0.0.ebuild21
-rw-r--r--app-emacs/a/metadata.xml18
-rw-r--r--app-emacs/ace-window/Manifest1
-rw-r--r--app-emacs/ace-window/ace-window-0.10.0.ebuild20
-rw-r--r--app-emacs/ace-window/metadata.xml13
-rw-r--r--app-emacs/adaptive-wrap/Manifest2
-rw-r--r--app-emacs/adaptive-wrap/adaptive-wrap-0.7.ebuild17
-rw-r--r--app-emacs/adaptive-wrap/adaptive-wrap-0.8.ebuild17
-rw-r--r--app-emacs/all-the-icons-dired/Manifest1
-rw-r--r--app-emacs/all-the-icons-dired/all-the-icons-dired-2.0.ebuild20
-rw-r--r--app-emacs/all-the-icons-dired/files/50all-the-icons-dired-gentoo.el3
-rw-r--r--app-emacs/all-the-icons-dired/metadata.xml13
-rw-r--r--app-emacs/all-the-icons-ibuffer/Manifest1
-rw-r--r--app-emacs/all-the-icons-ibuffer/all-the-icons-ibuffer-1.3.0.ebuild21
-rw-r--r--app-emacs/all-the-icons-ibuffer/files/50all-the-icons-ibuffer-gentoo.el3
-rw-r--r--app-emacs/all-the-icons-ibuffer/metadata.xml13
-rw-r--r--app-emacs/all-the-icons-ivy-rich/Manifest1
-rw-r--r--app-emacs/all-the-icons-ivy-rich/all-the-icons-ivy-rich-1.9.0.ebuild24
-rw-r--r--app-emacs/all-the-icons-ivy-rich/files/50all-the-icons-ivy-rich-gentoo.el3
-rw-r--r--app-emacs/all-the-icons-ivy-rich/metadata.xml13
-rw-r--r--app-emacs/all-the-icons/Manifest1
-rw-r--r--app-emacs/all-the-icons/all-the-icons-5.0.0_p20230316.ebuild80
-rw-r--r--app-emacs/all-the-icons/metadata.xml13
-rw-r--r--app-emacs/amx/Manifest1
-rw-r--r--app-emacs/amx/amx-3.4.ebuild25
-rw-r--r--app-emacs/amx/files/50amx-gentoo.el5
-rw-r--r--app-emacs/amx/metadata.xml14
-rw-r--r--app-emacs/anaphora/Manifest1
-rw-r--r--app-emacs/anaphora/anaphora-1.0.4.ebuild22
-rw-r--r--app-emacs/anaphora/metadata.xml19
-rw-r--r--app-emacs/ansi/Manifest1
-rw-r--r--app-emacs/ansi/ansi-0.4.1_p20211104.ebuild41
-rw-r--r--app-emacs/ansi/metadata.xml14
-rw-r--r--app-emacs/apache-mode/metadata.xml3
-rw-r--r--app-emacs/apel/Manifest2
-rw-r--r--app-emacs/apel/apel-10.8_p20190407.ebuild44
-rw-r--r--app-emacs/apel/apel-10.8_p20201106.ebuild7
-rw-r--r--app-emacs/apel/apel-10.8_p20220721.ebuild39
-rw-r--r--app-emacs/apel/files/50apel-gentoo.el1
-rw-r--r--app-emacs/apel/metadata.xml3
-rw-r--r--app-emacs/apheleia/Manifest2
-rw-r--r--app-emacs/apheleia/apheleia-4.0.ebuild20
-rw-r--r--app-emacs/apheleia/apheleia-4.1.ebuild28
-rw-r--r--app-emacs/apheleia/files/50apheleia-gentoo.el7
-rw-r--r--app-emacs/apheleia/metadata.xml20
-rw-r--r--app-emacs/assess/Manifest1
-rw-r--r--app-emacs/assess/assess-0.6.ebuild41
-rw-r--r--app-emacs/assess/metadata.xml24
-rw-r--r--app-emacs/async/Manifest2
-rw-r--r--app-emacs/async/async-1.9.3.ebuild24
-rw-r--r--app-emacs/async/async-1.9.8.ebuild24
-rw-r--r--app-emacs/atomic-chrome/atomic-chrome-2.0.0-r1.ebuild20
-rw-r--r--app-emacs/atomic-chrome/atomic-chrome-2.0.0.ebuild21
-rw-r--r--app-emacs/atomic-chrome/metadata.xml3
-rw-r--r--app-emacs/auctex/Manifest5
-rw-r--r--app-emacs/auctex/auctex-11.92.ebuild60
-rw-r--r--app-emacs/auctex/auctex-12.2.ebuild61
-rw-r--r--app-emacs/auctex/auctex-12.3.ebuild61
-rw-r--r--app-emacs/auctex/auctex-13.2.ebuild60
-rw-r--r--app-emacs/auctex/auctex-13.3.ebuild69
-rw-r--r--app-emacs/auctex/metadata.xml31
-rw-r--r--app-emacs/auto-complete/auto-complete-1.5.1-r1.ebuild42
-rw-r--r--app-emacs/auto-complete/auto-complete-1.5.1-r2.ebuild42
-rw-r--r--app-emacs/autoconf-mode/Manifest3
-rw-r--r--app-emacs/autoconf-mode/autoconf-mode-2.69-r1.ebuild17
-rw-r--r--app-emacs/autoconf-mode/autoconf-mode-2.71.ebuild17
-rw-r--r--app-emacs/autoconf-mode/autoconf-mode-2.72.ebuild17
-rw-r--r--app-emacs/autoconf-mode/metadata.xml13
-rw-r--r--app-emacs/autothemer/Manifest1
-rw-r--r--app-emacs/autothemer/autothemer-0.2.18.ebuild40
-rw-r--r--app-emacs/autothemer/autothemer-9999.ebuild39
-rw-r--r--app-emacs/autothemer/files/50autothemer-gentoo.el2
-rw-r--r--app-emacs/autothemer/metadata.xml15
-rw-r--r--app-emacs/avy-embark-collect/Manifest1
-rw-r--r--app-emacs/avy-embark-collect/avy-embark-collect-1.0.ebuild34
-rw-r--r--app-emacs/avy-embark-collect/avy-embark-collect-9999.ebuild32
-rw-r--r--app-emacs/avy-embark-collect/files/50avy-embark-collect-gentoo.el5
-rw-r--r--app-emacs/avy-embark-collect/metadata.xml13
-rw-r--r--app-emacs/avy/Manifest1
-rw-r--r--app-emacs/avy/avy-0.5.0.ebuild25
-rw-r--r--app-emacs/avy/files/50avy-gentoo.el34
-rw-r--r--app-emacs/avy/metadata.xml13
-rw-r--r--app-emacs/basic-toolkit/basic-toolkit-0.7.ebuild4
-rw-r--r--app-emacs/basic-toolkit/files/50basic-toolkit-gentoo-0.7.el1
-rw-r--r--app-emacs/bbdb/Manifest3
-rw-r--r--app-emacs/bbdb/bbdb-3.1.2-r2.ebuild60
-rw-r--r--app-emacs/bbdb/bbdb-3.2.2b.ebuild65
-rw-r--r--app-emacs/bbdb/bbdb-3.2_pre20180106.ebuild62
-rw-r--r--app-emacs/bbdb/files/50bbdb-gentoo-3.1.2.el2
-rw-r--r--app-emacs/bbdb/files/bbdb-3.1.2-no-init.patch126
-rw-r--r--app-emacs/bbdb/metadata.xml2
-rw-r--r--app-emacs/biblio/Manifest1
-rw-r--r--app-emacs/biblio/biblio-0.3.ebuild49
-rw-r--r--app-emacs/biblio/files/50biblio-gentoo.el2
-rw-r--r--app-emacs/biblio/metadata.xml18
-rw-r--r--app-emacs/bind-chord/Manifest1
-rw-r--r--app-emacs/bind-chord/bind-chord-2.4.4.ebuild33
-rw-r--r--app-emacs/bind-chord/metadata.xml14
-rw-r--r--app-emacs/bind-key/Manifest1
-rw-r--r--app-emacs/bind-key/bind-key-2.4.4.ebuild27
-rw-r--r--app-emacs/bind-key/metadata.xml14
-rw-r--r--app-emacs/bison-mode/bison-mode-0.3-r1.ebuild17
-rw-r--r--app-emacs/bison-mode/bison-mode-0.3.ebuild17
-rw-r--r--app-emacs/bm/Manifest2
-rw-r--r--app-emacs/bm/bm-201905.ebuild19
-rw-r--r--app-emacs/bm/bm-202309.ebuild19
-rw-r--r--app-emacs/bnf-mode/Manifest1
-rw-r--r--app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild23
-rw-r--r--app-emacs/bnf-mode/files/50bnf-mode-gentoo.el4
-rw-r--r--app-emacs/bnf-mode/metadata.xml14
-rw-r--r--app-emacs/boogie-friends/Manifest1
-rw-r--r--app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild49
-rw-r--r--app-emacs/boogie-friends/files/50boogie-friends-gentoo.el10
-rw-r--r--app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch11
-rw-r--r--app-emacs/boogie-friends/files/boogie-friends-paths.patch12
-rw-r--r--app-emacs/boogie-friends/metadata.xml18
-rw-r--r--app-emacs/boxquote/Manifest2
-rw-r--r--app-emacs/boxquote/boxquote-2.1.ebuild23
-rw-r--r--app-emacs/boxquote/boxquote-2.3.ebuild23
-rw-r--r--app-emacs/boxquote/metadata.xml4
-rw-r--r--app-emacs/buffer-extension/buffer-extension-0.1-r1.ebuild25
-rw-r--r--app-emacs/buffer-extension/buffer-extension-0.1.ebuild25
-rw-r--r--app-emacs/bui/Manifest1
-rw-r--r--app-emacs/bui/bui-1.2.1_p20210108.ebuild23
-rw-r--r--app-emacs/bui/metadata.xml15
-rw-r--r--app-emacs/burly/Manifest2
-rw-r--r--app-emacs/burly/burly-0.2.ebuild39
-rw-r--r--app-emacs/burly/burly-0.3.ebuild39
-rw-r--r--app-emacs/burly/files/50burly-gentoo.el2
-rw-r--r--app-emacs/burly/metadata.xml21
-rw-r--r--app-emacs/buttercup/Manifest3
-rw-r--r--app-emacs/buttercup/buttercup-1.33.ebuild28
-rw-r--r--app-emacs/buttercup/buttercup-1.34.ebuild38
-rw-r--r--app-emacs/buttercup/buttercup-1.35.ebuild38
-rw-r--r--app-emacs/buttercup/buttercup-9999.ebuild38
-rw-r--r--app-emacs/buttercup/metadata.xml12
-rw-r--r--app-emacs/calfw/metadata.xml31
-rw-r--r--app-emacs/cape/Manifest2
-rw-r--r--app-emacs/cape/cape-1.4.ebuild40
-rw-r--r--app-emacs/cape/cape-1.5.ebuild40
-rw-r--r--app-emacs/cape/cape-9999.ebuild40
-rw-r--r--app-emacs/cape/files/50cape-gentoo.el3
-rw-r--r--app-emacs/cape/metadata.xml16
-rw-r--r--app-emacs/cask-mode/Manifest1
-rw-r--r--app-emacs/cask-mode/cask-mode-0.1.ebuild38
-rw-r--r--app-emacs/cask-mode/files/50cask-mode-gentoo.el4
-rw-r--r--app-emacs/cask-mode/metadata.xml18
-rw-r--r--app-emacs/cask/Manifest1
-rw-r--r--app-emacs/cask/cask-0.8.8.ebuild48
-rw-r--r--app-emacs/cask/files/cask-bin-launcher-fix.patch24
-rw-r--r--app-emacs/cask/files/cask-no-bootstrap.patch43
-rw-r--r--app-emacs/cask/metadata.xml13
-rw-r--r--app-emacs/centaur-tabs/Manifest1
-rw-r--r--app-emacs/centaur-tabs/centaur-tabs-3.2.ebuild20
-rw-r--r--app-emacs/centaur-tabs/files/50centaur-tabs-gentoo.el5
-rw-r--r--app-emacs/centaur-tabs/metadata.xml19
-rw-r--r--app-emacs/cfrs/Manifest1
-rw-r--r--app-emacs/cfrs/cfrs-1.6.0-r1.ebuild27
-rw-r--r--app-emacs/cfrs/files/50cfrs-gentoo.el3
-rw-r--r--app-emacs/cfrs/metadata.xml13
-rw-r--r--app-emacs/chess/Manifest1
-rw-r--r--app-emacs/chess/chess-2.0.4.ebuild41
-rw-r--r--app-emacs/chess/chess-2.0.5.ebuild3
-rw-r--r--app-emacs/cider/Manifest3
-rw-r--r--app-emacs/cider/cider-1.12.0.ebuild59
-rw-r--r--app-emacs/cider/cider-1.13.0.ebuild59
-rw-r--r--app-emacs/cider/cider-1.13.1.ebuild59
-rw-r--r--app-emacs/cider/files/50cider-gentoo.el5
-rw-r--r--app-emacs/cider/metadata.xml22
-rw-r--r--app-emacs/circe/Manifest3
-rw-r--r--app-emacs/circe/circe-2.11.ebuild20
-rw-r--r--app-emacs/circe/circe-2.12.ebuild27
-rw-r--r--app-emacs/circe/circe-2.13.ebuild31
-rw-r--r--app-emacs/citar/Manifest1
-rw-r--r--app-emacs/citar/citar-1.4.0.ebuild43
-rw-r--r--app-emacs/citar/files/50citar-gentoo.el2
-rw-r--r--app-emacs/citar/metadata.xml23
-rw-r--r--app-emacs/citeproc-el/Manifest2
-rw-r--r--app-emacs/citeproc-el/citeproc-el-0.9.3.ebuild47
-rw-r--r--app-emacs/citeproc-el/citeproc-el-0.9.4-r1.ebuild53
-rw-r--r--app-emacs/citeproc-el/metadata.xml27
-rw-r--r--app-emacs/clojure-mode/Manifest1
-rw-r--r--app-emacs/clojure-mode/clojure-mode-5.18.1.ebuild28
-rw-r--r--app-emacs/clojure-mode/files/50clojure-mode-gentoo.el8
-rw-r--r--app-emacs/clojure-mode/metadata.xml18
-rw-r--r--app-emacs/cmake-font-lock/Manifest1
-rw-r--r--app-emacs/cmake-font-lock/cmake-font-lock-0.1.13-r1.ebuild33
-rw-r--r--app-emacs/cmake-font-lock/files/50cmake-font-lock-gentoo.el2
-rw-r--r--app-emacs/cmake-font-lock/metadata.xml12
-rw-r--r--app-emacs/cmake-mode/Manifest3
-rw-r--r--app-emacs/cmake-mode/cmake-mode-3.28.3.ebuild30
-rw-r--r--app-emacs/cmake-mode/cmake-mode-3.29.0.ebuild30
-rw-r--r--app-emacs/cmake-mode/cmake-mode-3.29.1.ebuild30
-rw-r--r--app-emacs/cmake-mode/files/50cmake-gentoo.el4
-rw-r--r--app-emacs/cmake-mode/metadata.xml14
-rw-r--r--app-emacs/color-theme/color-theme-6.6.0-r2.ebuild36
-rw-r--r--app-emacs/color-theme/color-theme-6.6.0-r3.ebuild37
-rw-r--r--app-emacs/color-theme/files/50color-theme-gentoo.el60
-rw-r--r--app-emacs/color-theme/files/color-theme-6.6.0-emacs-29.patch114
-rw-r--r--app-emacs/commander/Manifest1
-rw-r--r--app-emacs/commander/commander-0.7.0-r1.ebuild41
-rw-r--r--app-emacs/commander/metadata.xml14
-rw-r--r--app-emacs/commenter/Manifest1
-rw-r--r--app-emacs/commenter/commenter-0.5.2.ebuild18
-rw-r--r--app-emacs/commenter/metadata.xml13
-rw-r--r--app-emacs/company-coq/Manifest1
-rw-r--r--app-emacs/company-coq/company-coq-1.0.1_p20220314.ebuild46
-rw-r--r--app-emacs/company-coq/files/50company-coq-gentoo.el4
-rw-r--r--app-emacs/company-coq/files/company-coq-refman-path.patch13
-rw-r--r--app-emacs/company-coq/metadata.xml21
-rw-r--r--app-emacs/company-ebuild/Manifest1
-rw-r--r--app-emacs/company-ebuild/company-ebuild-0.1.4.ebuild30
-rw-r--r--app-emacs/company-ebuild/company-ebuild-9999.ebuild30
-rw-r--r--app-emacs/company-ebuild/files/50company-ebuild-gentoo.el5
-rw-r--r--app-emacs/company-ebuild/metadata.xml16
-rw-r--r--app-emacs/company-math/Manifest1
-rw-r--r--app-emacs/company-math/company-math-1.5.1.ebuild24
-rw-r--r--app-emacs/company-math/metadata.xml13
-rw-r--r--app-emacs/company-mode/Manifest4
-rw-r--r--app-emacs/company-mode/company-mode-0.10.1.ebuild48
-rw-r--r--app-emacs/company-mode/company-mode-0.10.2.ebuild59
-rw-r--r--app-emacs/company-mode/company-mode-0.9.10.ebuild21
-rw-r--r--app-emacs/company-mode/company-mode-0.9.13.ebuild21
-rw-r--r--app-emacs/company-mode/files/company-mode-company-icons-root.patch11
-rw-r--r--app-emacs/company-quickhelp/Manifest1
-rw-r--r--app-emacs/company-quickhelp/company-quickhelp-2.3.0.ebuild24
-rw-r--r--app-emacs/company-quickhelp/files/50company-quickhelp-gentoo.el5
-rw-r--r--app-emacs/company-quickhelp/metadata.xml14
-rw-r--r--app-emacs/compat/Manifest2
-rw-r--r--app-emacs/compat/compat-29.1.4.4.ebuild41
-rw-r--r--app-emacs/compat/compat-29.1.4.5.ebuild51
-rw-r--r--app-emacs/compat/metadata.xml15
-rw-r--r--app-emacs/consult-flycheck/Manifest1
-rw-r--r--app-emacs/consult-flycheck/consult-flycheck-1.0.ebuild25
-rw-r--r--app-emacs/consult-flycheck/files/50consult-flycheck-gentoo.el2
-rw-r--r--app-emacs/consult-flycheck/metadata.xml12
-rw-r--r--app-emacs/consult/Manifest2
-rw-r--r--app-emacs/consult/consult-1.4.ebuild33
-rw-r--r--app-emacs/consult/consult-1.5.ebuild39
-rw-r--r--app-emacs/consult/consult-9999.ebuild33
-rw-r--r--app-emacs/consult/files/50consult-gentoo.el2
-rw-r--r--app-emacs/consult/metadata.xml12
-rw-r--r--app-emacs/corfu/Manifest2
-rw-r--r--app-emacs/corfu/corfu-1.2.ebuild39
-rw-r--r--app-emacs/corfu/corfu-1.3.ebuild39
-rw-r--r--app-emacs/corfu/corfu-9999.ebuild39
-rw-r--r--app-emacs/corfu/files/50corfu-gentoo.el2
-rw-r--r--app-emacs/corfu/metadata.xml12
-rw-r--r--app-emacs/counsel/Manifest1
-rw-r--r--app-emacs/counsel/counsel-0.14.2.ebuild34
-rw-r--r--app-emacs/counsel/files/50counsel-gentoo.el3
-rw-r--r--app-emacs/counsel/metadata.xml16
-rw-r--r--app-emacs/crux/Manifest2
-rw-r--r--app-emacs/crux/crux-0.4.0.ebuild23
-rw-r--r--app-emacs/crux/crux-0.5.0.ebuild33
-rw-r--r--app-emacs/crux/files/50crux-gentoo.el2
-rw-r--r--app-emacs/crux/metadata.xml23
-rw-r--r--app-emacs/crypt++/Manifest2
-rw-r--r--app-emacs/crypt++/crypt++-2.92.ebuild17
-rw-r--r--app-emacs/crypt++/crypt++-2.94_pre20080430.ebuild17
-rw-r--r--app-emacs/crypt++/files/50crypt++-gentoo.el2
-rw-r--r--app-emacs/crypt++/metadata.xml17
-rw-r--r--app-emacs/csharp-mode/Manifest2
-rw-r--r--app-emacs/csharp-mode/csharp-mode-0.9.2.ebuild22
-rw-r--r--app-emacs/csharp-mode/csharp-mode-2.0.0.ebuild29
-rw-r--r--app-emacs/csv-mode/Manifest3
-rw-r--r--app-emacs/csv-mode/csv-mode-1.10.ebuild18
-rw-r--r--app-emacs/csv-mode/csv-mode-1.23.ebuild23
-rw-r--r--app-emacs/csv-mode/csv-mode-1.9.ebuild18
-rw-r--r--app-emacs/ctable/Manifest1
-rw-r--r--app-emacs/ctable/ctable-0.1.3.ebuild22
-rw-r--r--app-emacs/ctable/metadata.xml13
-rw-r--r--app-emacs/cycle-buffer/cycle-buffer-2.16-r1.ebuild22
-rw-r--r--app-emacs/cycle-buffer/cycle-buffer-2.16.ebuild22
-rw-r--r--app-emacs/d-mode/Manifest2
-rw-r--r--app-emacs/d-mode/d-mode-2.0.10.ebuild20
-rw-r--r--app-emacs/d-mode/d-mode-2.0.12.ebuild23
-rw-r--r--app-emacs/d-mode/files/d-mode-2.0.10-rx-form.patch25
-rw-r--r--app-emacs/dap-mode/Manifest2
-rw-r--r--app-emacs/dap-mode/dap-mode-0.7-r1.ebuild55
-rw-r--r--app-emacs/dap-mode/dap-mode-0.8.ebuild65
-rw-r--r--app-emacs/dap-mode/files/dap-mode-dap-ui-images-root-dir.patch12
-rw-r--r--app-emacs/dap-mode/metadata.xml14
-rw-r--r--app-emacs/dash/Manifest4
-rw-r--r--app-emacs/dash/dash-2.16.0.ebuild25
-rw-r--r--app-emacs/dash/dash-2.17.0.ebuild25
-rw-r--r--app-emacs/dash/dash-2.18.1.ebuild21
-rw-r--r--app-emacs/dash/dash-2.19.0.ebuild21
-rw-r--r--app-emacs/dash/dash-2.19.1.ebuild4
-rw-r--r--app-emacs/dash/files/50dash-gentoo.el1
-rw-r--r--app-emacs/dashboard/Manifest1
-rw-r--r--app-emacs/dashboard/dashboard-1.8.0.ebuild48
-rw-r--r--app-emacs/dashboard/dashboard-9999.ebuild48
-rw-r--r--app-emacs/dashboard/files/50dashboard-gentoo.el3
-rw-r--r--app-emacs/dashboard/files/dashboard-1.8.0-dashboard-widgets.el-banners.patch12
-rw-r--r--app-emacs/dashboard/metadata.xml15
-rw-r--r--app-emacs/ddskk/Manifest2
-rw-r--r--app-emacs/ddskk/ddskk-16.2.ebuild72
-rw-r--r--app-emacs/ddskk/ddskk-16.3.ebuild72
-rw-r--r--app-emacs/ddskk/ddskk-17.1-r1.ebuild74
-rw-r--r--app-emacs/ddskk/ddskk-17.1.ebuild72
-rw-r--r--app-emacs/deferred/Manifest1
-rw-r--r--app-emacs/deferred/deferred-0.5.1.ebuild35
-rw-r--r--app-emacs/deferred/metadata.xml14
-rw-r--r--app-emacs/deft/Manifest1
-rw-r--r--app-emacs/deft/deft-08_p20210707.ebuild20
-rw-r--r--app-emacs/deft/files/50deft-gentoo.el7
-rw-r--r--app-emacs/deft/metadata.xml13
-rw-r--r--app-emacs/demap/Manifest1
-rw-r--r--app-emacs/demap/demap-1.4.0.ebuild23
-rw-r--r--app-emacs/demap/files/50demap-gentoo.el3
-rw-r--r--app-emacs/demap/metadata.xml25
-rw-r--r--app-emacs/denote/Manifest2
-rw-r--r--app-emacs/denote/denote-2.1.0.ebuild39
-rw-r--r--app-emacs/denote/denote-2.2.0.ebuild39
-rw-r--r--app-emacs/denote/files/50denote-gentoo.el2
-rw-r--r--app-emacs/denote/metadata.xml21
-rw-r--r--app-emacs/desktop-entry-mode/Manifest1
-rw-r--r--app-emacs/desktop-entry-mode/desktop-entry-mode-0.27-r1.ebuild24
-rw-r--r--app-emacs/desktop-entry-mode/files/50desktop-entry-mode-gentoo.el5
-rw-r--r--app-emacs/desktop-entry-mode/metadata.xml13
-rw-r--r--app-emacs/devil/Manifest2
-rw-r--r--app-emacs/devil/devil-0.5.0.ebuild26
-rw-r--r--app-emacs/devil/devil-0.6.0.ebuild26
-rw-r--r--app-emacs/devil/files/50devil-gentoo.el2
-rw-r--r--app-emacs/devil/metadata.xml13
-rw-r--r--app-emacs/dictionary/Manifest2
-rw-r--r--app-emacs/dictionary/dictionary-1.10.ebuild18
-rw-r--r--app-emacs/dictionary/dictionary-1.11.ebuild20
-rw-r--r--app-emacs/diff-hl/Manifest1
-rw-r--r--app-emacs/diff-hl/diff-hl-1.9.2.ebuild34
-rw-r--r--app-emacs/diff-hl/files/50diff-hl-gentoo.el33
-rw-r--r--app-emacs/diff-hl/metadata.xml13
-rw-r--r--app-emacs/diminish/Manifest1
-rw-r--r--app-emacs/diminish/diminish-0.46_pre20220128.ebuild21
-rw-r--r--app-emacs/diminish/metadata.xml13
-rw-r--r--app-emacs/dired-hacks/Manifest1
-rw-r--r--app-emacs/dired-hacks/dired-hacks-0.0.1_p20230621.ebuild48
-rw-r--r--app-emacs/dired-hacks/files/50dired-hacks-gentoo.el2
-rw-r--r--app-emacs/dired-hacks/metadata.xml13
-rw-r--r--app-emacs/docker-tramp/Manifest1
-rw-r--r--app-emacs/docker-tramp/docker-tramp-0.1.1.ebuild25
-rw-r--r--app-emacs/docker-tramp/files/50docker-tramp-gentoo.el2
-rw-r--r--app-emacs/docker-tramp/metadata.xml14
-rw-r--r--app-emacs/docker/Manifest1
-rw-r--r--app-emacs/docker/docker-2.3.1.ebuild43
-rw-r--r--app-emacs/docker/files/50docker-gentoo.el2
-rw-r--r--app-emacs/docker/metadata.xml18
-rw-r--r--app-emacs/dockerfile-mode/Manifest2
-rw-r--r--app-emacs/dockerfile-mode/dockerfile-mode-1.8-r1.ebuild17
-rw-r--r--app-emacs/dockerfile-mode/dockerfile-mode-1.9.ebuild26
-rw-r--r--app-emacs/dockerfile-mode/files/50dockerfile-mode-gentoo.el9
-rw-r--r--app-emacs/dockerfile-mode/metadata.xml14
-rw-r--r--app-emacs/doctest-mode/doctest-mode-0.4.ebuild4
-rw-r--r--app-emacs/doom-modeline/Manifest2
-rw-r--r--app-emacs/doom-modeline/doom-modeline-4.0.1.ebuild39
-rw-r--r--app-emacs/doom-modeline/doom-modeline-4.1.0.ebuild39
-rw-r--r--app-emacs/doom-modeline/files/50doom-modeline-gentoo.el2
-rw-r--r--app-emacs/doom-modeline/metadata.xml13
-rw-r--r--app-emacs/doom-themes/Manifest1
-rw-r--r--app-emacs/doom-themes/doom-themes-2.3.0_p20231208.ebuild40
-rw-r--r--app-emacs/doom-themes/doom-themes-9999.ebuild38
-rw-r--r--app-emacs/doom-themes/files/50doom-themes-gentoo.el3
-rw-r--r--app-emacs/doom-themes/metadata.xml13
-rw-r--r--app-emacs/doxymacs/doxymacs-1.8.0-r4.ebuild35
-rw-r--r--app-emacs/doxymacs/doxymacs-1.8.0-r5.ebuild40
-rw-r--r--app-emacs/doxymacs/files/doxymacs-1.8.0-flags.patch21
-rw-r--r--app-emacs/dts-mode/Manifest3
-rw-r--r--app-emacs/dts-mode/dts-mode-0.1.0_pre20161103.ebuild19
-rw-r--r--app-emacs/dts-mode/dts-mode-0.1.1.ebuild20
-rw-r--r--app-emacs/dts-mode/dts-mode-1.0.ebuild20
-rw-r--r--app-emacs/dune-format/Manifest1
-rw-r--r--app-emacs/dune-format/dune-format-0.1.ebuild26
-rw-r--r--app-emacs/dune-format/metadata.xml17
-rw-r--r--app-emacs/dwarf-mode/Manifest1
-rw-r--r--app-emacs/dwarf-mode/dwarf-mode-2.40.ebuild19
-rw-r--r--app-emacs/dwarf-mode/files/50dwarf-mode-gentoo.el3
-rw-r--r--app-emacs/dwarf-mode/metadata.xml13
-rw-r--r--app-emacs/earthfile-mode/Manifest1
-rw-r--r--app-emacs/earthfile-mode/earthfile-mode-0.1.0_p20230810.ebuild28
-rw-r--r--app-emacs/earthfile-mode/files/50earthfile-mode-gentoo.el5
-rw-r--r--app-emacs/earthfile-mode/metadata.xml14
-rw-r--r--app-emacs/ebib/Manifest3
-rw-r--r--app-emacs/ebib/ebib-2.40.3-r1.ebuild48
-rw-r--r--app-emacs/ebib/ebib-2.40.4.ebuild48
-rw-r--r--app-emacs/ebib/ebib-2.40.5.ebuild48
-rw-r--r--app-emacs/ebib/files/50ebib-gentoo.el5
-rw-r--r--app-emacs/ebib/metadata.xml19
-rw-r--r--app-emacs/ebuild-mode/Manifest5
-rw-r--r--app-emacs/ebuild-mode/ebuild-mode-1.51-r3.ebuild22
-rw-r--r--app-emacs/ebuild-mode/ebuild-mode-1.52.ebuild22
-rw-r--r--app-emacs/ebuild-mode/ebuild-mode-1.53.ebuild22
-rw-r--r--app-emacs/ebuild-mode/ebuild-mode-1.69.ebuild28
-rw-r--r--app-emacs/ebuild-mode/ebuild-mode-1.70.ebuild28
-rw-r--r--app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.51.el24
-rw-r--r--app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.52.el28
-rw-r--r--app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.54.el30
-rw-r--r--app-emacs/ebuild-mode/metadata.xml1
-rw-r--r--app-emacs/ebuild-run-mode/Manifest1
-rw-r--r--app-emacs/ebuild-run-mode/ebuild-run-mode-20210713.ebuild3
-rw-r--r--app-emacs/ebuild-run-mode/ebuild-run-mode-20221116.ebuild25
-rw-r--r--app-emacs/ecb/ecb-2.50_pre20170728.ebuild10
-rw-r--r--app-emacs/ecukes/Manifest1
-rw-r--r--app-emacs/ecukes/ecukes-0.6.18-r1.ebuild65
-rw-r--r--app-emacs/ecukes/files/ecukes-bin-launcher-fix.patch31
-rw-r--r--app-emacs/ecukes/metadata.xml14
-rw-r--r--app-emacs/edb/Manifest2
-rw-r--r--app-emacs/edb/edb-1.32.ebuild35
-rw-r--r--app-emacs/edb/edb-1.34.ebuild35
-rw-r--r--app-emacs/edit-indirect/Manifest2
-rw-r--r--app-emacs/edit-indirect/edit-indirect-0.1.11.ebuild23
-rw-r--r--app-emacs/edit-indirect/edit-indirect-0.1.13.ebuild23
-rw-r--r--app-emacs/edit-indirect/files/50edit-indirect-gentoo.el3
-rw-r--r--app-emacs/edit-indirect/metadata.xml18
-rw-r--r--app-emacs/edit-server/Manifest1
-rw-r--r--app-emacs/edit-server/edit-server-1.16.ebuild20
-rw-r--r--app-emacs/edit-server/metadata.xml3
-rw-r--r--app-emacs/editorconfig-emacs/Manifest3
-rw-r--r--app-emacs/editorconfig-emacs/editorconfig-emacs-0.10.1.ebuild21
-rw-r--r--app-emacs/editorconfig-emacs/editorconfig-emacs-0.7.8-r1.ebuild21
-rw-r--r--app-emacs/editorconfig-emacs/editorconfig-emacs-0.8.2.ebuild21
-rw-r--r--app-emacs/editorconfig-emacs/files/50editorconfig-emacs-gentoo.el4
-rw-r--r--app-emacs/ef-themes/Manifest1
-rw-r--r--app-emacs/ef-themes/ef-themes-1.4.0.ebuild32
-rw-r--r--app-emacs/ef-themes/ef-themes-9999.ebuild32
-rw-r--r--app-emacs/ef-themes/files/50ef-themes-gentoo.el2
-rw-r--r--app-emacs/ef-themes/metadata.xml19
-rw-r--r--app-emacs/eglot/Manifest1
-rw-r--r--app-emacs/eglot/eglot-1.15-r1.ebuild38
-rw-r--r--app-emacs/eglot/files/50eglot-gentoo-r1.el2
-rw-r--r--app-emacs/eglot/files/50eglot-gentoo.el2
-rw-r--r--app-emacs/eglot/metadata.xml20
-rw-r--r--app-emacs/eimp/Manifest1
-rw-r--r--app-emacs/eimp/eimp-1.4.0-r1.ebuild27
-rw-r--r--app-emacs/eimp/files/50eimp-gentoo.el2
-rw-r--r--app-emacs/eimp/metadata.xml13
-rw-r--r--app-emacs/el-mock/Manifest1
-rw-r--r--app-emacs/el-mock/el-mock-1.25.1.ebuild19
-rw-r--r--app-emacs/el-mock/metadata.xml13
-rw-r--r--app-emacs/eldev/Manifest3
-rw-r--r--app-emacs/eldev/eldev-1.8.2.ebuild55
-rw-r--r--app-emacs/eldev/eldev-1.9.1.ebuild59
-rw-r--r--app-emacs/eldev/eldev-1.9.ebuild59
-rw-r--r--app-emacs/eldev/eldev-9999.ebuild50
-rw-r--r--app-emacs/eldev/metadata.xml22
-rw-r--r--app-emacs/elfeed-protocol/Manifest2
-rw-r--r--app-emacs/elfeed-protocol/elfeed-protocol-0.9.0.ebuild29
-rw-r--r--app-emacs/elfeed-protocol/elfeed-protocol-0.9.1.ebuild29
-rw-r--r--app-emacs/elfeed-protocol/files/50elfeed-protocol-gentoo.el5
-rw-r--r--app-emacs/elfeed-protocol/metadata.xml18
-rw-r--r--app-emacs/elfeed/Manifest1
-rw-r--r--app-emacs/elfeed/elfeed-3.4.1_p20210822.ebuild30
-rw-r--r--app-emacs/elfeed/files/50elfeed-gentoo.el2
-rw-r--r--app-emacs/elfeed/metadata.xml21
-rw-r--r--app-emacs/elixir-mode/Manifest2
-rw-r--r--app-emacs/elixir-mode/elixir-mode-2.4.1.ebuild37
-rw-r--r--app-emacs/elixir-mode/elixir-mode-2.5.0.ebuild37
-rw-r--r--app-emacs/elixir-mode/files/50elixir-mode-gentoo.el7
-rw-r--r--app-emacs/elixir-mode/metadata.xml13
-rw-r--r--app-emacs/elpa-mirror/Manifest2
-rw-r--r--app-emacs/elpa-mirror/elpa-mirror-2.2.2.ebuild31
-rw-r--r--app-emacs/elpa-mirror/elpa-mirror-2.3.0.ebuild32
-rw-r--r--app-emacs/elpa-mirror/files/50elpa-mirror-gentoo.el3
-rw-r--r--app-emacs/elpa-mirror/metadata.xml13
-rw-r--r--app-emacs/elpher/Manifest2
-rw-r--r--app-emacs/elpher/elpher-3.5.1.ebuild36
-rw-r--r--app-emacs/elpher/elpher-3.6.0.ebuild39
-rw-r--r--app-emacs/elpher/elpher-9999.ebuild39
-rw-r--r--app-emacs/elpher/files/50elpher-gentoo.el3
-rw-r--r--app-emacs/elpher/metadata.xml9
-rw-r--r--app-emacs/elpy/Manifest1
-rw-r--r--app-emacs/elpy/elpy-1.35.0_p20220627-r1.ebuild101
-rw-r--r--app-emacs/elpy/files/50elpy-gentoo.el5
-rw-r--r--app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch12
-rw-r--r--app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch14
-rw-r--r--app-emacs/elpy/metadata.xml13
-rw-r--r--app-emacs/elscreen/metadata.xml3
-rw-r--r--app-emacs/emacs-aio/Manifest1
-rw-r--r--app-emacs/emacs-aio/emacs-aio-1.0_p20200610.ebuild28
-rw-r--r--app-emacs/emacs-aio/metadata.xml26
-rw-r--r--app-emacs/emacs-ansilove/Manifest1
-rw-r--r--app-emacs/emacs-ansilove/emacs-ansilove-2.0.0.ebuild38
-rw-r--r--app-emacs/emacs-ansilove/emacs-ansilove-9999.ebuild38
-rw-r--r--app-emacs/emacs-ansilove/metadata.xml21
-rw-r--r--app-emacs/emacs-bazel-mode/Manifest1
-rw-r--r--app-emacs/emacs-bazel-mode/emacs-bazel-mode-0_p20230511.ebuild47
-rw-r--r--app-emacs/emacs-bazel-mode/files/50emacs-bazel-mode-gentoo.el2
-rw-r--r--app-emacs/emacs-bazel-mode/metadata.xml19
-rw-r--r--app-emacs/emacs-ccls/Manifest1
-rw-r--r--app-emacs/emacs-ccls/emacs-ccls-0_pre20230311.ebuild24
-rw-r--r--app-emacs/emacs-ccls/files/50emacs-ccls-gentoo.el4
-rw-r--r--app-emacs/emacs-ccls/metadata.xml17
-rw-r--r--app-emacs/emacs-common/Manifest1
-rw-r--r--app-emacs/emacs-common/emacs-common-1.8.ebuild4
-rw-r--r--app-emacs/emacs-common/emacs-common-1.9.ebuild111
-rw-r--r--app-emacs/emacs-common/metadata.xml5
-rw-r--r--app-emacs/emacs-crystal-mode/Manifest1
-rw-r--r--app-emacs/emacs-crystal-mode/emacs-crystal-mode-0.1.0_p20221008.ebuild29
-rw-r--r--app-emacs/emacs-crystal-mode/files/50emacs-crystal-mode-gentoo.el2
-rw-r--r--app-emacs/emacs-crystal-mode/metadata.xml13
-rw-r--r--app-emacs/emacs-daemon/emacs-daemon-0.22-r1.ebuild50
-rw-r--r--app-emacs/emacs-daemon/emacs-daemon-0.22.ebuild50
-rw-r--r--app-emacs/emacs-daemon/metadata.xml3
-rw-r--r--app-emacs/emacs-eat/Manifest1
-rw-r--r--app-emacs/emacs-eat/emacs-eat-0.9.4.ebuild62
-rw-r--r--app-emacs/emacs-eat/files/50emacs-eat-gentoo.el4
-rw-r--r--app-emacs/emacs-eat/metadata.xml24
-rw-r--r--app-emacs/emacs-ebuild-snippets/Manifest1
-rw-r--r--app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-2.2.0.ebuild44
-rw-r--r--app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-9999.ebuild44
-rw-r--r--app-emacs/emacs-ebuild-snippets/metadata.xml17
-rw-r--r--app-emacs/emacs-eix/Manifest1
-rw-r--r--app-emacs/emacs-eix/emacs-eix-0.0.0.ebuild27
-rw-r--r--app-emacs/emacs-eix/emacs-eix-9999.ebuild27
-rw-r--r--app-emacs/emacs-eix/files/50emacs-eix-gentoo.el2
-rw-r--r--app-emacs/emacs-eix/metadata.xml15
-rw-r--r--app-emacs/emacs-el-fetch/Manifest1
-rw-r--r--app-emacs/emacs-el-fetch/emacs-el-fetch-3.3.0.ebuild34
-rw-r--r--app-emacs/emacs-el-fetch/emacs-el-fetch-9999.ebuild34
-rw-r--r--app-emacs/emacs-el-fetch/metadata.xml18
-rw-r--r--app-emacs/emacs-ipython-notebook/Manifest2
-rw-r--r--app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.0_p20220419-r1.ebuild78
-rw-r--r--app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.1_pre20230826.ebuild81
-rw-r--r--app-emacs/emacs-ipython-notebook/files/50emacs-ipython-notebook-gentoo.el4
-rw-r--r--app-emacs/emacs-ipython-notebook/metadata.xml13
-rw-r--r--app-emacs/emacs-jabber/emacs-jabber-0.8.92.ebuild3
-rw-r--r--app-emacs/emacs-jabber/files/emacs-jabber-0.8.92-emacs-28.patch24
-rw-r--r--app-emacs/emacs-openrc/Manifest1
-rw-r--r--app-emacs/emacs-openrc/emacs-openrc-1.0.0.ebuild27
-rw-r--r--app-emacs/emacs-openrc/emacs-openrc-9999.ebuild27
-rw-r--r--app-emacs/emacs-openrc/files/50emacs-openrc-gentoo.el2
-rw-r--r--app-emacs/emacs-openrc/metadata.xml15
-rw-r--r--app-emacs/emacs-w3m/Manifest2
-rw-r--r--app-emacs/emacs-w3m/emacs-w3m-1.4.632_p20230801.ebuild63
-rw-r--r--app-emacs/emacs-w3m/emacs-w3m-1.4.632_pre20181112.ebuild53
-rw-r--r--app-emacs/emacs-w3m/metadata.xml4
-rw-r--r--app-emacs/emacs-websearch/Manifest1
-rw-r--r--app-emacs/emacs-websearch/emacs-websearch-2.1.0.ebuild27
-rw-r--r--app-emacs/emacs-websearch/emacs-websearch-9999.ebuild27
-rw-r--r--app-emacs/emacs-websearch/metadata.xml23
-rw-r--r--app-emacs/emacsql/Manifest1
-rw-r--r--app-emacs/emacsql/emacsql-3.1.1.ebuild80
-rw-r--r--app-emacs/emacsql/files/emacsql-3.1.1-fix-utf8-bom-writing.patch52
-rw-r--r--app-emacs/emacsql/metadata.xml15
-rw-r--r--app-emacs/embark-consult/Manifest1
-rw-r--r--app-emacs/embark-consult/embark-consult-1.0.ebuild36
-rw-r--r--app-emacs/embark-consult/embark-consult-9999.ebuild34
-rw-r--r--app-emacs/embark-consult/metadata.xml13
-rw-r--r--app-emacs/embark/Manifest1
-rw-r--r--app-emacs/embark/embark-1.0.ebuild52
-rw-r--r--app-emacs/embark/embark-9999.ebuild50
-rw-r--r--app-emacs/embark/files/50embark-gentoo.el2
-rw-r--r--app-emacs/embark/metadata.xml29
-rw-r--r--app-emacs/emhacks/emhacks-20070920-r1.ebuild25
-rw-r--r--app-emacs/emhacks/emhacks-20070920-r2.ebuild25
-rw-r--r--app-emacs/emms/Manifest5
-rw-r--r--app-emacs/emms/emms-18.ebuild46
-rw-r--r--app-emacs/emms/emms-19.ebuild46
-rw-r--r--app-emacs/emms/emms-4.4.ebuild38
-rw-r--r--app-emacs/emms/emms-5.3.ebuild38
-rw-r--r--app-emacs/emms/emms-5.4.ebuild38
-rw-r--r--app-emacs/emojify/Manifest1
-rw-r--r--app-emacs/emojify/emojify-1.2_p20210309.ebuild40
-rw-r--r--app-emacs/emojify/files/50emojify-gentoo.el5
-rw-r--r--app-emacs/emojify/files/emojify-json-data.patch25
-rw-r--r--app-emacs/emojify/metadata.xml13
-rw-r--r--app-emacs/engrave-faces/Manifest1
-rw-r--r--app-emacs/engrave-faces/engrave-faces-0.3.1.ebuild20
-rw-r--r--app-emacs/engrave-faces/metadata.xml19
-rw-r--r--app-emacs/epc/Manifest1
-rw-r--r--app-emacs/epc/epc-0.1.1.ebuild30
-rw-r--r--app-emacs/epc/metadata.xml13
-rw-r--r--app-emacs/epl/epl-0.9-r2.ebuild26
-rw-r--r--app-emacs/epl/epl-0.9.ebuild20
-rw-r--r--app-emacs/epl/metadata.xml4
-rw-r--r--app-emacs/erefactor/Manifest1
-rw-r--r--app-emacs/erefactor/erefactor-0.7.2.ebuild29
-rw-r--r--app-emacs/erefactor/files/50erefactor-gentoo.el19
-rw-r--r--app-emacs/erefactor/metadata.xml14
-rw-r--r--app-emacs/ert-async/Manifest1
-rw-r--r--app-emacs/ert-async/ert-async-0.1.2_p20200105.ebuild20
-rw-r--r--app-emacs/ert-async/metadata.xml13
-rw-r--r--app-emacs/ert-runner/Manifest1
-rw-r--r--app-emacs/ert-runner/ert-runner-0.8.0.ebuild49
-rw-r--r--app-emacs/ert-runner/files/ert-runner-bin-launcher-fix.patch30
-rw-r--r--app-emacs/ert-runner/metadata.xml14
-rw-r--r--app-emacs/eselect-mode/Manifest4
-rw-r--r--app-emacs/eselect-mode/eselect-mode-1.4.16.ebuild18
-rw-r--r--app-emacs/eselect-mode/eselect-mode-1.4.17.ebuild18
-rw-r--r--app-emacs/eselect-mode/eselect-mode-1.4.26.ebuild23
-rw-r--r--app-emacs/eselect-mode/eselect-mode-1.4.27.ebuild23
-rw-r--r--app-emacs/espuds/Manifest1
-rw-r--r--app-emacs/espuds/espuds-0.3.3_p20171111.ebuild28
-rw-r--r--app-emacs/espuds/metadata.xml13
-rw-r--r--app-emacs/ess/Manifest3
-rw-r--r--app-emacs/ess/ess-17.11.ebuild44
-rw-r--r--app-emacs/ess/ess-18.10.2-r1.ebuild44
-rw-r--r--app-emacs/ess/ess-18.10.2-r3.ebuild51
-rw-r--r--app-emacs/ess/ess-24.01.0.ebuild75
-rw-r--r--app-emacs/ess/ess-24.01.1.ebuild75
-rw-r--r--app-emacs/ess/files/ess-18.10.2-emacs-28.patch11
-rw-r--r--app-emacs/ess/metadata.xml15
-rw-r--r--app-emacs/esup/Manifest1
-rw-r--r--app-emacs/esup/esup-0.7.1_p20220203.ebuild37
-rw-r--r--app-emacs/esup/files/50esup-gentoo.el3
-rw-r--r--app-emacs/esup/metadata.xml19
-rw-r--r--app-emacs/evil/Manifest3
-rw-r--r--app-emacs/evil/evil-1.14.0.ebuild24
-rw-r--r--app-emacs/evil/evil-1.14.2-r1.ebuild42
-rw-r--r--app-emacs/evil/evil-1.2.14.ebuild24
-rw-r--r--app-emacs/evil/metadata.xml3
-rw-r--r--app-emacs/exec-path-from-shell/Manifest2
-rw-r--r--app-emacs/exec-path-from-shell/exec-path-from-shell-2.1.ebuild22
-rw-r--r--app-emacs/exec-path-from-shell/exec-path-from-shell-2.2.ebuild31
-rw-r--r--app-emacs/exec-path-from-shell/files/50exec-path-from-shell-gentoo.el2
-rw-r--r--app-emacs/exec-path-from-shell/metadata.xml20
-rw-r--r--app-emacs/exheres-mode/Manifest1
-rw-r--r--app-emacs/exheres-mode/exheres-mode-1.10.ebuild23
-rw-r--r--app-emacs/exheres-mode/files/50exheres-mode-gentoo.el2
-rw-r--r--app-emacs/exheres-mode/metadata.xml13
-rw-r--r--app-emacs/expand-region/Manifest1
-rw-r--r--app-emacs/expand-region/expand-region-1.0.0.ebuild18
-rw-r--r--app-emacs/external-completion/Manifest1
-rw-r--r--app-emacs/external-completion/external-completion-0.1.ebuild18
-rw-r--r--app-emacs/external-completion/metadata.xml9
-rw-r--r--app-emacs/exwm/Manifest2
-rw-r--r--app-emacs/exwm/exwm-0.27.ebuild30
-rw-r--r--app-emacs/exwm/exwm-0.28.ebuild30
-rw-r--r--app-emacs/exwm/metadata.xml13
-rw-r--r--app-emacs/f/Manifest1
-rw-r--r--app-emacs/f/f-0.19.0.ebuild22
-rw-r--r--app-emacs/f/f-0.20.0-r1.ebuild26
-rw-r--r--app-emacs/f/f-0.20.0.ebuild22
-rw-r--r--app-emacs/f/files/50f-gentoo.el1
-rw-r--r--app-emacs/fennel-mode/Manifest2
-rw-r--r--app-emacs/fennel-mode/fennel-mode-0.5.0.ebuild29
-rw-r--r--app-emacs/fennel-mode/fennel-mode-0.9.1.ebuild29
-rw-r--r--app-emacs/fennel-mode/files/50fennel-mode-gentoo.el4
-rw-r--r--app-emacs/fennel-mode/metadata.xml17
-rw-r--r--app-emacs/filladapt/Manifest2
-rw-r--r--app-emacs/filladapt/files/50filladapt-gentoo.el1
-rw-r--r--app-emacs/filladapt/files/filladapt-2.12-backquote.patch11
-rw-r--r--app-emacs/filladapt/filladapt-2.12-r2.ebuild21
-rw-r--r--app-emacs/filladapt/filladapt-2.12.2.ebuild21
-rw-r--r--app-emacs/flim/Manifest2
-rw-r--r--app-emacs/flim/files/60flim-gentoo.el1
-rw-r--r--app-emacs/flim/flim-1.14.9_p20190526.ebuild36
-rw-r--r--app-emacs/flim/flim-1.14.9_p20210529.ebuild7
-rw-r--r--app-emacs/flim/flim-1.14.9_p20231218.ebuild49
-rw-r--r--app-emacs/flim/metadata.xml8
-rw-r--r--app-emacs/flycheck-clang-tidy/Manifest1
-rw-r--r--app-emacs/flycheck-clang-tidy/flycheck-clang-tidy-0.3.0_p20201116.ebuild29
-rw-r--r--app-emacs/flycheck-clang-tidy/metadata.xml16
-rw-r--r--app-emacs/flycheck-guile/Manifest1
-rw-r--r--app-emacs/flycheck-guile/flycheck-guile-0.5.ebuild27
-rw-r--r--app-emacs/flycheck-guile/metadata.xml17
-rw-r--r--app-emacs/flycheck-inline/Manifest1
-rw-r--r--app-emacs/flycheck-inline/files/50flycheck-inline-gentoo.el3
-rw-r--r--app-emacs/flycheck-inline/flycheck-inline-0_pre20200808.ebuild21
-rw-r--r--app-emacs/flycheck-inline/metadata.xml12
-rw-r--r--app-emacs/flycheck-nimsuggest/Manifest1
-rw-r--r--app-emacs/flycheck-nimsuggest/files/50flycheck-nimsuggest-gentoo.el4
-rw-r--r--app-emacs/flycheck-nimsuggest/flycheck-nimsuggest-0.8.1_p20171027-r1.ebuild28
-rw-r--r--app-emacs/flycheck-nimsuggest/metadata.xml13
-rw-r--r--app-emacs/flycheck-package/Manifest1
-rw-r--r--app-emacs/flycheck-package/files/50flycheck-package-gentoo.el4
-rw-r--r--app-emacs/flycheck-package/flycheck-package-0.14.ebuild23
-rw-r--r--app-emacs/flycheck-package/metadata.xml13
-rw-r--r--app-emacs/flycheck/Manifest4
-rw-r--r--app-emacs/flycheck/files/50flycheck-gentoo-r1.el2
-rw-r--r--app-emacs/flycheck/files/50flycheck-gentoo.el4
-rw-r--r--app-emacs/flycheck/flycheck-32_p20210825.ebuild26
-rw-r--r--app-emacs/flycheck/flycheck-32_p20230305-r1.ebuild67
-rw-r--r--app-emacs/flycheck/flycheck-33.1.ebuild58
-rw-r--r--app-emacs/flycheck/flycheck-34.1.ebuild54
-rw-r--r--app-emacs/flycheck/metadata.xml4
-rw-r--r--app-emacs/fsharp-mode/Manifest1
-rw-r--r--app-emacs/fsharp-mode/files/50fsharp-mode-gentoo.el4
-rw-r--r--app-emacs/fsharp-mode/fsharp-mode-2.0_p20230622.ebuild33
-rw-r--r--app-emacs/fsharp-mode/fsharp-mode-9999.ebuild32
-rw-r--r--app-emacs/fsharp-mode/metadata.xml14
-rw-r--r--app-emacs/geiser-chez/Manifest1
-rw-r--r--app-emacs/geiser-chez/files/50geiser-chez-gentoo.el5
-rw-r--r--app-emacs/geiser-chez/files/geiser-chez-chez-scheme-binary.patch12
-rw-r--r--app-emacs/geiser-chez/files/geiser-chez-chez-scheme-src-dir.patch12
-rw-r--r--app-emacs/geiser-chez/geiser-chez-0.18.ebuild44
-rw-r--r--app-emacs/geiser-chez/metadata.xml17
-rw-r--r--app-emacs/geiser-chicken/Manifest1
-rw-r--r--app-emacs/geiser-chicken/files/50geiser-chicken-gentoo.el7
-rw-r--r--app-emacs/geiser-chicken/files/geiser-chicken-scheme-dir.patch11
-rw-r--r--app-emacs/geiser-chicken/geiser-chicken-0.17.ebuild41
-rw-r--r--app-emacs/geiser-chicken/metadata.xml17
-rw-r--r--app-emacs/geiser-gambit/Manifest1
-rw-r--r--app-emacs/geiser-gambit/files/50geiser-gambit-gentoo.el7
-rw-r--r--app-emacs/geiser-gambit/files/geiser-gambit-scheme-dir.patch11
-rw-r--r--app-emacs/geiser-gambit/geiser-gambit-0.18.1.ebuild41
-rw-r--r--app-emacs/geiser-gambit/metadata.xml17
-rw-r--r--app-emacs/geiser-guile/Manifest1
-rw-r--r--app-emacs/geiser-guile/files/50geiser-guile-gentoo.el7
-rw-r--r--app-emacs/geiser-guile/files/geiser-guile-guile-scheme-src-dir.patch12
-rw-r--r--app-emacs/geiser-guile/geiser-guile-0.28.1.ebuild40
-rw-r--r--app-emacs/geiser-guile/metadata.xml17
-rw-r--r--app-emacs/geiser-mit/Manifest1
-rw-r--r--app-emacs/geiser-mit/files/50geiser-mit-gentoo.el5
-rw-r--r--app-emacs/geiser-mit/files/geiser-mit-src-dir.patch13
-rw-r--r--app-emacs/geiser-mit/geiser-mit-0.15.ebuild52
-rw-r--r--app-emacs/geiser-mit/metadata.xml17
-rw-r--r--app-emacs/geiser/Manifest1
-rw-r--r--app-emacs/geiser/files/50geiser-gentoo.el7
-rw-r--r--app-emacs/geiser/geiser-0.30.ebuild38
-rw-r--r--app-emacs/geiser/metadata.xml17
-rw-r--r--app-emacs/ghub/Manifest6
-rw-r--r--app-emacs/ghub/ghub-3.2.0.ebuild27
-rw-r--r--app-emacs/ghub/ghub-3.3.0.ebuild25
-rw-r--r--app-emacs/ghub/ghub-3.4.1.ebuild25
-rw-r--r--app-emacs/ghub/ghub-3.5.3.ebuild25
-rw-r--r--app-emacs/ghub/ghub-3.5.4.ebuild25
-rw-r--r--app-emacs/ghub/ghub-3.6.0.ebuild36
-rw-r--r--app-emacs/git-modes/Manifest1
-rw-r--r--app-emacs/git-modes/files/50git-modes-gentoo.el2
-rw-r--r--app-emacs/git-modes/git-modes-1.4.2.ebuild27
-rw-r--r--app-emacs/git-modes/git-modes-9999.ebuild33
-rw-r--r--app-emacs/git-modes/metadata.xml13
-rw-r--r--app-emacs/git-timemachine/Manifest1
-rw-r--r--app-emacs/git-timemachine/files/50git-timemachine-gentoo.el7
-rw-r--r--app-emacs/git-timemachine/git-timemachine-4.13.ebuild27
-rw-r--r--app-emacs/git-timemachine/git-timemachine-9999.ebuild27
-rw-r--r--app-emacs/git-timemachine/metadata.xml13
-rw-r--r--app-emacs/gnuplot-mode/Manifest1
-rw-r--r--app-emacs/gnuplot-mode/files/gnuplot-mode-0.8.0-tests.patch11
-rw-r--r--app-emacs/gnuplot-mode/gnuplot-mode-0.8.0.ebuild13
-rw-r--r--app-emacs/gnuplot-mode/gnuplot-mode-0.8.1.ebuild43
-rw-r--r--app-emacs/gnuplot-mode/metadata.xml2
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch45
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch16
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch189
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch64
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-28.patch36
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-gnudoit.patch15
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-no-custom.patch31
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch72
-rw-r--r--app-emacs/gnuserv/gnuserv-3.12.8-r5.ebuild69
-rw-r--r--app-emacs/gnuserv/gnuserv-3.12.8-r8.ebuild75
-rw-r--r--app-emacs/go-mode/Manifest2
-rw-r--r--app-emacs/go-mode/files/50go-mode-1.6.0-gentoo.el2
-rw-r--r--app-emacs/go-mode/files/50go-mode-gentoo.el2
-rw-r--r--app-emacs/go-mode/go-mode-1.5.0.ebuild18
-rw-r--r--app-emacs/go-mode/go-mode-1.6.0.ebuild40
-rw-r--r--app-emacs/god-mode/Manifest1
-rw-r--r--app-emacs/god-mode/files/50god-mode-gentoo.el9
-rw-r--r--app-emacs/god-mode/god-mode-2.18.0.ebuild33
-rw-r--r--app-emacs/god-mode/metadata.xml19
-rw-r--r--app-emacs/graphql/Manifest2
-rw-r--r--app-emacs/graphql/files/50graphql-gentoo.el1
-rw-r--r--app-emacs/graphql/graphql-0.1.1.ebuild29
-rw-r--r--app-emacs/graphql/graphql-0.1.2.ebuild31
-rw-r--r--app-emacs/graphviz-dot-mode/metadata.xml3
-rw-r--r--app-emacs/groovy-emacs-modes/Manifest1
-rw-r--r--app-emacs/groovy-emacs-modes/files/50groovy-emacs-modes-gentoo.el2
-rw-r--r--app-emacs/groovy-emacs-modes/groovy-emacs-modes-2.1.ebuild43
-rw-r--r--app-emacs/groovy-emacs-modes/metadata.xml18
-rw-r--r--app-emacs/gruvbox-theme/Manifest1
-rw-r--r--app-emacs/gruvbox-theme/files/50gruvbox-theme-gentoo.el2
-rw-r--r--app-emacs/gruvbox-theme/gruvbox-theme-1.30.1-r1.ebuild31
-rw-r--r--app-emacs/gruvbox-theme/gruvbox-theme-9999.ebuild31
-rw-r--r--app-emacs/gruvbox-theme/metadata.xml15
-rw-r--r--app-emacs/haskell-mode/Manifest3
-rw-r--r--app-emacs/haskell-mode/haskell-mode-16.1.ebuild46
-rw-r--r--app-emacs/haskell-mode/haskell-mode-17.4.ebuild61
-rw-r--r--app-emacs/haskell-mode/haskell-mode-17.5.ebuild63
-rw-r--r--app-emacs/haskell-mode/haskell-mode-9999.ebuild63
-rw-r--r--app-emacs/haskell-mode/metadata.xml1
-rw-r--r--app-emacs/haxe-mode/Manifest1
-rw-r--r--app-emacs/haxe-mode/files/50haxe-mode-gentoo.el4
-rw-r--r--app-emacs/haxe-mode/haxe-mode-0.3.3.ebuild17
-rw-r--r--app-emacs/haxe-mode/metadata.xml13
-rw-r--r--app-emacs/helm-system-packages/Manifest1
-rw-r--r--app-emacs/helm-system-packages/helm-system-packages-1.10.2.ebuild20
-rw-r--r--app-emacs/helm/Manifest4
-rw-r--r--app-emacs/helm/files/helm-3.6.0-no-autoload-check.patch24
-rw-r--r--app-emacs/helm/files/helm-3.8.0-no-autoload-check.patch24
-rw-r--r--app-emacs/helm/files/helm-3.8.8-no-autoload-check.patch24
-rw-r--r--app-emacs/helm/helm-3.6.0-r1.ebuild31
-rw-r--r--app-emacs/helm/helm-3.8.0.ebuild31
-rw-r--r--app-emacs/helm/helm-3.9.7.ebuild37
-rw-r--r--app-emacs/helm/helm-3.9.8.ebuild47
-rw-r--r--app-emacs/hexrgb/files/50hexrgb-gentoo.el1
-rw-r--r--app-emacs/highlight-indentation/Manifest1
-rw-r--r--app-emacs/highlight-indentation/files/50highlight-indentation-gentoo.el5
-rw-r--r--app-emacs/highlight-indentation/highlight-indentation-0.7.0_p20210221.ebuild21
-rw-r--r--app-emacs/highlight-indentation/metadata.xml13
-rw-r--r--app-emacs/highline/highline-7.2.2.ebuild4
-rw-r--r--app-emacs/hl-todo/Manifest2
-rw-r--r--app-emacs/hl-todo/files/50hl-todo-gentoo.el3
-rw-r--r--app-emacs/hl-todo/hl-todo-3.5.0.ebuild21
-rw-r--r--app-emacs/hl-todo/hl-todo-3.6.0.ebuild21
-rw-r--r--app-emacs/hl-todo/metadata.xml12
-rw-r--r--app-emacs/howm/Manifest2
-rw-r--r--app-emacs/howm/howm-1.4.5.ebuild30
-rw-r--r--app-emacs/howm/howm-1.5.0.ebuild33
-rw-r--r--app-emacs/howm/metadata.xml2
-rw-r--r--app-emacs/ht/Manifest1
-rw-r--r--app-emacs/ht/files/50ht-gentoo.el4
-rw-r--r--app-emacs/ht/ht-2.3.ebuild35
-rw-r--r--app-emacs/ht/metadata.xml12
-rw-r--r--app-emacs/htmlize/Manifest3
-rw-r--r--app-emacs/htmlize/htmlize-1.54.ebuild20
-rw-r--r--app-emacs/htmlize/htmlize-1.55.ebuild20
-rw-r--r--app-emacs/htmlize/htmlize-1.56.ebuild20
-rw-r--r--app-emacs/htmlize/metadata.xml3
-rw-r--r--app-emacs/httpd/files/50httpd-gentoo.el1
-rw-r--r--app-emacs/hydra/Manifest1
-rw-r--r--app-emacs/hydra/hydra-0.15.0.ebuild29
-rw-r--r--app-emacs/hydra/metadata.xml15
-rw-r--r--app-emacs/icicles/Manifest1
-rw-r--r--app-emacs/icicles/files/icicles-2018.10.15.23738-emacs-28.patch13
-rw-r--r--app-emacs/icicles/icicles-2018.10.15.23738.ebuild21
-rw-r--r--app-emacs/indent-bars/Manifest1
-rw-r--r--app-emacs/indent-bars/files/50indent-bars-gentoo.el3
-rw-r--r--app-emacs/indent-bars/indent-bars-0.2-r1.ebuild35
-rw-r--r--app-emacs/indent-bars/metadata.xml11
-rw-r--r--app-emacs/inf-clojure/Manifest1
-rw-r--r--app-emacs/inf-clojure/files/50inf-clojure-gentoo.el6
-rw-r--r--app-emacs/inf-clojure/inf-clojure-3.2.1.ebuild41
-rw-r--r--app-emacs/inf-clojure/metadata.xml20
-rw-r--r--app-emacs/ivy-rich/Manifest1
-rw-r--r--app-emacs/ivy-rich/files/50ivy-rich-gentoo.el3
-rw-r--r--app-emacs/ivy-rich/ivy-rich-0.1.7.ebuild21
-rw-r--r--app-emacs/ivy-rich/metadata.xml13
-rw-r--r--app-emacs/ivy/Manifest1
-rw-r--r--app-emacs/ivy/files/50ivy-gentoo.el3
-rw-r--r--app-emacs/ivy/ivy-0.14.2.ebuild49
-rw-r--r--app-emacs/ivy/metadata.xml16
-rw-r--r--app-emacs/jasmin/jasmin-1.2-r2.ebuild4
-rw-r--r--app-emacs/jde/Manifest1
-rw-r--r--app-emacs/jde/files/70jde-gentoo.el10
-rw-r--r--app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch69
-rw-r--r--app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch218
-rw-r--r--app-emacs/jde/files/jde-2.4.1-doc-directory.patch53
-rw-r--r--app-emacs/jde/jde-2.4.1-r1.ebuild74
-rw-r--r--app-emacs/jde/metadata.xml31
-rw-r--r--app-emacs/jinx/Manifest4
-rw-r--r--app-emacs/jinx/files/50jinx-gentoo.el4
-rw-r--r--app-emacs/jinx/jinx-1.3.ebuild45
-rw-r--r--app-emacs/jinx/jinx-1.4.ebuild45
-rw-r--r--app-emacs/jinx/jinx-1.5.ebuild45
-rw-r--r--app-emacs/jinx/jinx-1.6.ebuild45
-rw-r--r--app-emacs/jinx/metadata.xml19
-rw-r--r--app-emacs/jq-mode/Manifest1
-rw-r--r--app-emacs/jq-mode/files/50jq-mode-gentoo.el4
-rw-r--r--app-emacs/jq-mode/jq-mode-0.5.0_p20220610.ebuild23
-rw-r--r--app-emacs/jq-mode/metadata.xml13
-rw-r--r--app-emacs/js-comint/Manifest1
-rw-r--r--app-emacs/js-comint/files/50js-comint-gentoo.el3
-rw-r--r--app-emacs/js-comint/js-comint-1.2.0.ebuild18
-rw-r--r--app-emacs/js-comint/metadata.xml13
-rw-r--r--app-emacs/js2-mode/Manifest2
-rw-r--r--app-emacs/js2-mode/files/50js2-mode-gentoo.el12
-rw-r--r--app-emacs/js2-mode/js2-mode-20230408.ebuild21
-rw-r--r--app-emacs/js2-mode/js2-mode-20231224.ebuild30
-rw-r--r--app-emacs/js2-mode/metadata.xml27
-rw-r--r--app-emacs/julia-mode/Manifest1
-rw-r--r--app-emacs/julia-mode/files/50julia-mode-gentoo.el4
-rw-r--r--app-emacs/julia-mode/julia-mode-0.4_p20211023.ebuild33
-rw-r--r--app-emacs/julia-mode/metadata.xml13
-rw-r--r--app-emacs/julia-repl/Manifest1
-rw-r--r--app-emacs/julia-repl/files/50julia-repl-gentoo.el4
-rw-r--r--app-emacs/julia-repl/files/julia-repl-force-compile.patch9
-rw-r--r--app-emacs/julia-repl/julia-repl-1.3.0_p20220225.ebuild45
-rw-r--r--app-emacs/julia-repl/metadata.xml23
-rw-r--r--app-emacs/kaolin-themes/Manifest1
-rw-r--r--app-emacs/kaolin-themes/kaolin-themes-1.7.0.ebuild37
-rw-r--r--app-emacs/kaolin-themes/metadata.xml20
-rw-r--r--app-emacs/key-chord/Manifest1
-rw-r--r--app-emacs/key-chord/key-chord-0.7.ebuild26
-rw-r--r--app-emacs/key-chord/metadata.xml13
-rw-r--r--app-emacs/kind-icon/Manifest1
-rw-r--r--app-emacs/kind-icon/files/50kind-icon-gentoo.el3
-rw-r--r--app-emacs/kind-icon/kind-icon-0.2.2.ebuild39
-rw-r--r--app-emacs/kind-icon/metadata.xml20
-rw-r--r--app-emacs/lean-mode/Manifest1
-rw-r--r--app-emacs/lean-mode/files/50lean-mode-gentoo.el4
-rw-r--r--app-emacs/lean-mode/lean-mode-0_p20230611.ebuild38
-rw-r--r--app-emacs/lean-mode/metadata.xml18
-rw-r--r--app-emacs/ledger-mode/Manifest2
-rw-r--r--app-emacs/ledger-mode/files/ledger-mode-4.0.0-emacs-28.patch11
-rw-r--r--app-emacs/ledger-mode/ledger-mode-3.1.1.ebuild21
-rw-r--r--app-emacs/ledger-mode/ledger-mode-4.0.0.ebuild22
-rw-r--r--app-emacs/libegit2/Manifest2
-rw-r--r--app-emacs/libegit2/libegit2-0.0.20200515-r1.ebuild53
-rw-r--r--app-emacs/libegit2/libegit2-0.0.20230129.ebuild51
-rw-r--r--app-emacs/lice-el/Manifest1
-rw-r--r--app-emacs/lice-el/files/50lice-el-gentoo.el3
-rw-r--r--app-emacs/lice-el/files/lice-el-0.3-siteetc.patch12
-rw-r--r--app-emacs/lice-el/lice-el-0.3.ebuild39
-rw-r--r--app-emacs/lice-el/metadata.xml13
-rw-r--r--app-emacs/load-relative/Manifest2
-rw-r--r--app-emacs/load-relative/load-relative-1.3.1.ebuild19
-rw-r--r--app-emacs/load-relative/load-relative-1.3.2.ebuild19
-rw-r--r--app-emacs/load-relative/metadata.xml17
-rw-r--r--app-emacs/lsp-docker/Manifest1
-rw-r--r--app-emacs/lsp-docker/files/50lsp-docker-gentoo.el2
-rw-r--r--app-emacs/lsp-docker/lsp-docker-1.0.0_p20240327.ebuild47
-rw-r--r--app-emacs/lsp-docker/metadata.xml12
-rw-r--r--app-emacs/lsp-java/Manifest2
-rw-r--r--app-emacs/lsp-java/files/lsp-java-icons-3.1_p20240328.patch24
-rw-r--r--app-emacs/lsp-java/files/lsp-java-icons.patch25
-rw-r--r--app-emacs/lsp-java/lsp-java-3.1.ebuild44
-rw-r--r--app-emacs/lsp-java/lsp-java-3.1_p20240328.ebuild65
-rw-r--r--app-emacs/lsp-java/metadata.xml13
-rw-r--r--app-emacs/lsp-mode/Manifest2
-rw-r--r--app-emacs/lsp-mode/files/50lsp-mode-gentoo.el35
-rw-r--r--app-emacs/lsp-mode/lsp-mode-8.0.1_pre20231218.ebuild60
-rw-r--r--app-emacs/lsp-mode/lsp-mode-9.0.0.ebuild68
-rw-r--r--app-emacs/lsp-mode/metadata.xml12
-rw-r--r--app-emacs/lsp-treemacs/Manifest2
-rw-r--r--app-emacs/lsp-treemacs/files/lsp-treemacs-themes-icon-directory.patch39
-rw-r--r--app-emacs/lsp-treemacs/lsp-treemacs-0.4.ebuild42
-rw-r--r--app-emacs/lsp-treemacs/lsp-treemacs-0.5.ebuild56
-rw-r--r--app-emacs/lsp-treemacs/metadata.xml13
-rw-r--r--app-emacs/lsp-ui/Manifest2
-rw-r--r--app-emacs/lsp-ui/files/50lsp-ui-gentoo.el5
-rw-r--r--app-emacs/lsp-ui/lsp-ui-8.0.1.ebuild30
-rw-r--r--app-emacs/lsp-ui/lsp-ui-9.0.0.ebuild43
-rw-r--r--app-emacs/lsp-ui/metadata.xml12
-rw-r--r--app-emacs/lua-mode/Manifest2
-rw-r--r--app-emacs/lua-mode/lua-mode-20151025.ebuild20
-rw-r--r--app-emacs/lua-mode/lua-mode-20201010.ebuild5
-rw-r--r--app-emacs/lua-mode/lua-mode-20210802.ebuild19
-rw-r--r--app-emacs/lv/Manifest1
-rw-r--r--app-emacs/lv/files/50lv-gentoo.el4
-rw-r--r--app-emacs/lv/lv-0.15.0-r1.ebuild33
-rw-r--r--app-emacs/lv/metadata.xml12
-rw-r--r--app-emacs/lyskom-elisp-client/Manifest1
-rw-r--r--app-emacs/lyskom-elisp-client/lyskom-elisp-client-0.48_p20180410.ebuild44
-rw-r--r--app-emacs/m-buffer/Manifest1
-rw-r--r--app-emacs/m-buffer/m-buffer-0.15.ebuild28
-rw-r--r--app-emacs/m-buffer/metadata.xml19
-rw-r--r--app-emacs/macrostep-geiser/Manifest1
-rw-r--r--app-emacs/macrostep-geiser/files/50macrostep-geiser-gentoo.el3
-rw-r--r--app-emacs/macrostep-geiser/macrostep-geiser-0.2.0_p20210717.ebuild26
-rw-r--r--app-emacs/macrostep-geiser/metadata.xml20
-rw-r--r--app-emacs/macrostep/Manifest1
-rw-r--r--app-emacs/macrostep/files/50macrostep-gentoo.el7
-rw-r--r--app-emacs/macrostep/files/macrostep-test.patch13
-rw-r--r--app-emacs/macrostep/macrostep-0.9.2.ebuild31
-rw-r--r--app-emacs/macrostep/metadata.xml28
-rw-r--r--app-emacs/magit-popup/Manifest2
-rw-r--r--app-emacs/magit-popup/files/50magit-popup-gentoo.el1
-rw-r--r--app-emacs/magit-popup/magit-popup-2.13.0.ebuild24
-rw-r--r--app-emacs/magit-popup/magit-popup-2.13.2.ebuild24
-rw-r--r--app-emacs/magit-popup/magit-popup-2.13.3.ebuild5
-rw-r--r--app-emacs/magit/Manifest4
-rw-r--r--app-emacs/magit/magit-2.90.1.ebuild34
-rw-r--r--app-emacs/magit/magit-3.2.0.ebuild34
-rw-r--r--app-emacs/magit/magit-3.3.0.50_p20230912.ebuild63
-rw-r--r--app-emacs/magit/magit-3.3.0.ebuild34
-rw-r--r--app-emacs/magit/magit-9999.ebuild60
-rw-r--r--app-emacs/magit/metadata.xml3
-rw-r--r--app-emacs/mailcrypt/files/50mailcrypt-gentoo.el1
-rw-r--r--app-emacs/mailcrypt/mailcrypt-3.5.9-r3.ebuild5
-rw-r--r--app-emacs/marginalia/Manifest2
-rw-r--r--app-emacs/marginalia/files/50marginalia-gentoo.el3
-rw-r--r--app-emacs/marginalia/marginalia-1.5.ebuild21
-rw-r--r--app-emacs/marginalia/marginalia-1.6.ebuild21
-rw-r--r--app-emacs/marginalia/metadata.xml12
-rw-r--r--app-emacs/markdown-mode/Manifest2
-rw-r--r--app-emacs/markdown-mode/files/markdown-mode-2.4-markdown-command.patch14
-rw-r--r--app-emacs/markdown-mode/files/markdown-mode-2.5-markdown-command.patch13
-rw-r--r--app-emacs/markdown-mode/files/markdown-mode-2.5-test.patch30
-rw-r--r--app-emacs/markdown-mode/files/markdown-mode-2.6-remove-failing-tests.patch91
-rw-r--r--app-emacs/markdown-mode/markdown-mode-2.4.ebuild28
-rw-r--r--app-emacs/markdown-mode/markdown-mode-2.6.ebuild55
-rw-r--r--app-emacs/markdown-mode/metadata.xml22
-rw-r--r--app-emacs/mastodon/Manifest2
-rw-r--r--app-emacs/mastodon/files/50mastodon-gentoo.el3
-rw-r--r--app-emacs/mastodon/mastodon-1.0.18.ebuild39
-rw-r--r--app-emacs/mastodon/mastodon-1.0.19.ebuild39
-rw-r--r--app-emacs/mastodon/mastodon-9999.ebuild39
-rw-r--r--app-emacs/mastodon/metadata.xml14
-rw-r--r--app-emacs/math-symbol-lists/Manifest1
-rw-r--r--app-emacs/math-symbol-lists/math-symbol-lists-1.3.ebuild17
-rw-r--r--app-emacs/math-symbol-lists/metadata.xml13
-rw-r--r--app-emacs/mediawiki/Manifest1
-rw-r--r--app-emacs/mediawiki/files/50mediawiki-gentoo.el10
-rw-r--r--app-emacs/mediawiki/mediawiki-2.3.1.ebuild19
-rw-r--r--app-emacs/meson-mode/meson-mode-0.3.ebuild4
-rw-r--r--app-emacs/metamath-mode/Manifest1
-rw-r--r--app-emacs/metamath-mode/files/50metamath-mode-gentoo.el4
-rw-r--r--app-emacs/metamath-mode/metadata.xml14
-rw-r--r--app-emacs/metamath-mode/metamath-mode-0_p20221005.ebuild21
-rw-r--r--app-emacs/mew/Manifest2
-rw-r--r--app-emacs/mew/metadata.xml3
-rw-r--r--app-emacs/mew/mew-6.8.ebuild46
-rw-r--r--app-emacs/mew/mew-6.8_p20230203.ebuild46
-rw-r--r--app-emacs/mic-paren/Manifest1
-rw-r--r--app-emacs/mic-paren/files/mic-paren-3.15-cl-lib.patch11
-rw-r--r--app-emacs/mic-paren/files/mic-paren-3.15-quoting.patch29
-rw-r--r--app-emacs/mic-paren/mic-paren-3.13.ebuild18
-rw-r--r--app-emacs/mic-paren/mic-paren-3.15-r1.ebuild23
-rw-r--r--app-emacs/mic-paren/mic-paren-3.15.ebuild18
-rw-r--r--app-emacs/mmm-mode/Manifest3
-rw-r--r--app-emacs/mmm-mode/files/mmm-mode-0.5.7-texinfo-encoding.patch11
-rw-r--r--app-emacs/mmm-mode/mmm-mode-0.5.10.ebuild30
-rw-r--r--app-emacs/mmm-mode/mmm-mode-0.5.11.ebuild30
-rw-r--r--app-emacs/mmm-mode/mmm-mode-0.5.7.ebuild21
-rw-r--r--app-emacs/mocker/Manifest1
-rw-r--r--app-emacs/mocker/metadata.xml13
-rw-r--r--app-emacs/mocker/mocker-0.5.0.ebuild26
-rw-r--r--app-emacs/modus-themes/Manifest2
-rw-r--r--app-emacs/modus-themes/files/50modus-themes-gentoo.el2
-rw-r--r--app-emacs/modus-themes/metadata.xml19
-rw-r--r--app-emacs/modus-themes/modus-themes-4.3.0.ebuild30
-rw-r--r--app-emacs/modus-themes/modus-themes-4.4.0.ebuild30
-rw-r--r--app-emacs/modus-themes/modus-themes-9999.ebuild30
-rw-r--r--app-emacs/mpg123-el/Manifest1
-rw-r--r--app-emacs/mpg123-el/files/mpg123-el-1.61-stdlib.patch10
-rw-r--r--app-emacs/mpg123-el/mpg123-el-1.60.ebuild31
-rw-r--r--app-emacs/mpg123-el/mpg123-el-1.61.ebuild3
-rw-r--r--app-emacs/mu-cite/Manifest2
-rw-r--r--app-emacs/mu-cite/mu-cite-8.1_p201808232348.ebuild30
-rw-r--r--app-emacs/mu-cite/mu-cite-8.1_p202011031127.ebuild30
-rw-r--r--app-emacs/muse/Manifest1
-rw-r--r--app-emacs/muse/muse-3.20-r1.ebuild32
-rw-r--r--app-emacs/muse/muse-3.20-r2.ebuild34
-rw-r--r--app-emacs/muse/muse-3.20.2.ebuild25
-rw-r--r--app-emacs/nagios-mode/Manifest2
-rw-r--r--app-emacs/nagios-mode/metadata.xml3
-rw-r--r--app-emacs/nagios-mode/nagios-mode-0.3-r1.ebuild17
-rw-r--r--app-emacs/nagios-mode/nagios-mode-0.4.ebuild17
-rw-r--r--app-emacs/navi2ch/navi2ch-1.8.4-r1.ebuild44
-rw-r--r--app-emacs/navi2ch/navi2ch-1.8.4-r2.ebuild44
-rw-r--r--app-emacs/nerd-icons/Manifest1
-rw-r--r--app-emacs/nerd-icons/files/50nerd-icons-gentoo.el2
-rw-r--r--app-emacs/nerd-icons/metadata.xml13
-rw-r--r--app-emacs/nerd-icons/nerd-icons-0.1.0.ebuild60
-rw-r--r--app-emacs/nginx-mode/Manifest2
-rw-r--r--app-emacs/nginx-mode/files/50nginx-mode-gentoo.el2
-rw-r--r--app-emacs/nginx-mode/metadata.xml13
-rw-r--r--app-emacs/nginx-mode/nginx-mode-1.1.10.ebuild31
-rw-r--r--app-emacs/nginx-mode/nginx-mode-1.1.9.ebuild22
-rw-r--r--app-emacs/nim-mode/Manifest1
-rw-r--r--app-emacs/nim-mode/files/50nim-mode-gentoo.el13
-rw-r--r--app-emacs/nim-mode/metadata.xml13
-rw-r--r--app-emacs/nim-mode/nim-mode-0.4.2_p20231101.ebuild43
-rw-r--r--app-emacs/ninja-mode/Manifest2
-rw-r--r--app-emacs/ninja-mode/files/50ninja-mode-gentoo-r1.el3
-rw-r--r--app-emacs/ninja-mode/metadata.xml18
-rw-r--r--app-emacs/ninja-mode/ninja-mode-1.11.1-r2.ebuild21
-rw-r--r--app-emacs/ninja-mode/ninja-mode-1.12.0.ebuild31
-rw-r--r--app-emacs/nix-mode/Manifest1
-rw-r--r--app-emacs/nix-mode/files/50nix-mode-gentoo.el4
-rw-r--r--app-emacs/nix-mode/metadata.xml14
-rw-r--r--app-emacs/nix-mode/nix-mode-1.5.0.ebuild35
-rw-r--r--app-emacs/no-littering/Manifest1
-rw-r--r--app-emacs/no-littering/metadata.xml26
-rw-r--r--app-emacs/no-littering/no-littering-1.5.0.ebuild33
-rw-r--r--app-emacs/noflet/Manifest1
-rw-r--r--app-emacs/noflet/files/noflet-fix-requires.patch28
-rw-r--r--app-emacs/noflet/metadata.xml13
-rw-r--r--app-emacs/noflet/noflet-0.0.15_p20141102-r1.ebuild27
-rw-r--r--app-emacs/nxml-docbook5-schemas/Manifest1
-rw-r--r--app-emacs/nxml-docbook5-schemas/nxml-docbook5-schemas-5.0.ebuild28
-rw-r--r--app-emacs/nxml-gentoo-schemas/Manifest3
-rw-r--r--app-emacs/nxml-gentoo-schemas/metadata.xml3
-rw-r--r--app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210314.ebuild24
-rw-r--r--app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210907.ebuild24
-rw-r--r--app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20240208.ebuild24
-rw-r--r--app-emacs/nxml-libvirt-schemas/Manifest6
-rw-r--r--app-emacs/nxml-libvirt-schemas/files/Makefile-trang6
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.0.0.ebuild45
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.1.0.ebuild45
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.2.0.ebuild45
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-5.8.0.ebuild35
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.8.0.ebuild45
-rw-r--r--app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.9.0.ebuild45
-rw-r--r--app-emacs/oauth2/Manifest1
-rw-r--r--app-emacs/oauth2/metadata.xml12
-rw-r--r--app-emacs/oauth2/oauth2-0.16.ebuild18
-rw-r--r--app-emacs/ocaml-mode/ocaml-mode-4.05.0.ebuild4
-rw-r--r--app-emacs/orderless/Manifest2
-rw-r--r--app-emacs/orderless/files/50orderless-gentoo.el2
-rw-r--r--app-emacs/orderless/metadata.xml12
-rw-r--r--app-emacs/orderless/orderless-1.0.ebuild27
-rw-r--r--app-emacs/orderless/orderless-1.1.ebuild31
-rw-r--r--app-emacs/org-appear/Manifest1
-rw-r--r--app-emacs/org-appear/files/50org-appear-gentoo.el3
-rw-r--r--app-emacs/org-appear/metadata.xml13
-rw-r--r--app-emacs/org-appear/org-appear-0.3.0.ebuild17
-rw-r--r--app-emacs/org-contrib/Manifest3
-rw-r--r--app-emacs/org-contrib/files/50org-contrib-gentoo.el1
-rw-r--r--app-emacs/org-contrib/metadata.xml13
-rw-r--r--app-emacs/org-contrib/org-contrib-0.2.ebuild21
-rw-r--r--app-emacs/org-contrib/org-contrib-0.4.1.ebuild20
-rw-r--r--app-emacs/org-contrib/org-contrib-0.4.2.ebuild28
-rw-r--r--app-emacs/org-mode/Manifest6
-rw-r--r--app-emacs/org-mode/metadata.xml1
-rw-r--r--app-emacs/org-mode/org-mode-9.4.4.ebuild59
-rw-r--r--app-emacs/org-mode/org-mode-9.4.6.ebuild59
-rw-r--r--app-emacs/org-mode/org-mode-9.5.ebuild48
-rw-r--r--app-emacs/org-mode/org-mode-9.6.23.ebuild50
-rw-r--r--app-emacs/org-mode/org-mode-9.6.24.ebuild53
-rw-r--r--app-emacs/org-mode/org-mode-9.6.26.ebuild50
-rw-r--r--app-emacs/org-mode/org-mode-9999.ebuild55
-rw-r--r--app-emacs/org-modern/Manifest2
-rw-r--r--app-emacs/org-modern/files/50org-modern-gentoo.el7
-rw-r--r--app-emacs/org-modern/metadata.xml20
-rw-r--r--app-emacs/org-modern/org-modern-1.1.ebuild23
-rw-r--r--app-emacs/org-modern/org-modern-1.2.ebuild23
-rw-r--r--app-emacs/org-roam/Manifest1
-rw-r--r--app-emacs/org-roam/files/50org-roam-gentoo.el3
-rw-r--r--app-emacs/org-roam/metadata.xml15
-rw-r--r--app-emacs/org-roam/org-roam-2.2.2-r1.ebuild41
-rw-r--r--app-emacs/org-roam/org-roam-2.2.2-r2.ebuild46
-rw-r--r--app-emacs/org-roam/org-roam-9999.ebuild46
-rw-r--r--app-emacs/org-static-blog/Manifest2
-rw-r--r--app-emacs/org-static-blog/files/50org-static-blog-gentoo.el3
-rw-r--r--app-emacs/org-static-blog/metadata.xml13
-rw-r--r--app-emacs/org-static-blog/org-static-blog-1.5.0.ebuild17
-rw-r--r--app-emacs/org-static-blog/org-static-blog-1.6.0.ebuild17
-rw-r--r--app-emacs/org-superstar-mode/Manifest1
-rw-r--r--app-emacs/org-superstar-mode/files/50org-superstar-mode-gentoo.el3
-rw-r--r--app-emacs/org-superstar-mode/metadata.xml13
-rw-r--r--app-emacs/org-superstar-mode/org-superstar-mode-1.5.0.ebuild23
-rw-r--r--app-emacs/osm/Manifest2
-rw-r--r--app-emacs/osm/files/50osm-gentoo.el2
-rw-r--r--app-emacs/osm/metadata.xml23
-rw-r--r--app-emacs/osm/osm-1.2.ebuild40
-rw-r--r--app-emacs/osm/osm-1.3.ebuild40
-rw-r--r--app-emacs/osm/osm-9999.ebuild40
-rw-r--r--app-emacs/outline-magic/files/50outline-magic-gentoo.el1
-rw-r--r--app-emacs/package-build/Manifest1
-rw-r--r--app-emacs/package-build/metadata.xml14
-rw-r--r--app-emacs/package-build/package-build-4.0.0.ebuild16
-rw-r--r--app-emacs/package-lint/Manifest2
-rw-r--r--app-emacs/package-lint/files/package-lint-0.22-load-data-directory.patch17
-rw-r--r--app-emacs/package-lint/metadata.xml26
-rw-r--r--app-emacs/package-lint/package-lint-0.22.ebuild54
-rw-r--r--app-emacs/package-lint/package-lint-0.23.ebuild54
-rw-r--r--app-emacs/pandoc-mode/Manifest1
-rw-r--r--app-emacs/pandoc-mode/files/50pandoc-mode-gentoo.el5
-rw-r--r--app-emacs/pandoc-mode/metadata.xml20
-rw-r--r--app-emacs/pandoc-mode/pandoc-mode-2.32-r1.ebuild33
-rw-r--r--app-emacs/paredit/Manifest3
-rw-r--r--app-emacs/paredit/metadata.xml14
-rw-r--r--app-emacs/paredit/paredit-24.ebuild30
-rw-r--r--app-emacs/paredit/paredit-26.ebuild36
-rw-r--r--app-emacs/pariemacs/pariemacs-3.14-r1.ebuild39
-rw-r--r--app-emacs/pariemacs/pariemacs-3.14.ebuild38
-rw-r--r--app-emacs/parsebib/Manifest1
-rw-r--r--app-emacs/parsebib/metadata.xml17
-rw-r--r--app-emacs/parsebib/parsebib-4.3.ebuild26
-rw-r--r--app-emacs/parseclj/Manifest1
-rw-r--r--app-emacs/parseclj/metadata.xml18
-rw-r--r--app-emacs/parseclj/parseclj-1.1.1.ebuild26
-rw-r--r--app-emacs/parseedn/Manifest1
-rw-r--r--app-emacs/parseedn/metadata.xml21
-rw-r--r--app-emacs/parseedn/parseedn-1.2.1.ebuild33
-rw-r--r--app-emacs/pdf-tools/Manifest2
-rw-r--r--app-emacs/pdf-tools/files/50pdf-tools-gentoo.el2
-rw-r--r--app-emacs/pdf-tools/metadata.xml25
-rw-r--r--app-emacs/pdf-tools/pdf-tools-1.0.0.ebuild64
-rw-r--r--app-emacs/pdf-tools/pdf-tools-1.1.0.ebuild71
-rw-r--r--app-emacs/persist/Manifest2
-rw-r--r--app-emacs/persist/metadata.xml9
-rw-r--r--app-emacs/persist/persist-0.5.ebuild17
-rw-r--r--app-emacs/persist/persist-0.6.ebuild19
-rw-r--r--app-emacs/pfuture/Manifest1
-rw-r--r--app-emacs/pfuture/metadata.xml13
-rw-r--r--app-emacs/pfuture/pfuture-1.10.3.ebuild18
-rw-r--r--app-emacs/php-mode/Manifest3
-rw-r--r--app-emacs/php-mode/metadata.xml3
-rw-r--r--app-emacs/php-mode/php-mode-1.22.1.ebuild18
-rw-r--r--app-emacs/php-mode/php-mode-1.23.0.ebuild18
-rw-r--r--app-emacs/php-mode/php-mode-1.25.1.ebuild34
-rw-r--r--app-emacs/php-mode/php-mode-9999.ebuild34
-rw-r--r--app-emacs/pinentry/Manifest1
-rw-r--r--app-emacs/pinentry/files/50pinentry-gentoo.el11
-rw-r--r--app-emacs/pinentry/files/README.gentoo14
-rw-r--r--app-emacs/pinentry/metadata.xml12
-rw-r--r--app-emacs/pinentry/pinentry-0.1_p20231126.ebuild22
-rw-r--r--app-emacs/pkg-info/metadata.xml4
-rw-r--r--app-emacs/pkg-info/pkg-info-0.6.ebuild8
-rw-r--r--app-emacs/plz/Manifest1
-rw-r--r--app-emacs/plz/metadata.xml20
-rw-r--r--app-emacs/plz/plz-0.7.2.ebuild37
-rw-r--r--app-emacs/po-mode/Manifest4
-rw-r--r--app-emacs/po-mode/metadata.xml13
-rw-r--r--app-emacs/po-mode/po-mode-0.20.1.ebuild6
-rw-r--r--app-emacs/po-mode/po-mode-0.21.1.ebuild18
-rw-r--r--app-emacs/po-mode/po-mode-0.22.ebuild18
-rw-r--r--app-emacs/poke-mode/Manifest1
-rw-r--r--app-emacs/poke-mode/files/50poke-mode-gentoo.el7
-rw-r--r--app-emacs/poke-mode/metadata.xml12
-rw-r--r--app-emacs/poke-mode/poke-mode-3.0.ebuild18
-rw-r--r--app-emacs/poke/Manifest2
-rw-r--r--app-emacs/poke/files/50poke-el-gentoo.el5
-rw-r--r--app-emacs/poke/metadata.xml16
-rw-r--r--app-emacs/poke/poke-3.0.ebuild27
-rw-r--r--app-emacs/poke/poke-3.2.ebuild28
-rw-r--r--app-emacs/polymode/Manifest1
-rw-r--r--app-emacs/polymode/metadata.xml18
-rw-r--r--app-emacs/polymode/polymode-0.2.2_p20220322.ebuild32
-rw-r--r--app-emacs/popup/Manifest2
-rw-r--r--app-emacs/popup/popup-0.5.3.ebuild19
-rw-r--r--app-emacs/popup/popup-0.5.9.ebuild21
-rw-r--r--app-emacs/popwin/Manifest1
-rw-r--r--app-emacs/popwin/metadata.xml23
-rw-r--r--app-emacs/popwin/popwin-1.0.2.ebuild18
-rw-r--r--app-emacs/pos-tip/Manifest1
-rw-r--r--app-emacs/pos-tip/metadata.xml13
-rw-r--r--app-emacs/pos-tip/pos-tip-0.4.7.ebuild23
-rw-r--r--app-emacs/posframe/Manifest1
-rw-r--r--app-emacs/posframe/metadata.xml13
-rw-r--r--app-emacs/posframe/posframe-1.4.2.ebuild20
-rw-r--r--app-emacs/pov-mode/metadata.xml3
-rw-r--r--app-emacs/powerline/Manifest1
-rw-r--r--app-emacs/powerline/files/50powerline-gentoo.el2
-rw-r--r--app-emacs/powerline/metadata.xml21
-rw-r--r--app-emacs/powerline/powerline-2.5_p20221110.ebuild26
-rw-r--r--app-emacs/powershell/Manifest2
-rw-r--r--app-emacs/powershell/files/50powershell-gentoo.el6
-rw-r--r--app-emacs/powershell/metadata.xml14
-rw-r--r--app-emacs/powershell/powershell-0.3_pre20220402.ebuild20
-rw-r--r--app-emacs/powershell/powershell-0.3_pre20220805.ebuild32
-rw-r--r--app-emacs/projectile/Manifest1
-rw-r--r--app-emacs/projectile/files/50projectile-gentoo.el3
-rw-r--r--app-emacs/projectile/metadata.xml21
-rw-r--r--app-emacs/projectile/projectile-2.8.0-r1.ebuild35
-rw-r--r--app-emacs/proofgeneral/Manifest2
-rw-r--r--app-emacs/proofgeneral/files/proofgeneral-4.4-images-dir.patch11
-rw-r--r--app-emacs/proofgeneral/files/proofgeneral-4.5-paths.patch19
-rw-r--r--app-emacs/proofgeneral/metadata.xml9
-rw-r--r--app-emacs/proofgeneral/proofgeneral-4.4.ebuild59
-rw-r--r--app-emacs/proofgeneral/proofgeneral-4.5.ebuild57
-rw-r--r--app-emacs/puppet-mode/Manifest1
-rw-r--r--app-emacs/puppet-mode/metadata.xml3
-rw-r--r--app-emacs/puppet-mode/puppet-mode-0.3.20180813.ebuild29
-rw-r--r--app-emacs/puppet-mode/puppet-mode-0.4.ebuild4
-rw-r--r--app-emacs/pymacs/files/pymacs-0.26-setup.patch11
-rw-r--r--app-emacs/pymacs/pymacs-0.26-r2.ebuild49
-rw-r--r--app-emacs/pymacs/pymacs-0.26-r5.ebuild63
-rw-r--r--app-emacs/python-mode/Manifest1
-rw-r--r--app-emacs/python-mode/metadata.xml1
-rw-r--r--app-emacs/python-mode/python-mode-6.2.3.ebuild21
-rw-r--r--app-emacs/python-mode/python-mode-6.3.0.ebuild4
-rw-r--r--app-emacs/pyvenv/Manifest1
-rw-r--r--app-emacs/pyvenv/metadata.xml13
-rw-r--r--app-emacs/pyvenv/pyvenv-1.21.ebuild28
-rw-r--r--app-emacs/queue/Manifest1
-rw-r--r--app-emacs/queue/metadata.xml16
-rw-r--r--app-emacs/queue/queue-0.2.ebuild16
-rw-r--r--app-emacs/quilt-el/files/50quilt-el-gentoo.el2
-rw-r--r--app-emacs/quilt-el/metadata.xml3
-rw-r--r--app-emacs/quilt-el/quilt-el-0.66.ebuild4
-rw-r--r--app-emacs/racket-mode/Manifest2
-rw-r--r--app-emacs/racket-mode/files/50racket-mode-gentoo.el14
-rw-r--r--app-emacs/racket-mode/files/racket-mode-rkt-source-dir.patch11
-rw-r--r--app-emacs/racket-mode/metadata.xml21
-rw-r--r--app-emacs/racket-mode/racket-mode-1_p20231214.ebuild72
-rw-r--r--app-emacs/racket-mode/racket-mode-1_p20240130.ebuild74
-rw-r--r--app-emacs/racket-mode/racket-mode-9999.ebuild64
-rw-r--r--app-emacs/rainbow-delimiters/Manifest1
-rw-r--r--app-emacs/rainbow-delimiters/files/50rainbow-delimiters-gentoo.el3
-rw-r--r--app-emacs/rainbow-delimiters/files/rainbow-delimiters-2.1.5-test.patch26
-rw-r--r--app-emacs/rainbow-delimiters/metadata.xml14
-rw-r--r--app-emacs/rainbow-delimiters/rainbow-delimiters-2.1.5.ebuild43
-rw-r--r--app-emacs/rainbow-mode/Manifest1
-rw-r--r--app-emacs/rainbow-mode/files/50rainbow-mode-gentoo.el3
-rw-r--r--app-emacs/rainbow-mode/metadata.xml12
-rw-r--r--app-emacs/rainbow-mode/rainbow-mode-1.0.6.ebuild17
-rw-r--r--app-emacs/raku-mode/Manifest1
-rw-r--r--app-emacs/raku-mode/files/50raku-mode-gentoo.el7
-rw-r--r--app-emacs/raku-mode/metadata.xml13
-rw-r--r--app-emacs/raku-mode/raku-mode-0.2.1_p20211121.ebuild28
-rw-r--r--app-emacs/reazon/Manifest1
-rw-r--r--app-emacs/reazon/metadata.xml22
-rw-r--r--app-emacs/reazon/reazon-0.4.1.ebuild20
-rw-r--r--app-emacs/redo+/files/50redo+-gentoo.el1
-rw-r--r--app-emacs/reformatter/Manifest2
-rw-r--r--app-emacs/reformatter/metadata.xml13
-rw-r--r--app-emacs/reformatter/reformatter-0.6.ebuild21
-rw-r--r--app-emacs/reformatter/reformatter-0.7.ebuild21
-rw-r--r--app-emacs/remember/files/remember-2.0-emacs-28.patch13
-rw-r--r--app-emacs/remember/remember-2.0-r1.ebuild7
-rw-r--r--app-emacs/repology/Manifest2
-rw-r--r--app-emacs/repology/files/50repology-gentoo.el2
-rw-r--r--app-emacs/repology/metadata.xml16
-rw-r--r--app-emacs/repology/repology-1.2.3.ebuild26
-rw-r--r--app-emacs/repology/repology-1.2.4.ebuild25
-rw-r--r--app-emacs/request/Manifest1
-rw-r--r--app-emacs/request/metadata.xml13
-rw-r--r--app-emacs/request/request-0.3.3_p20220318.ebuild24
-rw-r--r--app-emacs/rescript-mode/Manifest1
-rw-r--r--app-emacs/rescript-mode/files/50rescript-mode-gentoo.el4
-rw-r--r--app-emacs/rescript-mode/metadata.xml13
-rw-r--r--app-emacs/rescript-mode/rescript-mode-0.1.0_p20220613.ebuild29
-rw-r--r--app-emacs/restclient/Manifest1
-rw-r--r--app-emacs/restclient/files/50restclient-gentoo.el5
-rw-r--r--app-emacs/restclient/metadata.xml18
-rw-r--r--app-emacs/restclient/restclient-0_p20220426.ebuild26
-rw-r--r--app-emacs/revive/Manifest2
-rw-r--r--app-emacs/revive/revive-2.24.ebuild17
-rw-r--r--app-emacs/revive/revive-2.25.ebuild17
-rw-r--r--app-emacs/rg/Manifest1
-rw-r--r--app-emacs/rg/files/50rg-gentoo.el2
-rw-r--r--app-emacs/rg/metadata.xml24
-rw-r--r--app-emacs/rg/rg-2.3.0.ebuild54
-rw-r--r--app-emacs/rnc-mode/metadata.xml3
-rw-r--r--app-emacs/rpm-spec-mode/Manifest1
-rw-r--r--app-emacs/rpm-spec-mode/files/rpm-spec-mode-0.15-emacs-28.patch38
-rw-r--r--app-emacs/rpm-spec-mode/metadata.xml4
-rw-r--r--app-emacs/rpm-spec-mode/rpm-spec-mode-0.15.ebuild3
-rw-r--r--app-emacs/rpm-spec-mode/rpm-spec-mode-0.16.ebuild24
-rw-r--r--app-emacs/ruby-mode/Manifest4
-rw-r--r--app-emacs/ruby-mode/files/50ruby-mode-gentoo-2.5.0.el12
-rw-r--r--app-emacs/ruby-mode/metadata.xml9
-rw-r--r--app-emacs/ruby-mode/ruby-mode-2.5.5.ebuild18
-rw-r--r--app-emacs/ruby-mode/ruby-mode-2.6.3.ebuild20
-rw-r--r--app-emacs/ruby-mode/ruby-mode-2.7.0.ebuild20
-rw-r--r--app-emacs/ruby-mode/ruby-mode-3.0.0.ebuild20
-rw-r--r--app-emacs/rudel/Manifest1
-rw-r--r--app-emacs/rudel/files/60rudel-gentoo.el13
-rw-r--r--app-emacs/rudel/rudel-0.3.1.ebuild3
-rw-r--r--app-emacs/rudel/rudel-0.3.2.ebuild34
-rw-r--r--app-emacs/rust-mode/Manifest3
-rw-r--r--app-emacs/rust-mode/files/rust-mode-1.0.5-tests.patch36
-rw-r--r--app-emacs/rust-mode/metadata.xml3
-rw-r--r--app-emacs/rust-mode/rust-mode-0.3.0_p20190125.ebuild28
-rw-r--r--app-emacs/rust-mode/rust-mode-0.4.0.ebuild29
-rw-r--r--app-emacs/rust-mode/rust-mode-1.0.5.ebuild28
-rw-r--r--app-emacs/s/Manifest1
-rw-r--r--app-emacs/s/files/50s-gentoo.el1
-rw-r--r--app-emacs/s/s-1.12.0-r1.ebuild22
-rw-r--r--app-emacs/s/s-1.12.0.ebuild18
-rw-r--r--app-emacs/s/s-1.13.0.ebuild22
-rw-r--r--app-emacs/scad-mode/Manifest1
-rw-r--r--app-emacs/scad-mode/files/50scad-mode-gentoo.el3
-rw-r--r--app-emacs/scad-mode/metadata.xml21
-rw-r--r--app-emacs/scad-mode/scad-mode-93.2-r1.ebuild21
-rw-r--r--app-emacs/scala-mode/scala-mode-2.10.3.ebuild4
-rw-r--r--app-emacs/scala-ts-mode/Manifest1
-rw-r--r--app-emacs/scala-ts-mode/files/50scala-ts-mode-gentoo.el2
-rw-r--r--app-emacs/scala-ts-mode/metadata.xml15
-rw-r--r--app-emacs/scala-ts-mode/scala-ts-mode-1.0.0_p20240316.ebuild33
-rw-r--r--app-emacs/scheme-complete/Manifest1
-rw-r--r--app-emacs/scheme-complete/scheme-complete-0.9.9.ebuild16
-rw-r--r--app-emacs/semi/Manifest2
-rw-r--r--app-emacs/semi/files/semi-info.patch30
-rw-r--r--app-emacs/semi/metadata.xml3
-rw-r--r--app-emacs/semi/semi-1.14.7_p20190517.ebuild50
-rw-r--r--app-emacs/semi/semi-1.14.7_p20210613.ebuild3
-rw-r--r--app-emacs/semi/semi-1.14.7_p20230811.ebuild51
-rw-r--r--app-emacs/servant/Manifest1
-rw-r--r--app-emacs/servant/files/servant-bin-launcher-fix.patch13
-rw-r--r--app-emacs/servant/metadata.xml13
-rw-r--r--app-emacs/servant/servant-0.3.0.ebuild43
-rw-r--r--app-emacs/sesman/Manifest1
-rw-r--r--app-emacs/sesman/files/50sesman-gentoo.el5
-rw-r--r--app-emacs/sesman/metadata.xml25
-rw-r--r--app-emacs/sesman/sesman-0.3.4.ebuild28
-rw-r--r--app-emacs/session/files/50session-gentoo.el1
-rw-r--r--app-emacs/setup/Manifest1
-rw-r--r--app-emacs/setup/files/50setup-gentoo.el2
-rw-r--r--app-emacs/setup/metadata.xml12
-rw-r--r--app-emacs/setup/setup-1.3.2.ebuild28
-rw-r--r--app-emacs/sharper/Manifest1
-rw-r--r--app-emacs/sharper/files/50sharper-gentoo.el2
-rw-r--r--app-emacs/sharper/metadata.xml16
-rw-r--r--app-emacs/sharper/sharper-1.0_p20230129-r1.ebuild38
-rw-r--r--app-emacs/shell-split-string/Manifest1
-rw-r--r--app-emacs/shell-split-string/metadata.xml14
-rw-r--r--app-emacs/shell-split-string/shell-split-string-0.1.ebuild22
-rw-r--r--app-emacs/shrink-path/Manifest1
-rw-r--r--app-emacs/shrink-path/metadata.xml14
-rw-r--r--app-emacs/shrink-path/shrink-path-0.3.1.ebuild34
-rw-r--r--app-emacs/shut-up/Manifest1
-rw-r--r--app-emacs/shut-up/metadata.xml14
-rw-r--r--app-emacs/shut-up/shut-up-0.3.3.ebuild31
-rw-r--r--app-emacs/slime/Manifest4
-rw-r--r--app-emacs/slime/slime-2.21.ebuild68
-rw-r--r--app-emacs/slime/slime-2.28.ebuild66
-rw-r--r--app-emacs/slime/slime-2.29.1.ebuild76
-rw-r--r--app-emacs/slime/slime-2.29.ebuild76
-rw-r--r--app-emacs/sly/Manifest1
-rw-r--r--app-emacs/sly/files/50sly-gentoo.el3
-rw-r--r--app-emacs/sly/metadata.xml36
-rw-r--r--app-emacs/sly/sly-1.0.43.ebuild67
-rw-r--r--app-emacs/sml-mode/Manifest2
-rw-r--r--app-emacs/sml-mode/sml-mode-6.12.ebuild24
-rw-r--r--app-emacs/sml-mode/sml-mode-6.9.ebuild24
-rw-r--r--app-emacs/sokoban/Manifest2
-rw-r--r--app-emacs/sokoban/sokoban-1.4.8.ebuild24
-rw-r--r--app-emacs/sokoban/sokoban-1.4.9.ebuild24
-rw-r--r--app-emacs/spacemacs-theme/Manifest2
-rw-r--r--app-emacs/spacemacs-theme/files/50spacemacs-theme-gentoo.el2
-rw-r--r--app-emacs/spacemacs-theme/metadata.xml14
-rw-r--r--app-emacs/spacemacs-theme/spacemacs-theme-0.2.ebuild18
-rw-r--r--app-emacs/spacemacs-theme/spacemacs-theme-0.3.ebuild18
-rw-r--r--app-emacs/speed-type/Manifest1
-rw-r--r--app-emacs/speed-type/files/50-speed-type-gentoo.el2
-rw-r--r--app-emacs/speed-type/metadata.xml11
-rw-r--r--app-emacs/speed-type/speed-type-20230206.ebuild26
-rw-r--r--app-emacs/spinner/Manifest1
-rw-r--r--app-emacs/spinner/files/50spinner-gentoo.el4
-rw-r--r--app-emacs/spinner/metadata.xml12
-rw-r--r--app-emacs/spinner/spinner-1.7.4.ebuild20
-rw-r--r--app-emacs/ssass-mode/Manifest1
-rw-r--r--app-emacs/ssass-mode/files/50ssass-mode-gentoo.el3
-rw-r--r--app-emacs/ssass-mode/metadata.xml19
-rw-r--r--app-emacs/ssass-mode/ssass-mode-0.2_p20200211.ebuild21
-rw-r--r--app-emacs/string-inflection/Manifest1
-rw-r--r--app-emacs/string-inflection/files/50string-inflection-gentoo.el2
-rw-r--r--app-emacs/string-inflection/metadata.xml19
-rw-r--r--app-emacs/string-inflection/string-inflection-1.0.16.ebuild27
-rw-r--r--app-emacs/stripes/Manifest1
-rw-r--r--app-emacs/stripes/metadata.xml3
-rw-r--r--app-emacs/stripes/stripes-0.3.1.1.ebuild18
-rw-r--r--app-emacs/sumibi/metadata.xml2
-rw-r--r--app-emacs/sunrise-commander/Manifest1
-rw-r--r--app-emacs/sunrise-commander/files/50sunrise-commander-gentoo.el4
-rw-r--r--app-emacs/sunrise-commander/metadata.xml13
-rw-r--r--app-emacs/sunrise-commander/sunrise-commander-6_p20210927.ebuild22
-rw-r--r--app-emacs/svg-lib/Manifest1
-rw-r--r--app-emacs/svg-lib/files/50svg-lib-gentoo.el2
-rw-r--r--app-emacs/svg-lib/metadata.xml20
-rw-r--r--app-emacs/svg-lib/svg-lib-0.2.8.ebuild17
-rw-r--r--app-emacs/swift-mode/Manifest2
-rw-r--r--app-emacs/swift-mode/files/50swift-mode-gentoo.el4
-rw-r--r--app-emacs/swift-mode/metadata.xml13
-rw-r--r--app-emacs/swift-mode/swift-mode-9.0.0.ebuild25
-rw-r--r--app-emacs/swift-mode/swift-mode-9.1.0.ebuild25
-rw-r--r--app-emacs/swiper/Manifest1
-rw-r--r--app-emacs/swiper/files/50swiper-gentoo.el3
-rw-r--r--app-emacs/swiper/metadata.xml16
-rw-r--r--app-emacs/swiper/swiper-0.14.2.ebuild29
-rw-r--r--app-emacs/switch-window/Manifest1
-rw-r--r--app-emacs/switch-window/files/50switch-window-gentoo.el3
-rw-r--r--app-emacs/switch-window/metadata.xml14
-rw-r--r--app-emacs/switch-window/switch-window-1.6.2_p20210808.ebuild20
-rw-r--r--app-emacs/system-packages/Manifest1
-rw-r--r--app-emacs/system-packages/metadata.xml13
-rw-r--r--app-emacs/system-packages/system-packages-1.1.0.ebuild18
-rw-r--r--app-emacs/systemd-mode/Manifest1
-rw-r--r--app-emacs/systemd-mode/files/50systemd-mode-gentoo.el2
-rw-r--r--app-emacs/systemd-mode/files/systemd-mode-1.6-directive-txt-files.patch29
-rw-r--r--app-emacs/systemd-mode/metadata.xml14
-rw-r--r--app-emacs/systemd-mode/systemd-mode-1.6.ebuild38
-rw-r--r--app-emacs/tablist/Manifest1
-rw-r--r--app-emacs/tablist/metadata.xml20
-rw-r--r--app-emacs/tablist/tablist-1.1.ebuild26
-rw-r--r--app-emacs/teco/teco-7-r2.ebuild4
-rw-r--r--app-emacs/tempel/Manifest2
-rw-r--r--app-emacs/tempel/files/50tempel-gentoo.el2
-rw-r--r--app-emacs/tempel/metadata.xml24
-rw-r--r--app-emacs/tempel/tempel-1.0.ebuild34
-rw-r--r--app-emacs/tempel/tempel-1.1.ebuild34
-rw-r--r--app-emacs/tempel/tempel-9999.ebuild34
-rw-r--r--app-emacs/transient/Manifest5
-rw-r--r--app-emacs/transient/files/50transient-gentoo.el1
-rw-r--r--app-emacs/transient/transient-0.3.4.ebuild29
-rw-r--r--app-emacs/transient/transient-0.3.5.ebuild29
-rw-r--r--app-emacs/transient/transient-0.3.6.ebuild29
-rw-r--r--app-emacs/transient/transient-0.5.3.ebuild42
-rw-r--r--app-emacs/transient/transient-0.6.0.ebuild42
-rw-r--r--app-emacs/transient/transient-9999.ebuild42
-rw-r--r--app-emacs/treemacs-all-the-icons/Manifest1
-rw-r--r--app-emacs/treemacs-all-the-icons/metadata.xml13
-rw-r--r--app-emacs/treemacs-all-the-icons/treemacs-all-the-icons-3.1.ebuild35
-rw-r--r--app-emacs/treemacs/Manifest2
-rw-r--r--app-emacs/treemacs/files/50treemacs-gentoo.el3
-rw-r--r--app-emacs/treemacs/files/treemacs-2.9.5-tests.patch11
-rw-r--r--app-emacs/treemacs/files/treemacs-async-scripts.patch29
-rw-r--r--app-emacs/treemacs/files/treemacs-icons-icon-directory.patch12
-rw-r--r--app-emacs/treemacs/metadata.xml13
-rw-r--r--app-emacs/treemacs/treemacs-3.1-r1.ebuild80
-rw-r--r--app-emacs/treemacs/treemacs-3.1_p20240229.ebuild83
-rw-r--r--app-emacs/treepy/Manifest1
-rw-r--r--app-emacs/treepy/files/50treepy-gentoo.el1
-rw-r--r--app-emacs/treepy/files/treepy-0.1.1-cl-lib.patch12
-rw-r--r--app-emacs/treepy/treepy-0.1.1-r1.ebuild20
-rw-r--r--app-emacs/treepy/treepy-0.1.1.ebuild19
-rw-r--r--app-emacs/treepy/treepy-0.1.2.ebuild5
-rw-r--r--app-emacs/treesit-auto/Manifest2
-rw-r--r--app-emacs/treesit-auto/metadata.xml16
-rw-r--r--app-emacs/treesit-auto/treesit-auto-1.0.3.ebuild28
-rw-r--r--app-emacs/treesit-auto/treesit-auto-1.0.5.ebuild28
-rw-r--r--app-emacs/ts/Manifest1
-rw-r--r--app-emacs/ts/files/ts-0.3-test.patch100
-rw-r--r--app-emacs/ts/metadata.xml24
-rw-r--r--app-emacs/ts/ts-0.3.ebuild47
-rw-r--r--app-emacs/tuareg-mode/Manifest2
-rw-r--r--app-emacs/tuareg-mode/tuareg-mode-2.2.0.ebuild19
-rw-r--r--app-emacs/tuareg-mode/tuareg-mode-3.0.1.ebuild19
-rw-r--r--app-emacs/twittering-mode/Manifest1
-rw-r--r--app-emacs/twittering-mode/metadata.xml23
-rw-r--r--app-emacs/twittering-mode/twittering-mode-2.0.0.ebuild40
-rw-r--r--app-emacs/twittering-mode/twittering-mode-3.0.0-r1.ebuild34
-rw-r--r--app-emacs/twittering-mode/twittering-mode-3.0.0.ebuild40
-rw-r--r--app-emacs/twittering-mode/twittering-mode-9999.ebuild12
-rw-r--r--app-emacs/typescript-mode/Manifest1
-rw-r--r--app-emacs/typescript-mode/files/50typescript-mode-gentoo.el4
-rw-r--r--app-emacs/typescript-mode/metadata.xml13
-rw-r--r--app-emacs/typescript-mode/typescript-mode-0.4.ebuild30
-rw-r--r--app-emacs/uboat/files/uboat-1.2-iap.patch11
-rw-r--r--app-emacs/uboat/uboat-1.2-r1.ebuild18
-rw-r--r--app-emacs/uboat/uboat-1.2.ebuild17
-rw-r--r--app-emacs/undercover/Manifest1
-rw-r--r--app-emacs/undercover/metadata.xml14
-rw-r--r--app-emacs/undercover/undercover-0.8.1.ebuild26
-rw-r--r--app-emacs/undo-tree/Manifest2
-rw-r--r--app-emacs/undo-tree/metadata.xml3
-rw-r--r--app-emacs/undo-tree/undo-tree-0.6.6.ebuild19
-rw-r--r--app-emacs/undo-tree/undo-tree-0.8.2-r1.ebuild21
-rw-r--r--app-emacs/uptimes/Manifest2
-rw-r--r--app-emacs/uptimes/files/50uptimes-gentoo.el1
-rw-r--r--app-emacs/uptimes/uptimes-3.7.ebuild21
-rw-r--r--app-emacs/uptimes/uptimes-3.8.ebuild22
-rw-r--r--app-emacs/use-package/Manifest1
-rw-r--r--app-emacs/use-package/files/use-package-require-diminish.patch14
-rw-r--r--app-emacs/use-package/metadata.xml14
-rw-r--r--app-emacs/use-package/use-package-2.4.5.ebuild31
-rw-r--r--app-emacs/uxntal-mode/Manifest1
-rw-r--r--app-emacs/uxntal-mode/files/50uxntal-mode-gentoo.el4
-rw-r--r--app-emacs/uxntal-mode/metadata.xml14
-rw-r--r--app-emacs/uxntal-mode/uxntal-mode-0.3.ebuild19
-rw-r--r--app-emacs/vertico/Manifest2
-rw-r--r--app-emacs/vertico/files/50vertico-gentoo.el2
-rw-r--r--app-emacs/vertico/metadata.xml12
-rw-r--r--app-emacs/vertico/vertico-1.7.ebuild39
-rw-r--r--app-emacs/vertico/vertico-1.8.ebuild39
-rw-r--r--app-emacs/vertico/vertico-9999.ebuild39
-rw-r--r--app-emacs/vhdl-mode/Manifest3
-rw-r--r--app-emacs/vhdl-mode/vhdl-mode-3.38.1.ebuild24
-rw-r--r--app-emacs/vhdl-mode/vhdl-mode-3.39.2.ebuild24
-rw-r--r--app-emacs/vhdl-mode/vhdl-mode-3.39.3.ebuild26
-rw-r--r--app-emacs/vm/vm-9999.ebuild58
-rw-r--r--app-emacs/volume/files/volume-1.0-emacs-28.patch40
-rw-r--r--app-emacs/volume/metadata.xml2
-rw-r--r--app-emacs/volume/volume-1.0-r1.ebuild9
-rw-r--r--app-emacs/vterm/Manifest3
-rw-r--r--app-emacs/vterm/files/vterm-0.0.1_pre20200713-dont-compile.patch22
-rw-r--r--app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild45
-rw-r--r--app-emacs/vterm/vterm-0.0.1_pre20210618.ebuild52
-rw-r--r--app-emacs/vterm/vterm-0.0.2_p20240102.ebuild81
-rw-r--r--app-emacs/vterm/vterm-9999.ebuild81
-rw-r--r--app-emacs/vue-html-mode/Manifest1
-rw-r--r--app-emacs/vue-html-mode/files/50vue-html-mode-gentoo.el3
-rw-r--r--app-emacs/vue-html-mode/metadata.xml21
-rw-r--r--app-emacs/vue-html-mode/vue-html-mode-0.2.ebuild24
-rw-r--r--app-emacs/vue-html-mode/vue-html-mode-9999.ebuild24
-rw-r--r--app-emacs/vue-mode/Manifest1
-rw-r--r--app-emacs/vue-mode/files/50vue-mode-gentoo.el4
-rw-r--r--app-emacs/vue-mode/metadata.xml14
-rw-r--r--app-emacs/vue-mode/vue-mode-0.4.ebuild40
-rw-r--r--app-emacs/vue-mode/vue-mode-9999.ebuild40
-rw-r--r--app-emacs/wanderlust/Manifest3
-rw-r--r--app-emacs/wanderlust/wanderlust-2.15.9_p20190623.ebuild57
-rw-r--r--app-emacs/wanderlust/wanderlust-2.15.9_p20210629.ebuild58
-rw-r--r--app-emacs/wanderlust/wanderlust-2.15.9_p20230624.ebuild66
-rw-r--r--app-emacs/web-mode/Manifest1
-rw-r--r--app-emacs/web-mode/files/50web-mode-gentoo.el3
-rw-r--r--app-emacs/web-mode/metadata.xml22
-rw-r--r--app-emacs/web-mode/web-mode-17.3.13.ebuild17
-rw-r--r--app-emacs/web-server/Manifest1
-rw-r--r--app-emacs/web-server/metadata.xml13
-rw-r--r--app-emacs/web-server/web-server-0.1.2_p20210708-r1.ebuild51
-rw-r--r--app-emacs/webpaste/Manifest1
-rw-r--r--app-emacs/webpaste/files/50webpaste-gentoo.el7
-rw-r--r--app-emacs/webpaste/metadata.xml20
-rw-r--r--app-emacs/webpaste/webpaste-3.2.2-r1.ebuild46
-rw-r--r--app-emacs/websocket/Manifest4
-rw-r--r--app-emacs/websocket/files/50websocket-gentoo.el1
-rw-r--r--app-emacs/websocket/metadata.xml14
-rw-r--r--app-emacs/websocket/websocket-1.10.ebuild33
-rw-r--r--app-emacs/websocket/websocket-1.12.ebuild33
-rw-r--r--app-emacs/websocket/websocket-1.14_p20230305.ebuild39
-rw-r--r--app-emacs/websocket/websocket-1.15.ebuild45
-rw-r--r--app-emacs/wgrep/Manifest3
-rw-r--r--app-emacs/wgrep/files/50wgrep-gentoo.el1
-rw-r--r--app-emacs/wgrep/metadata.xml1
-rw-r--r--app-emacs/wgrep/wgrep-2.3.0.ebuild20
-rw-r--r--app-emacs/wgrep/wgrep-2.3.2.ebuild20
-rw-r--r--app-emacs/wgrep/wgrep-3.0.0-r1.ebuild54
-rw-r--r--app-emacs/which-key/Manifest1
-rw-r--r--app-emacs/which-key/files/50which-key-gentoo.el3
-rw-r--r--app-emacs/which-key/metadata.xml14
-rw-r--r--app-emacs/which-key/which-key-3.6.0.ebuild34
-rw-r--r--app-emacs/whine/Manifest2
-rw-r--r--app-emacs/whine/files/50whine-gentoo.el2
-rw-r--r--app-emacs/whine/whine-20091222.ebuild16
-rw-r--r--app-emacs/whine/whine-20231020.ebuild16
-rw-r--r--app-emacs/with-editor/Manifest5
-rw-r--r--app-emacs/with-editor/files/50with-editor-gentoo.el1
-rw-r--r--app-emacs/with-editor/with-editor-2.8.3.ebuild23
-rw-r--r--app-emacs/with-editor/with-editor-3.0.2.ebuild23
-rw-r--r--app-emacs/with-editor/with-editor-3.0.4.ebuild23
-rw-r--r--app-emacs/with-editor/with-editor-3.0.5.ebuild23
-rw-r--r--app-emacs/with-editor/with-editor-3.3.2.ebuild29
-rw-r--r--app-emacs/with-editor/with-editor-9999.ebuild35
-rw-r--r--app-emacs/with-simulated-input/Manifest1
-rw-r--r--app-emacs/with-simulated-input/metadata.xml22
-rw-r--r--app-emacs/with-simulated-input/with-simulated-input-3.0.ebuild27
-rw-r--r--app-emacs/ws-butler/Manifest1
-rw-r--r--app-emacs/ws-butler/metadata.xml20
-rw-r--r--app-emacs/ws-butler/ws-butler-0.6_p20201117.ebuild27
-rw-r--r--app-emacs/xclip/Manifest2
-rw-r--r--app-emacs/xclip/xclip-1.11-r1.ebuild24
-rw-r--r--app-emacs/xclip/xclip-1.9.ebuild19
-rw-r--r--app-emacs/xelb/Manifest1
-rw-r--r--app-emacs/xelb/metadata.xml13
-rw-r--r--app-emacs/xelb/xelb-0.18.ebuild22
-rw-r--r--app-emacs/yaml-mode/Manifest3
-rw-r--r--app-emacs/yaml-mode/yaml-mode-0.0.13.ebuild18
-rw-r--r--app-emacs/yaml-mode/yaml-mode-0.0.14.ebuild18
-rw-r--r--app-emacs/yaml-mode/yaml-mode-0.0.16.ebuild18
-rw-r--r--app-emacs/yaml/Manifest1
-rw-r--r--app-emacs/yaml/metadata.xml19
-rw-r--r--app-emacs/yaml/yaml-0.5.5.ebuild23
-rw-r--r--app-emacs/yasnippet-snippets/Manifest1
-rw-r--r--app-emacs/yasnippet-snippets/files/50yasnippet-snippets-gentoo.el9
-rw-r--r--app-emacs/yasnippet-snippets/files/yasnippet-snippets-dir.patch18
-rw-r--r--app-emacs/yasnippet-snippets/yasnippet-snippets-0.3.ebuild27
-rw-r--r--app-emacs/yasnippet-snippets/yasnippet-snippets-1.0-r2.ebuild41
-rw-r--r--app-emacs/yasnippet-snippets/yasnippet-snippets-1.0.ebuild27
-rw-r--r--app-emacs/yasnippet/Manifest1
-rw-r--r--app-emacs/yasnippet/yasnippet-0.13.0.ebuild36
-rw-r--r--app-emacs/yasnippet/yasnippet-0.14.0.ebuild6
-rw-r--r--app-emacs/yatex/Manifest2
-rw-r--r--app-emacs/yatex/files/yatex-1.82-texinfo.patch22
-rw-r--r--app-emacs/yatex/yatex-1.80.ebuild54
-rw-r--r--app-emacs/yatex/yatex-1.82.ebuild58
1633 files changed, 24846 insertions, 6113 deletions
diff --git a/app-emacs/a/Manifest b/app-emacs/a/Manifest
new file mode 100644
index 000000000000..b0ee02ee81fd
--- /dev/null
+++ b/app-emacs/a/Manifest
@@ -0,0 +1 @@
+DIST a.el-1.0.0.tar.gz 19740 BLAKE2B c5bb72fd206b1b33798c90982f7111f7cd100e6e36580bce267b6d6295a82b536a00cddeed3cf9bf94964b451429769f705358a731cbe5054a2683fc90d4bf14 SHA512 3a795fb2cf613bafabbf2c788dc1edd4dbd26871043a9225f3db61542f1d5c95102355d9223498dc4dbe5aba446e9b8a22437b6e6799c3a0f2ad213bc35b2556
diff --git a/app-emacs/a/a-1.0.0.ebuild b/app-emacs/a/a-1.0.0.ebuild
new file mode 100644
index 000000000000..fcf2484bdb5d
--- /dev/null
+++ b/app-emacs/a/a-1.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Associative data structure functions for Emacs Lisp"
+HOMEPAGE="https://github.com/plexus/a.el/"
+SRC_URI="https://github.com/plexus/a.el/archive/v${PV}.tar.gz
+ -> a.el-${PV}.tar.gz"
+S="${WORKDIR}"/a.el-${PV}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
diff --git a/app-emacs/a/metadata.xml b/app-emacs/a/metadata.xml
new file mode 100644
index 000000000000..27097a0e08c5
--- /dev/null
+++ b/app-emacs/a/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Emacs Lisp functions for dealing with associative structures in a uniform
+ and functional way. Inspired by Clojure, dash, and seq.el.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/plexus/a.el/issues/</bugs-to>
+ <remote-id type="github">plexus/a.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/ace-window/Manifest b/app-emacs/ace-window/Manifest
new file mode 100644
index 000000000000..62262c0bdbbb
--- /dev/null
+++ b/app-emacs/ace-window/Manifest
@@ -0,0 +1 @@
+DIST ace-window-0.10.0.tar.gz 12929 BLAKE2B 7cf6274004d47894471b850054f625af251b7eb3d09a9e7163580e5823b18f62f76ac46722f8885badb56435d04de652cdd81f5c3ef2aa008e601a717f195340 SHA512 15153b3b3e70337804a5fa0f51eba79b4fe4970b431b3a9cabeaf387a4cc83364a916045163e21b89104b23254a612491ae2e9f968a97f3b5232350ef571c5dd
diff --git a/app-emacs/ace-window/ace-window-0.10.0.ebuild b/app-emacs/ace-window/ace-window-0.10.0.ebuild
new file mode 100644
index 000000000000..64abbd9be25b
--- /dev/null
+++ b/app-emacs/ace-window/ace-window-0.10.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Quickly switch windows in Emacs"
+HOMEPAGE="https://github.com/abo-abo/ace-window/"
+SRC_URI="https://github.com/abo-abo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+RDEPEND="app-emacs/avy"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ace-window/metadata.xml b/app-emacs/ace-window/metadata.xml
new file mode 100644
index 000000000000..7a9a52217acc
--- /dev/null
+++ b/app-emacs/ace-window/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/abo-abo/ace-window/issues/</bugs-to>
+ <remote-id type="github">abo-abo/ace-window</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/adaptive-wrap/Manifest b/app-emacs/adaptive-wrap/Manifest
index b78f72a54cba..c11b470d101b 100644
--- a/app-emacs/adaptive-wrap/Manifest
+++ b/app-emacs/adaptive-wrap/Manifest
@@ -1 +1 @@
-DIST adaptive-wrap-0.7.el.xz 3304 BLAKE2B 6026512cc81218b270d8a1070e3c62893b8cc1b48c8cbb33c8ee125d7bff0a3f701c57f653ae127daf066770f289fd8bc3860edc47c58ac7d6dd3c1a83f8ebf2 SHA512 a052eeaa727526c81f83419bee632121b6724bfb410cefac9c3a1cf40e11f272bffb1bf6f3b0a3ea7c4646a9473488e084c5622a2ed335c656835e4613a859db
+DIST adaptive-wrap-0.8.el.xz 3120 BLAKE2B 7b862aa848dde0bf082631d82373dad94d6e62ed27eb415c725b0c1614be4aebea4fed17d7964625665ec41a1a57eba9103d6caa6d0f3cd72ccca51559c7bac6 SHA512 cbde07a0e41818c1b7d94afe3df58a014ae8490e4bb7c8758d797ed1d893cf1d097811ae3aa21195652be6b0cb5ce144ca08f907c5d47e608b3e7217c085b238
diff --git a/app-emacs/adaptive-wrap/adaptive-wrap-0.7.ebuild b/app-emacs/adaptive-wrap/adaptive-wrap-0.7.ebuild
deleted file mode 100644
index ff5293e3528a..000000000000
--- a/app-emacs/adaptive-wrap/adaptive-wrap-0.7.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Smart line-wrapping with wrap-prefix"
-HOMEPAGE="https://elpa.gnu.org/packages/adaptive-wrap.html"
-# taken from https://elpa.gnu.org/packages/${P}.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/adaptive-wrap/adaptive-wrap-0.8.ebuild b/app-emacs/adaptive-wrap/adaptive-wrap-0.8.ebuild
new file mode 100644
index 000000000000..dc88fbab1500
--- /dev/null
+++ b/app-emacs/adaptive-wrap/adaptive-wrap-0.8.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Smart line-wrapping with wrap-prefix"
+HOMEPAGE="https://elpa.gnu.org/packages/adaptive-wrap.html"
+# taken from https://elpa.gnu.org/packages/${P}.tar
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/all-the-icons-dired/Manifest b/app-emacs/all-the-icons-dired/Manifest
new file mode 100644
index 000000000000..1cf78994a02c
--- /dev/null
+++ b/app-emacs/all-the-icons-dired/Manifest
@@ -0,0 +1 @@
+DIST all-the-icons-dired-2.0.tar.gz 61391 BLAKE2B 685213693ddf8e009565dc3dbb5b44b3b364553f07733346dfd77a261f1da46cedde11b0de5d87d6769cdca921984a445ab2e4ec79bad172fdae0c9f131f9e34 SHA512 1043f921d84da38fedd2abf140645d984bcc817cec7b1d608e8a08e4a828f8ddc4c977c28d35a67b9be3458147beb52b8364e6ffc8e1846eb10028fd53140f78
diff --git a/app-emacs/all-the-icons-dired/all-the-icons-dired-2.0.ebuild b/app-emacs/all-the-icons-dired/all-the-icons-dired-2.0.ebuild
new file mode 100644
index 000000000000..51001c2ca136
--- /dev/null
+++ b/app-emacs/all-the-icons-dired/all-the-icons-dired-2.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Display all-the-icons icon for each file in Emacs' dired buffer"
+HOMEPAGE="https://github.com/wyuenho/all-the-icons-dired/"
+SRC_URI="https://github.com/wyuenho/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/all-the-icons"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org logo.png )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/all-the-icons-dired/files/50all-the-icons-dired-gentoo.el b/app-emacs/all-the-icons-dired/files/50all-the-icons-dired-gentoo.el
new file mode 100644
index 000000000000..97b86ad2a6e2
--- /dev/null
+++ b/app-emacs/all-the-icons-dired/files/50all-the-icons-dired-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'all-the-icons-dired-mode "all-the-icons-dired"
+ "Display all-the-icons icon for each file in a dired buffer." t)
diff --git a/app-emacs/all-the-icons-dired/metadata.xml b/app-emacs/all-the-icons-dired/metadata.xml
new file mode 100644
index 000000000000..6d28f321438a
--- /dev/null
+++ b/app-emacs/all-the-icons-dired/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/wyuenho/all-the-icons-dired/issues/</bugs-to>
+ <remote-id type="github">wyuenho/all-the-icons-dired</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/all-the-icons-ibuffer/Manifest b/app-emacs/all-the-icons-ibuffer/Manifest
new file mode 100644
index 000000000000..431b01aa7ce9
--- /dev/null
+++ b/app-emacs/all-the-icons-ibuffer/Manifest
@@ -0,0 +1 @@
+DIST all-the-icons-ibuffer-1.3.0.tar.gz 16247 BLAKE2B 43551d61aeff8f433ee087bd0361c443f95d12828fab7e8742522fd00d323430d3eb5c6205b580482df0be164dd636c151c30ddebdc36f4a2bc15117683748dd SHA512 f1fcde1cf97f02fef7b52d840296504ff621faa0fb35f530d7f20989545c5f24ba6a7762e0a76f5dca209f8e3c8b73a12c23c7f54d688680aa2b9805dcd2c8d2
diff --git a/app-emacs/all-the-icons-ibuffer/all-the-icons-ibuffer-1.3.0.ebuild b/app-emacs/all-the-icons-ibuffer/all-the-icons-ibuffer-1.3.0.ebuild
new file mode 100644
index 000000000000..3dc8ed75325b
--- /dev/null
+++ b/app-emacs/all-the-icons-ibuffer/all-the-icons-ibuffer-1.3.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Display all-the-icons icons for all buffers in Emacs' ibuffer"
+HOMEPAGE="https://github.com/seagle0128/all-the-icons-ibuffer/"
+SRC_URI="https://github.com/seagle0128/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/all-the-icons"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/all-the-icons-ibuffer/files/50all-the-icons-ibuffer-gentoo.el b/app-emacs/all-the-icons-ibuffer/files/50all-the-icons-ibuffer-gentoo.el
new file mode 100644
index 000000000000..cf33c024a408
--- /dev/null
+++ b/app-emacs/all-the-icons-ibuffer/files/50all-the-icons-ibuffer-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'all-the-icons-ibuffer-mode "all-the-icons-ibuffer"
+ "Display icons for all buffers in ibuffer." t)
diff --git a/app-emacs/all-the-icons-ibuffer/metadata.xml b/app-emacs/all-the-icons-ibuffer/metadata.xml
new file mode 100644
index 000000000000..ca81f430464d
--- /dev/null
+++ b/app-emacs/all-the-icons-ibuffer/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/seagle0128/all-the-icons-ibuffer/issues/</bugs-to>
+ <remote-id type="github">seagle0128/all-the-icons-ibuffer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/all-the-icons-ivy-rich/Manifest b/app-emacs/all-the-icons-ivy-rich/Manifest
new file mode 100644
index 000000000000..974c1f1204e1
--- /dev/null
+++ b/app-emacs/all-the-icons-ivy-rich/Manifest
@@ -0,0 +1 @@
+DIST all-the-icons-ivy-rich-1.9.0.tar.gz 26428 BLAKE2B f2d23fd537921fd48ce26caac35a5ac9516ad2bffdb99c37d507ba2640179aed8c5f88361c5e9e34c2945bdb9619d2416d8c5fea55c0dd25d0fe0fe42cd5c353 SHA512 ac0c3f18d3842eb4b9c6f098e00814f421277b44c4253f9efb28c6d02e94fbb159db40cd9ade877ce218154c30210bb39dc93bfd95a7a61a71b09cbed1af5d70
diff --git a/app-emacs/all-the-icons-ivy-rich/all-the-icons-ivy-rich-1.9.0.ebuild b/app-emacs/all-the-icons-ivy-rich/all-the-icons-ivy-rich-1.9.0.ebuild
new file mode 100644
index 000000000000..35dffc4b0c4a
--- /dev/null
+++ b/app-emacs/all-the-icons-ivy-rich/all-the-icons-ivy-rich-1.9.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Display icons for ivy buffers in Emacs"
+HOMEPAGE="https://github.com/seagle0128/all-the-icons-ivy-rich/"
+SRC_URI="https://github.com/seagle0128/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ app-emacs/all-the-icons
+ app-emacs/ivy-rich
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/all-the-icons-ivy-rich/files/50all-the-icons-ivy-rich-gentoo.el b/app-emacs/all-the-icons-ivy-rich/files/50all-the-icons-ivy-rich-gentoo.el
new file mode 100644
index 000000000000..3b390209616d
--- /dev/null
+++ b/app-emacs/all-the-icons-ivy-rich/files/50all-the-icons-ivy-rich-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'all-the-icons-ivy-rich-mode "all-the-icons-ivy-rich"
+ "Better experience with icons for ivy." t)
diff --git a/app-emacs/all-the-icons-ivy-rich/metadata.xml b/app-emacs/all-the-icons-ivy-rich/metadata.xml
new file mode 100644
index 000000000000..9f1fa8fc0a06
--- /dev/null
+++ b/app-emacs/all-the-icons-ivy-rich/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/seagle0128/all-the-icons-ivy-rich/issues/</bugs-to>
+ <remote-id type="github">seagle0128/all-the-icons-ivy-rich</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/all-the-icons/Manifest b/app-emacs/all-the-icons/Manifest
new file mode 100644
index 000000000000..a7cb4efbd891
--- /dev/null
+++ b/app-emacs/all-the-icons/Manifest
@@ -0,0 +1 @@
+DIST all-the-icons-5.0.0_p20230316.tar.gz 807075 BLAKE2B 29ca4c92a61894eab422548de0be3375de866115d95c76c4cf92a1570df0ec5ed67a74fdcd6bf365660a08300aead96efed3d0282966373543d09f2bc775a599 SHA512 160d727233e7cccffcf8a020968f9294f0574ee1267b66565991f46abaaf10c4582bb543f01bdf4f4ab5fc15aee8e2414db785370d13dcd6ca84ad819964696b
diff --git a/app-emacs/all-the-icons/all-the-icons-5.0.0_p20230316.ebuild b/app-emacs/all-the-icons/all-the-icons-5.0.0_p20230316.ebuild
new file mode 100644
index 000000000000..2854c3f562fd
--- /dev/null
+++ b/app-emacs/all-the-icons/all-the-icons-5.0.0_p20230316.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp font readme.gentoo-r1
+
+DESCRIPTION="Various icon fonts propertized for Emacs"
+HOMEPAGE="https://github.com/domtronn/all-the-icons.el/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/domtronn/${PN}.el.git"
+else
+ if [[ ${PV} == *_p20230316 ]] ; then
+ COMMIT=d922aff57ac8308d3ed067f9151cc76d342855f2
+ SRC_URI="https://github.com/domtronn/${PN}.el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${COMMIT}
+ else
+ SRC_URI="https://github.com/domtronn/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${PV}
+ fi
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="test" # Autogenerated tests cause function redefinitions
+
+BDEPEND="test? ( app-emacs/f )"
+
+DOC_CONTENTS="You may need to install the required fonts by executing
+ the \"all-the-icons-install-fonts\" function."
+DOCS=( README.md logo.png )
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ elisp_pkg_setup
+ font_pkg_setup
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-compile data/*.el
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -L . -L data -L test -l test/all-the-icons-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+ elisp-install ${PN}/data data/*.el{,c}
+
+ # Install all-the-icons.ttf, special font made explicitly for this library.
+ # NOTICE: "fonts" directory also contains some bundled fonts,
+ # that is why we need this small re-implementation of font eclass,
+ # to suit this specific use case.
+ pushd "${S}"/fonts >/dev/null || die
+ insinto ${FONTDIR}
+ doins ${PN}.ttf
+ font_xfont_config
+ font_fontconfig
+ popd >/dev/null || die
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+ font_pkg_postinst
+}
+
+pkg_postrm() {
+ elisp_pkg_postrm
+ font_pkg_postrm
+}
diff --git a/app-emacs/all-the-icons/metadata.xml b/app-emacs/all-the-icons/metadata.xml
new file mode 100644
index 000000000000..05396e7cc8b6
--- /dev/null
+++ b/app-emacs/all-the-icons/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/domtronn/all-the-icons.el/issues/</bugs-to>
+ <remote-id type="github">domtronn/all-the-icons.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/amx/Manifest b/app-emacs/amx/Manifest
new file mode 100644
index 000000000000..53352a654391
--- /dev/null
+++ b/app-emacs/amx/Manifest
@@ -0,0 +1 @@
+DIST amx-3.4.tar.gz 33916 BLAKE2B b3b6f6d97e10dcb759bf38a812094de528aaeffd0b8fd0f1d055f67696889939a88622151123986bde42d4a1355a8a4d6cf95b286012bcb5245c1edc9b19a71c SHA512 146b8f6acbe4acca63391771fca73d22f5ce60872f4d18abc865d6cb07f4d12ea01fd59235e1e5987d33b169ea7792368b72e92f8c6409846121850efb75511f
diff --git a/app-emacs/amx/amx-3.4.ebuild b/app-emacs/amx/amx-3.4.ebuild
new file mode 100644
index 000000000000..fa23093eb4a8
--- /dev/null
+++ b/app-emacs/amx/amx-3.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Alternative M-x interface for GNU Emacs"
+HOMEPAGE="https://github.com/DarwinAwardWinner/amx/"
+SRC_URI="https://github.com/DarwinAwardWinner/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+# TODO: When ido is packaged: || ( app-emacs/ido app-emacs/ivy )
+RDEPEND="
+ app-emacs/s
+ app-emacs/ivy
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.mkdn )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/amx/files/50amx-gentoo.el b/app-emacs/amx/files/50amx-gentoo.el
new file mode 100644
index 000000000000..12393aba5772
--- /dev/null
+++ b/app-emacs/amx/files/50amx-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'amx-mode "amx"
+ "Use ido/ivy completion for M-x." t)
+(autoload 'amx "amx"
+ "Read a command name and execute the command." t)
diff --git a/app-emacs/amx/metadata.xml b/app-emacs/amx/metadata.xml
new file mode 100644
index 000000000000..20f49bf16359
--- /dev/null
+++ b/app-emacs/amx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/DarwinAwardWinner/amx/issues/</bugs-to>
+ <remote-id type="github">DarwinAwardWinner/amx</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/anaphora/Manifest b/app-emacs/anaphora/Manifest
new file mode 100644
index 000000000000..0cd25f16c880
--- /dev/null
+++ b/app-emacs/anaphora/Manifest
@@ -0,0 +1 @@
+DIST anaphora-1.0.4.tar.gz 9215 BLAKE2B 634cbf68b63bf815755eace47441b40571f9a0a466f552d908358b110e12b75b8256efba915762c53f3280092b12483f6eec6257d78845bd4bef9537d1157f2e SHA512 1cfdb9f91c8fee4598dbc01701cf6cf84296cf18ae244f061c82a753f47f4904fccf8fbc0299e87408e17b4e41df65455f56be393d003c16cf8932f1e9f86d5e
diff --git a/app-emacs/anaphora/anaphora-1.0.4.ebuild b/app-emacs/anaphora/anaphora-1.0.4.ebuild
new file mode 100644
index 000000000000..7dc6bcc3fb98
--- /dev/null
+++ b/app-emacs/anaphora/anaphora-1.0.4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Anaphoric expressions for Emacs Lisp, providing implicit temporary variables"
+HOMEPAGE="https://github.com/rolandwalker/anaphora/"
+SRC_URI="https://github.com/rolandwalker/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.markdown )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test-batch
+}
diff --git a/app-emacs/anaphora/metadata.xml b/app-emacs/anaphora/metadata.xml
new file mode 100644
index 000000000000..bc649256f86a
--- /dev/null
+++ b/app-emacs/anaphora/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rolandwalker/anaphora/issues/</bugs-to>
+ <remote-id type="github">rolandwalker/anaphora</remote-id>
+ </upstream>
+ <longdescription>
+ Anaphoric expressions implicitly create one or more temporary variables
+ which can be referred to during the expression. This technique can improve
+ clarity in certain cases. It also enables recursion for anonymous
+ functions.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/ansi/Manifest b/app-emacs/ansi/Manifest
new file mode 100644
index 000000000000..f3872ab0c6ba
--- /dev/null
+++ b/app-emacs/ansi/Manifest
@@ -0,0 +1 @@
+DIST ansi-0.4.1_p20211104.tar.gz 5498 BLAKE2B aabfd9eca6b74e20bc2b435df08aa66971396fc64c9967682c744e53a703b1853af5e72682466fd89e0d4cb06fa264e1c9d7a5970004a2ccd4637ba3ff0d028b SHA512 ea4cf098aec0bace89de9bfebb36be493b4b73311525dd088a081e90aa41b6e4d15519a4e871bb4a2ef9bcd6450943d80f05619fb7290c341a0d5785bac00615
diff --git a/app-emacs/ansi/ansi-0.4.1_p20211104.ebuild b/app-emacs/ansi/ansi-0.4.1_p20211104.ebuild
new file mode 100644
index 000000000000..daffe26b83e5
--- /dev/null
+++ b/app-emacs/ansi/ansi-0.4.1_p20211104.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=2367fba7b3b2340364a30cd6de7f3eb6bb9898a3
+
+inherit elisp
+
+DESCRIPTION="Emacs library to convert strings into ansi"
+HOMEPAGE="https://github.com/rejeep/ansi.el/"
+SRC_URI="https://github.com/rejeep/${PN}.el/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/dash
+ app-emacs/el-mock
+ app-emacs/f
+ app-emacs/s
+ app-emacs/undercover
+ )
+"
+
+DOCS=( README.markdown )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test \
+ -l ansi.el -l test/ansi-color-test.el -l test/ansi-csi-test.el \
+ -l test/ansi-format-test.el -l test/ansi-init.el \
+ -l test/ansi-on-color-test.el -l test/ansi-style-test.el \
+ -l test/ansi-test.el -l test/test-helper.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
diff --git a/app-emacs/ansi/metadata.xml b/app-emacs/ansi/metadata.xml
new file mode 100644
index 000000000000..eec32815804a
--- /dev/null
+++ b/app-emacs/ansi/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rejeep/ansi.el/issues/</bugs-to>
+ <remote-id type="github">rejeep/ansi.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/apache-mode/metadata.xml b/app-emacs/apache-mode/metadata.xml
index 986088003fe1..66e56061e2dc 100644
--- a/app-emacs/apache-mode/metadata.xml
+++ b/app-emacs/apache-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">emacs-php/apache-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/apel/Manifest b/app-emacs/apel/Manifest
index c1bd6d74f583..7c3e87367f18 100644
--- a/app-emacs/apel/Manifest
+++ b/app-emacs/apel/Manifest
@@ -1,2 +1,2 @@
-DIST apel-10.8_p20190407.tar.gz 94808 BLAKE2B 47540e8c3ce96cc91efefe521942a3df4ee8423c7796d7e66b14bed7e9d662469a0767dd4863ae130fb114a1f9335d95abd13d61b6811e039db75e28679ac0f6 SHA512 6c780b0643f248e2a1409f1cea794dc6be515ee2ae766ead0834996bd9c13852492af1b9c343c4efda06fd057fae0c1b8a1ffc6b55b1469afbc7cbf1b579ea68
DIST apel-10.8_p20201106.tar.gz 69188 BLAKE2B e0107968349fe73325503a61fbc9ada83d657f2ca66a39ae2ea833543277f536d22371e371e17dc4307380e738491e20ec0b7b52a35207f49e37fa65c66f3ab1 SHA512 fb14570d6d4f2346d386ae0012cfb9149ddf9ade8b4dc75507e6cef848d12ef65f80bd7d1dc26815031aee00461d67d4a86fe29e30d5d542756e725425634c77
+DIST apel-10.8_p20220721.tar.gz 69181 BLAKE2B b7c36d4bec2f1a544cbf2e15c5ceb8968912e63dc7c4d68cf14d3f0a2646d7031c1595f8dd3f1e7622f8816a1c1b934b0987275ca4e05bcc3c770443f5db88ad SHA512 4d384cbc7989e1d1db4e4b735474d610e241ec4f551bcde73fa3a9771d1d1094f489bd5de328a9b5b66468bd64b52b3220a261735a646b4ea8818a29b3837be5
diff --git a/app-emacs/apel/apel-10.8_p20190407.ebuild b/app-emacs/apel/apel-10.8_p20190407.ebuild
deleted file mode 100644
index 3b61f310b058..000000000000
--- a/app-emacs/apel/apel-10.8_p20190407.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A Portable Emacs Library is a library for making portable Emacs Lisp programs"
-HOMEPAGE="https://github.com/wanderlust/apel"
-GITHUB_SHA1="d146ddbf8818e81d3577d5eee7825d377bec0c73"
-SRC_URI="https://github.com/wanderlust/apel/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-
-S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
-
-src_prepare() {
- elisp_src_prepare
- cat <<-EOF >>APEL-CFG || die
- (setq APEL_PREFIX "apel")
- (setq EMU_PREFIX "apel")
- EOF
-}
-
-src_compile() {
- default
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" \
- LISPDIR="${ED}/${SITELISP}" \
- VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" \
- install
- elisp-site-file-install "${FILESDIR}/50apel-gentoo.el"
- dodoc ChangeLog README*
-}
-
-pkg_postinst() {
- elisp-site-regen
- elog "See the README.en file in /usr/share/doc/${PF} for tips"
- elog "on how to customize this package."
-}
diff --git a/app-emacs/apel/apel-10.8_p20201106.ebuild b/app-emacs/apel/apel-10.8_p20201106.ebuild
index 8e9d3d330adc..13e4e1994974 100644
--- a/app-emacs/apel/apel-10.8_p20201106.ebuild
+++ b/app-emacs/apel/apel-10.8_p20201106.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-NEED_EMACS=24.5
inherit elisp
@@ -14,7 +13,7 @@ S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
SITEFILE="50apel-gentoo.el"
@@ -35,6 +34,6 @@ src_install() {
LISPDIR="${ED}/${SITELISP}" \
VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" \
install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ elisp-make-site-file "${SITEFILE}"
dodoc ChangeLog* README*
}
diff --git a/app-emacs/apel/apel-10.8_p20220721.ebuild b/app-emacs/apel/apel-10.8_p20220721.ebuild
new file mode 100644
index 000000000000..4c36cfff957a
--- /dev/null
+++ b/app-emacs/apel/apel-10.8_p20220721.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A Portable Emacs Library is a library for making portable Emacs Lisp programs"
+HOMEPAGE="https://github.com/wanderlust/apel"
+GITHUB_SHA1="82eb2325bd149dc57b43a9ce9402c6c6183e4052"
+SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+SITEFILE="50apel-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+ cat <<-EOF >>APEL-CFG || die
+ (setq APEL_PREFIX "apel")
+ (setq EMU_PREFIX "apel")
+ EOF
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" \
+ LISPDIR="${ED}/${SITELISP}" \
+ VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" \
+ install
+ elisp-make-site-file "${SITEFILE}"
+ dodoc ChangeLog* README*
+}
diff --git a/app-emacs/apel/files/50apel-gentoo.el b/app-emacs/apel/files/50apel-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/apel/files/50apel-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/apel/metadata.xml b/app-emacs/apel/metadata.xml
index 986088003fe1..1d16a90c781d 100644
--- a/app-emacs/apel/metadata.xml
+++ b/app-emacs/apel/metadata.xml
@@ -6,4 +6,7 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">wanderlust/apel</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/apheleia/Manifest b/app-emacs/apheleia/Manifest
new file mode 100644
index 000000000000..f5188edab336
--- /dev/null
+++ b/app-emacs/apheleia/Manifest
@@ -0,0 +1,2 @@
+DIST apheleia-4.0.tar.gz 170327 BLAKE2B 82e5b545045ef8e5e17dd6930efe21c6eb5d04f6e22d0ce07e13af7c09237b93c09ff756e8e024751ecfc46d0809e408bfdc14e192cd9ded5cce955cd67a66bb SHA512 5cc5a12a8418372ade1ba968e34d8eae067d2c3401aeabd860b562a66a6efd1cc1b21eba6ff1d1e96a4e7aff18d26097e8758774f3fa2d5e663bdb9407647936
+DIST apheleia-4.1.tar.gz 178011 BLAKE2B c48b9f98e7d985b8a6a30c8945ce92d512eecd9b8ec5403f26870ca3a38cefb40d35e7757875964898e537eb65b48d85573be909685dc4dc06f56584d989b1e7 SHA512 37e946651aa084cf322eaa45c3fd72cc3d6089da237b2ce02f2ba5481eb60c63030b654c78a614c70943b2825df184249ac8fe53a013f75cde54c31062dd0c6b
diff --git a/app-emacs/apheleia/apheleia-4.0.ebuild b/app-emacs/apheleia/apheleia-4.0.ebuild
new file mode 100644
index 000000000000..9dc62fab8821
--- /dev/null
+++ b/app-emacs/apheleia/apheleia-4.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="Reformat GNU Emacs buffers stably without moving point"
+HOMEPAGE="https://github.com/radian-software/apheleia/"
+SRC_URI="https://github.com/radian-software/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md CHANGELOG.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/apheleia/apheleia-4.1.ebuild b/app-emacs/apheleia/apheleia-4.1.ebuild
new file mode 100644
index 000000000000..ad154ef33170
--- /dev/null
+++ b/app-emacs/apheleia/apheleia-4.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="Reformat GNU Emacs buffers stably without moving point"
+HOMEPAGE="https://github.com/radian-software/apheleia/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/radian-software/${PN}.git"
+else
+ SRC_URI="https://github.com/radian-software/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DOCS=( README.md CHANGELOG.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/apheleia/files/50apheleia-gentoo.el b/app-emacs/apheleia/files/50apheleia-gentoo.el
new file mode 100644
index 000000000000..2076d504530a
--- /dev/null
+++ b/app-emacs/apheleia/files/50apheleia-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'apheleia-format-buffer "apheleia"
+ "Run code formatter asynchronously on current buffer, preserving point." t)
+(autoload 'apheleia-global-mode "apheleia"
+ "Global minor mode for reformatting code on save without moving point." t)
+(autoload 'apheleia-mode "apheleia"
+ "Minor mode for reformatting code on save without moving point." t)
diff --git a/app-emacs/apheleia/metadata.xml b/app-emacs/apheleia/metadata.xml
new file mode 100644
index 000000000000..490f5620cf49
--- /dev/null
+++ b/app-emacs/apheleia/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Apheleia is an Emacs Lisp package which allows you to reformat a buffer
+ without moving point. This solves the usual problem of running a tool like
+ Prettier or Black on before-save-hook, namely that it resets point to the
+ beginning of the buffer. Apheleia maintains the position of point relative
+ to its surrounding text even if the buffer is modified by the reformatting.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/radian-software/apheleia/issues/</bugs-to>
+ <remote-id type="github">radian-software/apheleia</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/assess/Manifest b/app-emacs/assess/Manifest
new file mode 100644
index 000000000000..1379624d930f
--- /dev/null
+++ b/app-emacs/assess/Manifest
@@ -0,0 +1 @@
+DIST assess-0.6.tar.gz 20771 BLAKE2B 29e8f84c20575314271d9a08ed3ac93f28f1c1b5c2df2ac35e397226f4eea033210ff9b96c90a282a44c60e301f5abc38be88efc74c21a2a7fdc29340d6d43e5 SHA512 ff50731867646f07b8c6f3edd1123695d008fa5265ab8b3543cbf32a54a4a0415a91304067e0dacf53890850b56377594802c9763601616bd828316f7a8cef69
diff --git a/app-emacs/assess/assess-0.6.ebuild b/app-emacs/assess/assess-0.6.ebuild
new file mode 100644
index 000000000000..38f41749e94b
--- /dev/null
+++ b/app-emacs/assess/assess-0.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Test support functions for Emacs"
+HOMEPAGE="https://github.com/phillord/assess/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/phillord/${PN}.git"
+else
+ SRC_URI="https://github.com/phillord/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-emacs/m-buffer"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/load-relative )
+"
+
+DOCS=( README.md )
+
+# Remove tests failing with Emacs >=29.
+# Remove a test helper accessing the network, luckily unnecessary.
+ELISP_REMOVE="test/assess-robot-test.el test/local-sandbox.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test \
+ -l assess-discover -f assess-discover-run-and-exit-batch || die
+}
diff --git a/app-emacs/assess/metadata.xml b/app-emacs/assess/metadata.xml
new file mode 100644
index 000000000000..79e64c29fbc3
--- /dev/null
+++ b/app-emacs/assess/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Assess provides additional support for testing Emacs packages. It provides:
+ a set of predicates for comparing strings, buffers and file contents,
+ explainer functions for all predicates giving useful output, macros for
+ creating many temporary buffers at once, and for restoring the buffer list,
+ methods for testing indentation, by comparison or "roundtripping", methods
+ for testing fontification.
+ Assess aims to be a stateless as possible, leaving Emacs unchanged whether
+ the tests succeed or fail, with respect to buffers, open files and so on;
+ this helps to keep tests independent from each other.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/phillord/assess/issues/</bugs-to>
+ <remote-id type="github">phillord/assess</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/async/Manifest b/app-emacs/async/Manifest
index 6355cabf490c..5c875af3bfcf 100644
--- a/app-emacs/async/Manifest
+++ b/app-emacs/async/Manifest
@@ -1 +1 @@
-DIST emacs-async-1.9.3.tar.gz 14394 BLAKE2B dd6a98e61027dae2fa9ebb8e20f81a2d2debff1e990e57084a747ea815d1e615dc0e4b8fe5fcdc1f562c0f02780951121f4a67b26584f4519290413da05dc1e9 SHA512 ecbbb6614882df8a58a3440a78867e6cd19ae448e2e897b27d6aeaf5e5a648dcedbac64afbfd6240b7e68c533c685060f453051ef9a85d9d4cca6831fbf2c1dd
+DIST emacs-async-1.9.8.tar.gz 33508 BLAKE2B 2e22c67c5bebe3c821d010a0f379aab9728fedb7a6345b81bcb7b093ffc54dbba1c7fa79d41eb5878b24024056607fff7d532b4702a7dc52163837af93c83f41 SHA512 c4c5406ce28dbfea0130b43a7f85d0a47626cf630c73318280896bd28f29bf5a8949077c242cd9c6162fecabbc619b2a270d532df341c4e286f1f7bb499da5f3
diff --git a/app-emacs/async/async-1.9.3.ebuild b/app-emacs/async/async-1.9.3.ebuild
deleted file mode 100644
index 179ede444ddf..000000000000
--- a/app-emacs/async/async-1.9.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_P="emacs-async-${PV}"
-DESCRIPTION="Simple library for asynchronous processing in Emacs"
-HOMEPAGE="https://github.com/jwiegley/emacs-async"
-SRC_URI="https://github.com/jwiegley/emacs-async/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-S="${WORKDIR}/${MY_P}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
diff --git a/app-emacs/async/async-1.9.8.ebuild b/app-emacs/async/async-1.9.8.ebuild
new file mode 100644
index 000000000000..62b8d1e0a482
--- /dev/null
+++ b/app-emacs/async/async-1.9.8.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_P="emacs-async-${PV}"
+DESCRIPTION="Simple library for asynchronous processing in Emacs"
+HOMEPAGE="https://github.com/jwiegley/emacs-async"
+SRC_URI="https://github.com/jwiegley/emacs-async/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/atomic-chrome/atomic-chrome-2.0.0-r1.ebuild b/app-emacs/atomic-chrome/atomic-chrome-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..d05fb6935ac7
--- /dev/null
+++ b/app-emacs/atomic-chrome/atomic-chrome-2.0.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Edit text area on Chrome with Emacs using Atomic Chrome"
+HOMEPAGE="https://github.com/alpha22jp/atomic-chrome"
+SRC_URI="https://github.com/alpha22jp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="app-emacs/websocket"
+RDEPEND="${DEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
diff --git a/app-emacs/atomic-chrome/atomic-chrome-2.0.0.ebuild b/app-emacs/atomic-chrome/atomic-chrome-2.0.0.ebuild
deleted file mode 100644
index 7bcf414202fa..000000000000
--- a/app-emacs/atomic-chrome/atomic-chrome-2.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Edit text area on Chrome with Emacs using Atomic Chrome"
-HOMEPAGE="https://github.com/alpha22jp/atomic-chrome"
-SRC_URI="https://github.com/alpha22jp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="app-emacs/websocket"
-RDEPEND="${DEPEND}"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/atomic-chrome/metadata.xml b/app-emacs/atomic-chrome/metadata.xml
index dbaad14b3586..9a9255666291 100644
--- a/app-emacs/atomic-chrome/metadata.xml
+++ b/app-emacs/atomic-chrome/metadata.xml
@@ -16,5 +16,8 @@
Atomic Chrome for Emacs is also compatible with Firefox via the
GhostText browser extension.
</longdescription>
+<upstream>
+ <remote-id type="github">alpha22jp/atomic-chrome</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/auctex/Manifest b/app-emacs/auctex/Manifest
index 4bdc9ca0d941..3e76108093e4 100644
--- a/app-emacs/auctex/Manifest
+++ b/app-emacs/auctex/Manifest
@@ -1,3 +1,2 @@
-DIST auctex-11.92.tar.gz 1486606 BLAKE2B 6e34d1da3bacad8f2baee2f13eb44a5b617a342c294ef4d7ba28059b678510e1d161f3f02fbcf38128c09ab4996a035e5ec28898134b967d88ad621b8b477845 SHA512 758bf82903ba0499decf0ade77c7ac70865132a24195d7e8794538b7857c448811b7ef26149a915b60ed3ee34c2ebaddb3282a320bd459c9ee3f461d6ee9b84e
-DIST auctex-12.2.tar.gz 1511396 BLAKE2B 02cad76c8846fc10dc1bd94d15fb1d6f56a9beead96deaa32a5e9a43241b232f021d9abe1965e10e53b941a223c500b301b1c467228bf8d9ed2646fa70bae647 SHA512 412e247ad9ba7feb768cade0a7098cc79991ccdf350248836813d572bfe2339f52c4e0e9ce631354e2c2d434217274aa9116e61d122a625a45a7f67aabd2316b
-DIST auctex-12.3.tar.gz 1534283 BLAKE2B b70db839cd82805ed0410f8b92c5f19a78e92ee8f23d18962f0da77bdfdbac4264272805135c7f16ba35c461017aac74030071c85d2ff413f8eff542cad670d2 SHA512 29c411a7f18e0dd2d84edaf935e278cdf694644e01f40c26c26da403efa0a823fc3110c291d218bf930cad208dc249ca665dc20ccad5e2b44bd3caae828079ca
+DIST auctex-13.2.tar.gz 1667548 BLAKE2B 51daf18185a01c7349a49cfb3484d0271dc30271c69a028dc70ec9dae998b0664ffa574160dd384c35e66d38da95af5af0c4bf73e5ea969a6166685f8e3a0b80 SHA512 98d3d0061a807e62045b648a699e23819a0288ea17f2247b18c6725c503dfd6c791384c47504376de098b5a4e62bf350227497be6bf7a007fd94df232a069129
+DIST auctex-13.3.tar.gz 1695608 BLAKE2B 3a22273b72237e14a31a1fb9d81e2c4ee10290919bc3d6f8cb35ab877ef26083c7edb5bbb7c88a40f45848012cc2edd375a90d872f604029ba8f03278bd95f9a SHA512 32d6f3c968a27dd5e7862993419bfa0f5e5228abca7478341a06fce153f333410cd230f8266e6b0e4fb5e4247864710e3f572b6a837c99c2879d38899590f678
diff --git a/app-emacs/auctex/auctex-11.92.ebuild b/app-emacs/auctex/auctex-11.92.ebuild
deleted file mode 100644
index 9765cb7d27a6..000000000000
--- a/app-emacs/auctex/auctex-11.92.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Extensible package for writing and formatting TeX files in Emacs"
-HOMEPAGE="https://www.gnu.org/software/auctex/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="preview-latex"
-
-DEPEND="virtual/latex-base
- preview-latex? (
- app-text/dvipng
- app-text/ghostscript-gpl
- )"
-RDEPEND="${DEPEND}"
-
-TEXMF="/usr/share/texmf-site"
-
-src_configure() {
- econf \
- --with-emacs \
- --with-auto-dir="${EPREFIX}/var/lib/auctex" \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagelispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagedatadir="${EPREFIX}${SITEETC}/${PN}" \
- --with-texmf-dir="${EPREFIX}${TEXMF}" \
- --disable-build-dir-test \
- $(use_enable preview-latex preview)
-}
-
-src_compile() {
- export VARTEXFONTS="${T}"/fonts
- emake
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
- if use preview-latex; then
- elisp-site-file-install "${FILESDIR}/60${PN}-gentoo.el"
- fi
- dodoc ChangeLog* CHANGES FAQ INSTALL PROBLEMS.preview README RELEASE TODO
-}
-
-pkg_postinst() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
-
-pkg_postrm() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
diff --git a/app-emacs/auctex/auctex-12.2.ebuild b/app-emacs/auctex/auctex-12.2.ebuild
deleted file mode 100644
index 6ce7fec4acc6..000000000000
--- a/app-emacs/auctex/auctex-12.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Extensible package for writing and formatting TeX files in Emacs"
-HOMEPAGE="https://www.gnu.org/software/auctex/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="preview-latex"
-
-RDEPEND="virtual/latex-base
- preview-latex? (
- app-text/dvipng
- app-text/ghostscript-gpl
- )"
-BDEPEND="${RDEPEND}"
-
-TEXMF="/usr/share/texmf-site"
-
-src_configure() {
- econf \
- --with-emacs \
- --with-auto-dir="${EPREFIX}/var/lib/auctex" \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagelispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagedatadir="${EPREFIX}${SITEETC}/${PN}" \
- --with-texmf-dir="${EPREFIX}${TEXMF}" \
- --disable-build-dir-test \
- $(use_enable preview-latex preview)
-}
-
-src_compile() {
- export VARTEXFONTS="${T}"/fonts
- emake
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
- if use preview-latex; then
- elisp-site-file-install "${FILESDIR}/60${PN}-gentoo.el"
- fi
- dodoc ChangeLog* CHANGES FAQ INSTALL PROBLEMS.preview README RELEASE TODO
-}
-
-pkg_postinst() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
-
-pkg_postrm() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
diff --git a/app-emacs/auctex/auctex-12.3.ebuild b/app-emacs/auctex/auctex-12.3.ebuild
deleted file mode 100644
index 6ce7fec4acc6..000000000000
--- a/app-emacs/auctex/auctex-12.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Extensible package for writing and formatting TeX files in Emacs"
-HOMEPAGE="https://www.gnu.org/software/auctex/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="preview-latex"
-
-RDEPEND="virtual/latex-base
- preview-latex? (
- app-text/dvipng
- app-text/ghostscript-gpl
- )"
-BDEPEND="${RDEPEND}"
-
-TEXMF="/usr/share/texmf-site"
-
-src_configure() {
- econf \
- --with-emacs \
- --with-auto-dir="${EPREFIX}/var/lib/auctex" \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagelispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packagedatadir="${EPREFIX}${SITEETC}/${PN}" \
- --with-texmf-dir="${EPREFIX}${TEXMF}" \
- --disable-build-dir-test \
- $(use_enable preview-latex preview)
-}
-
-src_compile() {
- export VARTEXFONTS="${T}"/fonts
- emake
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
- if use preview-latex; then
- elisp-site-file-install "${FILESDIR}/60${PN}-gentoo.el"
- fi
- dodoc ChangeLog* CHANGES FAQ INSTALL PROBLEMS.preview README RELEASE TODO
-}
-
-pkg_postinst() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
-
-pkg_postrm() {
- use preview-latex && texmf-update
- elisp-site-regen
-}
diff --git a/app-emacs/auctex/auctex-13.2.ebuild b/app-emacs/auctex/auctex-13.2.ebuild
new file mode 100644
index 000000000000..51663895ff87
--- /dev/null
+++ b/app-emacs/auctex/auctex-13.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Extensible package for writing and formatting TeX files in Emacs"
+HOMEPAGE="https://www.gnu.org/software/auctex/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.3+"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="preview-latex"
+
+RDEPEND="virtual/latex-base
+ preview-latex? (
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ )"
+BDEPEND="${RDEPEND}"
+
+TEXMF="/usr/share/texmf-site"
+
+src_configure() {
+ econf \
+ --with-emacs \
+ --with-auto-dir="${EPREFIX}/var/lib/auctex" \
+ --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ --with-packagelispdir="${EPREFIX}${SITELISP}/${PN}" \
+ --with-packagedatadir="${EPREFIX}${SITEETC}/${PN}" \
+ --with-texmf-dir="${EPREFIX}${TEXMF}" \
+ --disable-build-dir-test \
+ $(use_enable preview-latex preview)
+}
+
+src_compile() {
+ export VARTEXFONTS="${T}"/fonts
+ emake
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
+ if use preview-latex; then
+ elisp-site-file-install "${FILESDIR}/60${PN}-gentoo.el"
+ fi
+ dodoc ChangeLog* CHANGES FAQ INSTALL PROBLEMS.preview README RELEASE TODO
+}
+
+pkg_postinst() {
+ use preview-latex && texmf-update
+ elisp-site-regen
+}
+
+pkg_postrm() {
+ use preview-latex && texmf-update
+ elisp-site-regen
+}
diff --git a/app-emacs/auctex/auctex-13.3.ebuild b/app-emacs/auctex/auctex-13.3.ebuild
new file mode 100644
index 000000000000..c59dee222434
--- /dev/null
+++ b/app-emacs/auctex/auctex-13.3.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Extensible package for writing and formatting TeX files in Emacs"
+HOMEPAGE="https://www.gnu.org/software/auctex/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.3+"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="preview-latex"
+
+RDEPEND="
+ virtual/latex-base
+ preview-latex? (
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+TEXMF="/usr/share/texmf-site"
+
+src_configure() {
+ local -a myconf=(
+ --with-emacs
+ --with-auto-dir="${EPREFIX}/var/lib/auctex"
+ --with-lispdir="${EPREFIX}${SITELISP}/${PN}"
+ --with-packagelispdir="${EPREFIX}${SITELISP}/${PN}"
+ --with-packagedatadir="${EPREFIX}${SITEETC}/${PN}"
+ --with-texmf-dir="${EPREFIX}${TEXMF}"
+ --disable-build-dir-test
+ $(use_enable preview-latex preview)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ VARTEXFONTS="${T}/fonts" emake
+}
+
+src_install() {
+ emake -j1 DESTDIR="${ED}" install
+ elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
+
+ if use preview-latex ; then
+ elisp-site-file-install "${FILESDIR}/60${PN}-gentoo.el"
+ fi
+
+ dodoc ChangeLog* CHANGES FAQ INSTALL PROBLEMS.preview README RELEASE TODO
+}
+
+pkg_postinst() {
+ use preview-latex && texmf-update
+
+ elisp-site-regen
+}
+
+pkg_postrm() {
+ use preview-latex && texmf-update
+
+ elisp-site-regen
+}
diff --git a/app-emacs/auctex/metadata.xml b/app-emacs/auctex/metadata.xml
index 06dfa1aa3a2f..75affa6e9869 100644
--- a/app-emacs/auctex/metadata.xml
+++ b/app-emacs/auctex/metadata.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<maintainer type="project">
- <email>tex@gentoo.org</email>
- <name>Gentoo TeX Project</name>
-</maintainer>
-<longdescription>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>tex@gentoo.org</email>
+ <name>Gentoo TeX Project</name>
+ </maintainer>
+ <longdescription>
AUCTeX is an extensible package for writing and formatting TeX files
in GNU Emacs and XEmacs. It supports many different TeX macro packages,
including AMS-TeX, LaTeX, Texinfo, ConTeXt, and docTeX (dtx files).
@@ -18,9 +18,12 @@
component of your editing workflow by visualizing selected source chunks
(such as single formulas or graphics) directly as images in the source
buffer.
-</longdescription>
-<stabilize-allarches/>
-<use>
- <flag name="preview-latex">Use bundled preview-latex</flag>
-</use>
+ </longdescription>
+ <stabilize-allarches/>
+ <use>
+ <flag name="preview-latex">Use bundled preview-latex</flag>
+ </use>
+ <upstream>
+ <remote-id type="savannah">auctex</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/auto-complete/auto-complete-1.5.1-r1.ebuild b/app-emacs/auto-complete/auto-complete-1.5.1-r1.ebuild
deleted file mode 100644
index 506527eb2d96..000000000000
--- a/app-emacs/auto-complete/auto-complete-1.5.1-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Auto-complete package"
-HOMEPAGE="https://github.com/auto-complete/auto-complete/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-RESTRICT="test"
-
-RDEPEND="app-emacs/popup"
-BDEPEND="${RDEPEND}
- doc? ( app-text/pandoc )"
-
-ELISP_REMOVE="${PN}-pkg.el"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp_src_compile
- use doc && emake -C doc
-}
-
-src_install() {
- elisp_src_install
-
- # install dictionaries
- insinto "${SITEETC}/${PN}"
- doins -r dict
-
- dodoc README.md TODO.md etc/test.txt
- if use doc; then
- docinto html
- dodoc doc/manual.html doc/changes.html doc/style.css doc/*.png
- fi
-}
diff --git a/app-emacs/auto-complete/auto-complete-1.5.1-r2.ebuild b/app-emacs/auto-complete/auto-complete-1.5.1-r2.ebuild
new file mode 100644
index 000000000000..c575c9e9c2a9
--- /dev/null
+++ b/app-emacs/auto-complete/auto-complete-1.5.1-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="Auto-complete package"
+HOMEPAGE="https://github.com/auto-complete/auto-complete/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+RESTRICT="test"
+
+RDEPEND="app-emacs/popup"
+BDEPEND="${RDEPEND}
+ doc? ( virtual/pandoc )"
+
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ use doc && emake -C doc
+}
+
+src_install() {
+ elisp_src_install
+
+ # install dictionaries
+ insinto "${SITEETC}/${PN}"
+ doins -r dict
+
+ dodoc README.md TODO.md etc/test.txt
+ if use doc; then
+ docinto html
+ dodoc doc/manual.html doc/changes.html doc/style.css doc/*.png
+ fi
+}
diff --git a/app-emacs/autoconf-mode/Manifest b/app-emacs/autoconf-mode/Manifest
index ef4886ffce5a..9792bf27e95d 100644
--- a/app-emacs/autoconf-mode/Manifest
+++ b/app-emacs/autoconf-mode/Manifest
@@ -1 +1,2 @@
-DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
+DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0
+DIST autoconf-2.72.tar.xz 1389680 BLAKE2B 01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db SHA512 c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17
diff --git a/app-emacs/autoconf-mode/autoconf-mode-2.69-r1.ebuild b/app-emacs/autoconf-mode/autoconf-mode-2.69-r1.ebuild
deleted file mode 100644
index e293c40ca1cb..000000000000
--- a/app-emacs/autoconf-mode/autoconf-mode-2.69-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs major modes for editing autoconf and autotest input"
-HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
-SRC_URI="mirror://gnu/autoconf/autoconf-${PV}.tar.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-S="${WORKDIR}/autoconf-${PV}/lib/emacs"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/autoconf-mode/autoconf-mode-2.71.ebuild b/app-emacs/autoconf-mode/autoconf-mode-2.71.ebuild
new file mode 100644
index 000000000000..d478e1c3ed4a
--- /dev/null
+++ b/app-emacs/autoconf-mode/autoconf-mode-2.71.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major modes for editing autoconf and autotest input"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+SRC_URI="mirror://gnu/autoconf/autoconf-${PV}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+S="${WORKDIR}"/autoconf-${PV}/lib/emacs
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/autoconf-mode/autoconf-mode-2.72.ebuild b/app-emacs/autoconf-mode/autoconf-mode-2.72.ebuild
new file mode 100644
index 000000000000..55ba3d1c0d67
--- /dev/null
+++ b/app-emacs/autoconf-mode/autoconf-mode-2.72.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major modes for editing autoconf and autotest input"
+HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
+SRC_URI="mirror://gnu/autoconf/autoconf-${PV}.tar.xz"
+S="${WORKDIR}/autoconf-${PV}/lib/emacs"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/autoconf-mode/metadata.xml b/app-emacs/autoconf-mode/metadata.xml
index 986088003fe1..bba4a891037d 100644
--- a/app-emacs/autoconf-mode/metadata.xml
+++ b/app-emacs/autoconf-mode/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="savannah">autoconf</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/autothemer/Manifest b/app-emacs/autothemer/Manifest
new file mode 100644
index 000000000000..ad0a39690137
--- /dev/null
+++ b/app-emacs/autothemer/Manifest
@@ -0,0 +1 @@
+DIST autothemer-0.2.18.tar.xz 36172 BLAKE2B 68b30f2ac55ad8c1025d6793835d55ed711b79396f137f822dfa33f05da1b4ed6b46415d25f06d15be413b17b0af517fd2421d835038d074080bfa3e2191cee3 SHA512 eaab3039dd0e284a640e67e30b5de5b0233ede8a1250f7b86b9cf786f2cba418927bff0bcb3975e286846a9b683c9d53c5326a462301ae09347bcae5a7274179
diff --git a/app-emacs/autothemer/autothemer-0.2.18.ebuild b/app-emacs/autothemer/autothemer-0.2.18.ebuild
new file mode 100644
index 000000000000..fd18c4fa1fd5
--- /dev/null
+++ b/app-emacs/autothemer/autothemer-0.2.18.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+inherit elisp
+
+DESCRIPTION="Conveniently define themes for GNU Emacs"
+HOMEPAGE="https://github.com/jasonm23/autothemer"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jasonm23/autothemer.git"
+else
+ # Recompressed from NonGNU ELPA.
+ SRC_URI="https://dev.gentoo.org/~arsen/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+
+ ELISP_REMOVE="${PN}-pkg.el"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/dash-2.10.0
+"
+DEPEND="${RDEPEND}"
+
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=(
+ README.md
+ CONTRIBUTING.md
+ function-reference.md
+)
+
+elisp-enable-tests ert "${S}"/tests -l tests/"${PN}"-tests.el
diff --git a/app-emacs/autothemer/autothemer-9999.ebuild b/app-emacs/autothemer/autothemer-9999.ebuild
new file mode 100644
index 000000000000..1dc1423ba26a
--- /dev/null
+++ b/app-emacs/autothemer/autothemer-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+inherit elisp
+
+DESCRIPTION="Conveniently define themes for GNU Emacs"
+HOMEPAGE="https://github.com/jasonm23/autothemer"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jasonm23/autothemer.git"
+else
+ # Recompressed from NonGNU ELPA.
+ SRC_URI="https://dev.gentoo.org/~arsen/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+
+ ELISP_REMOVE="${PN}-pkg.el"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/dash-2.10.0
+"
+DEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=(
+ README.md
+ CONTRIBUTING.md
+ function-reference.md
+)
+
+elisp-enable-tests ert "${S}"/tests -l tests/"${PN}"-tests.el
diff --git a/app-emacs/autothemer/files/50autothemer-gentoo.el b/app-emacs/autothemer/files/50autothemer-gentoo.el
new file mode 100644
index 000000000000..6753ed5b720b
--- /dev/null
+++ b/app-emacs/autothemer/files/50autothemer-gentoo.el
@@ -0,0 +1,2 @@
+;;; app-emacs/cape site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/autothemer/metadata.xml b/app-emacs/autothemer/metadata.xml
new file mode 100644
index 000000000000..0d944cf35b3a
--- /dev/null
+++ b/app-emacs/autothemer/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jasonm23/autothemer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/avy-embark-collect/Manifest b/app-emacs/avy-embark-collect/Manifest
new file mode 100644
index 000000000000..7d4fde8bd536
--- /dev/null
+++ b/app-emacs/avy-embark-collect/Manifest
@@ -0,0 +1 @@
+DIST embark-1.0.tar.gz 112818 BLAKE2B 111203ec462b06f11dae9760a64d27e197faa13cefe1eb4debd2e7222380aab0ccad19587ee275f343bb0e2a716379e67209e27dcaa0aaaa7a98f97f660fb6f5 SHA512 ca42c6bd428807aefee6e7bb817651577401be8adacbd64146e97bd07ddd8df325dfeafeaa824fd3f4cd289da1a9b4868f44feacb66585f2533b64fa4d594d22
diff --git a/app-emacs/avy-embark-collect/avy-embark-collect-1.0.ebuild b/app-emacs/avy-embark-collect/avy-embark-collect-1.0.ebuild
new file mode 100644
index 000000000000..42018baf68b1
--- /dev/null
+++ b/app-emacs/avy-embark-collect/avy-embark-collect-1.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Use avy to jump to Embark Collect entries"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/oantolin/embark.git"
+else
+ SRC_URI="https://github.com/oantolin/embark/archive/${PV}.tar.gz
+ -> embark-${PV}.tar.gz"
+ S="${WORKDIR}/embark-${PV}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/avy
+ app-emacs/embark
+"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="embark-consult.el embark-org.el embark.el"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/avy-embark-collect/avy-embark-collect-9999.ebuild b/app-emacs/avy-embark-collect/avy-embark-collect-9999.ebuild
new file mode 100644
index 000000000000..e8284f9f9e65
--- /dev/null
+++ b/app-emacs/avy-embark-collect/avy-embark-collect-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Use avy to jump to Embark Collect entries"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/oantolin/embark.git"
+else
+ SRC_URI="https://github.com/oantolin/embark/archive/${PV}.tar.gz
+ -> embark-${PV}.tar.gz"
+ S="${WORKDIR}"/embark-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/avy
+ app-emacs/embark
+"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="embark-consult.el embark-org.el embark.el"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/avy-embark-collect/files/50avy-embark-collect-gentoo.el b/app-emacs/avy-embark-collect/files/50avy-embark-collect-gentoo.el
new file mode 100644
index 000000000000..2b2686ce8069
--- /dev/null
+++ b/app-emacs/avy-embark-collect/files/50avy-embark-collect-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'avy-embark-collect-act "avy-embark-collect"
+ "Act on an Embark Collect candidate." t)
+(autoload 'avy-embark-collect-choose "avy-embark-collect"
+ "Choose an Embark Collect candidate." t)
diff --git a/app-emacs/avy-embark-collect/metadata.xml b/app-emacs/avy-embark-collect/metadata.xml
new file mode 100644
index 000000000000..fda35757dfa2
--- /dev/null
+++ b/app-emacs/avy-embark-collect/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/oantolin/embark/issues/</bugs-to>
+ <remote-id type="github">oantolin/embark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/avy/Manifest b/app-emacs/avy/Manifest
new file mode 100644
index 000000000000..fd2a7b1bb461
--- /dev/null
+++ b/app-emacs/avy/Manifest
@@ -0,0 +1 @@
+DIST avy-0.5.0.tar.gz 27569 BLAKE2B 616040ea72ebda2eda89736c940462eb0af5ec78e9233e1ebc3555d1f09cef9e2be5fad2524f4652fc2666b35a37c7d48a5564883708eb672e4a306849cd52e7 SHA512 34dcaff06d68d53a276cf69293c1a97a8a6722e18933722638400e84dd809c23925aef4c6b23074a5657f23196ae4899a0b79921732b5e35abb01ede128adeba
diff --git a/app-emacs/avy/avy-0.5.0.ebuild b/app-emacs/avy/avy-0.5.0.ebuild
new file mode 100644
index 000000000000..b84a4a110932
--- /dev/null
+++ b/app-emacs/avy/avy-0.5.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Jump to arbitrary positions in visible text and quickly select"
+HOMEPAGE="https://github.com/abo-abo/avy"
+SRC_URI="https://github.com/abo-abo/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -l avy.el -l avy-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ elisp-install ${PN} avy.{el,elc}
+}
diff --git a/app-emacs/avy/files/50avy-gentoo.el b/app-emacs/avy/files/50avy-gentoo.el
new file mode 100644
index 000000000000..f2eb02eecd75
--- /dev/null
+++ b/app-emacs/avy/files/50avy-gentoo.el
@@ -0,0 +1,34 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'avy-process "avy" nil t)
+(autoload 'avy-goto-char "avy" nil t)
+(autoload 'avy-goto-char-in-line "avy" nil t)
+(autoload 'avy-goto-char-2 "avy" nil t)
+(autoload 'avy-goto-char-2-above "avy" nil t)
+(autoload 'avy-goto-char-2-below "avy" nil t)
+(autoload 'avy-isearch "avy" nil t)
+(autoload 'avy-goto-word-0 "avy" nil t)
+(autoload 'avy-goto-whitespace-end "avy" nil t)
+(autoload 'avy-goto-word-1 "avy" nil t)
+(autoload 'avy-goto-word-1-above "avy" nil t)
+(autoload 'avy-goto-word-1-below "avy" nil t)
+(autoload 'avy-goto-symbol-1 "avy" nil t)
+(autoload 'avy-goto-symbol-1-above "avy" nil t)
+(autoload 'avy-goto-symbol-1-below "avy" nil t)
+(autoload 'avy-goto-subword-0 "avy" nil t)
+(autoload 'avy-goto-subword-1 "avy" nil t)
+(autoload 'avy-goto-word-or-subword-1 "avy" nil t)
+(autoload 'avy-goto-line "avy" nil t)
+(autoload 'avy-goto-line-above "avy" nil t)
+(autoload 'avy-goto-line-below "avy" nil t)
+(autoload 'avy-goto-end-of-line "avy" nil t)
+(autoload 'avy-copy-line "avy" nil t)
+(autoload 'avy-move-line "avy" nil t)
+(autoload 'avy-copy-region "avy" nil t)
+(autoload 'avy-move-region "avy" nil t)
+(autoload 'avy-kill-region "avy" nil t)
+(autoload 'avy-kill-ring-save-region "avy" nil t)
+(autoload 'avy-kill-whole-line "avy" nil t)
+(autoload 'avy-kill-ring-save-whole-line "avy" nil t)
+(autoload 'avy-setup-default "avy" nil t)
+(autoload 'avy-goto-char-timer "avy" nil t)
+(autoload 'avy-transpose-lines-in-region "avy" nil t)
diff --git a/app-emacs/avy/metadata.xml b/app-emacs/avy/metadata.xml
new file mode 100644
index 000000000000..39625be29de2
--- /dev/null
+++ b/app-emacs/avy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">abo-abo/avy</remote-id>
+</upstream>
+<stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/basic-toolkit/basic-toolkit-0.7.ebuild b/app-emacs/basic-toolkit/basic-toolkit-0.7.ebuild
index 018c65b498ec..3a5f4905e51a 100644
--- a/app-emacs/basic-toolkit/basic-toolkit-0.7.ebuild
+++ b/app-emacs/basic-toolkit/basic-toolkit-0.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,4 +20,4 @@ RDEPEND="app-emacs/windows
app-emacs/css-sort-buffer"
BDEPEND="${RDEPEND}"
-SITEFILE="50${PN}-gentoo-0.7.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/basic-toolkit/files/50basic-toolkit-gentoo-0.7.el b/app-emacs/basic-toolkit/files/50basic-toolkit-gentoo-0.7.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/basic-toolkit/files/50basic-toolkit-gentoo-0.7.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/bbdb/Manifest b/app-emacs/bbdb/Manifest
index 50f7f267031a..2917cfd3845f 100644
--- a/app-emacs/bbdb/Manifest
+++ b/app-emacs/bbdb/Manifest
@@ -1,2 +1 @@
-DIST bbdb-3.1.2.tar.gz 378935 BLAKE2B 3fc862d2d68632c997e3f250aa82cced743c3cc3861c74789bb12015ab99745270c79722dc0342334b90f4dd9071ef809ab670a342ac227c24a927870907c25c SHA512 8b32baadc4eb06b0abf533ccb1f540f4f407f27b8d2e847ae25e62d1405e1de5cfc6af16368eecd4086f281ee7a4016cf25568847b3cb798156c7e18e1912576
-DIST bbdb-3.2.tar.gz 189456 BLAKE2B b25efd6a3a156684e0a8f15db056683876c8dd1a44eb585db269746c7424cc18df5407e3a04defcbbd8a2c8438bbe2b16d55ab290e842951f6e475bfc34871fe SHA512 593ba5143b50f2818c19c94452efb2c5d7194ed5dc8deecf1d380da4f80e0fad2542b9a7ee68d8baca2bc2bfd84fa0459eb3cd18faaf998eb0956fcfb62dc5c8
+DIST bbdb-3.2.2b.tar.gz 199518 BLAKE2B d6eef625636689d204ed9c6c7f299380924da5b021118e70930ab3b928d547b9cbb5a1cec8d111ce52678fc44b30ee34d164f46a9c6afa98c829ba871382acef SHA512 f730b911d16484c3723f6983b94784a828173797f4732c8d8eb47d50186415e0fdfde62f4f5f5b5b6ac66b78580fcfb2a398840935400fddd5f8143831e35fe2
diff --git a/app-emacs/bbdb/bbdb-3.1.2-r2.ebuild b/app-emacs/bbdb/bbdb-3.1.2-r2.ebuild
deleted file mode 100644
index f324f803d0c1..000000000000
--- a/app-emacs/bbdb/bbdb-3.1.2-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp autotools
-
-DESCRIPTION="The Insidious Big Brother Database"
-HOMEPAGE="https://savannah.nongnu.org/projects/bbdb/"
-SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ GPL-1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="tex vm"
-RESTRICT="test" #631700
-
-BDEPEND="vm? ( app-emacs/vm )"
-RDEPEND="${BDEPEND}
- tex? ( virtual/tex-base )"
-
-SITEFILE="50${PN}-gentoo-${PV}.el"
-TEXMF="/usr/share/texmf-site"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-no-init.patch
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- "$(use_with vm vm-dir "${EPREFIX}${SITELISP}/vm")"
-}
-
-src_compile() {
- emake -C lisp
-}
-
-src_install() {
- emake -C lisp DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc AUTHORS ChangeLog NEWS README TODO
-
- if use tex; then
- insinto "${TEXMF}"/tex/plain/${PN}
- doins tex/*.tex
- fi
-}
-
-pkg_postinst() {
- elisp-site-regen
- use tex && texconfig rehash
-}
-
-pkg_postrm() {
- elisp-site-regen
- use tex && texconfig rehash
-}
diff --git a/app-emacs/bbdb/bbdb-3.2.2b.ebuild b/app-emacs/bbdb/bbdb-3.2.2b.ebuild
new file mode 100644
index 000000000000..d3c0f19d3571
--- /dev/null
+++ b/app-emacs/bbdb/bbdb-3.2.2b.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp autotools
+
+DESCRIPTION="The Insidious Big Brother Database"
+HOMEPAGE="https://savannah.nongnu.org/projects/bbdb/"
+SRC_URI="https://git.savannah.nongnu.org/cgit/bbdb.git/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc tex vm wanderlust"
+RESTRICT="test" #631700
+
+RDEPEND="vm? ( app-emacs/vm )
+ wanderlust? ( app-emacs/wanderlust )"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/texinfo
+ doc? ( virtual/texi2dvi )"
+IDEPEND="tex? ( virtual/latex-base )"
+
+SITEFILE="50${PN}-gentoo-3.2.el"
+TEXMF="/usr/share/texmf-site"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ "$(use_with vm vm-dir "${EPREFIX}${SITELISP}/vm")" \
+ "$(use_with wanderlust wl-dir "${EPREFIX}${SITELISP}/wl")"
+}
+
+src_compile() {
+ emake -C lisp
+ emake -C doc info $(usev doc pdf)
+}
+
+src_install() {
+ emake -C lisp DESTDIR="${D}" install
+ emake -C doc DESTDIR="${D}" install-info $(usev doc install-pdf)
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ if use tex; then
+ insinto "${TEXMF}"/tex/latex/${PN}
+ doins tex/bbdb.sty
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+ use tex && texconfig rehash
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ use tex && texconfig rehash
+}
diff --git a/app-emacs/bbdb/bbdb-3.2_pre20180106.ebuild b/app-emacs/bbdb/bbdb-3.2_pre20180106.ebuild
deleted file mode 100644
index 8dc25fd9b6bd..000000000000
--- a/app-emacs/bbdb/bbdb-3.2_pre20180106.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp autotools
-
-MY_P="${P%_pre*}"
-DESCRIPTION="The Insidious Big Brother Database"
-HOMEPAGE="https://savannah.nongnu.org/projects/bbdb/"
-#SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz"
-SRC_URI="https://git.savannah.nongnu.org/cgit/bbdb.git/snapshot/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+ GPL-1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="tex vm"
-RESTRICT="test" #631700
-
-BDEPEND="vm? ( app-emacs/vm )"
-RDEPEND="${BDEPEND}
- tex? ( virtual/latex-base )"
-
-SITEFILE="50${PN}-gentoo-3.2.el"
-TEXMF="/usr/share/texmf-site"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- "$(use_with vm vm-dir "${EPREFIX}${SITELISP}/vm")"
-}
-
-src_compile() {
- emake -C lisp
-}
-
-src_install() {
- emake -C lisp DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc AUTHORS ChangeLog NEWS README TODO
-
- if use tex; then
- insinto "${TEXMF}"/tex/latex/${PN}
- doins tex/bbdb.sty
- fi
-}
-
-pkg_postinst() {
- elisp-site-regen
- use tex && texconfig rehash
-}
-
-pkg_postrm() {
- elisp-site-regen
- use tex && texconfig rehash
-}
diff --git a/app-emacs/bbdb/files/50bbdb-gentoo-3.1.2.el b/app-emacs/bbdb/files/50bbdb-gentoo-3.1.2.el
deleted file mode 100644
index 45a7cc208e0d..000000000000
--- a/app-emacs/bbdb/files/50bbdb-gentoo-3.1.2.el
+++ /dev/null
@@ -1,2 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(require 'bbdb-loaddefs)
diff --git a/app-emacs/bbdb/files/bbdb-3.1.2-no-init.patch b/app-emacs/bbdb/files/bbdb-3.1.2-no-init.patch
deleted file mode 100644
index 85dbc0374e32..000000000000
--- a/app-emacs/bbdb/files/bbdb-3.1.2-no-init.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-Patch from upstream, backported to bbdb-3.1.2.
-
-From e028f4d8f04c3db663db023cf5a630461cfda2bd Mon Sep 17 00:00:00 2001
-From: Roland Winkler <winkler@gnu.org>
-Date: Wed, 23 Jul 2014 03:27:09 +0000
-Subject: Do not load init file or site file for byte compilation
-
---- bbdb-3.1.2-orig/lisp/Makefile.am
-+++ bbdb-3.1.2/lisp/Makefile.am
-@@ -20,6 +20,9 @@
- # You should have received a copy of the GNU General Public License
- # along with BBDB. If not, see <http://www.gnu.org/licenses/>.
-
-+# --batch implies --no-init-file, yet let's be explicit about what we want
-+AM_ELCFLAGS += --no-init-file --no-site-file
-+
- dist_lisp_LISP = \
- bbdb.el \
- bbdb-anniv.el \
-@@ -70,10 +73,11 @@
- @echo " " >> $@;
- # Generated autoload-file must have an absolute path,
- # $srcdir can be relative.
-- $(EMACS) -batch -l autoload \
-+ $(EMACS) --batch $(AM_ELCFLAGS) $(ELCFLAGS) \
-+ --load autoload \
- --eval '(setq generated-autoload-file "'$(abs_builddir)/$@'")' \
- --eval '(setq make-backup-files nil)' \
-- -f batch-update-autoloads $(srcdir)
-+ --funcall batch-update-autoloads $(srcdir)
-
- # Generate bbdb-site.el here as pkgdatadir is only known at "make" time.
- # We protect the autoconf variables in the sed regular expressions
---- bbdb-3.1.2-orig/lisp/makefile-temp
-+++ bbdb-3.1.2/lisp/makefile-temp
-@@ -43,13 +43,16 @@
- EMACSOPT =
-
- # The actual Emacs command run in the targets below.
--emacs = LC_ALL=C $(EMACS) --batch --directory=./ $(EMACSOPT)
-+# --batch implies --no-init-file, yet let's be explicit about what we want
-+emacs = LC_ALL=C $(EMACS) --batch --no-init-file --no-site-file \
-+ --directory=./ $(EMACSOPT)
-+emacs_compile = $(emacs) --funcall batch-byte-compile
-
--# If you want to use BBDB with VM this should point to your vm/lisp directory.
--# See also the target all below.
-+# VM is not part of GNU Emacs. If you want to use BBDB with VM
-+# then the variable VMDIR should point to your vm/lisp directory.
- VMDIR =
-
--VM = -eval '(unless (string-match "$(VMDIR)" "") (push "$(VMDIR)" load-path))'
-+VM = -eval '(unless (string= "$(VMDIR)" "") (push "$(VMDIR)" load-path))'
-
- .SUFFIXES: .elc .el .tar .Z .gz .uu
-
-@@ -89,51 +92,50 @@
- @echo " " >> $@;
- # Generated autoload-file must have an absolute path,
- # $(srcdir) can be relative.
-- $(emacs) -l autoload \
-+ $(emacs) --load autoload \
- --eval '(setq generated-autoload-file "'`pwd`/$@'")' \
- --eval '(setq make-backup-files nil)' \
-- -f batch-update-autoloads `pwd`
-+ --funcall batch-update-autoloads `pwd`
-
- .el.elc:
-- $(emacs) -f batch-byte-compile $<
-+ $(emacs_compile) $<
-
- # Not perfect, but better than nothing: If we do not have / do not use
- # autotools, we simply copy bbdb-site.el.in to bbdb-site.el.
- bbdb-site.el: bbdb-site.el.in
- $(CP) $< $@
- bbdb-site.elc: bbdb-site.el
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
-
- bbdb.elc: bbdb.el bbdb-site.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
-
- bbdb-com.elc: bbdb-com.el bbdb.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-mua.elc: bbdb-mua.el bbdb-com.elc
-- $(emacs) -eval '(unless (string= "$(VMDIR)" "") (push "$(VMDIR)" load-path) (load "vm" t t))' \
-- -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) -eval '(unless (string= "$(VMDIR)" "") (push "$(VMDIR)" load-path) (load "vm" t t))' \
-+ $(@:.elc=.el)
- bbdb-rmail.elc: bbdb-rmail.el bbdb-mua.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-gnus.elc: bbdb-gnus.el bbdb-mua.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-mhe.elc: bbdb-mhe.el bbdb-mua.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
--# VM is not part of GNU Emacs
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-vm.elc: bbdb-vm.el bbdb-mua.elc
-- $(emacs) $(VM) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(VM) $(@:.elc=.el)
- bbdb-sc.elc: bbdb-sc.el bbdb-mua.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
-
- bbdb-print.elc: bbdb-print.el bbdb-com.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-migrate.elc: bbdb-migrate.el bbdb.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-anniv.elc: bbdb-anniv.el bbdb-com.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-ispell.elc: bbdb-ispell.el bbdb.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
- bbdb-snarf.elc: bbdb-snarf.el bbdb-com.elc
-- $(emacs) -f batch-byte-compile $(@:.elc=.el)
-+ $(emacs_compile) $(@:.elc=.el)
-
- install-el: all
- $(INSTALL) -d -m 0755 "$(lispdir)/"
diff --git a/app-emacs/bbdb/metadata.xml b/app-emacs/bbdb/metadata.xml
index c425401f3513..66ad8f6e5c9c 100644
--- a/app-emacs/bbdb/metadata.xml
+++ b/app-emacs/bbdb/metadata.xml
@@ -14,8 +14,10 @@
<use>
<flag name="tex">Install plain TeX support files</flag>
<flag name="vm">Add support for <pkg>app-emacs/vm</pkg></flag>
+ <flag name="wanderlust">Add support for <pkg>app-emacs/wanderlust</pkg></flag>
</use>
<upstream>
<remote-id type="sourceforge">bbdb</remote-id>
+ <remote-id type="savannah-nongnu">bbdb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/biblio/Manifest b/app-emacs/biblio/Manifest
new file mode 100644
index 000000000000..01994497c42b
--- /dev/null
+++ b/app-emacs/biblio/Manifest
@@ -0,0 +1 @@
+DIST biblio-0.3.tar.gz 205899 BLAKE2B 27444fbfcd301f69965f851e6ec553c13d088cc9ad9a21494be7a416688ac1d1d56e18788bc3294a905e693f14c25ad8779a9c7792ced179e1e26b98453a196e SHA512 45489cf8edbc1b05785739fafa7d2a145e077b9b04e9985d682b482956f1eeef23bdf44c2ce83c472eab12edba2e78d6b9c6716280cb294c56648e422462a4a8
diff --git a/app-emacs/biblio/biblio-0.3.ebuild b/app-emacs/biblio/biblio-0.3.ebuild
new file mode 100644
index 000000000000..d41a6dd38d78
--- /dev/null
+++ b/app-emacs/biblio/biblio-0.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: This package contains libraries: biblio-core and biblio
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Browse and import bibliographic references with Emacs"
+HOMEPAGE="https://github.com/cpitclaudel/biblio.el/"
+SRC_URI="https://github.com/cpitclaudel/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-emacs/dash"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/buttercup
+ app-emacs/noflet
+ app-emacs/undercover
+ )
+"
+
+ELISP_REMOVE="${PN}-pkg.el"
+
+DOCS=( README.md etc )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -i tests/biblio-tests.el \
+ -e 's|it "shows bindings|xit "shows bindings|g' || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/biblio/files/50biblio-gentoo.el b/app-emacs/biblio/files/50biblio-gentoo.el
new file mode 100644
index 000000000000..c107edfe34b6
--- /dev/null
+++ b/app-emacs/biblio/files/50biblio-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/biblio-autoloads" nil t)
diff --git a/app-emacs/biblio/metadata.xml b/app-emacs/biblio/metadata.xml
new file mode 100644
index 000000000000..d53736a0d6a5
--- /dev/null
+++ b/app-emacs/biblio/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ biblio.el makes it easy to browse and gather bibliographic references and
+ publications from various sources, by keywords or by DOI. References are
+ automatically fetched from well-curated sources, and formatted as BibTeX.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/cpitclaudel/biblio.el/issues/</bugs-to>
+ <remote-id type="github">cpitclaudel/biblio.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/bind-chord/Manifest b/app-emacs/bind-chord/Manifest
new file mode 100644
index 000000000000..76cd374617f0
--- /dev/null
+++ b/app-emacs/bind-chord/Manifest
@@ -0,0 +1 @@
+DIST use-package-2.4.4.tar.gz 80065 BLAKE2B ee38736f011f1ea7522d24451bfa9dee4a17690cf7f3a885936a75bff1bb26950207b3111632826df54481b081ab1a109800f8857fceace622821dfef1324133 SHA512 09bca5a9a48fdbdf204a4b92f1f301a6bc63f57192868671d833d829f0eba0a4b95e706584158407bc8c9ee4549e699f6b43a333a4de15c6b0aabc74db2acc0e
diff --git a/app-emacs/bind-chord/bind-chord-2.4.4.ebuild b/app-emacs/bind-chord/bind-chord-2.4.4.ebuild
new file mode 100644
index 000000000000..b1d85eac4bc9
--- /dev/null
+++ b/app-emacs/bind-chord/bind-chord-2.4.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Key-chord binding helper for use-package-chords"
+HOMEPAGE="https://github.com/jwiegley/use-package/"
+SRC_URI="https://github.com/jwiegley/use-package/archive/${PV}.tar.gz
+ -> use-package-${PV}.tar.gz"
+S="${WORKDIR}"/use-package-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ app-emacs/bind-key
+ app-emacs/key-chord
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-make-site-file "${SITEFILE}"
+ elisp-install ${PN} ${PN}.el{,c}
+}
diff --git a/app-emacs/bind-chord/metadata.xml b/app-emacs/bind-chord/metadata.xml
new file mode 100644
index 000000000000..fcab48234ef8
--- /dev/null
+++ b/app-emacs/bind-chord/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jwiegley/use-package/issues/</bugs-to>
+ <remote-id type="github">jwiegley/use-package</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/bind-key/Manifest b/app-emacs/bind-key/Manifest
new file mode 100644
index 000000000000..76cd374617f0
--- /dev/null
+++ b/app-emacs/bind-key/Manifest
@@ -0,0 +1 @@
+DIST use-package-2.4.4.tar.gz 80065 BLAKE2B ee38736f011f1ea7522d24451bfa9dee4a17690cf7f3a885936a75bff1bb26950207b3111632826df54481b081ab1a109800f8857fceace622821dfef1324133 SHA512 09bca5a9a48fdbdf204a4b92f1f301a6bc63f57192868671d833d829f0eba0a4b95e706584158407bc8c9ee4549e699f6b43a333a4de15c6b0aabc74db2acc0e
diff --git a/app-emacs/bind-key/bind-key-2.4.4.ebuild b/app-emacs/bind-key/bind-key-2.4.4.ebuild
new file mode 100644
index 000000000000..2cfe1a7affc6
--- /dev/null
+++ b/app-emacs/bind-key/bind-key-2.4.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Simple way to manage personal keybindings"
+HOMEPAGE="https://github.com/jwiegley/use-package/"
+SRC_URI="https://github.com/jwiegley/use-package/archive/${PV}.tar.gz
+ -> use-package-${PV}.tar.gz"
+S="${WORKDIR}"/use-package-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-make-site-file "${SITEFILE}"
+ elisp-install ${PN} ${PN}.el{,c}
+}
diff --git a/app-emacs/bind-key/metadata.xml b/app-emacs/bind-key/metadata.xml
new file mode 100644
index 000000000000..fcab48234ef8
--- /dev/null
+++ b/app-emacs/bind-key/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jwiegley/use-package/issues/</bugs-to>
+ <remote-id type="github">jwiegley/use-package</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/bison-mode/bison-mode-0.3-r1.ebuild b/app-emacs/bison-mode/bison-mode-0.3-r1.ebuild
new file mode 100644
index 000000000000..f5035ff1b8a7
--- /dev/null
+++ b/app-emacs/bison-mode/bison-mode-0.3-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for Bison, Yacc and Lex grammars"
+HOMEPAGE="https://github.com/Wilfred/bison-mode"
+SRC_URI="https://dev.gentoo.org/~nicolasbock/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
diff --git a/app-emacs/bison-mode/bison-mode-0.3.ebuild b/app-emacs/bison-mode/bison-mode-0.3.ebuild
deleted file mode 100644
index d115b86151a9..000000000000
--- a/app-emacs/bison-mode/bison-mode-0.3.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs major mode for Bison, Yacc and Lex grammars"
-HOMEPAGE="https://github.com/Wilfred/bison-mode"
-SRC_URI="https://dev.gentoo.org/~nicolasbock/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/bm/Manifest b/app-emacs/bm/Manifest
index 92b5f967f801..5dfc48072c2a 100644
--- a/app-emacs/bm/Manifest
+++ b/app-emacs/bm/Manifest
@@ -1 +1 @@
-DIST bm-201905.tar.gz 23618 BLAKE2B 0770d571cae220215431d546892b9cebd03675565b24afad0dbfa9a74d50aaa73a6962b6bec81196700147f3fde835264c0727e7a4c02287fa3e4018ac133831 SHA512 81efd32572d0bcae2b0b91c277b4d634524f3c14c914015ebf06e5e9db2937c6d989ae65c745e214b2bc1a94d169433dede37a47519984e7211d9b8c4202a954
+DIST bm-202309.tar.gz 24328 BLAKE2B 43c4a1306dcfb652f433240bc2a0943b6e71c6bc7b9851eb201d19bcea284dee70351b635cc4964a8e5d7a89481d9bf7eb143889edf3eeb31763866a6e8705b2 SHA512 9a5784c9a59c24dcfa5781d841b8030c47af62c36898071cc47c9c5fc302ad238438b3babd3efd28f487d99b6ad7cce4ddaa685709fcd1cd27b59abc7c43ff5e
diff --git a/app-emacs/bm/bm-201905.ebuild b/app-emacs/bm/bm-201905.ebuild
deleted file mode 100644
index 4f760ced1bef..000000000000
--- a/app-emacs/bm/bm-201905.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Visible bookmarks in buffer"
-HOMEPAGE="http://joodland.github.io/bm/
- https://www.emacswiki.org/emacs/VisibleBookmarks"
-SRC_URI="https://github.com/joodland/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~sparc x86"
-
-ELISP_REMOVE="bm-tests.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/bm/bm-202309.ebuild b/app-emacs/bm/bm-202309.ebuild
new file mode 100644
index 000000000000..b5d7b04d0767
--- /dev/null
+++ b/app-emacs/bm/bm-202309.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="Visible bookmarks in buffer"
+HOMEPAGE="http://joodland.github.io/bm/
+ https://www.emacswiki.org/emacs/VisibleBookmarks"
+SRC_URI="https://github.com/joodland/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+
+ELISP_REMOVE="bm-tests.el"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
diff --git a/app-emacs/bnf-mode/Manifest b/app-emacs/bnf-mode/Manifest
new file mode 100644
index 000000000000..8fa996f3ffce
--- /dev/null
+++ b/app-emacs/bnf-mode/Manifest
@@ -0,0 +1 @@
+DIST bnf-mode-0.4.5.tar.gz 26998 BLAKE2B 41a5eb1970da86f00cfcabe21b71f78a2169cf9e2c0838c192999f86a66f178fdee279fba84a6683833f911f5666856a96f16c25351bda6f543584214e901b12 SHA512 df2d57a7d2bff8cbdfafcecd22241b3b8218a95c929db5b419a969300814fddc209968eaf2b6761407aaf553b6e456b372d16bd47c0d51ae3b24507112c20f9f
diff --git a/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild b/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild
new file mode 100644
index 000000000000..e3760e5fa4ec
--- /dev/null
+++ b/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing BNF grammars"
+HOMEPAGE="https://github.com/sergeyklay/bnf-mode/"
+SRC_URI="https://github.com/sergeyklay/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="test? ( app-emacs/undercover )"
+
+DOCS=( NEWS README.org )
+ELISP_TEXINFO="bnf-mode.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
diff --git a/app-emacs/bnf-mode/files/50bnf-mode-gentoo.el b/app-emacs/bnf-mode/files/50bnf-mode-gentoo.el
new file mode 100644
index 000000000000..2679585378f2
--- /dev/null
+++ b/app-emacs/bnf-mode/files/50bnf-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'bnf-mode "bnf-mode"
+ "A major mode for editing BNF grammars." t)
+(add-to-list 'auto-mode-alist '("\\.bnf\\'" . bnf-mode))
diff --git a/app-emacs/bnf-mode/metadata.xml b/app-emacs/bnf-mode/metadata.xml
new file mode 100644
index 000000000000..4464f9a0b017
--- /dev/null
+++ b/app-emacs/bnf-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/sergeyklay/bnf-mode/issues/</bugs-to>
+ <remote-id type="github">sergeyklay/bnf-mode</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/boogie-friends/Manifest b/app-emacs/boogie-friends/Manifest
new file mode 100644
index 000000000000..f68b97ec04aa
--- /dev/null
+++ b/app-emacs/boogie-friends/Manifest
@@ -0,0 +1 @@
+DIST boogie-friends-0.1_p20220922.tar.gz 411351 BLAKE2B ca5b500f009254ee07199c538c0372756599b1ba89e735ee19a007233a181b6cad148eda13a8c1e7ebd604e882808e2daa8743b3cdcb0f5f71d46f3f2a91cb5f SHA512 4d76a31335dd795617106421dbc9c4833e93831fb9235d34a371aac7c1f68920798b43d9034ff3ca99e8bb20d645c5b7134d60cd46fc111ff2f92984613f8b4a
diff --git a/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild b/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild
new file mode 100644
index 000000000000..b83f54b471cc
--- /dev/null
+++ b/app-emacs/boogie-friends/boogie-friends-0.1_p20220922.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=8d1bafab5dffc3c63324b5306503943e67497ddc
+
+inherit elisp
+
+DESCRIPTION="Emacs tools for interacting with Boogie, Dafny and Z3 (SMT2)"
+HOMEPAGE="https://github.com/boogie-org/boogie-friends/"
+SRC_URI="https://github.com/boogie-org/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}/emacs"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # broken tests - no "tests.dfy" file
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/dash
+ app-emacs/flycheck
+ app-emacs/yasnippet
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-flycheck-dfy-exe.patch
+ "${FILESDIR}"/${PN}-paths.patch
+)
+
+ELISP_REMOVE="boogie-friends-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=( ../README.md pictures )
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" ./boogie-friends.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r etc
+}
diff --git a/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el b/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el
new file mode 100644
index 000000000000..60d2fd32c5ef
--- /dev/null
+++ b/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el
@@ -0,0 +1,10 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'boogie-mode "boogie-mode"
+ "Major mode for editing Boogie programs." t)
+(add-to-list 'auto-mode-alist '("\\.bpl\\'" . boogie-mode))
+(autoload 'dafny-mode "dafny-mode"
+ "Major mode for editing Dafny programs." t)
+(add-to-list 'auto-mode-alist '("\\.dfy\\'" . dafny-mode))
+(autoload 'z3-smt2-mode "z3-smt2-mode"
+ "Major mode for editing SMT2 programs." t)
+(add-to-list 'auto-mode-alist '("\\.smt2\\'" . z3-smt2-mode))
diff --git a/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch b/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch
new file mode 100644
index 000000000000..4f297a247244
--- /dev/null
+++ b/app-emacs/boogie-friends/files/boogie-friends-flycheck-dfy-exe.patch
@@ -0,0 +1,11 @@
+--- a/dafny-mode.el
++++ b/dafny-mode.el
+@@ -553,7 +553,7 @@ open Dafny buffers."
+
+ (flycheck-define-command-checker 'dafny
+ "Flycheck checker for the Dafny programming language."
+- :command '("Dafny" (eval (boogie-friends-compute-prover-args)) source-inplace)
++ :command '("dafny" (eval (boogie-friends-compute-prover-args)) source-inplace)
+ :error-patterns boogie-friends-error-patterns
+ :error-filter #'dafny-error-filter
+ :predicate #'dafny-predicate
diff --git a/app-emacs/boogie-friends/files/boogie-friends-paths.patch b/app-emacs/boogie-friends/files/boogie-friends-paths.patch
new file mode 100644
index 000000000000..46a01de6c8fa
--- /dev/null
+++ b/app-emacs/boogie-friends/files/boogie-friends-paths.patch
@@ -0,0 +1,12 @@
+index e55ba5b..e745367 100644
+--- a/boogie-friends.el
++++ b/boogie-friends.el
+@@ -70,7 +70,7 @@
+ "IDE extensions for the programming languages of the Boogie family."
+ :group 'languages)
+
+-(defconst boogie-friends-directory (file-name-directory load-file-name)
++(defconst boogie-friends-directory "@SITEETC@"
+ "Base directory of this package.")
+
+ (defconst boogie-friends-symbols-alist '(("<=" . ?≀) (">=" . ?β‰₯) ("!=" . ?β‰ ) (":=" . ?≔)
diff --git a/app-emacs/boogie-friends/metadata.xml b/app-emacs/boogie-friends/metadata.xml
new file mode 100644
index 000000000000..c4a8561cc195
--- /dev/null
+++ b/app-emacs/boogie-friends/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package is a collection of tools for writing verified programs in
+ languages of the Boogie family. Dafny and Boogie are the two currently
+ supported languages, besides Z3.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/boogie-org/boogie-friends/issues/</bugs-to>
+ <remote-id type="github">boogie-org/boogie-friends</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/boxquote/Manifest b/app-emacs/boxquote/Manifest
index 96b8f43bbd7d..b913bae818cb 100644
--- a/app-emacs/boxquote/Manifest
+++ b/app-emacs/boxquote/Manifest
@@ -1 +1 @@
-DIST boxquote-2.1.tar.gz 5339 BLAKE2B d599dabaf61119cb5796a478061e998e68c6f1ae76ef7e7eb2ff22e3840bdc923a8bb594478809745ac33da6795159ea6ae455606afd171320fe18e971408a36 SHA512 ca64b72528b1e5f8e57e7c003508ccc91b876be5d5a05b65fc38556cc3259993597bc6aef52633f4012002ee343d28fa287f6ffdbe3646f84b9d08520d4925d8
+DIST boxquote-2.3.tar.gz 17408 BLAKE2B 6f25c107564bb49bad382779580c4f9f0e801561cef45850ad37e56e873aff053b863f8621070237ca21d97ba4caf261e50a59eb38052f4ff96037c488c33020 SHA512 551ae9b5362fca94a9bd672673f4084eb46fbb07846340189856e36907f27e807012116eb0ae2b213b4f415e637ffbefcb10dc12ec93f3e39fe4b5a283a93b68
diff --git a/app-emacs/boxquote/boxquote-2.1.ebuild b/app-emacs/boxquote/boxquote-2.1.ebuild
deleted file mode 100644
index 304eb0cd2cda..000000000000
--- a/app-emacs/boxquote/boxquote-2.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Quote text with a semi-box"
-HOMEPAGE="http://www.davep.org/emacs/"
-SRC_URI="https://github.com/davep/${PN}.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-
-S="${WORKDIR}/${PN}.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
diff --git a/app-emacs/boxquote/boxquote-2.3.ebuild b/app-emacs/boxquote/boxquote-2.3.ebuild
new file mode 100644
index 000000000000..85cc973fb1c4
--- /dev/null
+++ b/app-emacs/boxquote/boxquote-2.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Quote text with a semi-box"
+HOMEPAGE="http://www.davep.org/emacs/"
+SRC_URI="https://github.com/davep/${PN}.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+S="${WORKDIR}/${PN}.el-${PV}"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/boxquote/metadata.xml b/app-emacs/boxquote/metadata.xml
index 501f7a5020f7..9af9095c8660 100644
--- a/app-emacs/boxquote/metadata.xml
+++ b/app-emacs/boxquote/metadata.xml
@@ -20,4 +20,8 @@
yanking text into the current buffer.
</longdescription>
<stabilize-allarches/>
+<upstream>
+ <bugs-to>https://github.com/davep/boxquote</bugs-to>
+ <remote-id type="github">davep/boxquote</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/buffer-extension/buffer-extension-0.1-r1.ebuild b/app-emacs/buffer-extension/buffer-extension-0.1-r1.ebuild
new file mode 100644
index 000000000000..5a56d9820ab3
--- /dev/null
+++ b/app-emacs/buffer-extension/buffer-extension-0.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Some enhanced functions for buffer manipulate"
+HOMEPAGE="https://www.emacswiki.org/emacs/buffer-extension.el"
+# taken from https://www.emacswiki.org/emacs/download/buffer-extension.el
+SRC_URI="https://github.com/gavv/distfiles/raw/master/${P}.el.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-emacs/basic-toolkit"
+DEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/buffer-extension/buffer-extension-0.1.ebuild b/app-emacs/buffer-extension/buffer-extension-0.1.ebuild
deleted file mode 100644
index 2098e7420ee6..000000000000
--- a/app-emacs/buffer-extension/buffer-extension-0.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Some enhanced functions for buffer manipulate"
-HOMEPAGE="https://www.emacswiki.org/emacs/buffer-extension.el"
-# taken from https://www.emacswiki.org/emacs/download/buffer-extension.el
-SRC_URI="https://github.com/gavv/distfiles/raw/master/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="app-emacs/basic-toolkit"
-DEPEND="${RDEPEND}"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
diff --git a/app-emacs/bui/Manifest b/app-emacs/bui/Manifest
new file mode 100644
index 000000000000..178ff21e1166
--- /dev/null
+++ b/app-emacs/bui/Manifest
@@ -0,0 +1 @@
+DIST bui-1.2.1_p20210108.tar.gz 38639 BLAKE2B a1c460db08e75d64247dc071ba80776e35a398d88c323d01a7de0bc79cb843699094626c181328714618a45f5841b07eae79c2c38a57a5d9938af5568dfeb872 SHA512 11c67b9eb34be8350fba029bc7a29703b89aecf8bf1b407f23930c97f883264a69907e079c8b88fa7b7c586d70d5506de3885fa81bbf93f0a7f822b0f576b5e9
diff --git a/app-emacs/bui/bui-1.2.1_p20210108.ebuild b/app-emacs/bui/bui-1.2.1_p20210108.ebuild
new file mode 100644
index 000000000000..62c36c4f1335
--- /dev/null
+++ b/app-emacs/bui/bui-1.2.1_p20210108.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=f3a137628e112a91910fd33c0cff0948fa58d470
+
+inherit elisp
+
+DESCRIPTION="Buffer interface library for Emacs"
+HOMEPAGE="https://github.com/alezost/bui.el/"
+SRC_URI="https://github.com/alezost/${PN}.el/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+RDEPEND="app-emacs/dash"
+BDEPEND="${RDEPEND}"
+
+DOCS=( NEWS README.org examples )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/bui/metadata.xml b/app-emacs/bui/metadata.xml
new file mode 100644
index 000000000000..ac6075e9b720
--- /dev/null
+++ b/app-emacs/bui/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/alezost/bui.el/master/NEWS</changelog>
+ <bugs-to>https://github.com/alezost/bui.el/issues/</bugs-to>
+ <remote-id type="github">alezost/bui.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/burly/Manifest b/app-emacs/burly/Manifest
new file mode 100644
index 000000000000..1e60e67cd393
--- /dev/null
+++ b/app-emacs/burly/Manifest
@@ -0,0 +1,2 @@
+DIST burly-0.2.tar.gz 231242 BLAKE2B e50999727d654485c8265a163849f26867721f914c59b501ca8a4a42a1c12589adcd5d85b3d9ca5a383cf235962f7ca8dd8668abed1b3453b256100043875ebd SHA512 75dc26d1fae53a3ce238318e184396b2d67ce08f500c185d9fd526d6fb50c2ea3ba5a5d60789cd9b111f37336f66b1e014a19cda8bb387d6add1484cf6dd8548
+DIST burly-0.3.tar.gz 233444 BLAKE2B e33bb8c55edfdbd4ad2876b82e79f092a00ae44d4cbc39c106cf9bc7c49059ae802fcd4dbd6488044a05493bf18c985032e2595029a33cc45720c68c29001764 SHA512 3e79a786873f8a94001c8d57f74eba54c2679d006256ba7bf1447c89cb5c33759d7f01f3b58eba83b496d07905daeaf04d6828b2f6ca3899f6c1cb9fa017aa05
diff --git a/app-emacs/burly/burly-0.2.ebuild b/app-emacs/burly/burly-0.2.ebuild
new file mode 100644
index 000000000000..787e5f49350a
--- /dev/null
+++ b/app-emacs/burly/burly-0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Save and restore frames and windows with their buffers in Emacs"
+HOMEPAGE="https://github.com/alphapapa/burly.el"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/alphapapa/${PN}.el.git"
+else
+ SRC_URI="https://github.com/alphapapa/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ doinfo ${PN}.info
+}
diff --git a/app-emacs/burly/burly-0.3.ebuild b/app-emacs/burly/burly-0.3.ebuild
new file mode 100644
index 000000000000..787e5f49350a
--- /dev/null
+++ b/app-emacs/burly/burly-0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Save and restore frames and windows with their buffers in Emacs"
+HOMEPAGE="https://github.com/alphapapa/burly.el"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/alphapapa/${PN}.el.git"
+else
+ SRC_URI="https://github.com/alphapapa/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ doinfo ${PN}.info
+}
diff --git a/app-emacs/burly/files/50burly-gentoo.el b/app-emacs/burly/files/50burly-gentoo.el
new file mode 100644
index 000000000000..e19cf1e132b9
--- /dev/null
+++ b/app-emacs/burly/files/50burly-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "burly-autoloads" nil t)
diff --git a/app-emacs/burly/metadata.xml b/app-emacs/burly/metadata.xml
new file mode 100644
index 000000000000..94f0aac4f7a9
--- /dev/null
+++ b/app-emacs/burly/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package provides tools to save and restore frame and window
+ configurations in Emacs, including buffers that may not be live anymore. In
+ this way, it’s like a lightweight "workspace" manager, allowing you to
+ easily restore one or more frames, including their windows, the windows'
+ layout, and their buffers.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/alphapapa/burly.el/issues/</bugs-to>
+ <remote-id type="github">alphapapa/burly.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/buttercup/Manifest b/app-emacs/buttercup/Manifest
new file mode 100644
index 000000000000..4ce2ae40f10d
--- /dev/null
+++ b/app-emacs/buttercup/Manifest
@@ -0,0 +1,3 @@
+DIST buttercup-1.33.tar.gz 91925 BLAKE2B d17788f34b001fffa6322d0d3d1f397a32708c1906e993581ef299e6e3897fce90bea186e1cedde4c86c63083e0cc53d016a8c3bd431e7f18a36e70d0ecbd061 SHA512 95fb4031663ed0fa7a023c924ce8bf4b077ace65f0680a7a8ecfdfa5359b30e6d42b27ad857ed1b24ea405c7a49c7b182d337e2bf1c37d971bebba98b37f4f12
+DIST buttercup-1.34.tar.gz 92551 BLAKE2B 51335027d4ee799e80563355eee1dbadddf2bf92e5790eb7afb2fbfd5a53fdc17ab09eec75b5e6712faac4f03e29c6493914f848a584f594710d9c5a379e4361 SHA512 8aa788b5937ecb89d7a8e486d28df78cb582024c438d6e5ec9ad582b17351b116bca87771a0e8d7386e8357d39f6ca8b109612258e55ca16497f4189eddb7a99
+DIST buttercup-1.35.tar.gz 93375 BLAKE2B 7bedd4a8576f900934e3a39cdb5a58e85e6b9ec682cc1030495d50d686880ef14d73afbd49340856c3b3279548babf7297ba787f1a17bfd3dee81bd8a72f2f4a SHA512 416edb974999e2eac38040ce72c241ab961cc63f40068711b0436e4f3ca49025955d5ee2d93168770da0f251269652e36c1c9c0436f6ee6133c6ca859dbfe487
diff --git a/app-emacs/buttercup/buttercup-1.33.ebuild b/app-emacs/buttercup/buttercup-1.33.ebuild
new file mode 100644
index 000000000000..d34e14a3e849
--- /dev/null
+++ b/app-emacs/buttercup/buttercup-1.33.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Behaviour-driven Elisp testing"
+HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
+SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 ~riscv sparc x86"
+
+DOCS=( docs/{running,writing}-tests.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l buttercup \
+ -f buttercup-run-discover || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+ dobin bin/${PN}
+}
diff --git a/app-emacs/buttercup/buttercup-1.34.ebuild b/app-emacs/buttercup/buttercup-1.34.ebuild
new file mode 100644
index 000000000000..037e25bc3a5a
--- /dev/null
+++ b/app-emacs/buttercup/buttercup-1.34.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Behaviour-driven Elisp testing"
+HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jorgenschaefer/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-${P}"
+
+ KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 ~riscv sparc x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( docs/{running,writing}-tests.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l buttercup \
+ -f buttercup-run-discover || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ dobin "bin/${PN}"
+}
diff --git a/app-emacs/buttercup/buttercup-1.35.ebuild b/app-emacs/buttercup/buttercup-1.35.ebuild
new file mode 100644
index 000000000000..413b4cf227ab
--- /dev/null
+++ b/app-emacs/buttercup/buttercup-1.35.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Behaviour-driven Elisp testing"
+HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jorgenschaefer/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-${P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( docs/{running,writing}-tests.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l buttercup \
+ -f buttercup-run-discover || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ dobin "bin/${PN}"
+}
diff --git a/app-emacs/buttercup/buttercup-9999.ebuild b/app-emacs/buttercup/buttercup-9999.ebuild
new file mode 100644
index 000000000000..413b4cf227ab
--- /dev/null
+++ b/app-emacs/buttercup/buttercup-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Behaviour-driven Elisp testing"
+HOMEPAGE="https://github.com/jorgenschaefer/emacs-buttercup"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jorgenschaefer/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/jorgenschaefer/emacs-${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-${P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( docs/{running,writing}-tests.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l buttercup \
+ -f buttercup-run-discover || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ dobin "bin/${PN}"
+}
diff --git a/app-emacs/buttercup/metadata.xml b/app-emacs/buttercup/metadata.xml
new file mode 100644
index 000000000000..e62cdf68a9cb
--- /dev/null
+++ b/app-emacs/buttercup/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jorgenschaefer/emacs-buttercup</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/app-emacs/calfw/metadata.xml b/app-emacs/calfw/metadata.xml
index 6a997495ba0f..2a288ecfa587 100644
--- a/app-emacs/calfw/metadata.xml
+++ b/app-emacs/calfw/metadata.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>naota@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
-<use>
- <flag name="howm">Add support for the <pkg>app-emacs/howm</pkg>
- note-taking tool</flag>
-</use>
-<upstream>
- <remote-id type="github">kiwanami/emacs-calfw</remote-id>
-</upstream>
+ <maintainer type="person">
+ <email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <use>
+ <flag name="howm">Add support for the <pkg>app-emacs/howm</pkg>
+ note-taking tool</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">kiwanami/emacs-calfw</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/cape/Manifest b/app-emacs/cape/Manifest
new file mode 100644
index 000000000000..7c3a1148e4c4
--- /dev/null
+++ b/app-emacs/cape/Manifest
@@ -0,0 +1,2 @@
+DIST cape-1.4.tar.gz 40299 BLAKE2B c1075551b2d1ba9555b41993067a4c96b122a3dd7147cb5378bfc2f41ac20e67606b4d0805adc35fe13d9cf70cb5b83ec86ae88471d2af9d6ceb8849b447938a SHA512 9890ec51b1202a1644767bf57d4174f388d90246a9d2b97e3f2c13c5a07371be3003b11275e2ba0cb41f0898f9185774e91db141947999ca4e8e31bc0e3efd22
+DIST cape-1.5.tar.gz 41327 BLAKE2B 5bf499786483161e485764b64dfe70f8aaf21e176e72f9a755fe0d681d107e690b28bc0c7d841b62154616e1dc38bf475577e7357719ce4e82a1184ac849e198 SHA512 d47e9c8b78a51e93e6dbd6c41440021eb117cb5c865a27cebeaf25a00891b7d315593e542f416c2b47c38f768b3fa663361f31798523534d60168dd68f2714b3
diff --git a/app-emacs/cape/cape-1.4.ebuild b/app-emacs/cape/cape-1.4.ebuild
new file mode 100644
index 000000000000..99068b9ad304
--- /dev/null
+++ b/app-emacs/cape/cape-1.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion At Point Extensions"
+HOMEPAGE="https://github.com/minad/cape/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( CHANGELOG.org README.org )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/cape/cape-1.5.ebuild b/app-emacs/cape/cape-1.5.ebuild
new file mode 100644
index 000000000000..99068b9ad304
--- /dev/null
+++ b/app-emacs/cape/cape-1.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion At Point Extensions"
+HOMEPAGE="https://github.com/minad/cape/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( CHANGELOG.org README.org )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/cape/cape-9999.ebuild b/app-emacs/cape/cape-9999.ebuild
new file mode 100644
index 000000000000..42896ab1f608
--- /dev/null
+++ b/app-emacs/cape/cape-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion At Point Extensions"
+HOMEPAGE="https://github.com/minad/cape/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( CHANGELOG.org README.org )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/cape/files/50cape-gentoo.el b/app-emacs/cape/files/50cape-gentoo.el
new file mode 100644
index 000000000000..84d436d35cd5
--- /dev/null
+++ b/app-emacs/cape/files/50cape-gentoo.el
@@ -0,0 +1,3 @@
+;;; app-emacs/cape site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/cape-autoloads.el" nil t)
diff --git a/app-emacs/cape/metadata.xml b/app-emacs/cape/metadata.xml
new file mode 100644
index 000000000000..3927de1c26bc
--- /dev/null
+++ b/app-emacs/cape/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">minad/cape</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/cask-mode/Manifest b/app-emacs/cask-mode/Manifest
new file mode 100644
index 000000000000..6dc5024fd227
--- /dev/null
+++ b/app-emacs/cask-mode/Manifest
@@ -0,0 +1 @@
+DIST cask-mode-0.1.tar.gz 42693 BLAKE2B 07c3cd998aee36d275c0d3d5dfdb190a1ad59aaa72695272e7dc33e410413de6723003ae28f30e91f96f0ea95142e97cf7fda28a1986fbd509bd281de91693c1 SHA512 4b9861e9fb5a69db476a32b3cc2cfec8e9418d618cb2e348f1476d6aefa22615c539dd3666914be5c42aed1370d5835c7b78775d3bb4578df845b16dbda91727
diff --git a/app-emacs/cask-mode/cask-mode-0.1.ebuild b/app-emacs/cask-mode/cask-mode-0.1.ebuild
new file mode 100644
index 000000000000..f86dea2e9c3a
--- /dev/null
+++ b/app-emacs/cask-mode/cask-mode-0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing Cask files for Emacs"
+HOMEPAGE="https://github.com/Wilfred/cask-mode/"
+SRC_URI="https://github.com/Wilfred/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/assess
+ app-emacs/ert-runner
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ # Silence a broken test
+ sed "s|ert-deftest cask-mode-highlight-comment|lambda|" \
+ -i test/${PN}-test.el || die
+}
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/cask-mode/files/50cask-mode-gentoo.el b/app-emacs/cask-mode/files/50cask-mode-gentoo.el
new file mode 100644
index 000000000000..481b1b9dc272
--- /dev/null
+++ b/app-emacs/cask-mode/files/50cask-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cask-mode "cask-mode"
+ "Major mode for editing Cask files." t)
+(add-to-list 'auto-mode-alist '("/Cask\\'" . cask-mode))
diff --git a/app-emacs/cask-mode/metadata.xml b/app-emacs/cask-mode/metadata.xml
new file mode 100644
index 000000000000..98db4fa5601b
--- /dev/null
+++ b/app-emacs/cask-mode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ cask-mode is a major mode for editing Cask files. It provides syntax
+ highlighting, comment toggling and indentation.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Wilfred/cask-mode/issues/</bugs-to>
+ <remote-id type="github">Wilfred/cask-mode</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/cask/Manifest b/app-emacs/cask/Manifest
new file mode 100644
index 000000000000..03f7ea962c9d
--- /dev/null
+++ b/app-emacs/cask/Manifest
@@ -0,0 +1 @@
+DIST cask-0.8.8.tar.gz 348574 BLAKE2B 9eb2b18b6082a3500642660eebb471bff3bcbb00656a8a3c66bede3cf756e738b1cb8affbdeed97373bbdc0031d093a6ad5c7e4659e14732fbc531a416c78b99 SHA512 2708fa431dc17cb5d4fe56f0c73c3089a213d8ff0bca19091ab4ebf26c4e416c0a500a980daa424bf16b54d0e72b004762f5260329189eb4f8e803de38bc0ace
diff --git a/app-emacs/cask/cask-0.8.8.ebuild b/app-emacs/cask/cask-0.8.8.ebuild
new file mode 100644
index 000000000000..abf6cb9e8c5b
--- /dev/null
+++ b/app-emacs/cask/cask-0.8.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Project management for Emacs package development"
+HOMEPAGE="https://github.com/cask/cask/"
+SRC_URI="https://github.com/cask/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # Most tests fail
+
+RDEPEND="
+ app-emacs/ansi
+ app-emacs/commander
+ app-emacs/epl
+ app-emacs/f
+ app-emacs/package-build
+ app-emacs/s
+ app-emacs/shut-up
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org cask_small.png )
+PATCHES=(
+ "${FILESDIR}"/${PN}-bin-launcher-fix.patch
+ "${FILESDIR}"/${PN}-no-bootstrap.patch
+)
+
+ELISP_REMOVE="${PN}-bootstrap.el
+ package-build-legacy.el package-recipe-legacy.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITELISP@|${EPREFIX}${SITELISP}/${PN}|" -i bin/${PN} || die
+}
+
+src_install() {
+ elisp_src_install
+
+ dobin bin/${PN}
+}
diff --git a/app-emacs/cask/files/cask-bin-launcher-fix.patch b/app-emacs/cask/files/cask-bin-launcher-fix.patch
new file mode 100644
index 000000000000..704d284a13dc
--- /dev/null
+++ b/app-emacs/cask/files/cask-bin-launcher-fix.patch
@@ -0,0 +1,24 @@
+diff --git a/bin/cask b/bin/cask
+index 55d4d86..37a5c9c 100755
+--- a/bin/cask
++++ b/bin/cask
+@@ -39,17 +39,7 @@ case $subcommand in
+ *)
+ WHICH=${WHICH:-which}
+ READLINK=$($WHICH readlink || true)
+- if [ "$(uname || true)" == "Darwin" ] ; then
+- READLINK=
+- fi
+- READLINK=${READLINK:-$($WHICH greadlink || true)}
+- if [ ! -z "$READLINK" ] ; then
+- SRCDIR__=$($READLINK -f "$CASK")
+- else
+- SRCDIR__=$(python -c "import os, sys; print(os.path.realpath(sys.argv[1]))" "$CASK")
+- fi
+- SRCDIR_=$(dirname "$SRCDIR__")
+- SRCDIR=$(dirname "$SRCDIR_")
+- "$EMACS" -Q --script "$SRCDIR/cask-cli.el" -- $subcommand "$@"
++ SRCDIR="@SITELISP@"
++ "$EMACS" -q --script "$SRCDIR/cask-cli.el" -- $subcommand "$@"
+ ;;
+ esac
diff --git a/app-emacs/cask/files/cask-no-bootstrap.patch b/app-emacs/cask/files/cask-no-bootstrap.patch
new file mode 100644
index 000000000000..c0d691a98b4e
--- /dev/null
+++ b/app-emacs/cask/files/cask-no-bootstrap.patch
@@ -0,0 +1,43 @@
+diff --git a/cask-cli.el b/cask-cli.el
+index f97a28a..eda6d8f 100644
+--- a/cask-cli.el
++++ b/cask-cli.el
+@@ -34,8 +34,7 @@
+ (or load-file-name byte-compile-current-file buffer-file-name)))
+ "Path to Cask root."))
+
+-(require 'cask-bootstrap (expand-file-name "cask-bootstrap" cask-directory))
+-(require 'cask (expand-file-name "cask" cask-directory))
++(require 'cask)
+
+ (when noninteractive
+ (shut-up-silence-emacs))
+diff --git a/cask.el b/cask.el
+index 7828f49..0bfc7ab 100644
+--- a/cask.el
++++ b/cask.el
+@@ -1,4 +1,4 @@
+-;;; cask.el --- Cask: Project management for package development -*- lexical-binding: t; no-byte-compile: t -*-
++;;; cask.el --- Cask: Project management for package development -*- lexical-binding: t -*-
+
+ ;; Copyright (C) 2012-2022 Johan Andersson
+ ;; Copyright (C) 2013 Sebastian Wiesner <swiesner@lunaryorn.com>
+@@ -45,7 +45,17 @@
+ (:else (buffer-file-name))))
+ "Path to Cask root."))
+
+-(require 'cask-bootstrap (expand-file-name "cask-bootstrap" cask-directory))
++(require 'ansi)
++(require 'cl-generic)
++(require 'cl-lib)
++(require 'commander)
++(require 'eieio)
++(require 'epl)
++(require 'f)
++(require 'package-build)
++(require 'package-recipe)
++(require 's)
++(require 'shut-up)
+
+ (setq package-build-verbose nil) ; Make package-build quiet by
+ ; not allowing it to print any
diff --git a/app-emacs/cask/metadata.xml b/app-emacs/cask/metadata.xml
new file mode 100644
index 000000000000..02ee634d0baa
--- /dev/null
+++ b/app-emacs/cask/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/cask/cask/issues/</bugs-to>
+ <remote-id type="github">cask/cask</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/centaur-tabs/Manifest b/app-emacs/centaur-tabs/Manifest
new file mode 100644
index 000000000000..98e73fb2efcc
--- /dev/null
+++ b/app-emacs/centaur-tabs/Manifest
@@ -0,0 +1 @@
+DIST centaur-tabs-3.2.tar.gz 386546 BLAKE2B a1649658119af2cbb8642cdd0d6d8eedea7b58626a3b205f42e1a1c4424bd0f78eedb56eb410c34a5b95400b56207056f05d8b325cb674eaf2975cb36ddd677c SHA512 75b2ba01de77f0d02de0dd2f37b12614c9a77f39eee6647c66091893d2f6fd46bf65d7af7e1fbd8db77421cf50e43ba94d6910e811b51b2bcddd6d19cf031c3a
diff --git a/app-emacs/centaur-tabs/centaur-tabs-3.2.ebuild b/app-emacs/centaur-tabs/centaur-tabs-3.2.ebuild
new file mode 100644
index 000000000000..558f0e6df7b8
--- /dev/null
+++ b/app-emacs/centaur-tabs/centaur-tabs-3.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Customizable tabs plugin for GNU Emacs"
+HOMEPAGE="https://github.com/ema2159/centaur-tabs/"
+SRC_URI="https://github.com/ema2159/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-emacs/powerline"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/centaur-tabs/files/50centaur-tabs-gentoo.el b/app-emacs/centaur-tabs/files/50centaur-tabs-gentoo.el
new file mode 100644
index 000000000000..a1d9a346e2f7
--- /dev/null
+++ b/app-emacs/centaur-tabs/files/50centaur-tabs-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'centaur-tabs-local-mode "centaur-tabs"
+ "Toggle local display of the tab bar." t)
+(autoload 'centaur-tabs-mode "centaur-tabs"
+ "Toggle display of a tab bar in the header line." t)
diff --git a/app-emacs/centaur-tabs/metadata.xml b/app-emacs/centaur-tabs/metadata.xml
new file mode 100644
index 000000000000..f72de5ba10aa
--- /dev/null
+++ b/app-emacs/centaur-tabs/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package offers tabs with a wide range of customization options, both
+ aesthetical and functional, implementing them trying to follow the Emacs
+ philosophy packing them with useful keybindings and a nice integration with
+ the Emacs environment, without sacrificing customizability.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/ema2159/centaur-tabs/issues/</bugs-to>
+ <remote-id type="github">ema2159/centaur-tabs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/cfrs/Manifest b/app-emacs/cfrs/Manifest
new file mode 100644
index 000000000000..150bfdcc6f4d
--- /dev/null
+++ b/app-emacs/cfrs/Manifest
@@ -0,0 +1 @@
+DIST cfrs-1.6.0.tar.gz 27891 BLAKE2B 7eeaab09b5376382c07d55492126dba4b45124e626ad4671c0ed3d45c65761a5a044dd63452a7d6de6d00336814a7ee59242b4c3f691294a610b028073fb730d SHA512 a56d9329768b4f06ad55f9d351b98bc22a899b5e9e8c261f296f035b6b8d389f7271705a0e268ce4500dcf3d814a7f8eb881e30d8e3c2aa29376f2de872ed725
diff --git a/app-emacs/cfrs/cfrs-1.6.0-r1.ebuild b/app-emacs/cfrs/cfrs-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..b95d7c81e888
--- /dev/null
+++ b/app-emacs/cfrs/cfrs-1.6.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Child Frame Read String, alternative to read-string"
+HOMEPAGE="https://github.com/Alexander-Miller/cfrs/"
+SRC_URI="https://github.com/Alexander-Miller/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/posframe
+ app-emacs/s
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org cfrs.png )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/cfrs/files/50cfrs-gentoo.el b/app-emacs/cfrs/files/50cfrs-gentoo.el
new file mode 100644
index 000000000000..1e33e7a8e84a
--- /dev/null
+++ b/app-emacs/cfrs/files/50cfrs-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cfrs-read "cfrs"
+ "Read a string using a pos-frame with given PROMPT and INITIAL-INPUT.")
diff --git a/app-emacs/cfrs/metadata.xml b/app-emacs/cfrs/metadata.xml
new file mode 100644
index 000000000000..a8b09c169723
--- /dev/null
+++ b/app-emacs/cfrs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Alexander-Miller/cfrs/issues/</bugs-to>
+ <remote-id type="github">Alexander-Miller/cfrs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/chess/Manifest b/app-emacs/chess/Manifest
index 25d838dff701..e8206c0a486c 100644
--- a/app-emacs/chess/Manifest
+++ b/app-emacs/chess/Manifest
@@ -1,4 +1,3 @@
-DIST chess-2.0.4.tar.xz 364620 BLAKE2B cf02ff2734d675ac39b6b00869abe233a71af330fa60114d12092604d0173c6da5ad5c2e4cf3e2262c99cfc598abdbbe02a7df4eaadda7c628c8b9c48d8f8a8a SHA512 2c8155185878fec8b45ab84b7723f4af0f518fc81ab7534c36c09c96a9a30cb20da26c2a89320cc5a9f9d8991e4516da393e82658a7f15642929591d1b6a0e99
DIST chess-2.0.5.tar.xz 364348 BLAKE2B 8ed1dcdecff6317ee868259688b279b6aa1fa978f5130988b5caca861d58e0b8224cbd55d832acf9df35526153e28508e4171895891cff8f7b42ecc4638c2a9b SHA512 9eb3abea49bbc9e7ad019f5c46b2121a9d610f56f2a92b3b586668285a379d3f5baa77df8a125843d1d9f6257e05d19c432aaa3a3210af08153eca96ceead37a
DIST emacs-chess-pieces-2.0.tar.bz2 297687 BLAKE2B b97f6bbfdb4573e7a59e50431ac4ce68d2acd698ed57a2a2b9dfc83c7afdadc3ca244e8a0d55fa29eebcf7234001062606c0d21c80675864804a27d47deb6b93 SHA512 e1ee59a338b68796fd60f8693f4ff8bf20ded535c516916cc8b1f4cf00ff696ca1eead844e2a6a9a1f2578a70370d7a67cbadb6ae454ae16b2ae93864e1b1f94
DIST emacs-chess-sounds-2.0.tar.bz2 3390098 BLAKE2B 1babc804a4ef05d4da4cb56d0829e93dfef84e703b1c56dfcbd14f941357dee68e4dffaff13b30498037f907a62c79751f53be33582ecf5c1c266d8aea492fb1 SHA512 f07894dd7a6e43450405c0eee8d1d95a08925ca8ebd5ca7e584eca45369cb2aa8eecb754b351d1977f473b520288d3e3e9a8ebe73216d14e26345b44e498efb4
diff --git a/app-emacs/chess/chess-2.0.4.ebuild b/app-emacs/chess/chess-2.0.4.ebuild
deleted file mode 100644
index 70de521bada3..000000000000
--- a/app-emacs/chess/chess-2.0.4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A chess client and library for Emacs"
-HOMEPAGE="https://elpa.gnu.org/packages/chess.html
- https://www.emacswiki.org/emacs/ChessMode"
-# Taken from https://elpa.gnu.org/packages/${P}.tar
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz
- mirror://gentoo/emacs-chess-sounds-${PV%.*}.tar.bz2
- mirror://gentoo/emacs-chess-pieces-${PV%.*}.tar.bz2"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Free alternatives first, otherwise follow the ordering in the upstream
-# chess-default-engine (in chess.el). Rearrange chess-default-engine in
-# the site-init file accordingly.
-RDEPEND="|| ( games-board/stockfish
- games-board/fruit
- games-board/gnuchess
- games-board/phalanx
- games-board/sjeng
- games-board/crafty )"
-
-ELISP_REMOVE="chess-pkg.el"
-SITEFILE="50${PN}-gentoo-${PV}.el"
-DOCS="AUTHORS NEWS TODO"
-
-src_install() {
- elisp_src_install
- doinfo chess.info
- insinto "${SITEETC}/${PN}"
- doins chess-eco.fen chess-polyglot.bin
- doins -r "${WORKDIR}"/{sounds,pieces}
-}
diff --git a/app-emacs/chess/chess-2.0.5.ebuild b/app-emacs/chess/chess-2.0.5.ebuild
index 3f08a70c6a64..6cb80511da90 100644
--- a/app-emacs/chess/chess-2.0.5.ebuild
+++ b/app-emacs/chess/chess-2.0.5.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS=24
inherit elisp
diff --git a/app-emacs/cider/Manifest b/app-emacs/cider/Manifest
new file mode 100644
index 000000000000..1a45e3213313
--- /dev/null
+++ b/app-emacs/cider/Manifest
@@ -0,0 +1,3 @@
+DIST cider-1.12.0.tar.gz 7291772 BLAKE2B b98c48e903981a55af935982cd9499fd017f5f49c8f20b4d7eb8a0b8ee133402ea1378363e33e1807305e116091197334de72bb480641c427b71835cb29a29ce SHA512 5568d8985865bdf249f90e491c0289e41ba48f01a1e372588cb3562b6b44c9b118993711261fe5414ec7c7099b4097a9ae9c92aee065ca5482cfad63845df3f0
+DIST cider-1.13.0.tar.gz 7314595 BLAKE2B 9e2b9bef639541eeebe473ca3617dd874bb90c0e49bbb849ce842d6f490565a906b5a8ab41cfbf34c70f43c62d91609e0e2a5c9e4dbd53e44f7e361a160be38b SHA512 29530fe474514ee919bc1bb120335f2bf54b8b9ade481356759a8457db9f8f6e06c4a7f94dcfd516173ce7ab964576c92ec15bb07bdbd7cec8c5d3e134283e97
+DIST cider-1.13.1.tar.gz 7315314 BLAKE2B 81a0436ccb4a5e0d13e89587d55b4d63da3bca401ef95f995b20a58b8b0a1ed29b81df545135bccecfa601a33ccbad33478658afe612b179bbb3c38e5f6f60c4 SHA512 2d689f0e6bdcf778d86052c3d06e2e68e8ea37f4550979fb760ba57d1f0c6a9f3833d4c8ba265ddb641330cb22058abf095f87dd0bd93b40341c77be286ed5ad
diff --git a/app-emacs/cider/cider-1.12.0.ebuild b/app-emacs/cider/cider-1.12.0.ebuild
new file mode 100644
index 000000000000..c20e791cd3a7
--- /dev/null
+++ b/app-emacs/cider/cider-1.12.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp optfeature
+
+DESCRIPTION="Clojure Interactive Development Environment for GNU Emacs"
+HOMEPAGE="https://cider.mx/
+ https://github.com/clojure-emacs/cider/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/clojure-emacs/${PN}.git"
+else
+ SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/clojure-mode
+ app-emacs/parseedn
+ app-emacs/queue
+ app-emacs/sesman
+ app-emacs/spinner
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/buttercup )
+"
+
+ELISP_REMOVE="
+ test/${PN}-jar-tests.el
+ test/enrich/${PN}-docstring-tests.el
+ test/integration/integration-tests.el
+"
+DOCS=( CHANGELOG.md README.md ROADMAP.md refcard )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . -L test --traceback full || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ optfeature "Connecting to leiningen REPL" \
+ dev-java/leiningen dev-java/leiningen-bin
+}
diff --git a/app-emacs/cider/cider-1.13.0.ebuild b/app-emacs/cider/cider-1.13.0.ebuild
new file mode 100644
index 000000000000..c20e791cd3a7
--- /dev/null
+++ b/app-emacs/cider/cider-1.13.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp optfeature
+
+DESCRIPTION="Clojure Interactive Development Environment for GNU Emacs"
+HOMEPAGE="https://cider.mx/
+ https://github.com/clojure-emacs/cider/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/clojure-emacs/${PN}.git"
+else
+ SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/clojure-mode
+ app-emacs/parseedn
+ app-emacs/queue
+ app-emacs/sesman
+ app-emacs/spinner
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/buttercup )
+"
+
+ELISP_REMOVE="
+ test/${PN}-jar-tests.el
+ test/enrich/${PN}-docstring-tests.el
+ test/integration/integration-tests.el
+"
+DOCS=( CHANGELOG.md README.md ROADMAP.md refcard )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . -L test --traceback full || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ optfeature "Connecting to leiningen REPL" \
+ dev-java/leiningen dev-java/leiningen-bin
+}
diff --git a/app-emacs/cider/cider-1.13.1.ebuild b/app-emacs/cider/cider-1.13.1.ebuild
new file mode 100644
index 000000000000..c20e791cd3a7
--- /dev/null
+++ b/app-emacs/cider/cider-1.13.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp optfeature
+
+DESCRIPTION="Clojure Interactive Development Environment for GNU Emacs"
+HOMEPAGE="https://cider.mx/
+ https://github.com/clojure-emacs/cider/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/clojure-emacs/${PN}.git"
+else
+ SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/clojure-mode
+ app-emacs/parseedn
+ app-emacs/queue
+ app-emacs/sesman
+ app-emacs/spinner
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/buttercup )
+"
+
+ELISP_REMOVE="
+ test/${PN}-jar-tests.el
+ test/enrich/${PN}-docstring-tests.el
+ test/integration/integration-tests.el
+"
+DOCS=( CHANGELOG.md README.md ROADMAP.md refcard )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . -L test --traceback full || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ optfeature "Connecting to leiningen REPL" \
+ dev-java/leiningen dev-java/leiningen-bin
+}
diff --git a/app-emacs/cider/files/50cider-gentoo.el b/app-emacs/cider/files/50cider-gentoo.el
new file mode 100644
index 000000000000..298d184202ef
--- /dev/null
+++ b/app-emacs/cider/files/50cider-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cider "cider"
+ "Start a connection of any type interactively." t)
+(autoload 'cider-mode "cider-mode"
+ "Minor mode for REPL interaction from a Clojure buffer." t)
diff --git a/app-emacs/cider/metadata.xml b/app-emacs/cider/metadata.xml
new file mode 100644
index 000000000000..145b00ab92e1
--- /dev/null
+++ b/app-emacs/cider/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ CIDER extends Emacs with support for interactive programming in Clojure.
+ The features are centered around cider-mode, an Emacs minor-mode that
+ complements clojure-mode. While clojure-mode supports editing Clojure
+ source files, cider-mode adds support for interacting with a running
+ Clojure process for compilation, code completion, debugging, definition and
+ documentation lookup, running tests and so on.
+ </longdescription>
+ <upstream>
+ <doc>https://docs.cider.mx/</doc>
+ <bugs-to>https://github.com/clojure-emacs/cider/issues/</bugs-to>
+ <remote-id type="github">clojure-emacs/cider</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/circe/Manifest b/app-emacs/circe/Manifest
index 34ee027139f3..c0376abaf606 100644
--- a/app-emacs/circe/Manifest
+++ b/app-emacs/circe/Manifest
@@ -1 +1,2 @@
-DIST circe-2.11.tar.gz 237797 BLAKE2B f5a6e72ac51a8e8638d1e05e4781688d83e7cd4fcf3e3e21e517793588c3a32b1686d390ab286d26fce3cbb7dd3ba7a30bb09ec677deacead16057ae8037e1c8 SHA512 aee0b5c7dfa03a190ba697941664e4afc76ec30b8602b2e95ad771fb6172ef2b76f4d05ad8af68f6b274f7f89373e05308b63e9c9cc494b7df0bf2c58fdca4e3
+DIST circe-2.12.tar.gz 240409 BLAKE2B 92eeecc2afe56b8434446aba5c0a090b2c4aa761b401de7aee9cebd39d933cf8e94d4609a28b6cea1610367ca5b824a85add7b266b04a18c4ea0231d35bae7f0 SHA512 679ea9d4edcd681d579ed16657a2f5ac1637382572ce7510426ba7ec75c008baa45062e1085bf9a43ba9f8eec0f68c0c0d21b8f8e6b1763cfe1602433f502b60
+DIST circe-2.13.tar.gz 241106 BLAKE2B a37b45874189bf85199ecad58c548b940fdc1d42332e58900e879bb809b4051434ebb7a17262eb6276fcb18e6fd55a23c7be55fe09e5bc3b75ea92c2a65c6805 SHA512 10e5998fa211d5a340eacec6bf88fc4ef749fbae01cfbd8cd01204a7d4533d0ecb4dda54543667c5caf4f44142fef737dcc2750d44525f69dfff18e245cae02e
diff --git a/app-emacs/circe/circe-2.11.ebuild b/app-emacs/circe/circe-2.11.ebuild
deleted file mode 100644
index f913b088a243..000000000000
--- a/app-emacs/circe/circe-2.11.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A great IRC client for Emacs"
-HOMEPAGE="https://github.com/jorgenschaefer/circe
- https://www.emacswiki.org/emacs/Circe"
-SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
-
-ELISP_REMOVE="circe-pkg.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="AUTHORS.md CONTRIBUTING.md NEWS.md README.md"
diff --git a/app-emacs/circe/circe-2.12.ebuild b/app-emacs/circe/circe-2.12.ebuild
new file mode 100644
index 000000000000..9ce30f9df2e2
--- /dev/null
+++ b/app-emacs/circe/circe-2.12.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A great IRC client for Emacs"
+HOMEPAGE="https://github.com/jorgenschaefer/circe
+ https://www.emacswiki.org/emacs/Circe"
+SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE="test"
+RESTRICT="test" # w/o lexical-binding needed by buttercup >=1.34, should be fixed in git.
+
+BDEPEND="test? ( app-emacs/buttercup )"
+
+DOCS=( AUTHORS.md CONTRIBUTING.md NEWS.md README.md images )
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . --traceback full tests || die
+}
diff --git a/app-emacs/circe/circe-2.13.ebuild b/app-emacs/circe/circe-2.13.ebuild
new file mode 100644
index 000000000000..14a3e18d4ff8
--- /dev/null
+++ b/app-emacs/circe/circe-2.13.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A great IRC client for Emacs"
+HOMEPAGE="https://github.com/jorgenschaefer/circe
+ https://www.emacswiki.org/emacs/Circe"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jorgenschaefer/${PN}.git"
+else
+ SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ppc sparc x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # w/o lexical-binding needed by buttercup >=1.34, should be fixed in git.
+
+DOCS=( AUTHORS.md CONTRIBUTING.md NEWS.md README.md )
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup .
diff --git a/app-emacs/citar/Manifest b/app-emacs/citar/Manifest
new file mode 100644
index 000000000000..0c77fdc6b931
--- /dev/null
+++ b/app-emacs/citar/Manifest
@@ -0,0 +1 @@
+DIST citar-1.4.0.tar.gz 1604664 BLAKE2B 26ebe97a6701fa8c8d528ad0c6d750ea5acebda1fe6322c157fe62995140a9b3f16274888e51110a01dbd1681d7552637bc230d5d1e95270157bc524c037d7da SHA512 42ddb8eec21ad8c53b77b5ee235cd839fdb8d3a3efef8db28effd2bfc63d1d25c1031abb21df476e0243c99aaa619c2d1f29142f5569deb06281774c960924a9
diff --git a/app-emacs/citar/citar-1.4.0.ebuild b/app-emacs/citar/citar-1.4.0.ebuild
new file mode 100644
index 000000000000..f72de66e4d91
--- /dev/null
+++ b/app-emacs/citar/citar-1.4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs package to quickly find and act on bibliographic references"
+HOMEPAGE="https://github.com/emacs-citar/citar/"
+SRC_URI="https://github.com/emacs-citar/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-emacs/citeproc-el
+ app-emacs/parsebib
+"
+BDEPEND="${RDEPEND}"
+
+# Embark integration has it's own package on MELPA, and it is probably better
+# to split them. https://melpa.org/#/citar-embark
+ELISP_REMOVE="citar-embark.el"
+
+DOCS=( CHANGELOG.md CONTRIBUTING.org README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test \
+ -l test/citar-file-test.el \
+ -l test/citar-format-test.el \
+ -l test/citar-test.el \
+ -f ert-run-tests-batch-and-exit || die
+}
diff --git a/app-emacs/citar/files/50citar-gentoo.el b/app-emacs/citar/files/50citar-gentoo.el
new file mode 100644
index 000000000000..6243866c44c2
--- /dev/null
+++ b/app-emacs/citar/files/50citar-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "citar-autoloads" nil t)
diff --git a/app-emacs/citar/metadata.xml b/app-emacs/citar/metadata.xml
new file mode 100644
index 000000000000..2ba5ec6831b5
--- /dev/null
+++ b/app-emacs/citar/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Emacs package to quickly find and act on bibliographic references, and edit
+ org, markdown, and latex academic documents. This package provides a
+ completing-read front-end to browse and act on BibTeX, BibLaTeX, and CSL
+ JSON bibliographic data, and LaTeX, markdown, and org-cite editing support.
+ When used with vertico, embark, and marginalia, it provides similar
+ functionality to helm-bibtex and ivy-bibtex: quick filtering and selecting
+ of bibliographic entries from the minibuffer, and the option to run
+ different commands against them.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/emacs-citar/citar/issues/</bugs-to>
+ <remote-id type="github">emacs-citar/citar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/citeproc-el/Manifest b/app-emacs/citeproc-el/Manifest
new file mode 100644
index 000000000000..01d6ee230ca6
--- /dev/null
+++ b/app-emacs/citeproc-el/Manifest
@@ -0,0 +1,2 @@
+DIST citeproc-el-0.9.3.tar.gz 109131 BLAKE2B f6975cd587f61f5f05bfc3734e70ec686a3e26caa4b7905b5b4377c4ce6c8eae5199ea097de9abb10dd1a649587cf016c5fe0db4a6fd4012867655702f5004d8 SHA512 98275ef7ba0a7fc5d866ee010b5f4c8ecf75b12857c6355da07345957783815d9012f8aa86fd7462b8a08e4e3f3192853e1b4a0d5a0088acdb89476011375083
+DIST citeproc-el-0.9.4.tar.gz 109594 BLAKE2B f13c1c93110666d897127c31da39eee392161fada18aa5cee940dfe4968b565d45a397536aa3d8c902625be6c3b27d4a19fca4aeab83233fb549c3f35169adcd SHA512 6772fea40203221e7016a5a0a5c2522b72889202f89eef4603dcbdb8c3c8c0050c5aabee8d56d5e56148e100fac33cd24489d3e03f2caa85964796b7d89ae019
diff --git a/app-emacs/citeproc-el/citeproc-el-0.9.3.ebuild b/app-emacs/citeproc-el/citeproc-el-0.9.3.ebuild
new file mode 100644
index 000000000000..294f3ded7bdd
--- /dev/null
+++ b/app-emacs/citeproc-el/citeproc-el-0.9.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="CSL 1.0.2 Citation Processor for Emacs"
+HOMEPAGE="https://github.com/andras-simonyi/citeproc-el"
+SRC_URI="https://github.com/andras-simonyi/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-editors/emacs-26:*[libxml2]
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/parsebib
+ app-emacs/queue
+ app-emacs/s
+ app-emacs/string-inflection
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ht
+ app-emacs/yaml
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test \
+ -l citeproc-test-human.el \
+ -l test/citeproc-test-int-biblatex.el \
+ -l test/citeproc-test-int-formatters.el \
+ -f ert-run-tests-batch-and-exit || die
+}
diff --git a/app-emacs/citeproc-el/citeproc-el-0.9.4-r1.ebuild b/app-emacs/citeproc-el/citeproc-el-0.9.4-r1.ebuild
new file mode 100644
index 000000000000..e5a1398ba1c3
--- /dev/null
+++ b/app-emacs/citeproc-el/citeproc-el-0.9.4-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="CSL 1.0.2 Citation Processor for Emacs"
+HOMEPAGE="https://github.com/andras-simonyi/citeproc-el"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/andras-simonyi/${PN}.git"
+else
+ SRC_URI="https://github.com/andras-simonyi/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-editors/emacs-26:*[libxml2]
+ app-emacs/compat
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/parsebib
+ app-emacs/queue
+ app-emacs/s
+ app-emacs/string-inflection
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ht
+ app-emacs/yaml
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert test \
+ -l citeproc-test-human.el \
+ -l test/citeproc-test-int-biblatex.el \
+ -l test/citeproc-test-int-formatters.el
diff --git a/app-emacs/citeproc-el/metadata.xml b/app-emacs/citeproc-el/metadata.xml
new file mode 100644
index 000000000000..33a57a1b947e
--- /dev/null
+++ b/app-emacs/citeproc-el/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ citeproc-el is an Emacs Lisp library for rendering citations and
+ bibliographies in styles described in the Citation Style Language (CSL), an
+ XML-based, open format to describe the formatting of bibliographic
+ references (see http://citationstyles.org/ for further information on CSL).
+ The library implements most of the CSL 1.0.2 specification, including such
+ features as citation disambiguation, cite collapsing and subsequent author
+ substitution, and passes more than 70% of the tests in the CSL Test Suite.
+ In addition to the standard CSL-JSON data format, citeproc-el has
+ rudimentary support for reading bibliographic data from BibTeX, biblatex
+ and org-bibtex bibliographies and can produce output in several formats
+ including HTML and org-mode markup (see Supported output formats for the
+ full list).
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/andras-simonyi/citeproc-el/issues/</bugs-to>
+ <remote-id type="github">andras-simonyi/citeproc-el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/clojure-mode/Manifest b/app-emacs/clojure-mode/Manifest
new file mode 100644
index 000000000000..be992b3b945b
--- /dev/null
+++ b/app-emacs/clojure-mode/Manifest
@@ -0,0 +1 @@
+DIST clojure-mode-5.18.1.tar.gz 23408800 BLAKE2B 6a96f5c7f92700b303e8abf440088d19a7f428999aa5faeb6e17dc67267f34f8c1c4bd2d7082e8557975e71afef38c864b3662630612806174f13ab8dd14c9e1 SHA512 b0440682fd28eaa02da6c62f44e2fbc405d370dadea95b072b1c5d43d569b0eb82bff4228bce02346d94a2e65110e326f4b382b06b091e8dd25cfc004b461496
diff --git a/app-emacs/clojure-mode/clojure-mode-5.18.1.ebuild b/app-emacs/clojure-mode/clojure-mode-5.18.1.ebuild
new file mode 100644
index 000000000000..ac97f846fa82
--- /dev/null
+++ b/app-emacs/clojure-mode/clojure-mode-5.18.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for Clojure code"
+HOMEPAGE="https://github.com/clojure-emacs/clojure-mode/"
+SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test" # w/o lexical-binding needed by buttercup >=1.34, should be fixed in git.
+
+BDEPEND="
+ test? (
+ app-emacs/s
+ app-emacs/paredit
+ )
+"
+
+DOCS=( README.md doc )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
diff --git a/app-emacs/clojure-mode/files/50clojure-mode-gentoo.el b/app-emacs/clojure-mode/files/50clojure-mode-gentoo.el
new file mode 100644
index 000000000000..67f1da6c1bf4
--- /dev/null
+++ b/app-emacs/clojure-mode/files/50clojure-mode-gentoo.el
@@ -0,0 +1,8 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'clojure-mode "clojure-mode"
+ "Major mode for editing Clojure code." t)
+(add-to-list 'auto-mode-alist '("\\(?:build\\|profile\\)\\.boot\\'" . clojure-mode))
+(add-to-list 'auto-mode-alist '("\\.\\(clj\\|cljd\\|dtm\\|edn\\)\\'" . clojure-mode))
+(add-to-list 'auto-mode-alist '("\\.cljc\\'" . clojurec-mode))
+(add-to-list 'auto-mode-alist '("\\.cljs\\'" . clojurescript-mode))
+(add-to-list 'interpreter-mode-alist '("bb" . clojure-mode))
diff --git a/app-emacs/clojure-mode/metadata.xml b/app-emacs/clojure-mode/metadata.xml
new file mode 100644
index 000000000000..f87f4686f8a3
--- /dev/null
+++ b/app-emacs/clojure-mode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ clojure-mode is an Emacs major mode that provides font-lock (syntax
+ highlighting), indentation, navigation and refactoring support for the
+ Clojure(Script) programming language.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/clojure-emacs/clojure-mode/issues/</bugs-to>
+ <remote-id type="github">clojure-emacs/clojure-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/cmake-font-lock/Manifest b/app-emacs/cmake-font-lock/Manifest
new file mode 100644
index 000000000000..596c3a4f8e71
--- /dev/null
+++ b/app-emacs/cmake-font-lock/Manifest
@@ -0,0 +1 @@
+DIST cmake-font-lock-0.1.13.tar.gz 226073 BLAKE2B 3abb88fb770b7913e649ea84147f02c201e4fb5e8a7633184b31236789a6e525beb3142e3cef643daa6ec94bd247ad5dccb37d8af239cb1cd56b30065173ba94 SHA512 8d0eef222b38e5fb8e345431276c12de179f313a2a94acfb58aa4ca5ada356f332a8ce4d6436140b98422dc4375c271de626ffaf5fde1f41f30532c4e52350c9
diff --git a/app-emacs/cmake-font-lock/cmake-font-lock-0.1.13-r1.ebuild b/app-emacs/cmake-font-lock/cmake-font-lock-0.1.13-r1.ebuild
new file mode 100644
index 000000000000..4625030d159c
--- /dev/null
+++ b/app-emacs/cmake-font-lock/cmake-font-lock-0.1.13-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="Advanced, type aware, highlight support for CMake"
+HOMEPAGE="https://github.com/Lindydancer/cmake-font-lock"
+SRC_URI="https://github.com/Lindydancer/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ || (
+ app-emacs/cmake-mode
+ dev-build/cmake[emacs(-)]
+ )
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/cmake-font-lock/files/50cmake-font-lock-gentoo.el b/app-emacs/cmake-font-lock/files/50cmake-font-lock-gentoo.el
new file mode 100644
index 000000000000..636bf931f80a
--- /dev/null
+++ b/app-emacs/cmake-font-lock/files/50cmake-font-lock-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/cmake-font-lock-autoloads" nil t)
diff --git a/app-emacs/cmake-font-lock/metadata.xml b/app-emacs/cmake-font-lock/metadata.xml
new file mode 100644
index 000000000000..51b04c0ae888
--- /dev/null
+++ b/app-emacs/cmake-font-lock/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<upstream>
+ <remote-id type="github">Lindydancer/cmake-font-lock</remote-id>
+</upstream>
+<stabilize-allarches/>
+</pkgmetadata>
diff --git a/app-emacs/cmake-mode/Manifest b/app-emacs/cmake-mode/Manifest
new file mode 100644
index 000000000000..277c0059e977
--- /dev/null
+++ b/app-emacs/cmake-mode/Manifest
@@ -0,0 +1,3 @@
+DIST cmake-3.28.3.tar.gz 11067653 BLAKE2B a329c7cd80e8e74d11ec2a8b377857b1ae8c4c50a792f982803fcc6a00f531ecb7ac2dd7ccad34968b3e3efc14933085b51425974fc5ee29b6c49c2da5ceeaf4 SHA512 66e923925b764e1fe3d150c69dab3e0abd9e0c90d8e30cab63c3a1f70c3e37df0a5e3ff12b378eeae3bdc6608495f41399e6f81602e26b513b19fa19ff6c48fc
+DIST cmake-3.29.0.tar.gz 11244341 BLAKE2B 76244cfc6222ce23dbddc9bb3aa51d98d00826d6fa19d86b836f63977c56f0cae11cd592efa1c727e8872fea1e6365a3b67a37e80e588fbf4189f7ec07c2f6e1 SHA512 abcca7a4db221d98864b77220445f0b70f87149626d3162ed49636862b87514b2640318438c0c711bfaafa1aba4d049b55f98e6ac28c44545543986c35fbd062
+DIST cmake-3.29.1.tar.gz 11246071 BLAKE2B ec20bccb354a7097d8f2b1bd3486c162a93085671e10e4839c043b2452f597e4b8789dae887c88677d945ea7dcc71b8b0f30116103aac875270f52468bfc9bc0 SHA512 3665ddb356bf973f75c9f2601f7210f7ff58c77c39926a43af8640979777a796d441df43fda5d2632548f7d15e4553829680c76f3d9376f9e763fe7bba16f3d7
diff --git a/app-emacs/cmake-mode/cmake-mode-3.28.3.ebuild b/app-emacs/cmake-mode/cmake-mode-3.28.3.ebuild
new file mode 100644
index 000000000000..e6ca0450dffd
--- /dev/null
+++ b/app-emacs/cmake-mode/cmake-mode-3.28.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_P="${P/-mode}"
+MY_P="${MY_P/_/-}"
+
+DESCRIPTION="GNU Emacs mode for handling CMake build files"
+HOMEPAGE="https://cmake.org/"
+SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+S="${WORKDIR}/${P/-mode}/Auxiliary"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !dev-build/cmake[emacs(-)]
+"
+
+DOCS=()
+SITEFILE="50${PN/-mode}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/cmake-mode/cmake-mode-3.29.0.ebuild b/app-emacs/cmake-mode/cmake-mode-3.29.0.ebuild
new file mode 100644
index 000000000000..e6ca0450dffd
--- /dev/null
+++ b/app-emacs/cmake-mode/cmake-mode-3.29.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_P="${P/-mode}"
+MY_P="${MY_P/_/-}"
+
+DESCRIPTION="GNU Emacs mode for handling CMake build files"
+HOMEPAGE="https://cmake.org/"
+SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+S="${WORKDIR}/${P/-mode}/Auxiliary"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !dev-build/cmake[emacs(-)]
+"
+
+DOCS=()
+SITEFILE="50${PN/-mode}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/cmake-mode/cmake-mode-3.29.1.ebuild b/app-emacs/cmake-mode/cmake-mode-3.29.1.ebuild
new file mode 100644
index 000000000000..e6ca0450dffd
--- /dev/null
+++ b/app-emacs/cmake-mode/cmake-mode-3.29.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_P="${P/-mode}"
+MY_P="${MY_P/_/-}"
+
+DESCRIPTION="GNU Emacs mode for handling CMake build files"
+HOMEPAGE="https://cmake.org/"
+SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
+S="${WORKDIR}/${P/-mode}/Auxiliary"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !dev-build/cmake[emacs(-)]
+"
+
+DOCS=()
+SITEFILE="50${PN/-mode}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/cmake-mode/files/50cmake-gentoo.el b/app-emacs/cmake-mode/files/50cmake-gentoo.el
new file mode 100644
index 000000000000..e4a1a6d47cbc
--- /dev/null
+++ b/app-emacs/cmake-mode/files/50cmake-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake files." t)
+(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode))
+(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode))
diff --git a/app-emacs/cmake-mode/metadata.xml b/app-emacs/cmake-mode/metadata.xml
new file mode 100644
index 000000000000..a2714d42cd15
--- /dev/null
+++ b/app-emacs/cmake-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/app-emacs/color-theme/color-theme-6.6.0-r2.ebuild b/app-emacs/color-theme/color-theme-6.6.0-r2.ebuild
deleted file mode 100644
index 470c4fea7c5a..000000000000
--- a/app-emacs/color-theme/color-theme-6.6.0-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Install color themes (includes many themes)"
-HOMEPAGE="http://www.nongnu.org/color-theme/"
-SRC_URI="http://download.savannah.gnu.org/releases-noredirect/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc sparc x86 ~amd64-linux ~x86-linux"
-
-PATCHES=(
- "${FILESDIR}"/${P}-replace-in-string.patch
- "${FILESDIR}"/${P}-emacs-26.patch
-)
-ELISP_REMOVE="color-theme-autoloads.*"
-SITEFILE="50${PN}-gentoo.el"
-
-src_install() {
- elisp-install ${PN} *.el *.elc
- elisp-install ${PN}/themes themes/*.el
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc AUTHORS BUGS ChangeLog README
-
- DOC_CONTENTS="To use color-theme non-interactively, initialise it
- in your ~/.emacs file as in the following example (which is
- for the \"Blue Sea\" theme):
- \n
- \n(color-theme-initialize)
- \n(color-theme-blue-sea)"
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/color-theme/color-theme-6.6.0-r3.ebuild b/app-emacs/color-theme/color-theme-6.6.0-r3.ebuild
new file mode 100644
index 000000000000..ef213817b3bb
--- /dev/null
+++ b/app-emacs/color-theme/color-theme-6.6.0-r3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Install color themes (includes many themes)"
+HOMEPAGE="http://www.nongnu.org/color-theme/"
+SRC_URI="http://download.savannah.gnu.org/releases-noredirect/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc sparc x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-replace-in-string.patch
+ "${FILESDIR}"/${P}-emacs-26.patch
+ "${FILESDIR}"/${P}-emacs-29.patch
+)
+ELISP_REMOVE="color-theme-autoloads.*"
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp-install ${PN} *.el *.elc
+ elisp-install ${PN}/themes themes/*.el
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc AUTHORS BUGS ChangeLog README
+
+ local DOC_CONTENTS="To use color-theme non-interactively, initialise it
+ in your ~/.emacs file as in the following example (which is
+ for the \"Blue Sea\" theme):
+ \n
+ \n(color-theme-initialize)
+ \n(color-theme-blue-sea)"
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/color-theme/files/50color-theme-gentoo.el b/app-emacs/color-theme/files/50color-theme-gentoo.el
index 9d43c350fffd..b516108fdf9b 100644
--- a/app-emacs/color-theme/files/50color-theme-gentoo.el
+++ b/app-emacs/color-theme/files/50color-theme-gentoo.el
@@ -1,29 +1,33 @@
(add-to-list 'load-path "@SITELISP@")
-(autoload (quote color-theme-select) "color-theme" "\
+(autoload 'color-theme-select "color-theme" "\
Displays a special buffer for selecting and installing a color theme.
With optional prefix ARG, this buffer will include color theme libraries
as well. A color theme library is in itself not complete, it must be
used as part of another color theme to be useful. Thus, color theme
-libraries are mainly useful for color theme authors." t nil)
+libraries are mainly useful for color theme authors.
-(autoload (quote color-theme-describe) "color-theme" "\
+\(fn &optional ARG)" t)
+
+(autoload 'color-theme-describe "color-theme" "\
Describe color theme listed at point.
This shows the documentation of the value of text-property color-theme
at point. The text-property color-theme should be a color theme
-function. See `color-themes'." t nil)
+function. See `color-themes'." t)
-(autoload (quote color-theme-install-at-mouse) "color-theme" "\
+(autoload 'color-theme-install-at-mouse "color-theme" "\
Install color theme clicked upon using the mouse.
First argument EVENT is used to set point. Then
-`color-theme-install-at-point' is called." t nil)
+`color-theme-install-at-point' is called.
+
+\(fn EVENT)" t)
-(autoload (quote color-theme-install-at-point-for-current-frame) "color-theme" "\
+(autoload 'color-theme-install-at-point-for-current-frame "color-theme" "\
Install color theme at point for current frame only.
Binds `color-theme-is-global' to nil and calls
-`color-theme-install-at-point'." t nil)
+`color-theme-install-at-point'." t)
-(autoload (quote color-theme-print) "color-theme" "\
+(autoload 'color-theme-print "color-theme" "\
Print the current color theme function.
You can contribute this function to <URL:news:gnu.emacs.sources> or
@@ -32,12 +36,12 @@ the settings necessary for your color theme.
Example:
- (require 'color-theme)
+ (require \\='color-theme)
(defun my-color-theme ()
\"Color theme by Alex Schroeder, created 2000-05-17.\"
(interactive)
(color-theme-install
- '(...
+ \\='(...
...
...)))
(my-color-theme)
@@ -47,29 +51,33 @@ color theme function in your .emacs directly.
Example:
- (require 'color-theme)
- (color-theme-gnome2)" t nil)
+ (require \\='color-theme)
+ (color-theme-gnome2)
+
+\(fn &optional BUF)" t)
-(autoload (quote color-theme-analyze-defun) "color-theme" "\
+(autoload 'color-theme-analyze-defun "color-theme" "\
Once you have a color-theme printed, check for missing faces.
This is used by maintainers who receive a color-theme submission
and want to make sure it follows the guidelines by the color-theme
-author." t nil)
+author." t)
-(autoload (quote color-theme-make-snapshot) "color-theme" "\
+(autoload 'color-theme-make-snapshot "color-theme" "\
Return the definition of the current color-theme.
-The function returned will recreate the color-theme in use at the moment." nil nil)
+The function returned will recreate the color-theme in use at the moment.")
-(autoload (quote color-theme-compare) "color-theme" "\
+(autoload 'color-theme-compare "color-theme" "\
Compare two color themes.
This will print the differences between installing THEME-A and
installing THEME-B. Note that the order is important: If a face is
defined in THEME-A and not in THEME-B, then this will not show up as a
difference, because there is no reset before installing THEME-B. If a
face is defined in THEME-B and not in THEME-A, then this will show up as
-a difference." t nil)
+a difference.
-(autoload (quote color-theme-install) "color-theme" "\
+\(fn THEME-A THEME-B)" t)
+
+(autoload 'color-theme-install "color-theme" "\
Install a color theme defined by frame parameters, variables and faces.
The theme is installed for all present and future frames; any missing
@@ -100,10 +108,12 @@ FACE-DEFINITIONS is an alist of face definitions. These are installed
with `color-theme-install-faces'.
If `color-theme-is-cumulative' is nil, a color theme will undo face and
-frame-parameter settings of previous color themes." nil nil)
+frame-parameter settings of previous color themes.
+
+\(fn THEME)")
-(autoload (quote color-theme-submit) "color-theme" "\
-Submit your color-theme to the maintainer." t nil)
+(autoload 'color-theme-submit "color-theme" "\
+Submit your color-theme to the maintainer." t)
-(autoload (quote color-theme-initialize) "color-theme" "\
-Initialize the color theme package by loading color-theme-libraries." t nil)
+(autoload 'color-theme-initialize "color-theme" "\
+Initialize the color theme package by loading color-theme-libraries." t)
diff --git a/app-emacs/color-theme/files/color-theme-6.6.0-emacs-29.patch b/app-emacs/color-theme/files/color-theme-6.6.0-emacs-29.patch
new file mode 100644
index 000000000000..7b2e601e39cf
--- /dev/null
+++ b/app-emacs/color-theme/files/color-theme-6.6.0-emacs-29.patch
@@ -0,0 +1,114 @@
+--- color-theme-6.6.0/color-theme.el
++++ color-theme-6.6.0/color-theme.el
+@@ -50,7 +50,7 @@
+ (require 'reporter)
+ (require 'sendmail))
+
+-(require 'cl); set-difference is a function...
++(require 'cl-seq); cl-set-difference is a function...
+
+ ;; for custom-face-attributes-get or face-custom-attributes-get
+ (require 'cus-face)
+@@ -143,7 +143,7 @@
+ "Regexp that matches variable names.
+ Only variables that match this regexp can be changed as part of a color
+ theme. In addition to matching this name, the variables have to be user
+-variables (see function `user-variable-p')."
++variables (see function `custom-variable-p')."
+ :type 'regexp
+ :group 'color-theme)
+
+@@ -174,7 +174,7 @@
+ frames with different color themes.
+
+ setup:
+- \(require 'color-theme)
++ \(require \\='color-theme)
+ ;; set default color theme
+ \(color-theme-blue-sea)
+ ;; create some frames with different color themes
+@@ -430,7 +430,7 @@
+ If you defined your own color theme and want to add it to this list,
+ use something like this:
+
+- (add-to-list 'color-themes '(color-theme-gnome2 \"Gnome2\" \"Alex\"))")
++ (add-to-list \\='color-themes \\='(color-theme-gnome2 \"Gnome2\" \"Alex\"))")
+
+ ;;; Functions
+
+@@ -513,7 +513,7 @@
+ If you want to install the color theme permanently, put the call to the
+ color theme function into your ~/.emacs:
+
+- \(require 'color-theme)
++ \(require \\='color-theme)
+ \(color-theme-gnome2)
+
+ If you worry about the size of color-theme.el: You are right. Use
+@@ -607,7 +607,7 @@
+
+ If the optional argument EXCLUDE is non-nil, then the sense is
+ reversed: only non-matching elements will be retained."
+- (let (elem new-list)
++ (let (elem new-list name)
+ (dolist (elem old-list)
+ (setq name (symbol-name (if (listp elem) (car elem) elem)))
+ (when (or (and (not exclude)
+@@ -861,12 +861,12 @@
+ "Return a list of variable settings usable in a color theme.
+ Such an alist may be installed by `color-theme-install-variables'.
+ The variable names must match `color-theme-legal-variables', and the
+-variable must be a user variable according to `user-variable-p'."
++variable must be a user variable according to `custom-variable-p'."
+ (let ((vars)
+ (val))
+ (mapatoms (lambda (v)
+ (and (boundp v)
+- (user-variable-p v)
++ (custom-variable-p v)
+ (string-match color-theme-legal-variables
+ (symbol-name v))
+ (setq val (eval v))
+@@ -952,12 +952,12 @@
+
+ Example:
+
+- \(require 'color-theme)
++ \(require \\='color-theme)
+ \(defun my-color-theme ()
+ \"Color theme by Alex Schroeder, created 2000-05-17.\"
+ \(interactive)
+ \(color-theme-install
+- '(...
++ \\='(...
+ ...
+ ...)))
+ \(my-color-theme)
+@@ -967,7 +967,7 @@
+
+ Example:
+
+- \(require 'color-theme)
++ \(require \\='color-theme)
+ \(color-theme-gnome2)"
+ (interactive)
+ (message "Pretty printing current color theme function...")
+@@ -1495,15 +1495,15 @@
+ (color-theme-get-vars)
+ (color-theme-get-face-definitions)))
+ (delete-frame))
+- (let ((params (set-difference
++ (let ((params (cl-set-difference
+ (color-theme-frame-params theme-b)
+ (color-theme-frame-params theme-a)
+ :test 'equal))
+- (vars (set-difference
++ (vars (cl-set-difference
+ (color-theme-variables theme-b)
+ (color-theme-variables theme-a)
+ :test 'equal))
+- (faces (set-difference
++ (faces (cl-set-difference
+ (color-theme-faces theme-b)
+ (color-theme-faces theme-a)
+ :test 'equal)))
diff --git a/app-emacs/commander/Manifest b/app-emacs/commander/Manifest
new file mode 100644
index 000000000000..38064aa23bcc
--- /dev/null
+++ b/app-emacs/commander/Manifest
@@ -0,0 +1 @@
+DIST commander-0.7.0.tar.gz 37120 BLAKE2B 61e7262f7909d866f3890854cc695d1d8769ea54fa2a983d72a3e5b61217f1e898036026f71d8ae0d46e8d45af0b9e0e52c2f88d4f647dd50454877b9abd2946 SHA512 10d25d931f1faf88747c397594becc3832dfb56de7440ada2cd40e0329b0ca984eda77c62290329510ab87b53ac273e5d36e7acd628ff68ee0e981ccd9497d10
diff --git a/app-emacs/commander/commander-0.7.0-r1.ebuild b/app-emacs/commander/commander-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..438a490c75df
--- /dev/null
+++ b/app-emacs/commander/commander-0.7.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs command line parser"
+HOMEPAGE="https://github.com/rejeep/commander.el/"
+SRC_URI="https://github.com/rejeep/${PN}.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ecukes
+ app-emacs/el-mock
+ app-emacs/ert-runner
+ app-emacs/espuds
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner || die
+ ecukes --debug --reporter spec --script features || die
+}
diff --git a/app-emacs/commander/metadata.xml b/app-emacs/commander/metadata.xml
new file mode 100644
index 000000000000..67955b12d20a
--- /dev/null
+++ b/app-emacs/commander/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rejeep/commander.el/issues/</bugs-to>
+ <remote-id type="github">rejeep/commander.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/commenter/Manifest b/app-emacs/commenter/Manifest
new file mode 100644
index 000000000000..5babe34edfe4
--- /dev/null
+++ b/app-emacs/commenter/Manifest
@@ -0,0 +1 @@
+DIST commenter-0.5.2.tar.gz 2705 BLAKE2B 062b89892d4410b0964f8b540bac51574dab44ae5fdf42ef98b4286eb4183a82cd2c95bbcc7e3b04345351caf5feb4b31d50ee31bb6bd69f2f08d0ec0119deb1 SHA512 a2bdc675d39fedccc16b3cdde324a17588980bf66e899a8f58ed0e68d545ac955465bcad282dc4434a96baa340244f9b67e375c312a557dffafc20532dec4b51
diff --git a/app-emacs/commenter/commenter-0.5.2.ebuild b/app-emacs/commenter/commenter-0.5.2.ebuild
new file mode 100644
index 000000000000..1ae4c5944469
--- /dev/null
+++ b/app-emacs/commenter/commenter-0.5.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Set both single and multi line comment variables in Emacs Lisp"
+HOMEPAGE="https://github.com/yuutayamada/commenter/"
+SRC_URI="https://github.com/yuutayamada/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/commenter/metadata.xml b/app-emacs/commenter/metadata.xml
new file mode 100644
index 000000000000..309d07daa297
--- /dev/null
+++ b/app-emacs/commenter/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/yuutayamada/commenter/issues/</bugs-to>
+ <remote-id type="github">yuutayamada/commenter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/company-coq/Manifest b/app-emacs/company-coq/Manifest
new file mode 100644
index 000000000000..5168d46f1328
--- /dev/null
+++ b/app-emacs/company-coq/Manifest
@@ -0,0 +1 @@
+DIST company-coq-1.0.1_p20220314.tar.gz 3804039 BLAKE2B 93458da7615f7c6f4a6c96c56aa14b95abd0a738a6653c5a3564829f3182ce890fdf52d4aa02e7b5079b7dd17db46e2eb9a7dbe271c579755e12606ba001487e SHA512 07b3c7f639e663ac9c114300fc53a729e2877563d9e2c4434010e12fa7ab435465a7daf6f47fc11076506f18d056c9672be4c6f4246a1b559284a0bf739dc696
diff --git a/app-emacs/company-coq/company-coq-1.0.1_p20220314.ebuild b/app-emacs/company-coq/company-coq-1.0.1_p20220314.ebuild
new file mode 100644
index 000000000000..f1c8a7e4b396
--- /dev/null
+++ b/app-emacs/company-coq/company-coq-1.0.1_p20220314.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20220314 ]] && COMMIT=a6e349e0131f676a885bd14c908fd26054b2df42
+
+inherit elisp
+
+DESCRIPTION="Collection of extensions for Proof General's Coq mode"
+HOMEPAGE="https://github.com/cpitclaudel/company-coq/"
+SRC_URI="https://github.com/cpitclaudel/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ app-emacs/company-math
+ app-emacs/company-mode
+ app-emacs/dash
+ app-emacs/yasnippet
+"
+RDEPEND="
+ ${BDEPEND}
+ app-emacs/proofgeneral
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-refman-path.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare(){
+ default
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}|" ./company-coq.el || die
+}
+
+src_install() {
+ elisp_src_install
+ einstalldocs
+
+ insinto "${SITEETC}"
+ doins -r ./refman
+}
diff --git a/app-emacs/company-coq/files/50company-coq-gentoo.el b/app-emacs/company-coq/files/50company-coq-gentoo.el
new file mode 100644
index 000000000000..9aa96abbd125
--- /dev/null
+++ b/app-emacs/company-coq/files/50company-coq-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'company-coq-mode "company-coq"
+ "Collection of extensions for Proof General's Coq mode" t)
+(add-hook 'coq-mode 'company-coq-mode)
diff --git a/app-emacs/company-coq/files/company-coq-refman-path.patch b/app-emacs/company-coq/files/company-coq-refman-path.patch
new file mode 100644
index 000000000000..96c642f1aea0
--- /dev/null
+++ b/app-emacs/company-coq/files/company-coq-refman-path.patch
@@ -0,0 +1,13 @@
+index 3a984878..9a42fed9 100644
+--- a/company-coq.el
++++ b/company-coq.el
+@@ -762,8 +762,7 @@ Useful as a value for `company-coq-completion-predicate'."
+ "Full path of this script.")
+
+ (defconst company-coq-refman-path
+- (when company-coq-script-full-path
+- (expand-file-name "refman/" (file-name-directory company-coq-script-full-path)))
++ (expand-file-name "@SITEETC@/refman/")
+ "Refman (and other assets)'s directory.")
+
+ (defface company-coq-doc-header-face-docs-and-sources
diff --git a/app-emacs/company-coq/metadata.xml b/app-emacs/company-coq/metadata.xml
new file mode 100644
index 000000000000..cdb2a2c4917d
--- /dev/null
+++ b/app-emacs/company-coq/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Company-Coq is a new Emacs package that extends Proof General with a
+ contextual auto-completion engine for Coq proofs and many additional
+ facilities to make writing proofs easier and more efficient. Beyond fuzzy
+ auto-completion of tactics, options, module names, and local definitions,
+ company-coq offers offline in-editor documentation, convenient snippets,
+ and multiple other Coq-specific IDE features.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/cpitclaudel/company-coq/issues/</bugs-to>
+ <remote-id type="github">cpitclaudel/company-coq</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/company-ebuild/Manifest b/app-emacs/company-ebuild/Manifest
new file mode 100644
index 000000000000..e8bf7e712a6d
--- /dev/null
+++ b/app-emacs/company-ebuild/Manifest
@@ -0,0 +1 @@
+DIST company-ebuild-0.1.4.tar.gz 11819 BLAKE2B 7697d6b7c6056f482a92fbe716f73e7318d93a3c187f733a251717dabdc947677b4c69db6422c31905b26510e53124ba45bdc6c46a79bcef6723b0e3d4f5fb02 SHA512 7bc2ac87fa95958a01a99debb13a4bb40ec95bd397d3f02e7bd1f509db965bd3f9e95489a0af726d899b2a3533df334364c79abf3d63ae673de60dbb98790660
diff --git a/app-emacs/company-ebuild/company-ebuild-0.1.4.ebuild b/app-emacs/company-ebuild/company-ebuild-0.1.4.ebuild
new file mode 100644
index 000000000000..66db76c329b8
--- /dev/null
+++ b/app-emacs/company-ebuild/company-ebuild-0.1.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.2
+
+inherit elisp
+
+DESCRIPTION="Company backend for editing Ebuild files"
+HOMEPAGE="https://gitweb.gentoo.org/proj/company-ebuild.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/ebuild-mode-1.64
+ app-emacs/company-mode
+"
+BDEPEND="${RDEPEND}"
diff --git a/app-emacs/company-ebuild/company-ebuild-9999.ebuild b/app-emacs/company-ebuild/company-ebuild-9999.ebuild
new file mode 100644
index 000000000000..11810d301043
--- /dev/null
+++ b/app-emacs/company-ebuild/company-ebuild-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.2
+
+inherit elisp
+
+DESCRIPTION="Company backend for editing Ebuild files"
+HOMEPAGE="https://gitweb.gentoo.org/proj/company-ebuild.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/ebuild-mode-1.64
+ app-emacs/company-mode
+"
+BDEPEND="${RDEPEND}"
diff --git a/app-emacs/company-ebuild/files/50company-ebuild-gentoo.el b/app-emacs/company-ebuild/files/50company-ebuild-gentoo.el
new file mode 100644
index 000000000000..45da4c86348f
--- /dev/null
+++ b/app-emacs/company-ebuild/files/50company-ebuild-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'company-ebuild "company-ebuild"
+ "Company backend for editing Ebuild files." t)
+(autoload 'company-ebuild-setup "company-ebuild"
+ "Setup for Company-Ebuild.")
diff --git a/app-emacs/company-ebuild/metadata.xml b/app-emacs/company-ebuild/metadata.xml
new file mode 100644
index 000000000000..243979d0ba2e
--- /dev/null
+++ b/app-emacs/company-ebuild/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <maintainer status="active">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/company-math/Manifest b/app-emacs/company-math/Manifest
new file mode 100644
index 000000000000..659f450b5ab1
--- /dev/null
+++ b/app-emacs/company-math/Manifest
@@ -0,0 +1 @@
+DIST company-math-1.5.1.tar.gz 10443 BLAKE2B 5e6756b2035867f2931877f7b6d3e10b4b3e3fb20f5c04825496315c7862ee960739a5f23fd96e1c52a301c19e1bf6495f5b4ddc752a89e2dfdb7e42fa1bc143 SHA512 b87e5c83aeb43374d7461de06b9bf5e5a8fb8af7dd75413d00e0586392fb279a13d1d7b40311487d0aec0662868e61e3a00b6e1c08c5e0a44337323ac85e6d85
diff --git a/app-emacs/company-math/company-math-1.5.1.ebuild b/app-emacs/company-math/company-math-1.5.1.ebuild
new file mode 100644
index 000000000000..2fab4c335b55
--- /dev/null
+++ b/app-emacs/company-math/company-math-1.5.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Completion back-ends for for math unicode symbols and latex tags"
+HOMEPAGE="https://github.com/vspinu/company-math/"
+SRC_URI="https://github.com/vspinu/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/math-symbol-lists
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( readme.md img )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/company-math/metadata.xml b/app-emacs/company-math/metadata.xml
new file mode 100644
index 000000000000..608d30eacba2
--- /dev/null
+++ b/app-emacs/company-math/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/vspinu/company-math/issues/</bugs-to>
+ <remote-id type="github">vspinu/company-math</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/company-mode/Manifest b/app-emacs/company-mode/Manifest
index 3db6c9018d79..fd1c9af94f57 100644
--- a/app-emacs/company-mode/Manifest
+++ b/app-emacs/company-mode/Manifest
@@ -1,2 +1,2 @@
-DIST company-mode-0.9.10.tar.gz 85982 BLAKE2B 393e8ff31f4a88d1c156418bd0c827572ec078b833e78bd1007779961e9fb852737f12a5c1aeba154ebba53d81058bdc2871f7d88880aaa7dd8cb9692461c8fb SHA512 b6571c55bcf68a5e83e7c92c8b53e0ac6b4e84bce1246331a7da4495f4ee5c3ab38035310fd2eb7a87748db1c034996d99c7ead8aa831d552800642b31cf9fe0
-DIST company-mode-0.9.13.tar.gz 88074 BLAKE2B 8704d45d0dec15d7fbe39edcdaa3e348263eef4e78a9c55160b4c83df892b73241659dec685e31d7eab5fceaf34a956a7d81d0ec7d3ce134ffda0415a44a7c8c SHA512 d253504e38515335b9a7186c5664e2700ae171e215e8eef1fca28c267d610882dd29c03701efb9d71eac9ec855807aa956411de08a3bd42508f0b0aba38d4dd9
+DIST company-mode-0.10.1.tar.gz 2199879 BLAKE2B 01001537447849ea6a83bc90096945deef76e8b68d2d9d576e4de0742b84ceb4043db5556d548fe3e9d1b187c2dad577fa7364007958e848f52af7f105226348 SHA512 38abeab8a107b36a8ff69c981099d970eb4a9c9004d95414e65510200b9e6ec034b2ed1dc91e2a3cdac620db605297ae090fe75af152be725bc610e582c76e06
+DIST company-mode-0.10.2.tar.gz 2199965 BLAKE2B f5c931fd128543780a3f61f7f25bc0ac58bdc2e974390482374728b9a6059f35562cc2a201484cb3670bdc6dec63eb423b0c7714605df6457da0fa54008a5a4a SHA512 343ddc7cdeb1b6705a4a2a44979f3940034b32c8725eda2cc29673669737dc8d96d266bd2d44755901665706d0b34abc9e3665e24016f55c1646219029796ade
diff --git a/app-emacs/company-mode/company-mode-0.10.1.ebuild b/app-emacs/company-mode/company-mode-0.10.1.ebuild
new file mode 100644
index 000000000000..b2ad4e52baab
--- /dev/null
+++ b/app-emacs/company-mode/company-mode-0.10.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=b3b9fa37ef9fd02471779130a0b53d87fa726ac1
+
+inherit elisp
+
+DESCRIPTION="In-buffer completion front-end"
+HOMEPAGE="https://company-mode.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+
+PATCHES=( "${FILESDIR}"/${PN}-company-icons-root.patch )
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( CONTRIBUTING.md README.md NEWS.md )
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i company.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ emake -C doc company.info
+}
+
+src_test() {
+ emake test-batch
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r icons
+
+ doinfo doc/company.info
+}
diff --git a/app-emacs/company-mode/company-mode-0.10.2.ebuild b/app-emacs/company-mode/company-mode-0.10.2.ebuild
new file mode 100644
index 000000000000..54c0bf43dad6
--- /dev/null
+++ b/app-emacs/company-mode/company-mode-0.10.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="In-buffer completion front-end"
+HOMEPAGE="https://company-mode.github.io/
+ https://github.com/company-mode/company-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="
+ test/elisp-tests.el
+"
+PATCHES=(
+ "${FILESDIR}/${PN}-company-icons-root.patch"
+)
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( CONTRIBUTING.md README.md NEWS.md )
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i company.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ emake -C doc company.info
+}
+
+src_test() {
+ emake test-batch
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+
+ doinfo doc/company.info
+}
diff --git a/app-emacs/company-mode/company-mode-0.9.10.ebuild b/app-emacs/company-mode/company-mode-0.9.10.ebuild
deleted file mode 100644
index 2e6e2a23a92b..000000000000
--- a/app-emacs/company-mode/company-mode-0.9.10.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="In-buffer completion front-end"
-HOMEPAGE="https://company-mode.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-# Note: company-mode supports many backends, and we refrain
-# from including them in RDEPEND.
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md NEWS.md"
diff --git a/app-emacs/company-mode/company-mode-0.9.13.ebuild b/app-emacs/company-mode/company-mode-0.9.13.ebuild
deleted file mode 100644
index 2e6e2a23a92b..000000000000
--- a/app-emacs/company-mode/company-mode-0.9.13.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="In-buffer completion front-end"
-HOMEPAGE="https://company-mode.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-# Note: company-mode supports many backends, and we refrain
-# from including them in RDEPEND.
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md NEWS.md"
diff --git a/app-emacs/company-mode/files/company-mode-company-icons-root.patch b/app-emacs/company-mode/files/company-mode-company-icons-root.patch
new file mode 100644
index 000000000000..69f33323a25d
--- /dev/null
+++ b/app-emacs/company-mode/files/company-mode-company-icons-root.patch
@@ -0,0 +1,11 @@
+--- a/company.el
++++ b/company.el
+@@ -1578,7 +1578,7 @@ end of the match."
+ (defconst company-icons-root
+ (file-name-as-directory
+ (expand-file-name "icons"
+- (file-name-directory (or load-file-name buffer-file-name)))))
++ "@SITEETC@")))
+
+ (defcustom company-icon-size '(auto-scale . 16)
+ "Size of icons indicating completion kind in the popup."
diff --git a/app-emacs/company-quickhelp/Manifest b/app-emacs/company-quickhelp/Manifest
new file mode 100644
index 000000000000..25e4bf68ade5
--- /dev/null
+++ b/app-emacs/company-quickhelp/Manifest
@@ -0,0 +1 @@
+DIST company-quickhelp-2.3.0.tar.gz 64663 BLAKE2B 2ca72d4ecea574790bd796217da32c1dbaf0d637deb52ed20978d62bc4eaea07efda5f4e7163212943b19a1de74a6df06e56a5b835f00a23b0c74dd121451018 SHA512 c1df2c58ac6a089c1a1efe44251112a2c1e8591e168c1d94a2107eeaec02cfbe6ec6232e357eb6f94a799b03fb99da087f69ed6d4e1a315fc9ad268e08d785bd
diff --git a/app-emacs/company-quickhelp/company-quickhelp-2.3.0.ebuild b/app-emacs/company-quickhelp/company-quickhelp-2.3.0.ebuild
new file mode 100644
index 000000000000..ce4c4822138a
--- /dev/null
+++ b/app-emacs/company-quickhelp/company-quickhelp-2.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Company documentation popups for completion candidates"
+HOMEPAGE="https://github.com/company-mode/company-quickhelp/"
+SRC_URI="https://github.com/company-mode/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/pos-tip
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.md README.md company-quickhelp.png )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/company-quickhelp/files/50company-quickhelp-gentoo.el b/app-emacs/company-quickhelp/files/50company-quickhelp-gentoo.el
new file mode 100644
index 000000000000..c974134302a0
--- /dev/null
+++ b/app-emacs/company-quickhelp/files/50company-quickhelp-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'company-quickhelp-local-mode "company-quickhelp"
+ "Provides documentation popups for `company-mode' using `pos-tip'." t)
+(autoload 'company-quickhelp-mode "company-quickhelp"
+ "Toggle Company-Quickhelp mode in all buffers." t)
diff --git a/app-emacs/company-quickhelp/metadata.xml b/app-emacs/company-quickhelp/metadata.xml
new file mode 100644
index 000000000000..1d03dc85b5e9
--- /dev/null
+++ b/app-emacs/company-quickhelp/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/company-mode/company-quickhelp/master/CHANGELOG.md</changelog>
+ <bugs-to>https://github.com/company-mode/company-quickhelp/issues/</bugs-to>
+ <remote-id type="github">company-mode/company-quickhelp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/compat/Manifest b/app-emacs/compat/Manifest
new file mode 100644
index 000000000000..6b3599468d65
--- /dev/null
+++ b/app-emacs/compat/Manifest
@@ -0,0 +1,2 @@
+DIST compat-29.1.4.4.tar.gz 129900 BLAKE2B 460aa851cbb341290cef250e70bf501a30cd174cd135ea429f7a3aa71597804c802c4225424072b49b4b7726b6e31c0ba36e6c0a4e154a2048075697656c2d31 SHA512 b6ecfde494dc5b1e96ed6d6cb450b3b647761c30128859a03d0d054e633227dd0714dd4ee8d39cf9eb4d702e9f08feaba41c39d91e6871724c458173e16d9e89
+DIST compat-29.1.4.5.tar.gz 130079 BLAKE2B 84b3293bec535d7f653d0aa3fac069e230c030ccf809d0a606b068d9d663e078274d15d57ca56fc180208de69ae4fee554fbc3d5e8c78394789ee756665e980f SHA512 9682224a1ab5238c7f584121652c55df257fd050279e8356632b2aafef4045dc89b2dfd20cf8f5030dda1d96db40c993cdc3ac0efd0263d23beee8310def0849
diff --git a/app-emacs/compat/compat-29.1.4.4.ebuild b/app-emacs/compat/compat-29.1.4.4.ebuild
new file mode 100644
index 000000000000..74b338d45fdb
--- /dev/null
+++ b/app-emacs/compat/compat-29.1.4.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Compatibility libraries for Emacs"
+HOMEPAGE="https://github.com/emacs-compat/compat/
+ https://git.sr.ht/~pkal/compat/"
+SRC_URI="https://github.com/emacs-compat/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+
+BDEPEND="sys-apps/texinfo"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ emake compile ${PN}.info
+}
+
+src_test() {
+ local has_json="$("${EMACS}" ${EMACSFLAGS} --eval "(princ (fboundp 'json-parse-string))")"
+ if [[ "${has_json}" != t ]] ; then
+ local line
+ while read line ; do
+ ewarn "${line}"
+ done <<-EOF
+ Your current Emacs version does not support native JSON parsing,
+ which is required for running tests of ${CATEGORY}/${PN}.
+ Emerge >=app-editors/emacs-27 with USE="json" and use "eselect emacs"
+ to select that version.
+ EOF
+ else
+ emake test
+ fi
+}
diff --git a/app-emacs/compat/compat-29.1.4.5.ebuild b/app-emacs/compat/compat-29.1.4.5.ebuild
new file mode 100644
index 000000000000..f9891ce90b16
--- /dev/null
+++ b/app-emacs/compat/compat-29.1.4.5.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Compatibility libraries for Emacs"
+HOMEPAGE="https://github.com/emacs-compat/compat/
+ https://git.sr.ht/~pkal/compat/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-compat/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-compat/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ sys-apps/texinfo
+"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ emake compile "${PN}.info"
+}
+
+src_test() {
+ local has_json="$("${EMACS}" ${EMACSFLAGS} --eval "(princ (fboundp 'json-parse-string))")"
+ if [[ "${has_json}" != t ]] ; then
+ local line
+ while read line ; do
+ ewarn "${line}"
+ done <<-EOF
+ Your current Emacs version does not support native JSON parsing,
+ which is required for running tests of ${CATEGORY}/${PN}.
+ Emerge >=app-editors/emacs-27 with USE="json" and use "eselect emacs"
+ to select that version.
+ EOF
+ else
+ emake test
+ fi
+}
diff --git a/app-emacs/compat/metadata.xml b/app-emacs/compat/metadata.xml
new file mode 100644
index 000000000000..1200c1ebc1c4
--- /dev/null
+++ b/app-emacs/compat/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/emacs-compat/compat/issues/</bugs-to>
+ <remote-id type="github">emacs-compat/compat</remote-id>
+ <remote-id type="sourcehut">~pkal/compat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/consult-flycheck/Manifest b/app-emacs/consult-flycheck/Manifest
new file mode 100644
index 000000000000..d280757355d3
--- /dev/null
+++ b/app-emacs/consult-flycheck/Manifest
@@ -0,0 +1 @@
+DIST consult-flycheck-1.0.tar.gz 2289 BLAKE2B 28848ab2aba8a96aee38e5d9654c096a232a31d62518ff60bf578dfce577bb7d67bdd69013e708b09be99d652c8563a39fb3e31addcb60e0fbb991816bcd31e3 SHA512 fb6d4ac8650b84331683938ac111482f8fedd68661a0bf9982a05e520109b270daa48972b1b56f25308f9c9cce7e6d968c337367035441a2a24fae80ad91c09c
diff --git a/app-emacs/consult-flycheck/consult-flycheck-1.0.ebuild b/app-emacs/consult-flycheck/consult-flycheck-1.0.ebuild
new file mode 100644
index 000000000000..94b3f5f29cfc
--- /dev/null
+++ b/app-emacs/consult-flycheck/consult-flycheck-1.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Consult integration for Flycheck"
+HOMEPAGE="https://github.com/minad/consult-flycheck"
+SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-emacs/consult
+ app-emacs/flycheck
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/consult-flycheck/files/50consult-flycheck-gentoo.el b/app-emacs/consult-flycheck/files/50consult-flycheck-gentoo.el
new file mode 100644
index 000000000000..fb5b6f1d69dd
--- /dev/null
+++ b/app-emacs/consult-flycheck/files/50consult-flycheck-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'consult-flycheck "consult-flycheck" nil t)
diff --git a/app-emacs/consult-flycheck/metadata.xml b/app-emacs/consult-flycheck/metadata.xml
new file mode 100644
index 000000000000..5059203f6129
--- /dev/null
+++ b/app-emacs/consult-flycheck/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">minad/consult-flycheck</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/consult/Manifest b/app-emacs/consult/Manifest
new file mode 100644
index 000000000000..1e3566d6db4f
--- /dev/null
+++ b/app-emacs/consult/Manifest
@@ -0,0 +1,2 @@
+DIST consult-1.4.tar.gz 103709 BLAKE2B 5326856b6bafc0a52d525971d84bd2fd3e0450aa1e8060d9ad49dabc6620fb2b721e5a26ba8d219bd889723109af766ba7fb8faa510301031f9372c798a8853d SHA512 4721820d288a357ea3432a850556a85cb037c1ddc262cada62d75e80641f1b402dd6edfceabb89b8dc386ae391081e02d2550f8773f9760ae267f3af8e381cb6
+DIST consult-1.5.tar.gz 103884 BLAKE2B 3244582f7b5db6e17ef8b42d1482088c263fce02124596728c3afa17673a1e17565b82b2ba37a6843af72279cf36df49febda389c42d5a6c6be8a7a0ca3ad05f SHA512 2e2b96a7bb6b0a311796a76a1f5609f4c7ad48eb1d3c98c6431aeec1803222c437a552483f198de7d195e5a4cded79e00b673382a9cfbefe18864fa2d170f2bf
diff --git a/app-emacs/consult/consult-1.4.ebuild b/app-emacs/consult/consult-1.4.ebuild
new file mode 100644
index 000000000000..ec7220ffd0b6
--- /dev/null
+++ b/app-emacs/consult/consult-1.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27
+
+inherit elisp
+
+DESCRIPTION="Consulting complete-read for GNU Emacs"
+HOMEPAGE="https://github.com/minad/consult/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-28.1"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/consult/consult-1.5.ebuild b/app-emacs/consult/consult-1.5.ebuild
new file mode 100644
index 000000000000..7f3ed9bf0123
--- /dev/null
+++ b/app-emacs/consult/consult-1.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27
+
+inherit elisp
+
+DESCRIPTION="Consulting complete-read for GNU Emacs"
+HOMEPAGE="https://github.com/minad/consult/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-28.1
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/consult/consult-9999.ebuild b/app-emacs/consult/consult-9999.ebuild
new file mode 100644
index 000000000000..7b1398601c9b
--- /dev/null
+++ b/app-emacs/consult/consult-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27
+
+inherit elisp
+
+DESCRIPTION="Consulting complete-read for GNU Emacs"
+HOMEPAGE="https://github.com/minad/consult/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-28.1"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/consult/files/50consult-gentoo.el b/app-emacs/consult/files/50consult-gentoo.el
new file mode 100644
index 000000000000..485f96d1d4b1
--- /dev/null
+++ b/app-emacs/consult/files/50consult-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/consult-autoloads" nil t)
diff --git a/app-emacs/consult/metadata.xml b/app-emacs/consult/metadata.xml
new file mode 100644
index 000000000000..2ee7184765f8
--- /dev/null
+++ b/app-emacs/consult/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">minad/consult</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/corfu/Manifest b/app-emacs/corfu/Manifest
new file mode 100644
index 000000000000..4b85b9a7c190
--- /dev/null
+++ b/app-emacs/corfu/Manifest
@@ -0,0 +1,2 @@
+DIST corfu-1.2.tar.gz 49307 BLAKE2B 69dbc020671ac83a8c858030079f53eb2dd16a4b8a418386f310b56ffc4bc74da87a1f87355daf615eb120962186ae2210b9c1237d62e282b4436cb8433e959e SHA512 b1528e71bc03a5a06428e58009ea4e1bd68d9bc0f38181da910f5a633b35545642dc9fe8e2e39316f2b9bce7c3fc61418225f8243fb86ec2c2d96f7c0e88900b
+DIST corfu-1.3.tar.gz 49907 BLAKE2B 18fbd99fa6d744bf3ad82abf647447770916b84d15ef1a44d4cdc406975ec0c035e75fc5234ce6e13f21840567ad1d574acd25a774585b42522491cdefa93bd6 SHA512 c21962572a101b6e5dd654ac058dd534b450840a97b6d4029b191ddce10a9c6bfc9e631e969ce15789e4fb71ccad66dde509a4c1a7f30a2669327ee84c706987
diff --git a/app-emacs/corfu/corfu-1.2.ebuild b/app-emacs/corfu/corfu-1.2.ebuild
new file mode 100644
index 000000000000..d8351fe993cc
--- /dev/null
+++ b/app-emacs/corfu/corfu-1.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion Overlay Region FUnction"
+HOMEPAGE="https://github.com/minad/corfu/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el . || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/corfu/corfu-1.3.ebuild b/app-emacs/corfu/corfu-1.3.ebuild
new file mode 100644
index 000000000000..d8351fe993cc
--- /dev/null
+++ b/app-emacs/corfu/corfu-1.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion Overlay Region FUnction"
+HOMEPAGE="https://github.com/minad/corfu/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el . || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/corfu/corfu-9999.ebuild b/app-emacs/corfu/corfu-9999.ebuild
new file mode 100644
index 000000000000..e1bbf4ca3ef1
--- /dev/null
+++ b/app-emacs/corfu/corfu-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Completion Overlay Region FUnction"
+HOMEPAGE="https://github.com/minad/corfu/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el . || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/corfu/files/50corfu-gentoo.el b/app-emacs/corfu/files/50corfu-gentoo.el
new file mode 100644
index 000000000000..e80eb907bae9
--- /dev/null
+++ b/app-emacs/corfu/files/50corfu-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/corfu-autoloads" nil t)
diff --git a/app-emacs/corfu/metadata.xml b/app-emacs/corfu/metadata.xml
new file mode 100644
index 000000000000..ab95b8c63633
--- /dev/null
+++ b/app-emacs/corfu/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">minad/corfu</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/counsel/Manifest b/app-emacs/counsel/Manifest
new file mode 100644
index 000000000000..74a1b19737be
--- /dev/null
+++ b/app-emacs/counsel/Manifest
@@ -0,0 +1 @@
+DIST swiper-0.14.2.tar.gz 250059 BLAKE2B 8a5437726c729398a689266d138f271f5f7329f9c58613c4e0cfabd16b99421035c4b522d0ea4c60c0369362cb076bcae05ff4155d33d186172fd0ac2258495d SHA512 e125a3747abc4e6ecc98f539cf5dde11851d6c8a58b8988e165300bce7822fc91257cae09c973bd43435fb08dc24af9a1bd4b3e51083b45654b1605d80973d74
diff --git a/app-emacs/counsel/counsel-0.14.2.ebuild b/app-emacs/counsel/counsel-0.14.2.ebuild
new file mode 100644
index 000000000000..95b41a59e22f
--- /dev/null
+++ b/app-emacs/counsel/counsel-0.14.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Versions of common Emacs commands customized to make the best use of ivy"
+HOMEPAGE="https://github.com/abo-abo/swiper/"
+SRC_URI="https://github.com/abo-abo/swiper/archive/${PV}.tar.gz
+ -> swiper-${PV}.tar.gz"
+S="${WORKDIR}"/swiper-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+RESTRICT="test" # Ivy, Swiper and Counsel tests are performed in app-emacs/ivy
+
+RDEPEND="
+ >=app-emacs/ivy-${PV}
+ >=app-emacs/swiper-${PV}
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-install ${PN} ${PN}.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/counsel/files/50counsel-gentoo.el b/app-emacs/counsel/files/50counsel-gentoo.el
new file mode 100644
index 000000000000..1da49244a09f
--- /dev/null
+++ b/app-emacs/counsel/files/50counsel-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'counsel-mode "counsel"
+ "Toggle Counsel mode on or off." t)
diff --git a/app-emacs/counsel/metadata.xml b/app-emacs/counsel/metadata.xml
new file mode 100644
index 000000000000..a545a2598b22
--- /dev/null
+++ b/app-emacs/counsel/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/abo-abo/swiper/master/doc/Changelog.org</changelog>
+ <bugs-to>https://github.com/abo-abo/swiper/issues/</bugs-to>
+ <remote-id type="github">abo-abo/swiper</remote-id>
+ <doc lang="en">https://oremacs.com/swiper/</doc>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/crux/Manifest b/app-emacs/crux/Manifest
new file mode 100644
index 000000000000..ccee985f8af7
--- /dev/null
+++ b/app-emacs/crux/Manifest
@@ -0,0 +1,2 @@
+DIST crux-0.4.0.tar.gz 12611 BLAKE2B aa5655b703c81db3cd212caba0027873ccfe42e5b22e7534285d36b9eb9fc17178ee5d2b6500feb281f0fb82c18e599e7769d0a6647f75825695ea8eb5aba5c9 SHA512 d961d7f41a184c8521e4cd27e262feda4516807d3157e8ea79bc67086fe65d70be60673246bf3114ddaa50d25caa2622c85a62742e3cd230e5fe69a224ecfa5d
+DIST crux-0.5.0.tar.gz 13100 BLAKE2B dfbe1eb196c5fa0420cba55f726c31bf9144fb312b88dc9414079cb9357e79e0e0ffc23fd25929c2d1e8573e50be617e169f7eb2ff99daaff3df98ef5f4536f6 SHA512 047f40c4a6ca8ad415923809890c957a8746a6bb92e78e161a3403a5e87a2af27c013fe4684a9c1315b4bbcaa29903ac1d8c3e7b50aa82a527ebdcfb1e910274
diff --git a/app-emacs/crux/crux-0.4.0.ebuild b/app-emacs/crux/crux-0.4.0.ebuild
new file mode 100644
index 000000000000..29a1dfdebb87
--- /dev/null
+++ b/app-emacs/crux/crux-0.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Collection of Ridiculously Useful eXtensions for GNU Emacs"
+HOMEPAGE="https://github.com/bbatsov/crux/"
+SRC_URI="https://github.com/bbatsov/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/crux/crux-0.5.0.ebuild b/app-emacs/crux/crux-0.5.0.ebuild
new file mode 100644
index 000000000000..dcc16069ffc5
--- /dev/null
+++ b/app-emacs/crux/crux-0.5.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Collection of Ridiculously Useful eXtensions for GNU Emacs"
+HOMEPAGE="https://github.com/bbatsov/crux/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/bbatsov/${PN}.git"
+else
+ SRC_URI="https://github.com/bbatsov/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/crux/files/50crux-gentoo.el b/app-emacs/crux/files/50crux-gentoo.el
new file mode 100644
index 000000000000..32881b6c6cc0
--- /dev/null
+++ b/app-emacs/crux/files/50crux-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "crux-autoloads" nil t)
diff --git a/app-emacs/crux/metadata.xml b/app-emacs/crux/metadata.xml
new file mode 100644
index 000000000000..870ec9222beb
--- /dev/null
+++ b/app-emacs/crux/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ A Collection of Ridiculously Useful eXtensions for Emacs. crux bundles many
+ useful interactive commands to enhance your overall Emacs experience. Most
+ of the crux commands are related to the editing experience, but there are
+ also a bunch of utility commands that are just very useful to have (e.g.
+ crux-open-with and crux-reopen-as-root). Many of the functions in crux
+ started life as blog posts on Emacs Redux, then were included in Emacs
+ Prelude, before finally being extracted to crux. You can see a full list of
+ blog posts on functions in crux on the tags page.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/bbatsov/crux/issues/</bugs-to>
+ <remote-id type="github">bbatsov/crux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/crypt++/Manifest b/app-emacs/crypt++/Manifest
deleted file mode 100644
index 4b12537558a8..000000000000
--- a/app-emacs/crypt++/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST crypt++-2.94_pre20080430.el.bz2 28692 BLAKE2B 2b7f227b87b16fc6b3fdfdb62059a55c70ee95008a144bc7ec0e8c3f5699ec2ba14989b8ae2da3fa7c4bb56070eac7ea1755caddfd27e6c2a53e8a62068ca6cc SHA512 8e142840f8e2db4688e9ce4432ee14db4225899a88a35dea3e371f829ccfc24faa34c607517e344e7706bf75126d758b0490dd5324efa43d4649de127076a5ce
-DIST crypt++el_2.92.orig.tar.gz 34251 BLAKE2B 579d44269ec84a9548e9e4cb845601027be3862f2f56a2ab99b3c46155f6839c7e5b9426c97ea12ac936df62fb533f5424de8afc7df6983f339eb166b6df6486 SHA512 d3abf169f60c3d1a270149b800d96f7132ebeb99b6952858b81cb2c05ffdce30f6c46f75723490731c47e7eb44515554e012da98351bbd9f9127dcba8453e389
diff --git a/app-emacs/crypt++/crypt++-2.92.ebuild b/app-emacs/crypt++/crypt++-2.92.ebuild
deleted file mode 100644
index a8c8d60499f8..000000000000
--- a/app-emacs/crypt++/crypt++-2.92.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Handle all sorts of compressed and encrypted files"
-HOMEPAGE="https://www.emacswiki.org/emacs/CryptPlusPlus"
-SRC_URI="mirror://debian/pool/main/c/crypt++el/crypt++el_${PV}.orig.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~sparc x86"
-
-S="${WORKDIR}/${PN}el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/crypt++/crypt++-2.94_pre20080430.ebuild b/app-emacs/crypt++/crypt++-2.94_pre20080430.ebuild
deleted file mode 100644
index 5ebd70110e7d..000000000000
--- a/app-emacs/crypt++/crypt++-2.94_pre20080430.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Handle all sorts of compressed and encrypted files"
-HOMEPAGE="https://www.emacswiki.org/emacs/CryptPlusPlus"
-# snapshot from http://cvs.xemacs.org/viewcvs.cgi/XEmacs/packages/xemacs-packages/os-utils/crypt.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/crypt++/files/50crypt++-gentoo.el b/app-emacs/crypt++/files/50crypt++-gentoo.el
deleted file mode 100644
index 0009afdeff1c..000000000000
--- a/app-emacs/crypt++/files/50crypt++-gentoo.el
+++ /dev/null
@@ -1,2 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(require 'crypt++)
diff --git a/app-emacs/crypt++/metadata.xml b/app-emacs/crypt++/metadata.xml
deleted file mode 100644
index ee736d488591..000000000000
--- a/app-emacs/crypt++/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<longdescription>
- crypt++.el is a package of Lisp functions that recognize automatically
- encrypted and encoded (i.e., compressed) files when they are first visited
- or written. The BUFFER corresponding to the file is decoded and/or decrypted
- before it is presented to the user. The file itself is unchanged on the
- disk. When the buffer is subsequently saved to disk, a hook function
- re-encodes the buffer before the actual disk write takes place.
-</longdescription>
-<stabilize-allarches/>
-</pkgmetadata>
diff --git a/app-emacs/csharp-mode/Manifest b/app-emacs/csharp-mode/Manifest
index 90dabfdb372e..b7ee6e4ad4c9 100644
--- a/app-emacs/csharp-mode/Manifest
+++ b/app-emacs/csharp-mode/Manifest
@@ -1 +1 @@
-DIST csharp-mode-0.9.2.tar.gz 52389 BLAKE2B 897d8bf3b9e0963647071628af874a77f7181592fe21f2094082c807cb33d26e43825f36cefcd100ad46dea67d217f99ec89e5f3e2c94a639553d7334ff39bc8 SHA512 da4e0aff63600c01d1571fea19d7892af1c3bd5366b97a1d9321853db7d52f04431f0c7c16371a0ef0f8296ccbf2baf0890ceb67e48a9159faf6fd6d10cb49ab
+DIST csharp-mode-2.0.0.tar.gz 36697 BLAKE2B f4ed14de59e89e09a6da68e6e46ca5acde69eafaa9d6aefdf15d609d828f972ab45769368bc6fe620965d3fa1132e46965080e6538d235cbd9b64e7044b017e9 SHA512 d55c832905af3ce112bdf3b896f056a963c7f13035d474b314599179c448b76b79d9633e493824cda948554ca6d33a6e426b61a7a9230de6523d2427ad72a1d4
diff --git a/app-emacs/csharp-mode/csharp-mode-0.9.2.ebuild b/app-emacs/csharp-mode/csharp-mode-0.9.2.ebuild
deleted file mode 100644
index 3429cd891bdf..000000000000
--- a/app-emacs/csharp-mode/csharp-mode-0.9.2.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A derived Emacs mode implementing most of the C# rules"
-HOMEPAGE="https://github.com/josteink/csharp-mode"
-SRC_URI="https://github.com/josteink/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_install() {
- elisp-install ${PN} csharp-mode.el{,c}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc README.org
-}
diff --git a/app-emacs/csharp-mode/csharp-mode-2.0.0.ebuild b/app-emacs/csharp-mode/csharp-mode-2.0.0.ebuild
new file mode 100644
index 000000000000..047ba7f86bb7
--- /dev/null
+++ b/app-emacs/csharp-mode/csharp-mode-2.0.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A derived Emacs mode implementing most of the C# rules"
+HOMEPAGE="https://github.com/emacs-csharp/csharp-mode"
+SRC_URI="https://github.com/emacs-csharp/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+RESTRICT="test" # tries to install an old version of dash from the network
+
+DOCS=( README.org )
+ELISP_REMOVE="csharp-mode-tests.el" # useless since we can not run tests
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ elisp_pkg_setup
+
+ if ver_test "$(elisp-emacs-version)" -ge 29 ; then
+ ewarn "csharp-mode is included in GNU Emacs >=29,"
+ ewarn "Emacs developers recommend that you use the provided mode instead."
+ fi
+}
diff --git a/app-emacs/csv-mode/Manifest b/app-emacs/csv-mode/Manifest
index 26c77293c2d9..ce0bd30a1206 100644
--- a/app-emacs/csv-mode/Manifest
+++ b/app-emacs/csv-mode/Manifest
@@ -1,2 +1 @@
-DIST csv-mode-1.10.el.xz 19724 BLAKE2B 91e25d93b62a93b28162e259b68267e3c332befcec937c7db7c2d4c222b998606cf100f121f93d3db5216c1d30bb70a4bb79230f2218293dbff2df9766dc937e SHA512 8cb00db46b3bd120414487dc9eb3856f1e79ef5eebaaadcbedf28be66f5615f365b1b4d3a9cd84f442c2d6504c76643d97d07820997beff495989c00174035d3
-DIST csv-mode-1.9.el.xz 17392 BLAKE2B f49ca9612857f8723d6bec35309fa8c357cfb62589404718141e1fa1cf9a7188c759441e7993dc8e2af5424055d2f68f99d7cff8bba80cf0a1ead9785213f0a8 SHA512 fcf008ba30589a57c362f8501a20bcb494ce9e971ff9e2d3833436658295c94af3bc55be8a32e83deed407c19143ca421a33b3a93d7457a272de34f1d758969b
+DIST csv-mode-1.23.tar.xz 20692 BLAKE2B 0289dd5109a00753b101a232f4a901c80126c69de56afa031dd5c7236331e2dfb797fc45ecba1d5fa9a46b1f7b2323a314eb3c1b0f79bc8a51bc0a1b098b9bd7 SHA512 360166b742fa76c1447b156138ad0f3706877e005dcb48580c7d9bf5a48c4edb16522774da2381c2e5dad3bba64ea3a14c4a4581da7f3f59f4945abd6ceafbfb
diff --git a/app-emacs/csv-mode/csv-mode-1.10.ebuild b/app-emacs/csv-mode/csv-mode-1.10.ebuild
deleted file mode 100644
index cacaedf1417a..000000000000
--- a/app-emacs/csv-mode/csv-mode-1.10.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A major mode for editing comma-separated value files"
-HOMEPAGE="https://elpa.gnu.org/packages/csv-mode.html
- https://www.emacswiki.org/emacs/CsvMode"
-# Taken from https://elpa.gnu.org/packages/${P}.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/csv-mode/csv-mode-1.23.ebuild b/app-emacs/csv-mode/csv-mode-1.23.ebuild
new file mode 100644
index 000000000000..e6fb5f32dc0d
--- /dev/null
+++ b/app-emacs/csv-mode/csv-mode-1.23.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="A major mode for editing comma-separated value files"
+HOMEPAGE="https://elpa.gnu.org/packages/csv-mode.html
+ https://www.emacswiki.org/emacs/CsvMode"
+
+# Taken from "https://elpa.gnu.org/packages/${P}.tar".
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc sparc x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert . -l "${PN}-tests.el"
diff --git a/app-emacs/csv-mode/csv-mode-1.9.ebuild b/app-emacs/csv-mode/csv-mode-1.9.ebuild
deleted file mode 100644
index 8cfb088d507b..000000000000
--- a/app-emacs/csv-mode/csv-mode-1.9.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A major mode for editing comma-separated value files"
-HOMEPAGE="https://elpa.gnu.org/packages/csv-mode.html
- https://www.emacswiki.org/emacs/CsvMode"
-# Taken from https://elpa.gnu.org/packages/${P}.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ctable/Manifest b/app-emacs/ctable/Manifest
new file mode 100644
index 000000000000..e955ae5bb449
--- /dev/null
+++ b/app-emacs/ctable/Manifest
@@ -0,0 +1 @@
+DIST ctable-0.1.3.tar.gz 237615 BLAKE2B fe80171389c5e7c96e0867e8464b28bba0901761415b4f06f608f6eb98d825de5a01e4e99cff0657017f0495aba13d51b78734844ea8650b811a8c8706882b1a SHA512 a5b20fd9fa573d6c24b052cc93c83f9012d5de5a097917dcea0f403c9570319a921967e895296d4f8d7a9bcc9d5f46f3c57ee9e6bea44398ac9ad820f8e766c0
diff --git a/app-emacs/ctable/ctable-0.1.3.ebuild b/app-emacs/ctable/ctable-0.1.3.ebuild
new file mode 100644
index 000000000000..c8a56279f1fb
--- /dev/null
+++ b/app-emacs/ctable/ctable-0.1.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=04dbcddeba1da1f39e885bc0d36240ff37d829e9 # ctable.el == 0.1.3 without tag
+
+inherit elisp
+
+DESCRIPTION="Table Component for Emacs Lisp"
+HOMEPAGE="https://github.com/kiwanami/emacs-ctable/"
+SRC_URI="https://github.com/kiwanami/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( readme.md img samples )
+ELISP_REMOVE="test-${PN}.el" # tests are interactive and hang up?
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ctable/metadata.xml b/app-emacs/ctable/metadata.xml
new file mode 100644
index 000000000000..e7c85f1f56dc
--- /dev/null
+++ b/app-emacs/ctable/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/kiwanami/emacs-ctable/issues/</bugs-to>
+ <remote-id type="github">kiwanami/emacs-ctable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/cycle-buffer/cycle-buffer-2.16-r1.ebuild b/app-emacs/cycle-buffer/cycle-buffer-2.16-r1.ebuild
new file mode 100644
index 000000000000..7158dd90fd07
--- /dev/null
+++ b/app-emacs/cycle-buffer/cycle-buffer-2.16-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Select buffer by cycling through"
+HOMEPAGE="https://www.emacswiki.org/emacs/cycle-buffer.el"
+# taken from https://www.emacswiki.org/emacs/download/cycle-buffer.el
+SRC_URI="https://github.com/gavv/distfiles/raw/master/${P}.el.xz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/cycle-buffer/cycle-buffer-2.16.ebuild b/app-emacs/cycle-buffer/cycle-buffer-2.16.ebuild
deleted file mode 100644
index b6dabed75176..000000000000
--- a/app-emacs/cycle-buffer/cycle-buffer-2.16.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Select buffer by cycling through"
-HOMEPAGE="https://www.emacswiki.org/emacs/cycle-buffer.el"
-# taken from https://www.emacswiki.org/emacs/download/cycle-buffer.el
-SRC_URI="https://github.com/gavv/distfiles/raw/master/${P}.el.xz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
diff --git a/app-emacs/d-mode/Manifest b/app-emacs/d-mode/Manifest
index 82f73c9796c9..84775d7a7fd3 100644
--- a/app-emacs/d-mode/Manifest
+++ b/app-emacs/d-mode/Manifest
@@ -1 +1 @@
-DIST d-mode-2.0.10.tar.gz 22394 BLAKE2B 16993c1da1b4362df4ef4674f58645da13466d6bf9a6215667a70868be7f6d3f992f0e60d9a3b6c4bcac7c3f4014fa987bfec2f3ee4e1503740efe316f29d249 SHA512 510ee3b1c1288b4b6772cdc9c436d691cc4c09fd1337886abe9a8c86e64a6fede3d8e2aaf46e847417cb667d36f9c5db3c446e7f5ca88fe2bc8b8fb80bcd1297
+DIST d-mode-2.0.12.tar.gz 41397 BLAKE2B 008125c5eed9867410f0d57d19ebfc380d74837b38a7d0fd37f375168d33c88ea878a4ec69eda5f3f19322dc430df51aab0a0d05f6db5ea9c9c83395e79e2a3c SHA512 d0decab325f9b847a68aef7be4d3fe057613840fc9a49436781154cde0c3e44f5194e9dd5d2d1d154da9f34cd056c5c71c6a36cfc501817d0bd9a8c993f10e66
diff --git a/app-emacs/d-mode/d-mode-2.0.10.ebuild b/app-emacs/d-mode/d-mode-2.0.10.ebuild
deleted file mode 100644
index 4a23ae677547..000000000000
--- a/app-emacs/d-mode/d-mode-2.0.10.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs major mode for editing D code"
-HOMEPAGE="https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode
- https://www.emacswiki.org/emacs/DMode"
-SRC_URI="https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-S="${WORKDIR}/Emacs-D-Mode-${PV}"
-PATCHES=("${FILESDIR}"/${P}-rx-form.patch)
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/d-mode/d-mode-2.0.12.ebuild b/app-emacs/d-mode/d-mode-2.0.12.ebuild
new file mode 100644
index 000000000000..ae388dd29811
--- /dev/null
+++ b/app-emacs/d-mode/d-mode-2.0.12.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for editing D code"
+HOMEPAGE="https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode
+ https://www.emacswiki.org/emacs/DMode"
+SRC_URI="https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Emacs-D-Mode-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -l ${PN}.el -l ${PN}-test.el \
+ -f ert-run-tests-batch-and-exit || die
+}
diff --git a/app-emacs/d-mode/files/d-mode-2.0.10-rx-form.patch b/app-emacs/d-mode/files/d-mode-2.0.10-rx-form.patch
deleted file mode 100644
index 78ed206c3a80..000000000000
--- a/app-emacs/d-mode/files/d-mode-2.0.10-rx-form.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://bugs.gentoo.org/722012
-
-From cfd1d0869d51b7548b3fb738b2f2593c76533d44 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Per=20Nordl=C3=B6w?= <nordlow@users.noreply.github.com>
-Date: Wed, 9 Oct 2019 11:03:00 +0200
-Subject: [PATCH] Use rx-to-string instead of rx-form to support Emacs master
- (#97)
-
----
- d-mode.el | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/d-mode.el b/d-mode.el
-index f8211cd..df72b8d 100644
---- a/d-mode.el
-+++ b/d-mode.el
-@@ -210,7 +210,7 @@ The expression is added to `compilation-error-regexp-alist' and
- (add-to-list
- 'compilation-error-regexp-alist-alist
- `(,symbol
-- ,(rx-form
-+ ,(rx-to-string
- `(and
- line-start
- (group-n 1 (one-or-more any)) ; File name
diff --git a/app-emacs/dap-mode/Manifest b/app-emacs/dap-mode/Manifest
new file mode 100644
index 000000000000..600d1f2a5beb
--- /dev/null
+++ b/app-emacs/dap-mode/Manifest
@@ -0,0 +1,2 @@
+DIST dap-mode-0.7.tar.gz 6147924 BLAKE2B 300a058134e58e5ae5f94fd62251c1c621478b3148e7453ef5acd062a2c6088f0036e3ac2588ce22138d39b77221396c3f310177914b08a2bbc177cfbc14efce SHA512 ba8d8e2b3e9b699b27226b13624b24a6f78ea884fe9e8e7667537e06285354bf996f7f5d621e2576ad34bbf02ede316bf001444b8b5c67fa604aa5dc5d9416ff
+DIST dap-mode-0.8.tar.gz 6376081 BLAKE2B 8823611a6d5b432444ebd880b1295d8553de45aca543eaefad92073da7f3e05a2663ae71920a7c37d8315cbb2134af066631d703d052ac0678416fb9a6692d34 SHA512 2df0cbc216aecbb9b8454ebb7bbd5d20ced051c1d4d64bd2baf589190d8e974d07c7fbb2c57c2fc53007bdf20373f863bf1d483b8b2e1761d165876ee96f5e31
diff --git a/app-emacs/dap-mode/dap-mode-0.7-r1.ebuild b/app-emacs/dap-mode/dap-mode-0.7-r1.ebuild
new file mode 100644
index 000000000000..e3e29dccd103
--- /dev/null
+++ b/app-emacs/dap-mode/dap-mode-0.7-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Debug Adapter Protocol mode"
+HOMEPAGE="https://github.com/emacs-lsp/dap-mode/"
+SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/bui
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/hydra
+ app-emacs/lsp-mode
+ app-emacs/lsp-treemacs
+ app-emacs/posframe
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/ert-runner )
+"
+
+DOCS=( CHANGELOG.org README.org )
+PATCHES=( "${FILESDIR}"/${PN}-dap-ui-images-root-dir.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i dap-ui.el || die
+}
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r icons
+}
diff --git a/app-emacs/dap-mode/dap-mode-0.8.ebuild b/app-emacs/dap-mode/dap-mode-0.8.ebuild
new file mode 100644
index 000000000000..9131842d9a8a
--- /dev/null
+++ b/app-emacs/dap-mode/dap-mode-0.8.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Debug Adapter Protocol mode"
+HOMEPAGE="https://github.com/emacs-lsp/dap-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}"
+else
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/bui
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/hydra
+ app-emacs/lsp-docker
+ app-emacs/lsp-mode
+ app-emacs/lsp-treemacs
+ app-emacs/posframe
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-dap-ui-images-root-dir.patch"
+)
+
+DOCS=( CHANGELOG.org README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i dap-ui.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+}
diff --git a/app-emacs/dap-mode/files/dap-mode-dap-ui-images-root-dir.patch b/app-emacs/dap-mode/files/dap-mode-dap-ui-images-root-dir.patch
new file mode 100644
index 000000000000..53bbb2ad13b2
--- /dev/null
+++ b/app-emacs/dap-mode/files/dap-mode-dap-ui-images-root-dir.patch
@@ -0,0 +1,12 @@
+index ba02fee..56be79f 100644
+--- a/dap-ui.el
++++ b/dap-ui.el
+@@ -486,7 +486,7 @@ DEBUG-SESSION is the debug session triggering the event."
+
+
+ ;; dap-ui posframe stuff
+-(defvar dap-ui--control-images-root-dir (f-join (f-dirname (file-truename (or load-file-name buffer-file-name))) "icons/vscode"))
++(defvar dap-ui--control-images-root-dir "@SITEETC@/icons/vscode")
+ (defvar dap-ui--control-buffer " *dap-ui*")
+
+ (defun dap-ui--create-command (image command hover-text)
diff --git a/app-emacs/dap-mode/metadata.xml b/app-emacs/dap-mode/metadata.xml
new file mode 100644
index 000000000000..c5f3eebffb11
--- /dev/null
+++ b/app-emacs/dap-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/emacs-lsp/dap-mode/master/CHANGELOG.org</changelog>
+ <bugs-to>https://github.com/emacs-lsp/dap-mode/issues/</bugs-to>
+ <remote-id type="github">emacs-lsp/dap-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/dash/Manifest b/app-emacs/dash/Manifest
index 6e738c77cb37..42ab3a0fe6f1 100644
--- a/app-emacs/dash/Manifest
+++ b/app-emacs/dash/Manifest
@@ -1,5 +1 @@
-DIST dash-2.16.0.tar.gz 148151 BLAKE2B 1c51d926a6dd4ecdbc2ad132347af7bbd27e604d6e2c61a6cfe548802b08a57678ca26aba69f8ae27ca7cdeca84cd469bd9a7849bf28c2abae44f7172ad2659d SHA512 a0196327c8e81d1b343bb56de00a3c2f59b1d3f86dc4e923cf350658590fa106aa0be933aa0f51ff3c02d9aff8450c5e055d169ae8fb876be068bf15a52af216
-DIST dash-2.17.0.tar.gz 149379 BLAKE2B d88106b08d1454b483f08db59e641680e7361b4572b47e238b096977ba308eb4c2810621c99e98126a94e4afdba9faf966e3c56cb6f4ad1292ef05fe7cc0546f SHA512 e53fa1bb9e854b446931d943caac719646218c96160f7c50615b5e95866f4db9dffa6e752596e9c223bcd5b39a80c0c75748b0e0564d72ce5825715a29b80d01
-DIST dash-2.18.1.tar.gz 150343 BLAKE2B 5bd0db651830d828c3c51739ab90fb34c1a70b9e72eb434d9dafca0b6e5c6f57bd121eca45fc01a20ce32f20d0c3b49a34bb4a214bacb19712a931e8a587a40b SHA512 f9f0eea41cbf589e2024955f43ec7cd00c37947d07cfd68fe267e541baec1f0c86066c39ad2fb4e467c1cc579c2369a0d75496d176775122e7e48dd24954640c
-DIST dash-2.19.0.tar.gz 155484 BLAKE2B 88ec15c5b566787191ef0b64ef1f6abeb191825ea61bd31358dcc019042c39ba5e4375648e78cf9d1b0d459104ca521d39ebf0d71781ab82c7778869030446bb SHA512 fafb080d3b55184c7304cd6b317b9aaf281427083b7925e233009451449dc4f59077618017b0ddaa91bc87c48dde5f981c6e0f51a19063a35b2ccc1b9ea49b2a
DIST dash-2.19.1.tar.gz 155540 BLAKE2B 6c705d2a3af77c79d91e2fbf5dd766e6d1e6e741a56a8b1e062e9316d2c62f686a6935de46c56bb3a7a27bd823772061329aa09e2e33d68b3bf7a35f65732dc4 SHA512 6822e0068bf2f2082faa4de47521982eba0117037c333178517eca9e6db1c33a2767b250a6ecbd329d2e2ca9e107d2baf0b025e34ba50f1b60da5bb7da06c195
diff --git a/app-emacs/dash/dash-2.16.0.ebuild b/app-emacs/dash/dash-2.16.0.ebuild
deleted file mode 100644
index 7a300dc19a95..000000000000
--- a/app-emacs/dash/dash-2.16.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A modern list library for Emacs"
-HOMEPAGE="https://github.com/magnars/dash.el"
-SRC_URI="https://github.com/magnars/dash.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="sys-apps/texinfo"
-
-S="${WORKDIR}/${PN}.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="dash.texi"
-DOCS="README.md"
-
-src_test() {
- ./run-tests.sh || die
-}
diff --git a/app-emacs/dash/dash-2.17.0.ebuild b/app-emacs/dash/dash-2.17.0.ebuild
deleted file mode 100644
index 62c3a1a1c7f3..000000000000
--- a/app-emacs/dash/dash-2.17.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A modern list library for Emacs"
-HOMEPAGE="https://github.com/magnars/dash.el"
-SRC_URI="https://github.com/magnars/dash.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="sys-apps/texinfo"
-
-S="${WORKDIR}/${PN}.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="dash.texi"
-DOCS="README.md"
-
-src_test() {
- ./run-tests.sh || die
-}
diff --git a/app-emacs/dash/dash-2.18.1.ebuild b/app-emacs/dash/dash-2.18.1.ebuild
deleted file mode 100644
index acf135cdcb37..000000000000
--- a/app-emacs/dash/dash-2.18.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A modern list library for Emacs"
-HOMEPAGE="https://github.com/magnars/dash.el"
-SRC_URI="https://github.com/magnars/dash.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="sys-apps/texinfo"
-
-S="${WORKDIR}/${PN}.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="dash.texi"
-DOCS="README.md"
diff --git a/app-emacs/dash/dash-2.19.0.ebuild b/app-emacs/dash/dash-2.19.0.ebuild
deleted file mode 100644
index fc2e95a1f688..000000000000
--- a/app-emacs/dash/dash-2.19.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-DESCRIPTION="A modern list library for Emacs"
-HOMEPAGE="https://github.com/magnars/dash.el"
-SRC_URI="https://github.com/magnars/dash.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="sys-apps/texinfo"
-
-S="${WORKDIR}/${PN}.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="dash.texi"
-DOCS="README.md"
diff --git a/app-emacs/dash/dash-2.19.1.ebuild b/app-emacs/dash/dash-2.19.1.ebuild
index 3769f002f384..777dcbbf9cfc 100644
--- a/app-emacs/dash/dash-2.19.1.ebuild
+++ b/app-emacs/dash/dash-2.19.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/magnars/dash.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
BDEPEND="sys-apps/texinfo"
diff --git a/app-emacs/dash/files/50dash-gentoo.el b/app-emacs/dash/files/50dash-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/dash/files/50dash-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/dashboard/Manifest b/app-emacs/dashboard/Manifest
new file mode 100644
index 000000000000..7783d4906a36
--- /dev/null
+++ b/app-emacs/dashboard/Manifest
@@ -0,0 +1 @@
+DIST dashboard-1.8.0.tar.gz 195751 BLAKE2B 590ee410bf7d9b613b558f2ddbb032a00ea3034c02311da76d8dc8ff4f5260263dbb335dd05ee22b4bff42910ed63b0421f6737250d5971358566a2b32054aa3 SHA512 a15d3200cd0a658c5b37a50b3f4a693c1d027faba6797e88203633f4c40fd26e576afdb4e66205ba3c50f2a73e0acc9ff7f26afa7e09f7ca080a0c38742b84cf
diff --git a/app-emacs/dashboard/dashboard-1.8.0.ebuild b/app-emacs/dashboard/dashboard-1.8.0.ebuild
new file mode 100644
index 000000000000..6252d3ff922d
--- /dev/null
+++ b/app-emacs/dashboard/dashboard-1.8.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Extensible Emacs dashboard, with sections like bookmarks, agenda and more"
+HOMEPAGE="https://github.com/emacs-dashboard/emacs-dashboard/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-dashboard/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-dashboard/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-${PN}-${PV}
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.md README.org etc )
+PATCHES=( "${FILESDIR}"/${PN}-1.8.0-dashboard-widgets.el-banners.patch )
+
+ELISP_REMOVE=( .dir-locals.el )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i dashboard-widgets.el || die
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -L . -L test -l ${PN}.el -l test/activate.el || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins -r banners
+}
diff --git a/app-emacs/dashboard/dashboard-9999.ebuild b/app-emacs/dashboard/dashboard-9999.ebuild
new file mode 100644
index 000000000000..8b610651c79f
--- /dev/null
+++ b/app-emacs/dashboard/dashboard-9999.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Extensible Emacs dashboard, with sections like bookmarks, agenda and more"
+HOMEPAGE="https://github.com/emacs-dashboard/emacs-dashboard/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-dashboard/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-dashboard/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-${PN}-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.md README.org etc )
+PATCHES=( "${FILESDIR}"/${PN}-1.8.0-dashboard-widgets.el-banners.patch )
+
+ELISP_REMOVE=( .dir-locals.el )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i dashboard-widgets.el || die
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -L . -L test -l ${PN}.el -l test/activate.el || die "tests failed"
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins -r banners
+}
diff --git a/app-emacs/dashboard/files/50dashboard-gentoo.el b/app-emacs/dashboard/files/50dashboard-gentoo.el
new file mode 100644
index 000000000000..99dbca09ee09
--- /dev/null
+++ b/app-emacs/dashboard/files/50dashboard-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'dashboard-setup-startup-hook "dashboard"
+ "Setup post initialization hooks." t)
diff --git a/app-emacs/dashboard/files/dashboard-1.8.0-dashboard-widgets.el-banners.patch b/app-emacs/dashboard/files/dashboard-1.8.0-dashboard-widgets.el-banners.patch
new file mode 100644
index 000000000000..9ce24c2d9bd6
--- /dev/null
+++ b/app-emacs/dashboard/files/dashboard-1.8.0-dashboard-widgets.el-banners.patch
@@ -0,0 +1,12 @@
+index 494ea0d..1ae6ebb 100644
+--- a/dashboard-widgets.el
++++ b/dashboard-widgets.el
+@@ -136,7 +136,7 @@ preserved."
+ :group 'dashboard)
+
+ (defconst dashboard-banners-directory
+- (concat (file-name-directory (locate-library "dashboard")) "banners/")
++ "@SITEETC@/banners/"
+ "Default banner directory.")
+
+ (defconst dashboard-banner-official-png
diff --git a/app-emacs/dashboard/metadata.xml b/app-emacs/dashboard/metadata.xml
new file mode 100644
index 000000000000..888bda3ae5f8
--- /dev/null
+++ b/app-emacs/dashboard/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/emacs-dashboard/emacs-dashboard/master/CHANGELOG.md</changelog>
+ <bugs-to>https://github.com/emacs-dashboard/emacs-dashboard/issues/</bugs-to>
+ <remote-id type="github">emacs-dashboard/emacs-dashboard</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/ddskk/Manifest b/app-emacs/ddskk/Manifest
index 0f9fdc042075..a43cb4acadb8 100644
--- a/app-emacs/ddskk/Manifest
+++ b/app-emacs/ddskk/Manifest
@@ -1,3 +1 @@
-DIST ddskk-16.2.tar.gz 886618 BLAKE2B 854b9d57993e8f69af4035df49511ec110a1afd83ee290be8934283fc5f2a1a648b80f80811396083fa019d9eb12469998ff26b692296dd770c21da81c3cad3e SHA512 591d66e2d217a289ce8273ed7da10c0ed72029e961efde0537044f7ad3f5f46943cf5c71ec1d97a27743fcea91a9fab81c86e2772047892f53e2852bf58ef45c
-DIST ddskk-16.3.tar.gz 1252772 BLAKE2B 133685fc0587e10c89145eeaf014c8e0d1ce0dad63b9207559030598f521aee00facbca9550753493e579d5acec10e8b36c1499087d1b6c05317754c434b9b69 SHA512 47624690851269ca818bed5cfdfdb21bbbd3152c0a7c64a114ab595a92d2e79600fe738953e6a73a26b0195102eb1e9e03ad4f6bfca1bc4d3e3732bf59aa8a27
DIST ddskk-17.1.tar.gz 952635 BLAKE2B fae34e37f972250d5e48f316fb90418b4b902684431c6ed18f44f3b5155556ceac1b04c8f8542c5651233e36085f864bac41381069dd70e841fdd9eedf7273ed SHA512 e0b924111a6289acd29ee5a5d94ea70730fe8f4e1dd5ed279520263efab0c69a6940e5b1b6182e45ed30c0b1ddca9e44ff75b7b3fdab5c8a3e1b2b9f82cc20fa
diff --git a/app-emacs/ddskk/ddskk-16.2.ebuild b/app-emacs/ddskk/ddskk-16.2.ebuild
deleted file mode 100644
index 6e93fa9e0178..000000000000
--- a/app-emacs/ddskk/ddskk-16.2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-USE_RUBY="ruby24 ruby25 ruby26"
-NEED_EMACS="24"
-
-inherit elisp ruby-single
-
-DESCRIPTION="One Japanese input methods on Emacs"
-HOMEPAGE="http://openlab.ring.gr.jp/skk/"
-SRC_URI="http://openlab.ring.gr.jp/skk/maintrunk/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="ruby"
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="|| (
- app-i18n/skk-jisyo
- virtual/skkserv
- )
- ruby? ( ${RUBY_DEPS} )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- echo "(setq PREFIX \"${ED}/usr\")" >>SKK-CFG
- echo "(setq SKK_LISPDIR \"${ED}/${SITELISP}/${PN}\")" >>SKK-CFG
-
- echo "(add-to-list 'load-path (expand-file-name \"..\"))" >> nicola/NICOLA-DDSKK-CFG
-
- default
-
- rm -f skk-lookup.el
- if use ruby; then
- cp bayesian/*.el . || die
- fi
- cp tut-code/*.el . || die
-}
-
-src_compile() {
- emake elc info
-
- emake -C nicola
-}
-
-src_install() {
- local lispdir=${SITELISP}/${PN}
- emake install-elc
- elisp-compile "${ED}"/${lispdir}/skk-setup.el
- rm -f "${ED}"/${lispdir}/leim-list.el
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-
- dodoc ChangeLog* README.md READMEs/{AUTHORS,CODENAME,Contributors,FAQ,NEWS,PROPOSAL,TODO}*
- doinfo doc/skk.info
-
- local exts=( nicola tut-code ) d f
- elisp-install ${PN} nicola/*.{el,elc}
- if use ruby; then
- dobin bayesian/bskk
- exts+=( bayesian )
- fi
- for d in ${exts[@]}; do
- docinto ${d}
- for f in ${d}/{ChangeLog,README}*; do
- [[ -s ${f} ]] && dodoc ${f}
- done
- done
-}
diff --git a/app-emacs/ddskk/ddskk-16.3.ebuild b/app-emacs/ddskk/ddskk-16.3.ebuild
deleted file mode 100644
index 4f37c7983dae..000000000000
--- a/app-emacs/ddskk/ddskk-16.3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-USE_RUBY="ruby24 ruby25 ruby26"
-NEED_EMACS="24"
-
-inherit elisp ruby-single vcs-snapshot
-
-DESCRIPTION="One Japanese input methods on Emacs"
-HOMEPAGE="http://openlab.ring.gr.jp/skk/"
-SRC_URI="https://github.com/skk-dev/${PN}/archive/${P}_Kutomatsunai.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="ruby"
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="|| (
- app-i18n/skk-jisyo
- virtual/skkserv
- )
- ruby? ( ${RUBY_DEPS} )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- echo "(setq PREFIX \"${ED}/usr\")" >>SKK-CFG
- echo "(setq SKK_LISPDIR \"${ED}/${SITELISP}/${PN}\")" >>SKK-CFG
-
- echo "(add-to-list 'load-path (expand-file-name \"..\"))" >> nicola/NICOLA-DDSKK-CFG
-
- default
-
- rm -f skk-lookup.el
- if use ruby; then
- cp bayesian/*.el . || die
- fi
- cp tut-code/*.el . || die
-}
-
-src_compile() {
- emake elc info
-
- emake -C nicola
-}
-
-src_install() {
- local lispdir=${SITELISP}/${PN}
- emake install-elc
- elisp-compile "${ED}"/${lispdir}/skk-setup.el
- rm -f "${ED}"/${lispdir}/leim-list.el
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-
- dodoc ChangeLog* README.md READMEs/{AUTHORS,CODENAME,Contributors,FAQ,NEWS,PROPOSAL,TODO}*
- doinfo doc/skk.info
-
- local exts=( nicola tut-code ) d f
- elisp-install ${PN} nicola/*.{el,elc}
- if use ruby; then
- dobin bayesian/bskk
- exts+=( bayesian )
- fi
- for d in ${exts[@]}; do
- docinto ${d}
- for f in ${d}/{ChangeLog,README}*; do
- [[ -s ${f} ]] && dodoc ${f}
- done
- done
-}
diff --git a/app-emacs/ddskk/ddskk-17.1-r1.ebuild b/app-emacs/ddskk/ddskk-17.1-r1.ebuild
new file mode 100644
index 000000000000..99ad56fb19b2
--- /dev/null
+++ b/app-emacs/ddskk/ddskk-17.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31"
+
+inherit elisp ruby-single vcs-snapshot
+
+DESCRIPTION="One Japanese input methods on Emacs"
+HOMEPAGE="http://openlab.ring.gr.jp/skk/"
+SRC_URI="https://github.com/skk-dev/${PN}/archive/${P}_Neppu.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="ruby"
+RESTRICT="test"
+
+RDEPEND="|| (
+ app-i18n/skk-jisyo
+ virtual/skkserv
+ )
+ ruby? ( ${RUBY_DEPS} )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ echo "(add-to-list 'load-path (expand-file-name \"..\"))" \
+ >>nicola/NICOLA-DDSKK-CFG || die
+
+ default
+
+ rm -f skk-lookup.el || die
+ if use ruby; then
+ cp bayesian/*.el . || die
+ fi
+ cp tut-code/*.el . || die
+}
+
+src_compile() {
+ emake elc info
+ emake -C nicola
+}
+
+src_install() {
+ local lispdir="${SITELISP}/${PN}"
+
+ echo "(setq PREFIX \"${ED}/usr\")" >>SKK-CFG || die
+ echo "(setq SKK_LISPDIR \"${ED}${lispdir}\")" >>SKK-CFG || die
+
+ emake install-elc
+ elisp-compile "${ED}${lispdir}"/skk-setup.el
+ rm -f "${ED}${lispdir}"/leim-list.el || die
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+
+ doinfo doc/skk.info
+ dodoc ChangeLog* README.md \
+ READMEs/{AUTHORS,CODENAME,Contributors,FAQ,NEWS,PROPOSAL,TODO}*
+
+ local exts=( nicola tut-code ) d f
+ elisp-install ${PN} nicola/*.{el,elc}
+
+ if use ruby; then
+ dobin bayesian/bskk
+ exts+=( bayesian )
+ fi
+
+ for d in ${exts[@]}; do
+ docinto ${d}
+ for f in ${d}/{ChangeLog,README}*; do
+ [[ -s ${f} ]] && dodoc ${f}
+ done
+ done
+}
diff --git a/app-emacs/ddskk/ddskk-17.1.ebuild b/app-emacs/ddskk/ddskk-17.1.ebuild
deleted file mode 100644
index beefab39e5ae..000000000000
--- a/app-emacs/ddskk/ddskk-17.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-USE_RUBY="ruby25 ruby26 ruby27"
-NEED_EMACS="24.3"
-
-inherit elisp ruby-single vcs-snapshot
-
-DESCRIPTION="One Japanese input methods on Emacs"
-HOMEPAGE="http://openlab.ring.gr.jp/skk/"
-SRC_URI="https://github.com/skk-dev/${PN}/archive/${P}_Neppu.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="ruby"
-RESTRICT="test"
-
-DEPEND=""
-RDEPEND="|| (
- app-i18n/skk-jisyo
- virtual/skkserv
- )
- ruby? ( ${RUBY_DEPS} )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- echo "(setq PREFIX \"${ED}/usr\")" >>SKK-CFG
- echo "(setq SKK_LISPDIR \"${ED}/${SITELISP}/${PN}\")" >>SKK-CFG
-
- echo "(add-to-list 'load-path (expand-file-name \"..\"))" >> nicola/NICOLA-DDSKK-CFG
-
- default
-
- rm -f skk-lookup.el
- if use ruby; then
- cp bayesian/*.el . || die
- fi
- cp tut-code/*.el . || die
-}
-
-src_compile() {
- emake elc info
-
- emake -C nicola
-}
-
-src_install() {
- local lispdir=${SITELISP}/${PN}
- emake install-elc
- elisp-compile "${ED}"/${lispdir}/skk-setup.el
- rm -f "${ED}"/${lispdir}/leim-list.el
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-
- dodoc ChangeLog* README.md READMEs/{AUTHORS,CODENAME,Contributors,FAQ,NEWS,PROPOSAL,TODO}*
- doinfo doc/skk.info
-
- local exts=( nicola tut-code ) d f
- elisp-install ${PN} nicola/*.{el,elc}
- if use ruby; then
- dobin bayesian/bskk
- exts+=( bayesian )
- fi
- for d in ${exts[@]}; do
- docinto ${d}
- for f in ${d}/{ChangeLog,README}*; do
- [[ -s ${f} ]] && dodoc ${f}
- done
- done
-}
diff --git a/app-emacs/deferred/Manifest b/app-emacs/deferred/Manifest
new file mode 100644
index 000000000000..e6e48ba7ba57
--- /dev/null
+++ b/app-emacs/deferred/Manifest
@@ -0,0 +1 @@
+DIST deferred-0.5.1.tar.gz 55894 BLAKE2B 61ba363620d56ad4c5f3fb9434f9550015681f6b8eafb318a9e6aa227aa17875218c12338fe377a840bdc429972d6e285a9744ec6640f277bfe7e4bdaee4a733 SHA512 357890f73917c7929cbb79f71a26901ac24abe9ea532181b730deee8eba97709b41c360904e2a2a8028ee1295e7ae845da5c702c74256a450f3d144080960a2b
diff --git a/app-emacs/deferred/deferred-0.5.1.ebuild b/app-emacs/deferred/deferred-0.5.1.ebuild
new file mode 100644
index 000000000000..a100c8ead3a6
--- /dev/null
+++ b/app-emacs/deferred/deferred-0.5.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Deferred and Concurrent - simple asynchronous functions for Emacs Lisp"
+HOMEPAGE="https://github.com/kiwanami/emacs-deferred/"
+SRC_URI="https://github.com/kiwanami/emacs-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~arm64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/ert-runner
+ app-emacs/undercover
+ )
+"
+
+DOCS=( README-concurrent.ja.markdown README-concurrent.markdown
+ README.ja.markdown README.markdown sample )
+
+# "Concurrent" tests pass, "Deferred" tests are malformed
+ELISP_REMOVE="test/${PN}-test.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner --reporter ert+duration || die
+}
diff --git a/app-emacs/deferred/metadata.xml b/app-emacs/deferred/metadata.xml
new file mode 100644
index 000000000000..3cf9eb148d2c
--- /dev/null
+++ b/app-emacs/deferred/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/kiwanami/emacs-deferred/issues/</bugs-to>
+ <remote-id type="github">kiwanami/emacs-deferred</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/deft/Manifest b/app-emacs/deft/Manifest
new file mode 100644
index 000000000000..239cd183237e
--- /dev/null
+++ b/app-emacs/deft/Manifest
@@ -0,0 +1 @@
+DIST deft-08_p20210707.tar.gz 25162 BLAKE2B 0f7f5d2f298887474de5c77f657e1c5e9dafb6a58e4b564dd87e57b76ef263672a8465506c2855d9c10cf38470bdcb5644db457dd2294e9365715b64215482e0 SHA512 8e099249357fa0bec4b3f2c9fad081d2d19efb27820195d27a30cdb02cfe3013f6f68fba2acd645b3a01d9abd809ea032bb51a7cd250d2fdc4d162a45ddd3ea7
diff --git a/app-emacs/deft/deft-08_p20210707.ebuild b/app-emacs/deft/deft-08_p20210707.ebuild
new file mode 100644
index 000000000000..e643dc169a3f
--- /dev/null
+++ b/app-emacs/deft/deft-08_p20210707.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=28be94d89bff2e1c7edef7244d7c5ba0636b1296
+
+inherit elisp
+
+DESCRIPTION="Quickly browse, filter and edit directories of plain text notes"
+HOMEPAGE="https://github.com/jrblevin/deft/"
+SRC_URI="https://github.com/jrblevin/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/deft/files/50deft-gentoo.el b/app-emacs/deft/files/50deft-gentoo.el
new file mode 100644
index 000000000000..cc7fdfa63ed6
--- /dev/null
+++ b/app-emacs/deft/files/50deft-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'deft "deft"
+ "Switch to *Deft* buffer and load files." t)
+(autoload 'deft-find-file "deft"
+ "Find FILE interactively using the minibuffer." t)
+(autoload 'deft-new-file "deft"
+ "Create a new file quickly." t)
diff --git a/app-emacs/deft/metadata.xml b/app-emacs/deft/metadata.xml
new file mode 100644
index 000000000000..9e917250ef90
--- /dev/null
+++ b/app-emacs/deft/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jrblevin/deft/issues/</bugs-to>
+ <remote-id type="github">jrblevin/deft</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/demap/Manifest b/app-emacs/demap/Manifest
new file mode 100644
index 000000000000..cd10a00d2319
--- /dev/null
+++ b/app-emacs/demap/Manifest
@@ -0,0 +1 @@
+DIST demap.el-v1.4.0.tar.gz 26998 BLAKE2B 410cb79fffbe562861c2c91d3a8284303ae71edf5a3c331bd0c86b1aef7cfa18c731853c425bf208073da26815651e02e49faa2f93eeb667f53cf6c0a1920f08 SHA512 4f21e9135645df17fbb9a0d2f8031ad6ab0af23af9c8f4744c1510a534ea7c518bc6d0be4801484121b040e952f182d0b70dc3505e4e7534114f53a1e8ae1723
diff --git a/app-emacs/demap/demap-1.4.0.ebuild b/app-emacs/demap/demap-1.4.0.ebuild
new file mode 100644
index 000000000000..ff9e6adcef03
--- /dev/null
+++ b/app-emacs/demap/demap-1.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Detachable minimap for Emacs"
+HOMEPAGE="https://gitlab.com/sawyerjgardner/demap.el/"
+SRC_URI="https://gitlab.com/sawyerjgardner/${PN}.el/-/archive/v${PV}/${PN}.el-v${PV}.tar.gz"
+S="${WORKDIR}"/${PN}.el-v${PV}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 x86"
+SLOT="0"
+
+# "make test" is just a practical check if "demap-open" works, maintainers of
+# this package could check themselves if it still works after installation.
+# Notice that we autolaod only the "demap-toggle" function (not "demap-open").
+RESTRICT="test"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/demap/files/50demap-gentoo.el b/app-emacs/demap/files/50demap-gentoo.el
new file mode 100644
index 000000000000..bcd35f5b7298
--- /dev/null
+++ b/app-emacs/demap/files/50demap-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'demap-toggle "demap"
+ "Toggle side window showing a minimap." t)
diff --git a/app-emacs/demap/metadata.xml b/app-emacs/demap/metadata.xml
new file mode 100644
index 000000000000..0f222a2cdbbf
--- /dev/null
+++ b/app-emacs/demap/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ demap.el adds a minimap that shows a zoomed out view of the active window's
+ buffer. You can toggle showing the minimap in a side window with
+ "demap-toggle". This package has a few advantages over other minimap
+ packages: support for detaching minimaps and having them on a different
+ frame then the active window; support for multiple minimap buffers, with
+ their own buffer local definitions on what buffers it can show and how to
+ show them; having the minimap on the side of the frame rather then on the
+ side of the active window by default.
+ </longdescription>
+ <upstream>
+ <changelog>https://gitlab.com/sawyerjgardner/demap.el/-/releases/</changelog>
+ <bugs-to>https://gitlab.com/sawyerjgardner/demap.el/-/issues/</bugs-to>
+ <remote-id type="gitlab">sawyerjgardner/demap.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/denote/Manifest b/app-emacs/denote/Manifest
new file mode 100644
index 000000000000..707b531d0632
--- /dev/null
+++ b/app-emacs/denote/Manifest
@@ -0,0 +1,2 @@
+DIST denote-2.1.0.tar.gz 194241 BLAKE2B 2d3a279f99bbaa7d924c17b4df960f725fa548a5f809c51abea9f8c66c2e7bbba0cc3bfe1d71fb187542f5acc7f8272ea14f352b6122872bdbc41a7110660adc SHA512 5f36e7a2b6802fa9623226318762a06fc542589773a4441d19b02efe2e75c04753971726029150ddba8faf5a56c5030239f09c4942757ad7f7374c1ca587b390
+DIST denote-2.2.0.tar.gz 206136 BLAKE2B f2740d4428130cd3583e139cb4bdd4a48d8ab93b112b584710258474217f1569177ee8a62d75c7324d84118fa608ac737e894014acbbd59ac2659b3c93e01543 SHA512 f6243b04a12efbcb3339fcdddabc1ea9d14ab56398616a15db2170834b5ecc66556f5bbc15fad8775b33191742706e5a469839c5ea18bc07a1669c2750604915
diff --git a/app-emacs/denote/denote-2.1.0.ebuild b/app-emacs/denote/denote-2.1.0.ebuild
new file mode 100644
index 000000000000..244dcb96f2d8
--- /dev/null
+++ b/app-emacs/denote/denote-2.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=28.1
+
+inherit elisp
+
+DESCRIPTION="Simple notes for Emacs with an efficient file-naming scheme"
+HOMEPAGE="https://protesilaos.com/emacs/denote/
+ https://github.com/protesilaos/denote/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Some tests fail.
+
+DOCS=( CHANGELOG.org README.md )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert tests
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/denote/denote-2.2.0.ebuild b/app-emacs/denote/denote-2.2.0.ebuild
new file mode 100644
index 000000000000..244dcb96f2d8
--- /dev/null
+++ b/app-emacs/denote/denote-2.2.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=28.1
+
+inherit elisp
+
+DESCRIPTION="Simple notes for Emacs with an efficient file-naming scheme"
+HOMEPAGE="https://protesilaos.com/emacs/denote/
+ https://github.com/protesilaos/denote/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Some tests fail.
+
+DOCS=( CHANGELOG.org README.md )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert tests
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/denote/files/50denote-gentoo.el b/app-emacs/denote/files/50denote-gentoo.el
new file mode 100644
index 000000000000..a11724713f3f
--- /dev/null
+++ b/app-emacs/denote/files/50denote-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "denote-autoloads" nil t)
diff --git a/app-emacs/denote/metadata.xml b/app-emacs/denote/metadata.xml
new file mode 100644
index 000000000000..79df27f32138
--- /dev/null
+++ b/app-emacs/denote/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Denote is a simple note-taking tool for Emacs. It is based on the idea that
+ notes should follow a predictable and descriptive file-naming scheme. The
+ file name must offer a clear indication of what the note is about, without
+ reference to any other metadata. Denote basically streamlines the creation
+ of such files while providing facilities to link between them.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/protesilaos/denote/issues/</bugs-to>
+ <remote-id type="github">protesilaos/denote</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/desktop-entry-mode/Manifest b/app-emacs/desktop-entry-mode/Manifest
new file mode 100644
index 000000000000..0bc54c31285e
--- /dev/null
+++ b/app-emacs/desktop-entry-mode/Manifest
@@ -0,0 +1 @@
+DIST desktop-file-utils-0.27.tar.xz 80808 BLAKE2B 66708cd11d5f81824cad814846cdeac6c339e8e93a7f1dceaeed545d9dc1940523fd64ae890e54632b3d32cc91b258aabd41d6d467081539f978ae2993fdfb22 SHA512 81356239a92fb17885aa85a5192c84c2757ebb2e540920d0d41d07035795f08f4162f41b1a87bb2bfcf70ec61f19f1f158e4395a359f46b46f68cb9e24f259a8
diff --git a/app-emacs/desktop-entry-mode/desktop-entry-mode-0.27-r1.ebuild b/app-emacs/desktop-entry-mode/desktop-entry-mode-0.27-r1.ebuild
new file mode 100644
index 000000000000..ac8507423c20
--- /dev/null
+++ b/app-emacs/desktop-entry-mode/desktop-entry-mode-0.27-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for handling freedesktop.org desktop entry files"
+HOMEPAGE="https://gitlab.freedesktop.org/xdg/desktop-file-utils"
+SRC_URI="https://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-${PV}.tar.xz"
+S="${WORKDIR}"/desktop-file-utils-${PV}/misc
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="!<dev-util/desktop-file-utils-0.27-r1[emacs(-)]"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/desktop-entry-mode/files/50desktop-entry-mode-gentoo.el b/app-emacs/desktop-entry-mode/files/50desktop-entry-mode-gentoo.el
new file mode 100644
index 000000000000..546947a0b374
--- /dev/null
+++ b/app-emacs/desktop-entry-mode/files/50desktop-entry-mode-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'desktop-entry-mode "desktop-entry-mode" "Desktop Entry mode" t)
+(add-to-list 'auto-mode-alist
+ '("\\.desktop\\(\\.in\\)?$" . desktop-entry-mode))
+(add-hook 'desktop-entry-mode-hook 'turn-on-font-lock)
diff --git a/app-emacs/desktop-entry-mode/metadata.xml b/app-emacs/desktop-entry-mode/metadata.xml
new file mode 100644
index 000000000000..a115cf596480
--- /dev/null
+++ b/app-emacs/desktop-entry-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/app-emacs/devil/Manifest b/app-emacs/devil/Manifest
new file mode 100644
index 000000000000..a80696c5c480
--- /dev/null
+++ b/app-emacs/devil/Manifest
@@ -0,0 +1,2 @@
+DIST devil-0.5.0.tar.gz 23853 BLAKE2B a056c3fe984189289c19acd16128755821c54fb26abc0bde20ddf0951aba85fe0ee1f8b287bef0d80c40559ac5eff047a97f4a5466425ef95a303032d58499c6 SHA512 3bdb62826e15282e7f08401b57557b27de6c000f5aa1cfed8587670d3a87bd0d1d7e6bf916ef3d4e1efa1e8cdb8dffb496d19d5f3812b1087caea7d8350b6933
+DIST devil-0.6.0.tar.gz 23943 BLAKE2B a3d6edb70b3e97c28ef35a428b058fc3202e654c98216aaf0ae96f9d8b3b154b81e53b6af07b56d5143814ea4df171c9481bf4690b49d6628b098d86fa9d0e2b SHA512 d45a876da49784e6f8b7d4c2f77dd68077be69fb559abb797ef08f19ac91a9bfd4f84749d3e3eea0e719778c4151b2034530c4d789034506256bd9fcb110559c
diff --git a/app-emacs/devil/devil-0.5.0.ebuild b/app-emacs/devil/devil-0.5.0.ebuild
new file mode 100644
index 000000000000..3331c9ddef6e
--- /dev/null
+++ b/app-emacs/devil/devil-0.5.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Provides a modifier-free editing experience"
+HOMEPAGE="https://github.com/susam/devil"
+SRC_URI="https://github.com/susam/devil/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( MANUAL.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ elisp-test-ert . -l ${PN}-tests.el
+}
diff --git a/app-emacs/devil/devil-0.6.0.ebuild b/app-emacs/devil/devil-0.6.0.ebuild
new file mode 100644
index 000000000000..3331c9ddef6e
--- /dev/null
+++ b/app-emacs/devil/devil-0.6.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Provides a modifier-free editing experience"
+HOMEPAGE="https://github.com/susam/devil"
+SRC_URI="https://github.com/susam/devil/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( MANUAL.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ elisp-test-ert . -l ${PN}-tests.el
+}
diff --git a/app-emacs/devil/files/50devil-gentoo.el b/app-emacs/devil/files/50devil-gentoo.el
new file mode 100644
index 000000000000..6386b20c5934
--- /dev/null
+++ b/app-emacs/devil/files/50devil-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/devil-autoloads" nil t)
diff --git a/app-emacs/devil/metadata.xml b/app-emacs/devil/metadata.xml
new file mode 100644
index 000000000000..69f000a387de
--- /dev/null
+++ b/app-emacs/devil/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">susam/devil</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/dictionary/Manifest b/app-emacs/dictionary/Manifest
index 770384e42545..823b9c78164b 100644
--- a/app-emacs/dictionary/Manifest
+++ b/app-emacs/dictionary/Manifest
@@ -1 +1 @@
-DIST dictionary-1.10.tar.gz 33332 BLAKE2B be0e5d851d3d66f7bb0bf08a7763d3c1e54ed8023ee9d0e3560965baad8cddb67894d85f6ace8caac6d2c1aedf24b3b753d7e48e706a49ace1a1a8ba0edf1b42 SHA512 7f5ec0e023ea2ab3f42fbf9200c1ac86cbcb330c14d2fce791f65cdce010d7e6a6c72e0589769dd94fe3c3d7543b730aacfb373e496933caccf8542224bfa356
+DIST dictionary-1.11.tar.gz 33895 BLAKE2B 748b10adf5a9ab1e2cc50d468ecfe122b8911b05c989b8d48f47ecf93056dd35675f6c1c498abc284dcebf39b97649d890524e49932e501d0ae1afd2df38c999 SHA512 a8b1af8b844c153a39ee3e4c58492577064c42ddd5d7e5c923809488ce9650bb7bbf74d63a587cb9caa18d20b214a3df1bc1866386c0bacc60db2cdb1c1e8436
diff --git a/app-emacs/dictionary/dictionary-1.10.ebuild b/app-emacs/dictionary/dictionary-1.10.ebuild
deleted file mode 100644
index a6eaf246f1f6..000000000000
--- a/app-emacs/dictionary/dictionary-1.10.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs package for talking to a dictionary server"
-HOMEPAGE="https://www.myrkr.in-berlin.de/dictionary/index.html"
-SRC_URI="https://www.myrkr.in-berlin.de/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-ELISP_REMOVE="install-package.el lpath.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README"
diff --git a/app-emacs/dictionary/dictionary-1.11.ebuild b/app-emacs/dictionary/dictionary-1.11.ebuild
new file mode 100644
index 000000000000..17a6823ffabe
--- /dev/null
+++ b/app-emacs/dictionary/dictionary-1.11.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_PN="${PN}-el"
+DESCRIPTION="Emacs package for talking to a dictionary server"
+HOMEPAGE="https://www.myrkr.in-berlin.de/dictionary/index.html"
+SRC_URI="https://github.com/myrkr/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+ELISP_REMOVE="install-package.el lpath.el"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README"
diff --git a/app-emacs/diff-hl/Manifest b/app-emacs/diff-hl/Manifest
new file mode 100644
index 000000000000..c593f6e9ef4c
--- /dev/null
+++ b/app-emacs/diff-hl/Manifest
@@ -0,0 +1 @@
+DIST diff-hl-1.9.2.tar.gz 242052 BLAKE2B 03a4daa14d0a80dbbe61b3e2ef853416750eb59806da2c2c7ba07fd5403f78a7566c124e9559733a78ab751562cf462db7702985f36d6375765efcc3fa6b5697 SHA512 067c902632bc70f10b201f9be38ee14c87a9026a1ac7076642d63ca421de287bf47ccee2e47a323c164672a718a5964e940b86f8330f5be35cfd90bff3ecf1a1
diff --git a/app-emacs/diff-hl/diff-hl-1.9.2.ebuild b/app-emacs/diff-hl/diff-hl-1.9.2.ebuild
new file mode 100644
index 000000000000..bc3d56940cfb
--- /dev/null
+++ b/app-emacs/diff-hl/diff-hl-1.9.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highlight uncommitted changes, jump between and revert them selectively"
+HOMEPAGE="https://github.com/dgutov/diff-hl/"
+SRC_URI="https://github.com/dgutov/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-vcs/git )"
+
+DOCS=( README.md screenshot{,-dired,-margin}.png )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ebegin "Creating a git repository for tests"
+ git init "${S}" --initial-branch="master" &&
+ git add "${S}" &&
+ git config --local user.email "test@test" &&
+ git config --local user.name "test" &&
+ git commit --message "test" --quiet
+ eend "${?}" || die
+
+ emake EMACS="${EMACS} ${EMACSFLAGS}" test
+}
diff --git a/app-emacs/diff-hl/files/50diff-hl-gentoo.el b/app-emacs/diff-hl/files/50diff-hl-gentoo.el
new file mode 100644
index 000000000000..3240f13a619b
--- /dev/null
+++ b/app-emacs/diff-hl/files/50diff-hl-gentoo.el
@@ -0,0 +1,33 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'diff-hl-mode "diff-hl"
+ "Toggle VC diff highlighting." t)
+(autoload 'diff-hl-set-reference-rev "diff-hl"
+ "Set the reference revision globally to REV." t)
+(autoload 'diff-hl-reset-reference-rev "diff-hl"
+ "Reset the reference revision globally to the most recent one." t)
+(autoload 'global-diff-hl-mode "diff-hl"
+ "Toggle Diff-Hl mode in all buffers." t)
+(autoload 'diff-hl-amend-mode "diff-hl-amend"
+ "Show changes against the second-last revision in `diff-hl-mode'." t)
+(autoload 'global-diff-hl-amend-mode "diff-hl-amend"
+ "Toggle Diff-Hl-Amend mode in all buffers." t)
+(autoload 'diff-hl-dired-mode "diff-hl-dired"
+ "Toggle VC diff highlighting on the side of a Dired window." t)
+(autoload 'diff-hl-flydiff-mode "diff-hl-flydiff"
+ "Perform highlighting on-the-fly." t)
+(autoload 'diff-hl-inline-popup-hide "diff-hl-inline-popup"
+ "Hide the current inline popup." t)
+(autoload 'diff-hl-margin-mode "diff-hl-margin"
+ "Toggle displaying `diff-hl-mode' highlights on the margin." t)
+(autoload 'diff-hl-margin-local-mode "diff-hl-margin"
+ "Toggle displaying `diff-hl-mode' highlights on the margin locally." t)
+(autoload 'diff-hl-show-hunk-previous "diff-hl-show-hunk"
+ "Go to previous hunk/change and show it." t)
+(autoload 'diff-hl-show-hunk-next "diff-hl-show-hunk"
+ "Go to next hunk/change and show it." t)
+(autoload 'diff-hl-show-hunk "diff-hl-show-hunk"
+ "Show the VC diff hunk at point." t)
+(autoload 'diff-hl-show-hunk-mouse-mode "diff-hl-show-hunk"
+ "Enables the margin and fringe to show a posframe/popup with vc diffs when clicked." t)
+(autoload 'global-diff-hl-show-hunk-mouse-mode "diff-hl-show-hunk"
+ "Toggle Diff-Hl-Show-Hunk-Mouse mode in all buffers." t)
diff --git a/app-emacs/diff-hl/metadata.xml b/app-emacs/diff-hl/metadata.xml
new file mode 100644
index 000000000000..1d385a07e76e
--- /dev/null
+++ b/app-emacs/diff-hl/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/dgutov/diff-hl/issues/</bugs-to>
+ <remote-id type="github">dgutov/diff-hl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/diminish/Manifest b/app-emacs/diminish/Manifest
new file mode 100644
index 000000000000..6b387fd85b7c
--- /dev/null
+++ b/app-emacs/diminish/Manifest
@@ -0,0 +1 @@
+DIST diminish-0.46_pre20220128.tar.gz 18515 BLAKE2B 102dcb37d83ef74371f0e09fb62daf4686802eddee060905e3081d1e77f6ed11a1a6ed0d698b4ae37f2b1899f010e86e6e4c320296e628b14d7bc272be8c7283 SHA512 cc5db5fdbffa58cde04725e5c1e0829142027d171c54e27a0bf960939bdbaebaceef7fb1ce1a31293e319705694d4e2be353fac9c37306416497f2a4c5e8a6fd
diff --git a/app-emacs/diminish/diminish-0.46_pre20220128.ebuild b/app-emacs/diminish/diminish-0.46_pre20220128.ebuild
new file mode 100644
index 000000000000..06e7d43534ff
--- /dev/null
+++ b/app-emacs/diminish/diminish-0.46_pre20220128.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=6b7e837b0cf0129e9d7d6abae48093cf599bb9e8
+
+inherit elisp
+
+DESCRIPTION="Hiding or abbreviation of the mode line displays (lighters)"
+HOMEPAGE="https://github.com/myrjola/diminish.el/"
+SRC_URI="https://github.com/myrjola/${PN}.el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/diminish/metadata.xml b/app-emacs/diminish/metadata.xml
new file mode 100644
index 000000000000..1a8ed85dd20c
--- /dev/null
+++ b/app-emacs/diminish/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/myrjola/diminish.el/issues/</bugs-to>
+ <remote-id type="github">myrjola/diminish.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/dired-hacks/Manifest b/app-emacs/dired-hacks/Manifest
new file mode 100644
index 000000000000..34602af9af79
--- /dev/null
+++ b/app-emacs/dired-hacks/Manifest
@@ -0,0 +1 @@
+DIST dired-hacks-0.0.1_p20230621.tar.gz 70320 BLAKE2B 1f28f4f54c250b82c3897a42273337a0a1c1ccc2a0c46addcf55d30a2e5bc61211665860701a83379e9ae8252d389fde3c51b7cf8a8739e11b5aac2ff2447293 SHA512 c682149af031807fa3a9d64bbe7f78896af57a066d37809b6889a968162e5787e751520ebf975e7765f6b37f38a19a679b0c9123d8d0bb687086e18de803c848
diff --git a/app-emacs/dired-hacks/dired-hacks-0.0.1_p20230621.ebuild b/app-emacs/dired-hacks/dired-hacks-0.0.1_p20230621.ebuild
new file mode 100644
index 000000000000..412bdb2f86b3
--- /dev/null
+++ b/app-emacs/dired-hacks/dired-hacks-0.0.1_p20230621.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Collection of useful dired additions for GNU Emacs"
+HOMEPAGE="https://github.com/Fuco1/dired-hacks/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Fuco1/${PN}.git"
+else
+ [[ ${PV} == *_p20230621 ]] && COMMIT=874449d6fc98aee565e1715ec18acec3c1c2cafb
+ SRC_URI="https://github.com/Fuco1/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Tests fail.
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/eimp
+ app-emacs/f
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/assess
+ app-emacs/shut-up
+ )
+"
+
+elisp-enable-tests buttercup tests
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/dired-hacks/files/50dired-hacks-gentoo.el b/app-emacs/dired-hacks/files/50dired-hacks-gentoo.el
new file mode 100644
index 000000000000..3efac2fa37c8
--- /dev/null
+++ b/app-emacs/dired-hacks/files/50dired-hacks-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "dired-hacks-autoloads" nil t)
diff --git a/app-emacs/dired-hacks/metadata.xml b/app-emacs/dired-hacks/metadata.xml
new file mode 100644
index 000000000000..ed56e656fcb7
--- /dev/null
+++ b/app-emacs/dired-hacks/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Fuco1/dired-hacks/issues/</bugs-to>
+ <remote-id type="github">Fuco1/dired-hacks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/docker-tramp/Manifest b/app-emacs/docker-tramp/Manifest
new file mode 100644
index 000000000000..c5e091cde748
--- /dev/null
+++ b/app-emacs/docker-tramp/Manifest
@@ -0,0 +1 @@
+DIST docker-tramp-0.1.1.tar.gz 4757 BLAKE2B 1a95df2e17ebde8c02d34b25fa02bb29b96c902a68ceb81848b96eea8e02ae637826565ad4ea6aaee45b802246b59afdd5bb4a3cc617b1c8d1a234b4ad3cb355 SHA512 355baae22c28acf9ef7d97f754d84664d0c13c63317be93678f2e78273410e54fb36dc7ebc348f127486bcd7946934b93c40363864601f955a99e8201b83d666
diff --git a/app-emacs/docker-tramp/docker-tramp-0.1.1.ebuild b/app-emacs/docker-tramp/docker-tramp-0.1.1.ebuild
new file mode 100644
index 000000000000..4c2ea47dcdf6
--- /dev/null
+++ b/app-emacs/docker-tramp/docker-tramp-0.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs TRAMP integration for docker containers"
+HOMEPAGE="https://github.com/emacs-pe/docker-tramp.el/"
+SRC_URI="https://github.com/emacs-pe/${PN}.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+ELISP_REMOVE="Makefile" # Does not define any tests.
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/docker-tramp/files/50docker-tramp-gentoo.el b/app-emacs/docker-tramp/files/50docker-tramp-gentoo.el
new file mode 100644
index 000000000000..a39520b6ae03
--- /dev/null
+++ b/app-emacs/docker-tramp/files/50docker-tramp-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "docker-tramp-autoloads" nil t)
diff --git a/app-emacs/docker-tramp/metadata.xml b/app-emacs/docker-tramp/metadata.xml
new file mode 100644
index 000000000000..4dcd3076f92b
--- /dev/null
+++ b/app-emacs/docker-tramp/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/emacs-pe/docker-tramp.el/issues/</bugs-to>
+ <remote-id type="github">emacs-pe/docker-tramp.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/docker/Manifest b/app-emacs/docker/Manifest
new file mode 100644
index 000000000000..38218a4f9762
--- /dev/null
+++ b/app-emacs/docker/Manifest
@@ -0,0 +1 @@
+DIST docker.el-2.3.1.tar.gz 113225 BLAKE2B bb941c18cc137d8678d3d7bd248df09ff6cfae48a9381b64ce49799c8a1b9f56acde08584600f4403605e778e4c764d7063ae41aa4a3f487f2cf6a86ce56f0fa SHA512 42345d44de582329f328d516445210a00653f4f49a8c0bc9960c8c2269fe5bcd25aab99d4ddd0c0dc390ab3891f459706a68bd956b731ef1d3f984d80f0b5184
diff --git a/app-emacs/docker/docker-2.3.1.ebuild b/app-emacs/docker/docker-2.3.1.ebuild
new file mode 100644
index 000000000000..ebd19ec1d55f
--- /dev/null
+++ b/app-emacs/docker/docker-2.3.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Emacs integration for Docker"
+HOMEPAGE="https://github.com/Silex/docker.el/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/Silex/${PN}.el.git"
+else
+ SRC_URI="https://github.com/Silex/${PN}.el/archive/${PV}.tar.gz
+ -> ${PN}.el-${PV}.tar.gz"
+ S="${WORKDIR}/${PN}.el-${PV}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/transient-0.4.3
+ app-emacs/dash
+ app-emacs/emacs-aio
+ app-emacs/s
+ app-emacs/tablist
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.md README.md screenshots )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/docker/files/50docker-gentoo.el b/app-emacs/docker/files/50docker-gentoo.el
new file mode 100644
index 000000000000..c12e5c43467f
--- /dev/null
+++ b/app-emacs/docker/files/50docker-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "docker-autoloads" nil t)
diff --git a/app-emacs/docker/metadata.xml b/app-emacs/docker/metadata.xml
new file mode 100644
index 000000000000..ef84f46e4e9e
--- /dev/null
+++ b/app-emacs/docker/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package allows you to manipulate docker images, containers and more
+ from Emacs. Supports docker containers, images, volumes, networks and
+ docker-compose.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Silex/docker.el/issues/</bugs-to>
+ <remote-id type="github">Silex/docker.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/dockerfile-mode/Manifest b/app-emacs/dockerfile-mode/Manifest
new file mode 100644
index 000000000000..fcf2202add3c
--- /dev/null
+++ b/app-emacs/dockerfile-mode/Manifest
@@ -0,0 +1,2 @@
+DIST dockerfile-mode-1.8.tar.gz 7882 BLAKE2B 8db9ffadbc673ed37e04cd300834ceff3505b5addf3ea7432dcbfc221d392c63f7641ef80d1f464576963aadff9d038b2761c7dde72004fed5e0027519045d30 SHA512 8bae08037813730b93919135fe727a6506bfb0decdc385b22afe41d7f1df750d3f0cc508453faa7b0e90d347584f805acca54bbf7da6cae2cf3108ff1047fd58
+DIST dockerfile-mode-1.9.tar.gz 7865 BLAKE2B 4e65d18a71f59f764b06a18068ccf7f65a4a7a73c8ad3de7bfbe75324c79d8d18bd7f477f001c07daf24411b83a731d4f1905eef82f6f06cb78d562281b19bce SHA512 fdf37d15b0ee7608aa1580850ec0475a02cc3357ac1c262934063bd6efc0ab00fd3ef2b11389f221994fb3428def525f7d14e5da198bdd27b7f3f26fb0a94746
diff --git a/app-emacs/dockerfile-mode/dockerfile-mode-1.8-r1.ebuild b/app-emacs/dockerfile-mode/dockerfile-mode-1.8-r1.ebuild
new file mode 100644
index 000000000000..7096732137b3
--- /dev/null
+++ b/app-emacs/dockerfile-mode/dockerfile-mode-1.8-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for handling Dockerfiles"
+HOMEPAGE="https://github.com/spotify/dockerfile-mode/"
+SRC_URI="https://github.com/spotify/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/dockerfile-mode/dockerfile-mode-1.9.ebuild b/app-emacs/dockerfile-mode/dockerfile-mode-1.9.ebuild
new file mode 100644
index 000000000000..d5b5b0302f1c
--- /dev/null
+++ b/app-emacs/dockerfile-mode/dockerfile-mode-1.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for handling Dockerfiles"
+HOMEPAGE="https://github.com/spotify/dockerfile-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/spotify/${PN}.git"
+else
+ SRC_URI="https://github.com/spotify/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/dockerfile-mode/files/50dockerfile-mode-gentoo.el b/app-emacs/dockerfile-mode/files/50dockerfile-mode-gentoo.el
new file mode 100644
index 000000000000..e2ec3ced9b78
--- /dev/null
+++ b/app-emacs/dockerfile-mode/files/50dockerfile-mode-gentoo.el
@@ -0,0 +1,9 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'dockerfile-mode "dockerfile-mode"
+ "A major mode to edit Dockerfiles." t)
+(add-to-list 'auto-mode-alist
+ (cons (concat "[/\\]"
+ "\\(?:Containerfile\\|Dockerfile\\)"
+ "\\(?:\\.[^/\\]*\\)?\\'")
+ 'dockerfile-mode))
+(add-to-list 'auto-mode-alist '("\\.dockerfile\\'" . dockerfile-mode))
diff --git a/app-emacs/dockerfile-mode/metadata.xml b/app-emacs/dockerfile-mode/metadata.xml
new file mode 100644
index 000000000000..6d2d3a593327
--- /dev/null
+++ b/app-emacs/dockerfile-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/spotify/dockerfile-mode/issues/</bugs-to>
+ <remote-id type="github">spotify/dockerfile-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/doctest-mode/doctest-mode-0.4.ebuild b/app-emacs/doctest-mode/doctest-mode-0.4.ebuild
index 6a4d88194c93..c755dbc605ac 100644
--- a/app-emacs/doctest-mode/doctest-mode-0.4.ebuild
+++ b/app-emacs/doctest-mode/doctest-mode-0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="http://python-mode.svn.sourceforge.net/viewvc/*checkout*/python-mode/tr
LICENSE="HPND"
SLOT="0"
-KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 x86"
+KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 x86"
S="${WORKDIR}"
SITEFILE="60${PN}-gentoo.el"
diff --git a/app-emacs/doom-modeline/Manifest b/app-emacs/doom-modeline/Manifest
new file mode 100644
index 000000000000..f4ce7eba3ae9
--- /dev/null
+++ b/app-emacs/doom-modeline/Manifest
@@ -0,0 +1,2 @@
+DIST doom-modeline-4.0.1.tar.gz 62968 BLAKE2B 5401917532acc9c69923107d557758ee576799252d86a0b6bb02fda0ca2278ce4f7074a166e1a56a6c2d21144142ebd625a0d1414798d74f31e4d8f8eb965bd4 SHA512 e38f58148b6ce2311a43300e45bf32b246250902d9e29bf6ce5da8977af60ff0fe40b3a6b3bb720b11a5c7d1cc5a3e0634f4f4b79abfae03e56a7ee8a5bfd73e
+DIST doom-modeline-4.1.0.tar.gz 64224 BLAKE2B cac0d28912e70d56c8cb839fe12c279db553d761bd3d75be9eb65c288f7a235a49fed1f9dd2bdad747778c1173d394b35a97b2b43c6e27420ba4b625f522830c SHA512 83f3cc5e2a39c01a3019282ac4245c644b4caa96bb0b8fcbe645e8a63dd0b5d2add36eab8468129b332d259212c7f011cb6481d34cdfb53faa334c3083b5ee3c
diff --git a/app-emacs/doom-modeline/doom-modeline-4.0.1.ebuild b/app-emacs/doom-modeline/doom-modeline-4.0.1.ebuild
new file mode 100644
index 000000000000..e35cedd72dc5
--- /dev/null
+++ b/app-emacs/doom-modeline/doom-modeline-4.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Fancy and fast mode-line for Emacs inspired by minimalism design"
+HOMEPAGE="https://seagle0128.github.io/doom-modeline/
+ https://github.com/seagle0128/doom-modeline/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/seagle0128/${PN}.git"
+else
+ SRC_URI="https://github.com/seagle0128/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ app-emacs/compat
+ app-emacs/nerd-icons
+ app-emacs/shrink-path
+"
+BDEPEND="${RDEPEND}"
+
+elisp-enable-tests ert test
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/doom-modeline/doom-modeline-4.1.0.ebuild b/app-emacs/doom-modeline/doom-modeline-4.1.0.ebuild
new file mode 100644
index 000000000000..e35cedd72dc5
--- /dev/null
+++ b/app-emacs/doom-modeline/doom-modeline-4.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Fancy and fast mode-line for Emacs inspired by minimalism design"
+HOMEPAGE="https://seagle0128.github.io/doom-modeline/
+ https://github.com/seagle0128/doom-modeline/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/seagle0128/${PN}.git"
+else
+ SRC_URI="https://github.com/seagle0128/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ app-emacs/compat
+ app-emacs/nerd-icons
+ app-emacs/shrink-path
+"
+BDEPEND="${RDEPEND}"
+
+elisp-enable-tests ert test
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/doom-modeline/files/50doom-modeline-gentoo.el b/app-emacs/doom-modeline/files/50doom-modeline-gentoo.el
new file mode 100644
index 000000000000..0dd9efab6129
--- /dev/null
+++ b/app-emacs/doom-modeline/files/50doom-modeline-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "doom-modeline-autoloads" nil t)
diff --git a/app-emacs/doom-modeline/metadata.xml b/app-emacs/doom-modeline/metadata.xml
new file mode 100644
index 000000000000..e8b3def7a3b9
--- /dev/null
+++ b/app-emacs/doom-modeline/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/seagle0128/doom-modeline/issues/</bugs-to>
+ <remote-id type="github">seagle0128/doom-modeline</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/doom-themes/Manifest b/app-emacs/doom-themes/Manifest
new file mode 100644
index 000000000000..99dcb1afba25
--- /dev/null
+++ b/app-emacs/doom-themes/Manifest
@@ -0,0 +1 @@
+DIST doom-themes-2.3.0_p20231208.tar.gz 143326 BLAKE2B 1957837c842582b329b9b80f281526cbf88dde5e3558929b3d0589348fc321dbf0022a557dac41132bcd3384c407f741612835e55b68486e686b1a1f7cb0a402 SHA512 c97e1438ec58751d5d4be79a32dd15d62bfdee6f06d63817b12a9159b463d4508d9c4d49304724590cceb87e02d4e659cad245c2a2602079f733a3bde7f870e9
diff --git a/app-emacs/doom-themes/doom-themes-2.3.0_p20231208.ebuild b/app-emacs/doom-themes/doom-themes-2.3.0_p20231208.ebuild
new file mode 100644
index 000000000000..e5d0aeea8397
--- /dev/null
+++ b/app-emacs/doom-themes/doom-themes-2.3.0_p20231208.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=ff26f26ea3d761375f5fc4070438fbd0f3473d33
+
+inherit elisp
+
+DESCRIPTION="Opinionated megapack of modern color-themes for GNU Emacs"
+HOMEPAGE="https://github.com/doomemacs/themes/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/doomemacs/themes.git"
+else
+ SRC_URI="https://github.com/doomemacs/themes/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/themes-${COMMIT}"
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITELISP}"/${PN}
+ doins -r themes
+}
diff --git a/app-emacs/doom-themes/doom-themes-9999.ebuild b/app-emacs/doom-themes/doom-themes-9999.ebuild
new file mode 100644
index 000000000000..96c464e3ae78
--- /dev/null
+++ b/app-emacs/doom-themes/doom-themes-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Opinionated megapack of modern color-themes for GNU Emacs"
+HOMEPAGE="https://github.com/doomemacs/themes/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/doomemacs/themes.git"
+else
+ SRC_URI="https://github.com/doomemacs/themes/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/themes-${PV}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITELISP}"/${PN}
+ doins -r themes
+}
diff --git a/app-emacs/doom-themes/files/50doom-themes-gentoo.el b/app-emacs/doom-themes/files/50doom-themes-gentoo.el
new file mode 100644
index 000000000000..072e7e31bcc3
--- /dev/null
+++ b/app-emacs/doom-themes/files/50doom-themes-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(when (boundp 'custom-theme-load-path)
+ (add-to-list 'custom-theme-load-path "@SITELISP@/themes/"))
diff --git a/app-emacs/doom-themes/metadata.xml b/app-emacs/doom-themes/metadata.xml
new file mode 100644
index 000000000000..20205cdd883d
--- /dev/null
+++ b/app-emacs/doom-themes/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/doomemacs/themes/issues/</bugs-to>
+ <remote-id type="github">doomemacs/themes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/doxymacs/doxymacs-1.8.0-r4.ebuild b/app-emacs/doxymacs/doxymacs-1.8.0-r4.ebuild
deleted file mode 100644
index 8f6f1f24fd89..000000000000
--- a/app-emacs/doxymacs/doxymacs-1.8.0-r4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp flag-o-matic
-
-DESCRIPTION="Doxygen editing minor mode"
-HOMEPAGE="http://doxymacs.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND=">=dev-libs/libxml2-2.6.13"
-RDEPEND="${DEPEND}"
-
-PATCHES=("${FILESDIR}"/${P}-gcc7.patch)
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- append-flags -Wno-error #260874
- econf --with-lispdir="${SITELISP}/${PN}"
-}
-
-src_compile() {
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc AUTHORS ChangeLog NEWS README TODO
-}
diff --git a/app-emacs/doxymacs/doxymacs-1.8.0-r5.ebuild b/app-emacs/doxymacs/doxymacs-1.8.0-r5.ebuild
new file mode 100644
index 000000000000..6f379856aac5
--- /dev/null
+++ b/app-emacs/doxymacs/doxymacs-1.8.0-r5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Doxygen editing minor mode"
+HOMEPAGE="http://doxymacs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND=">=dev-libs/libxml2-2.6.13"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ econf --with-lispdir="${SITELISP}/${PN}"
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ einstalldocs
+}
diff --git a/app-emacs/doxymacs/files/doxymacs-1.8.0-flags.patch b/app-emacs/doxymacs/files/doxymacs-1.8.0-flags.patch
new file mode 100644
index 000000000000..4aeef48c7fbe
--- /dev/null
+++ b/app-emacs/doxymacs/files/doxymacs-1.8.0-flags.patch
@@ -0,0 +1,21 @@
+--- a/c/Makefile.am
++++ b/c/Makefile.am
+@@ -7,6 +7,6 @@ doxymacs_parser_SOURCES = doxymacs_parser.c
+
+ INCLUDES = $(XML_CPPFLAGS)
+
+-AM_CFLAGS = -Wall -Werror -fexpensive-optimizations -fomit-frame-pointer
++AM_CFLAGS = -Wall
+
+ doxymacs_parser_LDADD = $(XML_LIBS)
+--- a/c/Makefile.in
++++ b/c/Makefile.in
+@@ -153,7 +153,7 @@ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ doxymacs_parser_SOURCES = doxymacs_parser.c
+ INCLUDES = $(XML_CPPFLAGS)
+-AM_CFLAGS = -Wall -Werror -fexpensive-optimizations -fomit-frame-pointer
++AM_CFLAGS = -Wall
+ doxymacs_parser_LDADD = $(XML_LIBS)
+ all: all-am
+
diff --git a/app-emacs/dts-mode/Manifest b/app-emacs/dts-mode/Manifest
index 87032f19784c..b9956cb38b41 100644
--- a/app-emacs/dts-mode/Manifest
+++ b/app-emacs/dts-mode/Manifest
@@ -1,2 +1 @@
-DIST dts-mode-0.1.0_pre20161103.tar.gz 2002 BLAKE2B 2dfe222c99d6d1876b6c5ae624f28b2d3fea0a4f8fd98bdebbdb697a03101f3ed1a4e260bb2013b1d40934fce29bc0461df12a0788b7dce189604473e4469819 SHA512 ac7ba1abd64c63f30d5cfd7fc61ca5f0f9ef368d1b8a213acbe897babf8409c551f58b828e4bfc8c862cbaac20634ce90727224f75c3846bde2d64a86c90485a
-DIST dts-mode-0.1.1.tar.xz 3164 BLAKE2B e3ff5455469c53286b9a5f23645122cf7c69d3e974dde6478ab35e2fb52f793884411b06d677b3639e4965f17dfc959ec8742cc44d2cea3fdf2cc6f3f9745de3 SHA512 8afcb815504b6287715e34ddd971d7b1dc17ebd359632cdbb6b120afce89a3f5c6a4396b9583f0058c75d83394499b21768c7f47fafceab79e85bfb30049d481
+DIST dts-mode-1.0.tar 20480 BLAKE2B c5f7f60c907d47d1984ce1961fb4cf9f8cd75052f0bbf0742c233e6e1a117c6525e4124c6ca55017cb300a57dd324b7eac7c2612c0580fed18188d4074b8666b SHA512 995c35629882b8bc78b5ebdaeb2a799019889b2d02ad8990d148f132b171ae4ce999bc0e768fd47d64831daa2b2d9a9ed13099885359106fbc9c7f63ca2659a6
diff --git a/app-emacs/dts-mode/dts-mode-0.1.0_pre20161103.ebuild b/app-emacs/dts-mode/dts-mode-0.1.0_pre20161103.ebuild
deleted file mode 100644
index a3cd4bdb1f09..000000000000
--- a/app-emacs/dts-mode/dts-mode-0.1.0_pre20161103.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-COMMIT="9ee0854446dcc6c53d2b8d2941051768dba50344"
-DESCRIPTION="Emacs major mode for devicetree sources"
-HOMEPAGE="https://github.com/bgamari/dts-mode"
-SRC_URI="https://github.com/bgamari/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}/${PN}-${COMMIT}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.mkd"
diff --git a/app-emacs/dts-mode/dts-mode-0.1.1.ebuild b/app-emacs/dts-mode/dts-mode-0.1.1.ebuild
deleted file mode 100644
index 9a34fbbc4b83..000000000000
--- a/app-emacs/dts-mode/dts-mode-0.1.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs major mode for devicetree sources"
-HOMEPAGE="https://github.com/bgamari/dts-mode
- https://elpa.gnu.org/packages/dts-mode.html"
-# taken from https://elpa.gnu.org/packages/${P}.tar
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-ELISP_REMOVE="dts-mode-pkg.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.mkd"
diff --git a/app-emacs/dts-mode/dts-mode-1.0.ebuild b/app-emacs/dts-mode/dts-mode-1.0.ebuild
new file mode 100644
index 000000000000..0c0140b04a56
--- /dev/null
+++ b/app-emacs/dts-mode/dts-mode-1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for devicetree sources"
+HOMEPAGE="https://github.com/bgamari/dts-mode
+ https://elpa.gnu.org/packages/dts-mode.html"
+
+SRC_URI="https://elpa.gnu.org/packages/${P}.tar"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+ELISP_REMOVE="dts-mode-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( README.mkd )
diff --git a/app-emacs/dune-format/Manifest b/app-emacs/dune-format/Manifest
new file mode 100644
index 000000000000..7f6259a6fe97
--- /dev/null
+++ b/app-emacs/dune-format/Manifest
@@ -0,0 +1 @@
+DIST dune-format-0.1.tar.gz 2477 BLAKE2B a043e6e6aeeac33e3265794ca5dec4fd1292a19a210e4a3be0f5dc21de4c1516587f25eb0513ba653defbdeba7d781c1a09903cddf0b7f8a0b3c2ce43235672d SHA512 511dcdc5f4413dc680cb1102c35b737c406ef4fb8e69150b60e7bc11bf877d94a039ebe7224c62a304004015471dab7f2b50fae32d9119221d435b06041df9d9
diff --git a/app-emacs/dune-format/dune-format-0.1.ebuild b/app-emacs/dune-format/dune-format-0.1.ebuild
new file mode 100644
index 000000000000..c838e1e2ca0d
--- /dev/null
+++ b/app-emacs/dune-format/dune-format-0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Reformat OCaml's dune files automatically"
+HOMEPAGE="https://github.com/purcell/emacs-dune-format/"
+SRC_URI="https://github.com/purcell/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="app-emacs/reformatter"
+RDEPEND="
+ ${BDEPEND}
+ dev-ml/dune
+"
+
+DOCS=( README.md )
+ELISP_REMOVE="Makefile" # Makefile downloads pkgs from net
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/dune-format/metadata.xml b/app-emacs/dune-format/metadata.xml
new file mode 100644
index 000000000000..773899dc27c6
--- /dev/null
+++ b/app-emacs/dune-format/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/purcell/emacs-dune-format/issues/</bugs-to>
+ <remote-id type="github">purcell/emacs-dune-format</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/dwarf-mode/Manifest b/app-emacs/dwarf-mode/Manifest
new file mode 100644
index 000000000000..b37e43a8e6b8
--- /dev/null
+++ b/app-emacs/dwarf-mode/Manifest
@@ -0,0 +1 @@
+DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925
diff --git a/app-emacs/dwarf-mode/dwarf-mode-2.40.ebuild b/app-emacs/dwarf-mode/dwarf-mode-2.40.ebuild
new file mode 100644
index 000000000000..151800d806a9
--- /dev/null
+++ b/app-emacs/dwarf-mode/dwarf-mode-2.40.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs mode to browse DWARF information"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
+S="${WORKDIR}"/binutils-${PV}/binutils
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="!sys-devel/binutils[emacs(-)]"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/dwarf-mode/files/50dwarf-mode-gentoo.el b/app-emacs/dwarf-mode/files/50dwarf-mode-gentoo.el
new file mode 100644
index 000000000000..7caa9f19a37b
--- /dev/null
+++ b/app-emacs/dwarf-mode/files/50dwarf-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'dwarf-browse "dwarf-mode"
+ "Invoke `objdump' and put output into a `dwarf-mode' buffer." t)
diff --git a/app-emacs/dwarf-mode/metadata.xml b/app-emacs/dwarf-mode/metadata.xml
new file mode 100644
index 000000000000..38a0bcca915a
--- /dev/null
+++ b/app-emacs/dwarf-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:binutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/earthfile-mode/Manifest b/app-emacs/earthfile-mode/Manifest
new file mode 100644
index 000000000000..66f237fa143c
--- /dev/null
+++ b/app-emacs/earthfile-mode/Manifest
@@ -0,0 +1 @@
+DIST earthfile-mode-0.1.0_p20230810.tar.gz 397227 BLAKE2B 5d233689dff77debfafd77e2ee8d260ba993d2e19778d741750b79faa35d1553f6c1aeec00d5753547f6ce77a7ec01dc0117dd60418812d2eeadcc39fae71b42 SHA512 3d7d444ac441eaa2ced603f38fcbecad41abe55ca85c1d085ab45c534065e5afe8c2fc902e6334f28b38042e358de043917fb1e940628d63a34dc35a153720ef
diff --git a/app-emacs/earthfile-mode/earthfile-mode-0.1.0_p20230810.ebuild b/app-emacs/earthfile-mode/earthfile-mode-0.1.0_p20230810.ebuild
new file mode 100644
index 000000000000..881895441851
--- /dev/null
+++ b/app-emacs/earthfile-mode/earthfile-mode-0.1.0_p20230810.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == *20230810 ]] && COMMIT=3029e5ab06171ca5947041e95053561e10e5ba41
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing Earthly Earthfiles"
+HOMEPAGE="https://github.com/earthly/earthly-emacs/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/earthly/earthly-emacs.git"
+else
+ SRC_URI="https://github.com/earthly/earthly-emacs/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/earthly-emacs-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/earthfile-mode/files/50earthfile-mode-gentoo.el b/app-emacs/earthfile-mode/files/50earthfile-mode-gentoo.el
new file mode 100644
index 000000000000..b43ef6dbef1e
--- /dev/null
+++ b/app-emacs/earthfile-mode/files/50earthfile-mode-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'earthfile-mode "earthfile-mode.el"
+ "A major mode for editing Earthfile file." t)
+(add-to-list 'auto-mode-alist '("Earthfile\\'" . earthfile-mode))
+(add-to-list 'auto-mode-alist '("\\.earth\\'" . earthfile-mode))
diff --git a/app-emacs/earthfile-mode/metadata.xml b/app-emacs/earthfile-mode/metadata.xml
new file mode 100644
index 000000000000..0c7339f08efc
--- /dev/null
+++ b/app-emacs/earthfile-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/earthly/earthly-emacs/issues/</bugs-to>
+ <remote-id type="github">earthly/earthly-emacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ebib/Manifest b/app-emacs/ebib/Manifest
new file mode 100644
index 000000000000..ca4e3b8a6794
--- /dev/null
+++ b/app-emacs/ebib/Manifest
@@ -0,0 +1,3 @@
+DIST ebib-2.40.3.tar.gz 1049725 BLAKE2B 651716ed5465a4ef93b149ab84018d7daf3ffa1df404b95625a9c3666a1dbbe3d879f180dae92aa619e70121757c4a3b7f566bfc8aed1542b2828de25775b6ff SHA512 4231f5732990828aa19d9d723fb9b74bf761e8034de24fce4748b95a4d969d5a3bbbdc443b4f1a4a88b945b01ded958ae467da4222b546121513a26759419bd6
+DIST ebib-2.40.4.tar.gz 1050093 BLAKE2B f7ca4deb262017aab9044702c4e0bcfadc26ffec1497d43aa96789f3b10304c040195302621646cbe7234f6b0bf12f30ec779173056bf1e6594b05a1a8b4025c SHA512 c856abe3653f17f3417d3021300a0d131b5119393185ce9e5082c599df14e7d51bbf8405653e28aed790a73b56533a1d07d18fc2c7a073c5664e40926ddfa957
+DIST ebib-2.40.5.tar.gz 1048131 BLAKE2B 1a5639290eb6ce93b604e1e129c347e709f7c12a4db38516107e7ce2973fd4fb34e4dff0da16e7fff9395ca2168445e903848c50ca403447745dc4a405618c06 SHA512 9237368550f380e5dd40aa4f528cb9493e5b104e9c2264322128fd56e76b6167e6d1496ab8c663982b9b0dc4a65f5ca38bd7a5962e1281d27f9cc2d918805642
diff --git a/app-emacs/ebib/ebib-2.40.3-r1.ebuild b/app-emacs/ebib/ebib-2.40.3-r1.ebuild
new file mode 100644
index 000000000000..b7bcc581be0e
--- /dev/null
+++ b/app-emacs/ebib/ebib-2.40.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="BibTeX database manager for Emacs"
+HOMEPAGE="https://joostkremers.github.io/ebib/
+ https://github.com/joostkremers/ebib/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/joostkremers/${PN}.git"
+else
+ SRC_URI="https://github.com/joostkremers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.4
+ app-emacs/parsebib
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/with-simulated-input
+ )
+"
+
+DOCS=( README.md docs )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
+
+src_install() {
+ elisp_src_install
+
+ doinfo "${PN}.info"
+}
diff --git a/app-emacs/ebib/ebib-2.40.4.ebuild b/app-emacs/ebib/ebib-2.40.4.ebuild
new file mode 100644
index 000000000000..b7bcc581be0e
--- /dev/null
+++ b/app-emacs/ebib/ebib-2.40.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="BibTeX database manager for Emacs"
+HOMEPAGE="https://joostkremers.github.io/ebib/
+ https://github.com/joostkremers/ebib/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/joostkremers/${PN}.git"
+else
+ SRC_URI="https://github.com/joostkremers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.4
+ app-emacs/parsebib
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/with-simulated-input
+ )
+"
+
+DOCS=( README.md docs )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
+
+src_install() {
+ elisp_src_install
+
+ doinfo "${PN}.info"
+}
diff --git a/app-emacs/ebib/ebib-2.40.5.ebuild b/app-emacs/ebib/ebib-2.40.5.ebuild
new file mode 100644
index 000000000000..b7bcc581be0e
--- /dev/null
+++ b/app-emacs/ebib/ebib-2.40.5.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="BibTeX database manager for Emacs"
+HOMEPAGE="https://joostkremers.github.io/ebib/
+ https://github.com/joostkremers/ebib/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/joostkremers/${PN}.git"
+else
+ SRC_URI="https://github.com/joostkremers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.4
+ app-emacs/parsebib
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/with-simulated-input
+ )
+"
+
+DOCS=( README.md docs )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
+
+src_install() {
+ elisp_src_install
+
+ doinfo "${PN}.info"
+}
diff --git a/app-emacs/ebib/files/50ebib-gentoo.el b/app-emacs/ebib/files/50ebib-gentoo.el
new file mode 100644
index 000000000000..4345f7ef8470
--- /dev/null
+++ b/app-emacs/ebib/files/50ebib-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ebib "ebib"
+ "Ebib, a BibTeX database manager." t)
+(autoload 'ebib-insert-citation "ebib"
+ "Insert a citation at POINT." t)
diff --git a/app-emacs/ebib/metadata.xml b/app-emacs/ebib/metadata.xml
new file mode 100644
index 000000000000..918804ccf762
--- /dev/null
+++ b/app-emacs/ebib/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/joostkremers/ebib/issues/</bugs-to>
+ <remote-id type="github">joostkremers/ebib</remote-id>
+ </upstream>
+ <longdescription>
+ Ebib is a BibTeX database manager that runs in GNU Emacs. With Ebib, you
+ can create and manage .bib-files, all within Emacs. It supports @string and
+ @preamble definitions, multi-line field values, searching, and integration
+ with Emacs' (La)TeX mode.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/ebuild-mode/Manifest b/app-emacs/ebuild-mode/Manifest
index 89ffac6a02cc..224c58956701 100644
--- a/app-emacs/ebuild-mode/Manifest
+++ b/app-emacs/ebuild-mode/Manifest
@@ -1,3 +1,2 @@
-DIST ebuild-mode-1.51.tar.xz 35280 BLAKE2B 63f57919bb73937ce3d40b4d6762e78c78d273bcf67875434d12450e00632d457d3dedbe6f213c1979a60cbc0a0874723e3e9424fdcfb64a48acc885cc90e577 SHA512 ff9ece96fbe7bfc9c070769dc6667e8c33f8fb7ef20a2d347c670342ef7500b52b54a93ed37ac9ea13a89c1b89752f5dd6e56c234abe9a4fcd4eb6bad0d0b466
-DIST ebuild-mode-1.52.tar.xz 36100 BLAKE2B d5207d910088de9cf1a41580ce61c49632e8e7c1a1af5d95ba13a7865125ca487d770731bb49e12fdc36d3f557fadd51109de628e958166d064be025e4b91257 SHA512 852f968b44c80f98363d4663856317946992cf5d0daf9a9c63e8ec17c1a684e28c2de510ded98bd2ef84428d8d094c1b6f5060510e6475ce60183fbc8e5a0322
-DIST ebuild-mode-1.53.tar.xz 35920 BLAKE2B ee932441e23ba4b876e98feb9ff9dfea2e395296846e14f776ac10f4c5bab6b711161b4c890b0d8f2ccb5749db5bced3f693aa172e3ae92af506fee26fb5750a SHA512 8fcc28139c0cace21159a0b5026573f401f65b4501ff888f9818d8f5a506a7bc1f8d8a133f775619efc9e16e2172d6b5daba539b4e38b1a378c0b35395263ef9
+DIST ebuild-mode-1.69.tar.xz 41436 BLAKE2B 9c3a41e6dac89d1c3908f72dfd4f2c2f62a1337fa9de1318d26901ae51c5b17cec429839378fa8df155f65807bc16efb9235b1913d4a3704d0d79df9fddd7af6 SHA512 2ba94f268f74a8424fccfc7ffff3d0e008261224a389253f67be91b6ade0301600fd50c0bb4b5f0487acb5b0add68dd6895a03dd7b096095034d59bc300e8a53
+DIST ebuild-mode-1.70.tar.xz 41528 BLAKE2B 51eecdaa262b20517aae269d4e8d41684d58a8aa73b316e08d03e4578b9bd0775577a46e15b637e4636978295629d36df774d39c253c3544ade985ad82b588dc SHA512 81e156adc19afe89778b9eb708414ba4cb6dd69ad3df05965eac6d5d46e6fda5b7e96f10933827639a17d8b349ae8c115b39e1ebd5c54350dcd07f9003d517e3
diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.51-r3.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.51-r3.ebuild
deleted file mode 100644
index a04c94b38bca..000000000000
--- a/app-emacs/ebuild-mode/ebuild-mode-1.51-r3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
-SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="sys-apps/texinfo"
-
-DOCS="ChangeLog keyword-generation.sh"
-ELISP_TEXINFO="${PN}.texi"
-SITEFILE="50${PN}-gentoo-1.51.el"
-DOC_CONTENTS="Some optional features may require installation of additional
- packages, like dev-python/docutils-glep for glep."
diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.52.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.52.ebuild
deleted file mode 100644
index a1123e589d57..000000000000
--- a/app-emacs/ebuild-mode/ebuild-mode-1.52.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
-SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="sys-apps/texinfo"
-
-DOCS="ChangeLog keyword-generation.sh"
-ELISP_TEXINFO="${PN}.texi"
-SITEFILE="50${PN}-gentoo-1.52.el"
-DOC_CONTENTS="Some optional features may require installation of additional
- packages, like dev-python/docutils-glep for glep."
diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.53.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.53.ebuild
deleted file mode 100644
index 19ad8ec1607f..000000000000
--- a/app-emacs/ebuild-mode/ebuild-mode-1.53.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
-SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="sys-apps/texinfo"
-
-DOCS="ChangeLog keyword-generation.sh"
-ELISP_TEXINFO="${PN}.texi"
-SITEFILE="50${PN}-gentoo-1.52.el"
-DOC_CONTENTS="Some optional features may require installation of additional
- packages, like dev-python/docutils-glep for glep."
diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.69.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.69.ebuild
new file mode 100644
index 000000000000..a3323770d37c
--- /dev/null
+++ b/app-emacs/ebuild-mode/ebuild-mode-1.69.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp optfeature
+
+DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
+SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS="ChangeLog keyword-generation.sh"
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo-1.54.el"
+
+pkg_postinst() {
+ elisp_pkg_postinst
+ optfeature "ebuild commands support" sys-apps/portage
+ optfeature "additional development tools" dev-util/pkgdev
+ optfeature "ebuild QA utilities" dev-util/pkgcheck
+ optfeature "generating HTML from GLEPs" dev-python/docutils-glep
+}
diff --git a/app-emacs/ebuild-mode/ebuild-mode-1.70.ebuild b/app-emacs/ebuild-mode/ebuild-mode-1.70.ebuild
new file mode 100644
index 000000000000..1aeccc664f5d
--- /dev/null
+++ b/app-emacs/ebuild-mode/ebuild-mode-1.70.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp optfeature
+
+DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
+SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS="ChangeLog keyword-generation.sh"
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo-1.54.el"
+
+pkg_postinst() {
+ elisp_pkg_postinst
+ optfeature "ebuild commands support" sys-apps/portage
+ optfeature "additional development tools" dev-util/pkgdev
+ optfeature "ebuild QA utilities" dev-util/pkgcheck
+ optfeature "generating HTML from GLEPs" dev-python/docutils-glep
+}
diff --git a/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.51.el b/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.51.el
deleted file mode 100644
index e4bbe683dd62..000000000000
--- a/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.51.el
+++ /dev/null
@@ -1,24 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'ebuild-mode "ebuild-mode"
- "Major mode for Portage .ebuild and .eclass files." t)
-(autoload 'devbook-mode "devbook-mode"
- "Major mode for editing the Gentoo Devmanual." t)
-(autoload 'gentoo-newsitem-mode "gentoo-newsitem-mode"
- "Major mode for Gentoo GLEP 42 news items." t)
-(autoload 'glep-mode "glep-mode"
- "Major mode for Gentoo Linux Enhancement Proposals." t)
-
-(add-to-list 'auto-mode-alist '("\\.\\(ebuild\\|eclass\\)\\'" . ebuild-mode))
-(add-to-list 'auto-mode-alist '("/devmanual.*\\.xml\\'" . devbook-mode))
-(add-to-list 'auto-mode-alist
- '("/[0-9]\\{4\\}-[01][0-9]-[0-3][0-9]-.+\\.[a-z]\\{2\\}\\.txt\\'"
- . gentoo-newsitem-mode))
-(add-to-list 'auto-mode-alist '("/glep.*\\.rst\\'" . glep-mode))
-(add-to-list 'auto-mode-alist
- '("/\\(package\\.\\(mask\\|unmask\\|use\\|env\
-\\|license\\|properties\\|accept_\\(keywords\\|restrict\\)\\)\
-\\|\\(package\\.\\)?use.\\(stable\\.\\)?\\(force\\|mask\\)\\)\\'"
- . conf-space-mode))
-(add-to-list 'interpreter-mode-alist '("openrc-run" . sh-mode))
-(add-to-list 'interpreter-mode-alist '("runscript" . sh-mode))
-(modify-coding-system-alist 'file "\\.\\(ebuild\\|eclass\\)\\'" 'utf-8)
diff --git a/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.52.el b/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.52.el
deleted file mode 100644
index c93b8da476ed..000000000000
--- a/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.52.el
+++ /dev/null
@@ -1,28 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'ebuild-mode "ebuild-mode"
- "Major mode for Portage .ebuild and .eclass files." t)
-(autoload 'ebuild-repo-mode "ebuild-mode"
- "Minor mode for files in an ebuild repository." t)
-(autoload 'ebuild-repo-mode-maybe-enable "ebuild-mode")
-(autoload 'devbook-mode "devbook-mode"
- "Major mode for editing the Gentoo Devmanual." t)
-(autoload 'gentoo-newsitem-mode "gentoo-newsitem-mode"
- "Major mode for Gentoo GLEP 42 news items." t)
-(autoload 'glep-mode "glep-mode"
- "Major mode for Gentoo Linux Enhancement Proposals." t)
-
-(add-to-list 'auto-mode-alist '("\\.\\(ebuild\\|eclass\\)\\'" . ebuild-mode))
-(add-to-list 'auto-mode-alist '("/devmanual.*\\.xml\\'" . devbook-mode))
-(add-to-list 'auto-mode-alist
- '("/[0-9]\\{4\\}-[01][0-9]-[0-3][0-9]-.+\\.[a-z]\\{2\\}\\.txt\\'"
- . gentoo-newsitem-mode))
-(add-to-list 'auto-mode-alist '("/glep.*\\.rst\\'" . glep-mode))
-(add-to-list 'auto-mode-alist
- '("/\\(package\\.\\(mask\\|unmask\\|use\\|env\
-\\|license\\|properties\\|accept_\\(keywords\\|restrict\\)\\)\
-\\|\\(package\\.\\)?use.\\(stable\\.\\)?\\(force\\|mask\\)\\)\\'"
- . conf-space-mode))
-(add-to-list 'interpreter-mode-alist '("openrc-run" . sh-mode))
-(add-to-list 'interpreter-mode-alist '("runscript" . sh-mode))
-(add-hook 'find-file-hook #'ebuild-repo-mode-maybe-enable)
-(modify-coding-system-alist 'file "\\.\\(ebuild\\|eclass\\)\\'" 'utf-8)
diff --git a/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.54.el b/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.54.el
new file mode 100644
index 000000000000..262206f99709
--- /dev/null
+++ b/app-emacs/ebuild-mode/files/50ebuild-mode-gentoo-1.54.el
@@ -0,0 +1,30 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ebuild-mode "ebuild-mode"
+ "Major mode for Gentoo .ebuild and .eclass files." t)
+(autoload 'ebuild-repo-mode "ebuild-mode"
+ "Minor mode for files in an ebuild repository." t)
+(autoload 'ebuild-repo-mode-maybe-enable "ebuild-mode")
+(autoload 'devbook-mode "devbook-mode"
+ "Major mode for editing the Gentoo Devmanual." t)
+(autoload 'gentoo-newsitem-mode "gentoo-newsitem-mode"
+ "Major mode for Gentoo GLEP 42 news items." t)
+(autoload 'glep-mode "glep-mode"
+ "Major mode for Gentoo Linux Enhancement Proposals." t)
+
+(add-to-list 'auto-mode-alist '("\\.\\(ebuild\\|eclass\\)\\'" . ebuild-mode))
+(add-to-list 'auto-mode-alist '("/devmanual.*\\.xml\\'" . devbook-mode))
+(add-to-list 'auto-mode-alist
+ '("/[0-9]\\{4\\}-[01][0-9]-[0-3][0-9]-.+\\.[a-z]\\{2\\}\\.txt\\'"
+ . gentoo-newsitem-mode))
+(add-to-list 'auto-mode-alist '("/glep.*\\.rst\\'" . glep-mode))
+(add-to-list 'auto-mode-alist
+ '("/\\(package\\.\\(mask\\|unmask\\|use\\|env\
+\\|license\\|properties\\|accept_\\(keywords\\|restrict\\)\\)\
+\\|\\(package\\.\\)?use.\\(stable\\.\\)?\\(force\\|mask\\)\\)\\'"
+ . conf-space-mode))
+(add-to-list 'auto-mode-alist
+ '("/make\\.\\(conf\\|defaults\\)\\'" . conf-unix-mode))
+(add-to-list 'interpreter-mode-alist '("openrc-run" . sh-mode))
+(add-to-list 'interpreter-mode-alist '("runscript" . sh-mode))
+(add-hook 'find-file-hook #'ebuild-repo-mode-maybe-enable)
+(modify-coding-system-alist 'file "\\.\\(ebuild\\|eclass\\)\\'" 'utf-8)
diff --git a/app-emacs/ebuild-mode/metadata.xml b/app-emacs/ebuild-mode/metadata.xml
index 80d8f14ad170..3f5a3e021741 100644
--- a/app-emacs/ebuild-mode/metadata.xml
+++ b/app-emacs/ebuild-mode/metadata.xml
@@ -11,5 +11,6 @@
<email>emacs@gentoo.org</email>
<name>Gentoo Emacs project</name>
</maintainer>
+ <remote-id type="gentoo">proj/ebuild-mode</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/ebuild-run-mode/Manifest b/app-emacs/ebuild-run-mode/Manifest
index a85a37433cb7..5ddd0558ef47 100644
--- a/app-emacs/ebuild-run-mode/Manifest
+++ b/app-emacs/ebuild-run-mode/Manifest
@@ -1 +1,2 @@
DIST emacs-ebuild-run-mode-v20210713.tar.gz 17517 BLAKE2B b9f7cbf6e75125a35f939b0119446bc26e1303533b2d076be7edf5df3ae57773e3fa68721165c86e2f17538465f3b379e3702b786b3a82472dce6c29ddfea454 SHA512 2b9280a7fe73f6b8dde13b395d864193468a7792f02bf8eddb16b8ae1615f5741e7da585eb545e60980be85eeeb43929bb76acb2aae561c79acccb8bf26b75a4
+DIST emacs-ebuild-run-mode-v20221116.tar.gz 17830 BLAKE2B b0538fc88f20085e64585a60ec193ba74fcda875b364ff18d0d9e0597b805c839fe1958e190f455b0c8b1b29d1007924e4924ae15aa81238a212f7dabef637ce SHA512 96ca8ee4098e1fe116cc0a802f1b3bedc8fb4e7f9cfee46e51a3251bacef0f043d4dea7a5a7bc1d2664914dc8053a6079cf742ad97b60d3bd48f0191af3dd2b6
diff --git a/app-emacs/ebuild-run-mode/ebuild-run-mode-20210713.ebuild b/app-emacs/ebuild-run-mode/ebuild-run-mode-20210713.ebuild
index 1489c2283048..ddbc0ae19e2c 100644
--- a/app-emacs/ebuild-run-mode/ebuild-run-mode-20210713.ebuild
+++ b/app-emacs/ebuild-run-mode/ebuild-run-mode-20210713.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-NEED_EMACS="24.5"
inherit elisp
diff --git a/app-emacs/ebuild-run-mode/ebuild-run-mode-20221116.ebuild b/app-emacs/ebuild-run-mode/ebuild-run-mode-20221116.ebuild
new file mode 100644
index 000000000000..16b546873aba
--- /dev/null
+++ b/app-emacs/ebuild-run-mode/ebuild-run-mode-20221116.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_PN="emacs-${PN}"
+DESCRIPTION="Major mode for Emacs buffers where ebuild commands run"
+HOMEPAGE="https://gitlab.com/akater/emacs-ebuild-run-mode"
+SRC_URI="https://gitlab.com/akater/${MY_PN}/-/archive/v${PV}/${MY_PN}-v${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-v${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND=">=app-emacs/ebuild-mode-1.53"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="ebuild-run-mode.org"
+
+src_compile() {
+ default
+}
diff --git a/app-emacs/ecb/ecb-2.50_pre20170728.ebuild b/app-emacs/ecb/ecb-2.50_pre20170728.ebuild
index 204485437855..9c0199f9da19 100644
--- a/app-emacs/ecb/ecb-2.50_pre20170728.ebuild
+++ b/app-emacs/ecb/ecb-2.50_pre20170728.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,10 +13,6 @@ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="java"
-
-RDEPEND="java? ( app-emacs/jde )"
-DEPEND="${RDEPEND}"
S="${WORKDIR}/${PN}-${PV%_*}"
SITEFILE="70${PN}-gentoo.el"
@@ -31,9 +27,7 @@ src_prepare() {
}
src_compile() {
- local loadpath
- use java && loadpath="${EPREFIX}${SITELISP}"/{elib,jde,jde/lisp}
- emake LOADPATH="${loadpath}"
+ default
}
src_install() {
diff --git a/app-emacs/ecukes/Manifest b/app-emacs/ecukes/Manifest
new file mode 100644
index 000000000000..a169e9c477be
--- /dev/null
+++ b/app-emacs/ecukes/Manifest
@@ -0,0 +1 @@
+DIST ecukes-0.6.18.tar.gz 85246 BLAKE2B f4469f155c0f2ce4756e429df2690b1dda3bb2f38f7e5847d14e1d21d0b8170535a2203fafe66649fc8416d41b983f6bc7428f6b4c053dcf0f9372f0973c0b15 SHA512 6d3a16b8dbf021026be5d7134166079bb1495ad4fd6b7e30386aad56c0196c46cbd3ee541ec8c24d5b7e1bb26e3c14fe5f9423b50341867c50b92194139eca02
diff --git a/app-emacs/ecukes/ecukes-0.6.18-r1.ebuild b/app-emacs/ecukes/ecukes-0.6.18-r1.ebuild
new file mode 100644
index 000000000000..153017cef0f8
--- /dev/null
+++ b/app-emacs/ecukes/ecukes-0.6.18-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Cucumber for Emacs"
+HOMEPAGE="https://github.com/ecukes/ecukes/"
+SRC_URI="https://github.com/ecukes/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/ansi
+ app-emacs/commander
+ app-emacs/dash
+ app-emacs/espuds
+ app-emacs/f
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/el-mock
+ app-emacs/ert-runner
+ )
+"
+
+DOCS=( README.markdown )
+PATCHES=( "${FILESDIR}"/${PN}-bin-launcher-fix.patch )
+
+# Remove pkg file and failing tests.
+ELISP_REMOVE="
+ ${PN}-pkg.el
+ test/${PN}-parse-line-test.el
+ test/${PN}-run-test.el
+ test/${PN}-steps-test.el
+"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITELISP@|${EPREFIX}${SITELISP}/${PN}|" -i bin/${PN} || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-compile reporters/*.el
+}
+
+src_install() {
+ elisp_src_install
+ elisp-install ${PN}/reporters reporters/*.el{,c}
+
+ exeinto /usr/bin
+ doexe bin/${PN}
+}
diff --git a/app-emacs/ecukes/files/ecukes-bin-launcher-fix.patch b/app-emacs/ecukes/files/ecukes-bin-launcher-fix.patch
new file mode 100644
index 000000000000..254fa28d09b3
--- /dev/null
+++ b/app-emacs/ecukes/files/ecukes-bin-launcher-fix.patch
@@ -0,0 +1,31 @@
+index 45ea622..b20754e 100755
+--- a/bin/ecukes
++++ b/bin/ecukes
+@@ -33,7 +33,7 @@
+ # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-2022, USA.
+
+-ECUKES_HOME=$(dirname "$(dirname "$BASH_SOURCE")")
++ECUKES_HOME="@SITELISP@"
+ ECUKES_CLI=$ECUKES_HOME/ecukes-cli.el
+
+ if [[ -n "$INSIDE_EMACS" ]]; then
+@@ -60,9 +60,9 @@ if has_option "--win" $@ || has_option "--no-win" $@ ; then
+ export ECUKES_OUTFILE=$(mktemp /tmp/ecukes.XXX)
+
+ if has_option "--win" $@; then
+- "$ECUKES_EMACS" --load "$ECUKES_CLI" -Q
++ "$ECUKES_EMACS" --load "$ECUKES_CLI" -q
+ else
+- "$ECUKES_EMACS" -nw --load "$ECUKES_CLI" -Q
++ "$ECUKES_EMACS" -nw --load "$ECUKES_CLI" -q
+ fi
+
+ STATUS=$?
+@@ -72,5 +72,5 @@ if has_option "--win" $@ || has_option "--no-win" $@ ; then
+
+ exit $STATUS
+ else
+- "$ECUKES_EMACS" --script "$ECUKES_CLI" -Q
++ "$ECUKES_EMACS" --script "$ECUKES_CLI" -q
+ fi
diff --git a/app-emacs/ecukes/metadata.xml b/app-emacs/ecukes/metadata.xml
new file mode 100644
index 000000000000..a3546bf3eca8
--- /dev/null
+++ b/app-emacs/ecukes/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ecukes/ecukes/issues/</bugs-to>
+ <remote-id type="github">ecukes/ecukes</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/edb/Manifest b/app-emacs/edb/Manifest
index 367d5f9b4bd1..79c2aff2990e 100644
--- a/app-emacs/edb/Manifest
+++ b/app-emacs/edb/Manifest
@@ -1 +1 @@
-DIST edb-1.32.tar.gz 692581 BLAKE2B 3f77d6f9d6550ce1c064dc0820fdc9a24293964900d4f390ad1456e79f42444d7c9512585cf230d742e66360011e2e314446748e23395bee1e7f8086c38853b7 SHA512 ee8bd642c019d30401202f540b37f28c914c17083123ca61b741de72d168ecb855d0508f922af208bb717b02b4819cf6f3c5137d589f2e858410a3e9ab4034e0
+DIST edb-1.34.tar.gz 616310 BLAKE2B 02867f79ddd5501ede476c3f3cd5420633e836c7c123eaa553aefec4bb72c7df5c1aba76044d61c34f1ae6d020b740af7df0348239f0736b0cadde939cad08a6 SHA512 c5da27454d19cce8fb493a7f2fca150f06069947fa1e8b0ae4f11cd49e95ed1797f07a97eeb7843290c27efe2ef00d04483e7f45bb666d3f39bdd401d9f40a0a
diff --git a/app-emacs/edb/edb-1.32.ebuild b/app-emacs/edb/edb-1.32.ebuild
deleted file mode 100644
index 48f3028985d7..000000000000
--- a/app-emacs/edb/edb-1.32.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="EDB, The Emacs Database"
-HOMEPAGE="http://www.gnuvola.org/software/edb/
- https://www.emacswiki.org/emacs/EmacsDataBase"
-SRC_URI="http://www.gnuvola.org/software/edb/${P}.tar.gz"
-
-LICENSE="GPL-3+ Texinfo-manual"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- default
-}
-
-src_compile() {
- emake -j1
-}
-
-src_install() {
- emake -j1 \
- sitelisp="${ED}${SITELISP}" \
- infodir="${ED}/usr/share/info" \
- install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc AUTHORS BUGS ChangeLog HACKING NEWS README THANKS TODO doc/refcard.ps
- dodoc -r examples
-}
diff --git a/app-emacs/edb/edb-1.34.ebuild b/app-emacs/edb/edb-1.34.ebuild
new file mode 100644
index 000000000000..71e3a01fe172
--- /dev/null
+++ b/app-emacs/edb/edb-1.34.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="EDB, The Emacs Database"
+HOMEPAGE="https://www.gnuvola.org/software/edb/
+ https://www.emacswiki.org/emacs/EmacsDataBase"
+SRC_URI="https://www.gnuvola.org/software/edb/${P}.tar.gz"
+
+LICENSE="GPL-3+ Texinfo-manual"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ default
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ emake -j1 \
+ sitelisp="${ED}${SITELISP}" \
+ infodir="${ED}/usr/share/info" \
+ install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc AUTHORS BUGS ChangeLog HACKING NEWS README THANKS TODO doc/refcard.ps
+ dodoc -r examples
+}
diff --git a/app-emacs/edit-indirect/Manifest b/app-emacs/edit-indirect/Manifest
new file mode 100644
index 000000000000..5247359307cb
--- /dev/null
+++ b/app-emacs/edit-indirect/Manifest
@@ -0,0 +1,2 @@
+DIST edit-indirect-0.1.11.tar.gz 5300 BLAKE2B 3815cefe4850365c6bee305529c97032278aa5f6b2c243f7414c8038dea0ae5c5729d82628bed659c46bf920b041b823d03a592fb077ae4863881bceb46852a8 SHA512 b228126a3563feee8be0a89d6984981b01a5afa8179a0655fbe130ddb26182454ed004e57ae275335b543b58b925c08a57e0f4627f7bef16aa0481aa31ff6739
+DIST edit-indirect-0.1.13.tar.gz 5260 BLAKE2B 776c2b94e37a92ef3dc1f7b7e3e6a57a27c28ac5e82e0c23feabfe8ea19bd5e2183c1d43476fdecbf063df0b556974cd285c55844ba64ad3ec15fc26017c239e SHA512 1aa40085ba2d3ca707e534b0ab51647eb144ac7aecc3f01f5cd9473c718584cc9a9b102c6c8ea3989b7e8408df042dd6a6898f735f8e1df80ca9930ac317fb9b
diff --git a/app-emacs/edit-indirect/edit-indirect-0.1.11.ebuild b/app-emacs/edit-indirect/edit-indirect-0.1.11.ebuild
new file mode 100644
index 000000000000..8989cb518796
--- /dev/null
+++ b/app-emacs/edit-indirect/edit-indirect-0.1.11.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Edit regions in separate Emacs buffers"
+HOMEPAGE="https://github.com/Fanael/edit-indirect/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Fanael/${PN}.git"
+else
+ SRC_URI="https://github.com/Fanael/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/edit-indirect/edit-indirect-0.1.13.ebuild b/app-emacs/edit-indirect/edit-indirect-0.1.13.ebuild
new file mode 100644
index 000000000000..8989cb518796
--- /dev/null
+++ b/app-emacs/edit-indirect/edit-indirect-0.1.13.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Edit regions in separate Emacs buffers"
+HOMEPAGE="https://github.com/Fanael/edit-indirect/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Fanael/${PN}.git"
+else
+ SRC_URI="https://github.com/Fanael/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/edit-indirect/files/50edit-indirect-gentoo.el b/app-emacs/edit-indirect/files/50edit-indirect-gentoo.el
new file mode 100644
index 000000000000..3523a6574dd3
--- /dev/null
+++ b/app-emacs/edit-indirect/files/50edit-indirect-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'edit-indirect-region "edit-indirect"
+ "Edit the region BEG..END in a separate buffer." t)
diff --git a/app-emacs/edit-indirect/metadata.xml b/app-emacs/edit-indirect/metadata.xml
new file mode 100644
index 000000000000..06616bbdfe27
--- /dev/null
+++ b/app-emacs/edit-indirect/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Edit buffer regions in separate Emacs buffers, like org-edit-src-code (from
+ the Org package) but for arbitrary regions. Used by markdown-mode.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/Fanael/edit-indirect/issues/</bugs-to>
+ <remote-id type="github">Fanael/edit-indirect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/edit-server/Manifest b/app-emacs/edit-server/Manifest
index 84c4eab43805..336e8dc86609 100644
--- a/app-emacs/edit-server/Manifest
+++ b/app-emacs/edit-server/Manifest
@@ -1 +1,2 @@
DIST emacs_chrome-1.15.tar.gz 315059 BLAKE2B 12aee8ddabcaa2c843c6315e510f757a54495affcbdccc315199270270905b3c25409f6a0aee859e0d835e16f0c8c6dab18ee147cd82864d49a6f4e4942fb99e SHA512 c91c6785d92607b2e7f6bba20176048fe8893ac7e672d860ba3befc910825bbae478104b7ba53cd8253a4f354eb26bc0a993f23fed5888c3b8c9cdf00e116c30
+DIST emacs_chrome-1.16.tar.gz 316669 BLAKE2B 07d2c61541510a584a27522902ce86d36fef774cd00d7e1f0edc7dd86edc6d185b5b76f9b4a0fb684083e40518ae731b0945189e338c673c8df2043dec4f9ccc SHA512 8d8093b6ac7b68b2b5d022b5289d99a95fda57b71c0a6b20bcd34ebd8a5dc482a4b21e863a1336f07e9f0dc3d58411946dc519698b376f85f6ea83f49efb6395
diff --git a/app-emacs/edit-server/edit-server-1.16.ebuild b/app-emacs/edit-server/edit-server-1.16.ebuild
new file mode 100644
index 000000000000..bdb250cd41d1
--- /dev/null
+++ b/app-emacs/edit-server/edit-server-1.16.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_PN="emacs_chrome"
+DESCRIPTION="Service edit requests from a web browser for editing of textareas"
+HOMEPAGE="https://github.com/stsquad/emacs_chrome"
+SRC_URI="https://github.com/stsquad/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}/servers"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+ELISP_REMOVE="edit-server-ert.el"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README"
diff --git a/app-emacs/edit-server/metadata.xml b/app-emacs/edit-server/metadata.xml
index 22cae5914449..16cbe85a2c64 100644
--- a/app-emacs/edit-server/metadata.xml
+++ b/app-emacs/edit-server/metadata.xml
@@ -16,5 +16,8 @@
The extension packages a native elisp version that can be run inside
GNU Emacs itself.
</longdescription>
+<upstream>
+ <remote-id type="github">stsquad/emacs_chrome</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/editorconfig-emacs/Manifest b/app-emacs/editorconfig-emacs/Manifest
index db6a5ee94481..9030cde0f252 100644
--- a/app-emacs/editorconfig-emacs/Manifest
+++ b/app-emacs/editorconfig-emacs/Manifest
@@ -1,2 +1 @@
-DIST editorconfig-emacs-0.7.8.tar.gz 28250 BLAKE2B 8c09b7e495ff38d4276cdbaf60109f91b3e32215f2c6a8aceffd80a02cf024d79eac1739b3f2efa3697b78804da32d0cc2969db628d1064a0fb1db1b059a191d SHA512 21815a5a778ffef68b5205e409aa827c1bd6c9a8c542647ebec889a9f00f5b3f71e3a2072bc2f0373e8ce30c1bb57f5f6350953a3c149742a8e2e46ca9846c9a
-DIST editorconfig-emacs-0.8.2.tar.gz 39675 BLAKE2B a2a9641185a00c2908715b59a7e4429008f7587e00552ebc19f6cc38b6a10423c26a25557b887caaddc47d9c136fdec82476ef916e18c06b8228925b4554428b SHA512 6934418fd7890c49d8df7cdac1a0afe066e07ddf6274f674a4624dca47de278a78778f25beca793cdb537852beb7c8df5ea46743fb0bc753acccbb9974448e18
+DIST editorconfig-emacs-0.10.1.tar.gz 41259 BLAKE2B d03a86413122db05d87af4ea1a51087f22998d362e66965d0a6cd0f67ce57d7e6f15c403745ff018114715c1551f439b54a4c2e7e25325bd436c0959ea1a5595 SHA512 dc254ecf38b0f4b8850ff70f5a1a1ac72cd64e3795f5202d4bc8e13a0d1d9351e816e9a92f809cee6c6404348ba9bd1d908e17c2b0bce15dca112fe9cf1efc2b
diff --git a/app-emacs/editorconfig-emacs/editorconfig-emacs-0.10.1.ebuild b/app-emacs/editorconfig-emacs/editorconfig-emacs-0.10.1.ebuild
new file mode 100644
index 000000000000..ba6eb0bad920
--- /dev/null
+++ b/app-emacs/editorconfig-emacs/editorconfig-emacs-0.10.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="EditorConfig plugin for emacs"
+HOMEPAGE="https://github.com/editorconfig/editorconfig-emacs"
+SRC_URI="https://github.com/editorconfig/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+RESTRICT="test" # make test requires a git repo
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( CHANGELOG.md README.md )
+DOC_CONTENTS="The EditorConfig feature is not enabled as a site default.
+ Add the following line to your ~/.emacs file to activate it:
+ \n\t(editorconfig-mode 1)"
diff --git a/app-emacs/editorconfig-emacs/editorconfig-emacs-0.7.8-r1.ebuild b/app-emacs/editorconfig-emacs/editorconfig-emacs-0.7.8-r1.ebuild
deleted file mode 100644
index 5108959d687f..000000000000
--- a/app-emacs/editorconfig-emacs/editorconfig-emacs-0.7.8-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="EditorConfig plugin for emacs"
-HOMEPAGE="https://github.com/editorconfig/editorconfig-emacs"
-SRC_URI="https://github.com/editorconfig/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-RESTRICT="test" # make test requires a git repo
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-DOC_CONTENTS="The EditorConfig feature is not enabled as a site default.
- Add the following line to your ~/.emacs file to activate it:
- \n\t(editorconfig-mode 1)"
diff --git a/app-emacs/editorconfig-emacs/editorconfig-emacs-0.8.2.ebuild b/app-emacs/editorconfig-emacs/editorconfig-emacs-0.8.2.ebuild
deleted file mode 100644
index 28b91eb6580a..000000000000
--- a/app-emacs/editorconfig-emacs/editorconfig-emacs-0.8.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="EditorConfig plugin for emacs"
-HOMEPAGE="https://github.com/editorconfig/editorconfig-emacs"
-SRC_URI="https://github.com/editorconfig/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test" # make test requires a git repo
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-DOC_CONTENTS="The EditorConfig feature is not enabled as a site default.
- Add the following line to your ~/.emacs file to activate it:
- \n\t(editorconfig-mode 1)"
diff --git a/app-emacs/editorconfig-emacs/files/50editorconfig-emacs-gentoo.el b/app-emacs/editorconfig-emacs/files/50editorconfig-emacs-gentoo.el
index 93d6816e8e7b..247365df8ecd 100644
--- a/app-emacs/editorconfig-emacs/files/50editorconfig-emacs-gentoo.el
+++ b/app-emacs/editorconfig-emacs/files/50editorconfig-emacs-gentoo.el
@@ -1,7 +1,9 @@
(add-to-list 'load-path "@SITELISP@")
+(autoload 'editorconfig-core-get-properties-hash "editorconfig-core"
+ "Get EditorConfig properties for FILE." t)
(autoload 'editorconfig-mode "editorconfig"
"Toggle EditorConfig feature." t)
(autoload 'editorconfig-conf-mode "editorconfig-conf-mode"
"Major mode for editing .editorconfig files." t)
(add-to-list 'auto-mode-alist
- '("/\\.editorconfig\\'" . editorconfig-conf-mode))
+ '("/\\.editorconfig\\'" . editorconfig-conf-mode))
diff --git a/app-emacs/ef-themes/Manifest b/app-emacs/ef-themes/Manifest
new file mode 100644
index 000000000000..619580e8374a
--- /dev/null
+++ b/app-emacs/ef-themes/Manifest
@@ -0,0 +1 @@
+DIST ef-themes-1.4.0.tar.gz 163456 BLAKE2B b3939d467ebf8c57c3975b5bd449bd419fa334febc2d792323b2b14c967e98a34537a766b350c668ff4e893eddd23a55104f7a7af4f437a21bf8e0006dc9fd17 SHA512 ddbad5f6829911cc8806b865ae0f7ef8741224a37b1f8c82bdc66ed0cc8475d1b76707b57bbf34a98bb71d3c9e8ea25d065a79efc1a5803a901f8e08968c83f9
diff --git a/app-emacs/ef-themes/ef-themes-1.4.0.ebuild b/app-emacs/ef-themes/ef-themes-1.4.0.ebuild
new file mode 100644
index 000000000000..e12280ff911b
--- /dev/null
+++ b/app-emacs/ef-themes/ef-themes-1.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Colourful and legible themes for GNU Emacs"
+HOMEPAGE="https://github.com/protesilaos/ef-themes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.org README.md README.org contrast-ratios.org )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/ef-themes/ef-themes-9999.ebuild b/app-emacs/ef-themes/ef-themes-9999.ebuild
new file mode 100644
index 000000000000..e12280ff911b
--- /dev/null
+++ b/app-emacs/ef-themes/ef-themes-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Colourful and legible themes for GNU Emacs"
+HOMEPAGE="https://github.com/protesilaos/ef-themes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.org README.md README.org contrast-ratios.org )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-org-export-to texinfo README.org
+
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/ef-themes/files/50ef-themes-gentoo.el b/app-emacs/ef-themes/files/50ef-themes-gentoo.el
new file mode 100644
index 000000000000..58df6c8ef84e
--- /dev/null
+++ b/app-emacs/ef-themes/files/50ef-themes-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "ef-themes-autoloads" nil t)
diff --git a/app-emacs/ef-themes/metadata.xml b/app-emacs/ef-themes/metadata.xml
new file mode 100644
index 000000000000..64f4a3598739
--- /dev/null
+++ b/app-emacs/ef-themes/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ The ef-themes are a collection of light and dark themes for GNU Emacs whose
+ goal is to provide colorfulyet legible options for users who want something
+ with a bit more flair than the modus-themes.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/protesilaos/ef-themes/issues/</bugs-to>
+ <remote-id type="github">protesilaos/ef-themes</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/eglot/Manifest b/app-emacs/eglot/Manifest
new file mode 100644
index 000000000000..fac0edacfbfc
--- /dev/null
+++ b/app-emacs/eglot/Manifest
@@ -0,0 +1 @@
+DIST eglot-1.15.tar.gz 305200 BLAKE2B e9bb3f10dc9aac803f9b1184f489d76bd217b279d398c67a403c887298ec3e73e30a359a7e31af9c298b8778a2cdf916e9f40495ab3d01216a12fb38aed4d83b SHA512 871d56404c08baa490488d6027645f7ba0252faee7d006ade4e29890abb2e70a3f1715114c852721db7991bdece29266d920bbef6da0eb2ea2f37b842f411ac2
diff --git a/app-emacs/eglot/eglot-1.15-r1.ebuild b/app-emacs/eglot/eglot-1.15-r1.ebuild
new file mode 100644
index 000000000000..f77a0922ed66
--- /dev/null
+++ b/app-emacs/eglot/eglot-1.15-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.3
+
+inherit elisp
+
+DESCRIPTION="A minimal Emacs LSP client for GNU Emacs"
+HOMEPAGE="https://github.com/joaotavora/eglot/
+ https://elpa.gnu.org/packages/eglot.html"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/joaotavora/${PN}.git"
+elif [[ ${PV} == 1.15 ]] ; then
+ COMMIT=8b5532dd32b25276c1857508030b207f765ef9b6
+ SRC_URI="https://github.com/joaotavora/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Requires the newest "project" package.
+
+RDEPEND="app-emacs/external-completion"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo-r1.el"
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+}
diff --git a/app-emacs/eglot/files/50eglot-gentoo-r1.el b/app-emacs/eglot/files/50eglot-gentoo-r1.el
new file mode 100644
index 000000000000..b12b269242df
--- /dev/null
+++ b/app-emacs/eglot/files/50eglot-gentoo-r1.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/eglot-autoloads.el" nil t)
diff --git a/app-emacs/eglot/files/50eglot-gentoo.el b/app-emacs/eglot/files/50eglot-gentoo.el
new file mode 100644
index 000000000000..c3b894cc43c8
--- /dev/null
+++ b/app-emacs/eglot/files/50eglot-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/eglot-autoload.el" nil t)
diff --git a/app-emacs/eglot/metadata.xml b/app-emacs/eglot/metadata.xml
new file mode 100644
index 000000000000..d9638f7e735e
--- /dev/null
+++ b/app-emacs/eglot/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jturner.usa+gentoo@gmail.com</email>
+ <name>John Turner</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">joaotavora/eglot</remote-id>
+ <doc>https://github.com/joaotavora/eglot/blob/master/README.md</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/eimp/Manifest b/app-emacs/eimp/Manifest
new file mode 100644
index 000000000000..e9fe8496238d
--- /dev/null
+++ b/app-emacs/eimp/Manifest
@@ -0,0 +1 @@
+DIST eimp-1.4.0.tar.gz 8528 BLAKE2B 96d674d61573d1fe3f31107860bf0c4f89049cd758b295f14e92c109512fe51f836436a8e77aef9a5aa966bdd77797e037dabe682482ca382dbe9e63579501f8 SHA512 db630a1f4dcb291af48bccfbafb79b859ed4d7b1ea82922f4cb4386a52c6d7264f7996422516565266639ee53ebac426739f44f051ff8016a86388b15dc48c27
diff --git a/app-emacs/eimp/eimp-1.4.0-r1.ebuild b/app-emacs/eimp/eimp-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..26c7c272b9c9
--- /dev/null
+++ b/app-emacs/eimp/eimp-1.4.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Image Manipulation Package"
+HOMEPAGE="https://github.com/nicferrier/eimp/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/nicferrier/${PN}.git"
+else
+ [[ ${PV} == 1.4.0 ]] && COMMIT=2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f
+ SRC_URI="https://github.com/nicferrier/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="media-gfx/imagemagick"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/eimp/files/50eimp-gentoo.el b/app-emacs/eimp/files/50eimp-gentoo.el
new file mode 100644
index 000000000000..46f38cdaedc3
--- /dev/null
+++ b/app-emacs/eimp/files/50eimp-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'eimp-mode "eimp" "Emacs Image Manipulation Package." t)
diff --git a/app-emacs/eimp/metadata.xml b/app-emacs/eimp/metadata.xml
new file mode 100644
index 000000000000..52b68488fd7e
--- /dev/null
+++ b/app-emacs/eimp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/nicferrier/eimp/issues/</bugs-to>
+ <remote-id type="github">nicferrier/eimp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/el-mock/Manifest b/app-emacs/el-mock/Manifest
new file mode 100644
index 000000000000..4f88a04b8909
--- /dev/null
+++ b/app-emacs/el-mock/Manifest
@@ -0,0 +1 @@
+DIST el-mock-1.25.1.tar.gz 5825 BLAKE2B e04f193e6d27a0081dd8c9eceafc79b585f8556e0c4dc75f7c27e657b939e6320268c90bb63aca15a7261598edbdbf6cd936230b0c1dc64de24de8a67bc51920 SHA512 8b55c94489d6461124c3e39920e5aeb2e1adb492f08aa4312c6029f392c6acdea1c01872995934e500d6ff63c3d2d38c9dde86c55135421a28e3a79ace38d7d8
diff --git a/app-emacs/el-mock/el-mock-1.25.1.ebuild b/app-emacs/el-mock/el-mock-1.25.1.ebuild
new file mode 100644
index 000000000000..d12cb46cd33c
--- /dev/null
+++ b/app-emacs/el-mock/el-mock-1.25.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Mocking library for Emacs"
+HOMEPAGE="https://github.com/rejeep/el-mock.el/"
+SRC_URI="https://github.com/rejeep/${PN}.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/el-mock/metadata.xml b/app-emacs/el-mock/metadata.xml
new file mode 100644
index 000000000000..278694c35599
--- /dev/null
+++ b/app-emacs/el-mock/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rejeep/el-mock.el/issues/</bugs-to>
+ <remote-id type="github">rejeep/el-mock.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/eldev/Manifest b/app-emacs/eldev/Manifest
new file mode 100644
index 000000000000..47d2da7ce01a
--- /dev/null
+++ b/app-emacs/eldev/Manifest
@@ -0,0 +1,3 @@
+DIST eldev-1.8.2.tar.gz 298578 BLAKE2B 579c72d61e15863a81b8a060da0c78900785a2b58f6a4825d19eebb85467ff838f2777bab05dc4ff2b04367d3fe58e4e71cbce09c4bbcc1c0ad5700cc12edc6d SHA512 c5ae360311d4b23648ecfb86e40a23abd4575480b971d86579f61b2c5a2873a9db211fe044cc33a47cb31bc215890a1c0b73c54700a92fcd1eb299a22733f71a
+DIST eldev-1.9.1.tar.gz 301188 BLAKE2B ce57bee48dda505113df269504fdcad1847e80b2df9e3f7916d7960ee7212a7cb44165b373f0e6c54c0d04f7990f46132afdf6d64ae1b93a9433353cf5058a81 SHA512 f059f49e920ea518b23cbd0a8d49d0e86c9fdb5d759bb42d44a620b95dd7eb007e1457de904c9a5149b9c76ef7737ba2942de4cf7a6be2becb2a6152e08bea26
+DIST eldev-1.9.tar.gz 300721 BLAKE2B dac07c0f7fba1a8637ca9c2e26ebef26fefa88bc6d709a313818233e8c00e2c53acdd2ba37baba2d8e07aa49634a590790faf58edcefafe910793125d7ab7aed SHA512 c3b64cf457ffc0aaa21c34c48379736c98a94773ffd830cd9d79e840638340201f08899f09363912985f54b248130946d4ce6175891fd298548e6538ca9ee142
diff --git a/app-emacs/eldev/eldev-1.8.2.ebuild b/app-emacs/eldev/eldev-1.8.2.ebuild
new file mode 100644
index 000000000000..3f11b2985b3e
--- /dev/null
+++ b/app-emacs/eldev/eldev-1.8.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp Development Tool"
+HOMEPAGE="https://emacs-eldev.github.io/eldev/
+ https://github.com/doublep/eldev/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/doublep/${PN}.git"
+else
+ SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="test/doctor.el"
+
+DOCS=( README.adoc )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ELDEV_LOCAL="${S}" "./bin/${PN}" test
+}
+
+src_install() {
+ elisp_src_install
+ dobin "./bin/${PN}"
+
+ # NOTICE: If ELDEV_LOCAL is defined Eldev will use it
+ # to load up it's components,
+ # if it is not it will bootstrap itself from network
+ # always check if it uses installed Emacs Lisp files.
+ # Also, do not forget to run `env-update` & reopen your shell.
+ # https://github.com/doublep/eldev#influential-environment-variables
+ echo "ELDEV_LOCAL=${SITELISP}/${PN}" >> "${T}/99${PN}" || die
+ doenvd "${T}/99${PN}"
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ ewarn "Remember to run \`env-update && source /etc/profile\` if you plan"
+ ewarn "to use Eldev in a shell before logging out (or restarting"
+ ewarn "your login manager)."
+}
diff --git a/app-emacs/eldev/eldev-1.9.1.ebuild b/app-emacs/eldev/eldev-1.9.1.ebuild
new file mode 100644
index 000000000000..d7fd8d4962bb
--- /dev/null
+++ b/app-emacs/eldev/eldev-1.9.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp Development Tool"
+HOMEPAGE="https://emacs-eldev.github.io/eldev/
+ https://github.com/doublep/eldev/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/doublep/${PN}.git"
+else
+ SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="
+ test/doctor.el
+"
+
+DOCS=( README.adoc )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ELDEV_LOCAL="${S}" "./bin/${PN}" test
+}
+
+src_install() {
+ elisp_src_install
+
+ exeinto /usr/bin
+ doexe "./bin/${PN}"
+
+ # NOTICE: If ELDEV_LOCAL is defined Eldev will use it
+ # to load up it's components,
+ # if it is not it will bootstrap itself from network
+ # always check if it uses installed Emacs Lisp files.
+ # Also, do not forget to run `env-update` & reopen your shell.
+ # https://github.com/doublep/eldev#influential-environment-variables
+ echo "ELDEV_LOCAL=${SITELISP}/${PN}" >> "${T}/99${PN}" || die
+ doenvd "${T}/99${PN}"
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ ewarn "Remember to run \`env-update && source /etc/profile\` if you plan"
+ ewarn "to use Eldev in a shell before logging out (or restarting"
+ ewarn "your login manager)."
+}
diff --git a/app-emacs/eldev/eldev-1.9.ebuild b/app-emacs/eldev/eldev-1.9.ebuild
new file mode 100644
index 000000000000..c7b3f8685f75
--- /dev/null
+++ b/app-emacs/eldev/eldev-1.9.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp Development Tool"
+HOMEPAGE="https://emacs-eldev.github.io/eldev/
+ https://github.com/doublep/eldev/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/doublep/${PN}.git"
+else
+ SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="
+ test/doctor.el
+"
+
+DOCS=( README.adoc )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ELDEV_LOCAL="${S}" "./bin/${PN}" test
+}
+
+src_install() {
+ elisp_src_install
+
+ exeinto /usr/bin
+ doexe "./bin/${PN}"
+
+ # NOTICE: If ELDEV_LOCAL is defined Eldev will use it
+ # to load up it's components,
+ # if it is not it will bootstrap itself from network
+ # always check if it uses installed Emacs Lisp files.
+ # Also, do not forget to run `env-update` & reopen your shell.
+ # https://github.com/doublep/eldev#influential-environment-variables
+ echo "ELDEV_LOCAL=${SITELISP}/${PN}" >> "${T}/99${PN}" || die
+ doenvd "${T}/99${PN}"
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ ewarn "Remember to run \`env-update && source /etc/profile\` if you plan"
+ ewarn "to use Eldev in a shell before logging out (or restarting"
+ ewarn "your login manager)."
+}
diff --git a/app-emacs/eldev/eldev-9999.ebuild b/app-emacs/eldev/eldev-9999.ebuild
new file mode 100644
index 000000000000..413e8c727a11
--- /dev/null
+++ b/app-emacs/eldev/eldev-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp Development Tool"
+HOMEPAGE="https://github.com/doublep/eldev/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doublep/${PN}.git"
+else
+ SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.adoc )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ELDEV_LOCAL="${S}" ./bin/${PN} test
+}
+
+src_install() {
+ elisp_src_install
+ dobin bin/${PN}
+
+ # NOTICE: If ELDEV_LOCAL is defined Eldev will use it
+ # to load up it's components,
+ # if it is not it will bootstrap itself from network
+ # always check if it uses installed Emacs Lisp files.
+ # Also, do not forget to run `env-update` & reopen your shell.
+ # https://github.com/doublep/eldev#influential-environment-variables
+ echo "ELDEV_LOCAL=${SITELISP}/${PN}" >> "${T}"/99${PN} || die
+ doenvd "${T}"/99${PN}
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ ewarn "Remember to run \`env-update && source /etc/profile\` if you plan"
+ ewarn "to use Eldev in a shell before logging out (or restarting"
+ ewarn "your login manager)."
+}
diff --git a/app-emacs/eldev/metadata.xml b/app-emacs/eldev/metadata.xml
new file mode 100644
index 000000000000..cb313e2aec78
--- /dev/null
+++ b/app-emacs/eldev/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/doublep/eldev/releases/</changelog>
+ <bugs-to>https://github.com/doublep/eldev/issues/</bugs-to>
+ <remote-id type="github">doublep/eldev</remote-id>
+ </upstream>
+ <longdescription>
+ Eldev (Elisp Development Tool) is an Emacs-based build tool, targeted
+ solely at Elisp projects. It is an alternative to Cask. Unlike Cask, Eldev
+ itself is fully written in Elisp and its configuration files are also Elisp
+ programs. If you are familiar with Java world, Cask can be seen as a
+ parallel to Maven β€” it uses project description, while Eldev is sort of a
+ parallel to Gradle β€” its configuration is a program on its own.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/elfeed-protocol/Manifest b/app-emacs/elfeed-protocol/Manifest
new file mode 100644
index 000000000000..3b03ffba6499
--- /dev/null
+++ b/app-emacs/elfeed-protocol/Manifest
@@ -0,0 +1,2 @@
+DIST elfeed-protocol-0.9.0.tar.gz 48646 BLAKE2B cffb43799f9909a7c194d24ae490afcdcc7d9ae789b047ac90d9d4a6d1c014deedd5cc3d4a18cca7b643c07b2a297ece5fc8058651e531b9ee9da2572eb1152b SHA512 d9d1f130453a3759ca008153634bb6a768f757df22fdde6f39c397e9605eef335dc192f05c04a94f71123d24a8055acb9c7fc37350bd0b533cd9caf3c2602c9b
+DIST elfeed-protocol-0.9.1.tar.gz 52032 BLAKE2B da5a468ee6e3d88bc455dac5208a6550d67fdec6634889ea98daff5fc4b1b8a93f2ec9cbc9829730e3ee885c363c2688873c7e0b5df873146aab41a9746c684e SHA512 de34ea493e676819882201ee5feb0cfed3a9bb0a69d9b00ca1c6cdd954a4c12352d817dd3055c48aa12a2225d43a60a9c5b6f0bffca815cf7d265a427d3c268b
diff --git a/app-emacs/elfeed-protocol/elfeed-protocol-0.9.0.ebuild b/app-emacs/elfeed-protocol/elfeed-protocol-0.9.0.ebuild
new file mode 100644
index 000000000000..1fd5f3db4117
--- /dev/null
+++ b/app-emacs/elfeed-protocol/elfeed-protocol-0.9.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Provide extra news client subscription protocols for elfeed"
+HOMEPAGE="https://github.com/fasheng/elfeed-protocol/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fasheng/${PN}.git"
+else
+ SRC_URI="https://github.com/fasheng/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="app-emacs/elfeed"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
diff --git a/app-emacs/elfeed-protocol/elfeed-protocol-0.9.1.ebuild b/app-emacs/elfeed-protocol/elfeed-protocol-0.9.1.ebuild
new file mode 100644
index 000000000000..1fd5f3db4117
--- /dev/null
+++ b/app-emacs/elfeed-protocol/elfeed-protocol-0.9.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Provide extra news client subscription protocols for elfeed"
+HOMEPAGE="https://github.com/fasheng/elfeed-protocol/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fasheng/${PN}.git"
+else
+ SRC_URI="https://github.com/fasheng/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="app-emacs/elfeed"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
diff --git a/app-emacs/elfeed-protocol/files/50elfeed-protocol-gentoo.el b/app-emacs/elfeed-protocol/files/50elfeed-protocol-gentoo.el
new file mode 100644
index 000000000000..788ac23ffeba
--- /dev/null
+++ b/app-emacs/elfeed-protocol/files/50elfeed-protocol-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elfeed-protocol-disable "elfeed-protocol"
+ "Disable hooks and advices for elfeed-protocol." t)
+(autoload 'elfeed-protocol-enable "elfeed-protocol"
+ "Enable hooks and advices for elfeed-protocol." t)
diff --git a/app-emacs/elfeed-protocol/metadata.xml b/app-emacs/elfeed-protocol/metadata.xml
new file mode 100644
index 000000000000..7906f06796a4
--- /dev/null
+++ b/app-emacs/elfeed-protocol/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ ο»ΏProvide extra protocols to make self-hosting RSS readers work with elfeed,
+ including Fever, NewsBlur, Nextcloud/ownCloud News, Tiny Tiny RSS and even
+ more.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/fasheng/elfeed-protocol/issues/</bugs-to>
+ <remote-id type="github">fasheng/elfeed-protocol</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/elfeed/Manifest b/app-emacs/elfeed/Manifest
new file mode 100644
index 000000000000..6580308a389c
--- /dev/null
+++ b/app-emacs/elfeed/Manifest
@@ -0,0 +1 @@
+DIST elfeed-3.4.1_p20210822.tar.gz 67360 BLAKE2B 32931bbe54578bb8a0b9fc330d5114e4cc5f5f915f6e6125ad3d8cb5be459e72a097d1afb132ff6a73427efe9ffcce4a7e081a9a45144a5c1ea7fcdfe19ba4d9 SHA512 41bb095b87df3dfb40b6a155881f8703c674ddb9f15b5b2765fd4f893d4e58ddafb2fa0da296995e988a9ba6096e78760c262c9a18ef7624e65b60f2d7bf4140
diff --git a/app-emacs/elfeed/elfeed-3.4.1_p20210822.ebuild b/app-emacs/elfeed/elfeed-3.4.1_p20210822.ebuild
new file mode 100644
index 000000000000..544ebdef09f5
--- /dev/null
+++ b/app-emacs/elfeed/elfeed-3.4.1_p20210822.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs web feeds client"
+HOMEPAGE="https://github.com/skeeto/elfeed/"
+
+if [[ ${PV} == *_p20210822 ]] ; then
+ COMMIT=162d7d545ed41c27967d108c04aa31f5a61c8e16
+ SRC_URI="https://github.com/skeeto/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+else
+ SRC_URI="https://github.com/skeeto/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+fi
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="net-misc/curl[ssl]"
+
+ELISP_REMOVE="${PN}-pkg.el"
+
+DOCS=( NEWS.md README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/elfeed/files/50elfeed-gentoo.el b/app-emacs/elfeed/files/50elfeed-gentoo.el
new file mode 100644
index 000000000000..535139ef379c
--- /dev/null
+++ b/app-emacs/elfeed/files/50elfeed-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elfeed "elfeed" "Enter elfeed." t)
diff --git a/app-emacs/elfeed/metadata.xml b/app-emacs/elfeed/metadata.xml
new file mode 100644
index 000000000000..a8e59db76c15
--- /dev/null
+++ b/app-emacs/elfeed/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <longdescription>
+ Elfeed is an extensible web feed reader for Emacs, supporting both Atom and
+ RSS. Elfeed was inspired by notmuch.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/skeeto/elfeed/issues/</bugs-to>
+ <remote-id type="github">skeeto/elfeed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/elixir-mode/Manifest b/app-emacs/elixir-mode/Manifest
new file mode 100644
index 000000000000..747c81efec34
--- /dev/null
+++ b/app-emacs/elixir-mode/Manifest
@@ -0,0 +1,2 @@
+DIST elixir-mode-2.4.1.tar.gz 35948 BLAKE2B 0850da18c5897dce2c19fba5a41235c38b5f6841dcd08c3b9cd1a039d743c3c002f8066bdcb4484cfd99b63004329824d5f38321668aae3fa9d162a5145aac3e SHA512 df429d1cff45d9bcad0cd0d5cdd1776f1c419226881bacec1530750f0cb7418f14858af15176824cbc73916049ba091caaac486fce2c3f6d11ae9cb360ef6a87
+DIST elixir-mode-2.5.0.tar.gz 36761 BLAKE2B cf1157a7b47acc583595b7a80eb7c5717cb605d9188f0d38c41518d21a6eb5729eda5af81d889d11007a899a8e6f38c67d5dd950407c5a89a5290e68ceab3294 SHA512 dfd3d939ab5a46f70f782e8557d39c02d34d502ea43bb93aba754417d2c13c0c8e6743fb974aa2e2def3e29ab22d45a9015ce6e59b33b561387782d8fe0b1389
diff --git a/app-emacs/elixir-mode/elixir-mode-2.4.1.ebuild b/app-emacs/elixir-mode/elixir-mode-2.4.1.ebuild
new file mode 100644
index 000000000000..cc7f9f3b5819
--- /dev/null
+++ b/app-emacs/elixir-mode/elixir-mode-2.4.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for editing Elixir files"
+HOMEPAGE="https://github.com/elixir-editors/emacs-elixir/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/elixir-editors/emacs-elixir.git"
+else
+ SRC_URI="https://github.com/elixir-editors/emacs-elixir/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-elixir-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( dev-lang/elixir )
+"
+
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner
+
+src_test() {
+ ert-runner -L . -L tests --reporter ert+duration tests || die
+}
diff --git a/app-emacs/elixir-mode/elixir-mode-2.5.0.ebuild b/app-emacs/elixir-mode/elixir-mode-2.5.0.ebuild
new file mode 100644
index 000000000000..cc7f9f3b5819
--- /dev/null
+++ b/app-emacs/elixir-mode/elixir-mode-2.5.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for editing Elixir files"
+HOMEPAGE="https://github.com/elixir-editors/emacs-elixir/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/elixir-editors/emacs-elixir.git"
+else
+ SRC_URI="https://github.com/elixir-editors/emacs-elixir/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-elixir-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( dev-lang/elixir )
+"
+
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner
+
+src_test() {
+ ert-runner -L . -L tests --reporter ert+duration tests || die
+}
diff --git a/app-emacs/elixir-mode/files/50elixir-mode-gentoo.el b/app-emacs/elixir-mode/files/50elixir-mode-gentoo.el
new file mode 100644
index 000000000000..d90ae53151be
--- /dev/null
+++ b/app-emacs/elixir-mode/files/50elixir-mode-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elixir-mode "elixir-mode"
+ "Major mode for editing Elixir code." t)
+(add-to-list 'auto-mode-alist '("\\.elixir\\'" . elixir-mode))
+(add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-mode))
+(add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-mode))
+(add-to-list 'auto-mode-alist '("mix\\.lock" . elixir-mode))
diff --git a/app-emacs/elixir-mode/metadata.xml b/app-emacs/elixir-mode/metadata.xml
new file mode 100644
index 000000000000..5f5dd3fd1e80
--- /dev/null
+++ b/app-emacs/elixir-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/elixir-editors/emacs-elixir/issues/</bugs-to>
+ <remote-id type="github">elixir-editors/emacs-elixir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/elpa-mirror/Manifest b/app-emacs/elpa-mirror/Manifest
new file mode 100644
index 000000000000..c6e9b89b1ae3
--- /dev/null
+++ b/app-emacs/elpa-mirror/Manifest
@@ -0,0 +1,2 @@
+DIST elpa-mirror-2.2.2.tar.gz 9225 BLAKE2B 2f72fdb33384fc3b38db8b3b404b018b7e01989a410f30e7872c19e6b3b3eb8873c07c1751f7367d237c8117bbe548407dd0af7b301d2837a87aeccd3e704f5a SHA512 2927b40ea6f7ea0c6de6abf3367bdb2826021b7a70206611430f19ed4538814777980ede10946a6e0da258677de146f860467a2f88093491e34dce4279575042
+DIST elpa-mirror-2.3.0.tar.gz 9208 BLAKE2B 798ebcbcfae893fe60632b7c47ee8960c681a6bcd24e76d0f853176449910dac3edb326f8a37e161e0bb7826d1aa4e784ea5d7a62c43709977384a973098ee73 SHA512 25c5229ff2c1bf8fa6c7e7c2b56dbc47d84e59063c899686f577350b75530787ae8cf17ca216e25c0dd2e9e598c7cfc24d764bb87eaa35e3e7a55d97e89b81d7
diff --git a/app-emacs/elpa-mirror/elpa-mirror-2.2.2.ebuild b/app-emacs/elpa-mirror/elpa-mirror-2.2.2.ebuild
new file mode 100644
index 000000000000..eaeb33c0fb7f
--- /dev/null
+++ b/app-emacs/elpa-mirror/elpa-mirror-2.2.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Create local package repository from installed Emacs Lisp packages"
+HOMEPAGE="https://github.com/redguardtoo/elpa-mirror/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/redguardtoo/${PN}.git"
+else
+ SRC_URI="https://github.com/redguardtoo/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+# Tests require network access.
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake EMACS="${EMACS}" test
+}
diff --git a/app-emacs/elpa-mirror/elpa-mirror-2.3.0.ebuild b/app-emacs/elpa-mirror/elpa-mirror-2.3.0.ebuild
new file mode 100644
index 000000000000..7e3abca0df18
--- /dev/null
+++ b/app-emacs/elpa-mirror/elpa-mirror-2.3.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Create local package repository from installed Emacs Lisp packages"
+HOMEPAGE="https://github.com/redguardtoo/elpa-mirror/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/redguardtoo/${PN}.git"
+else
+ SRC_URI="https://github.com/redguardtoo/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+# Tests require network access.
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake EMACS="${EMACS}" test
+}
diff --git a/app-emacs/elpa-mirror/files/50elpa-mirror-gentoo.el b/app-emacs/elpa-mirror/files/50elpa-mirror-gentoo.el
new file mode 100644
index 000000000000..fa406fe42af2
--- /dev/null
+++ b/app-emacs/elpa-mirror/files/50elpa-mirror-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elpamr-create-mirror-for-installed "elpa-mirror"
+ "Export installed packages into a new directory." t)
diff --git a/app-emacs/elpa-mirror/metadata.xml b/app-emacs/elpa-mirror/metadata.xml
new file mode 100644
index 000000000000..3bd3ebbdd830
--- /dev/null
+++ b/app-emacs/elpa-mirror/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/redguardtoo/elpa-mirror/issues/</bugs-to>
+ <remote-id type="github">redguardtoo/elpa-mirror</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/elpher/Manifest b/app-emacs/elpher/Manifest
new file mode 100644
index 000000000000..e7481ac86325
--- /dev/null
+++ b/app-emacs/elpher/Manifest
@@ -0,0 +1,2 @@
+DIST elpher-3.5.1.tar.gz 59926 BLAKE2B 294db66525a72366090f380233e10b4c26663fbc6460dc50e99cea3a0210b4a8b4cc7a46866ae44cdf8c23c0bbe9aa267c9ca89e540e10c11fdb7ada564c2276 SHA512 52940459b5d9f6a4df151a8ca0fd42be7ee5bbf2e2e75242cd160ac7f2058c5fc969b2f0b4542b66f07201a41f75cd472b08581b351cc360b3661ae238203596
+DIST elpher-3.6.0.tar.gz 60394 BLAKE2B d5e75b567a69ad291389184caa07ae27fec909ca54c22e815416cac4c029e525ccbd6bb533c2bde6c161fbf397d46fcb2c371f801252af6101b865329ca6a1a7 SHA512 2cd1d2f6bd51369ba530d6c2e6ea6234c7104429c67ad48bf6f8e1e6ca0d889c779a4020ec839fe3b9622d5292414161f6b1f19b54837852f8f79b5c9944b71d
diff --git a/app-emacs/elpher/elpher-3.5.1.ebuild b/app-emacs/elpher/elpher-3.5.1.ebuild
new file mode 100644
index 000000000000..7f6e304ce54d
--- /dev/null
+++ b/app-emacs/elpher/elpher-3.5.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Practical and friendly Gopher and Gemini client for GNU Emacs"
+HOMEPAGE="https://thelambdalab.xyz/elpher/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://thelambdalab.xyz/${PN}.git"
+else
+ if [[ "${PV}" == 3.5.1 ]] ; then
+ COMMIT=3f53ed5
+
+ SRC_URI="https://thelambdalab.xyz/gitweb/index.cgi?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ die "could not generate SRC_URI"
+ fi
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="elpher-pkg.el"
+
+DOCS=( ISSUES.org README )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/elpher/elpher-3.6.0.ebuild b/app-emacs/elpher/elpher-3.6.0.ebuild
new file mode 100644
index 000000000000..0124c2d27c1c
--- /dev/null
+++ b/app-emacs/elpher/elpher-3.6.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Practical and friendly Gopher and Gemini client for GNU Emacs"
+HOMEPAGE="https://thelambdalab.xyz/elpher/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="git://thelambdalab.xyz/${PN}.git"
+else
+ if [[ "${PV}" == 3.6.0 ]] ; then
+ COMMIT=56bc74e
+ SRC_URI="https://thelambdalab.xyz/gitweb/index.cgi?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ die "could not generate SRC_URI"
+ fi
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="
+ elpher-pkg.el
+"
+
+DOCS=( ISSUES.org README )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/elpher/elpher-9999.ebuild b/app-emacs/elpher/elpher-9999.ebuild
new file mode 100644
index 000000000000..0124c2d27c1c
--- /dev/null
+++ b/app-emacs/elpher/elpher-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Practical and friendly Gopher and Gemini client for GNU Emacs"
+HOMEPAGE="https://thelambdalab.xyz/elpher/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="git://thelambdalab.xyz/${PN}.git"
+else
+ if [[ "${PV}" == 3.6.0 ]] ; then
+ COMMIT=56bc74e
+ SRC_URI="https://thelambdalab.xyz/gitweb/index.cgi?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ die "could not generate SRC_URI"
+ fi
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+ELISP_REMOVE="
+ elpher-pkg.el
+"
+
+DOCS=( ISSUES.org README )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/elpher/files/50elpher-gentoo.el b/app-emacs/elpher/files/50elpher-gentoo.el
new file mode 100644
index 000000000000..a73fc867a088
--- /dev/null
+++ b/app-emacs/elpher/files/50elpher-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elpher "elpher"
+ "Start elpher with default landing page." t)
diff --git a/app-emacs/elpher/metadata.xml b/app-emacs/elpher/metadata.xml
new file mode 100644
index 000000000000..717a115d639c
--- /dev/null
+++ b/app-emacs/elpher/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emacs/elpy/Manifest b/app-emacs/elpy/Manifest
new file mode 100644
index 000000000000..027c1316e60b
--- /dev/null
+++ b/app-emacs/elpy/Manifest
@@ -0,0 +1 @@
+DIST elpy-1.35.0_p20220627.tar.gz 177246 BLAKE2B ded88f89949683000c9be606f3b5d2fc65a943c97e0369505713ecbd4f595a43a7ce560b699ebbdfd4a756703c5fa8fb21af5b4e8a1aa6dbb8a55fe4b7dcc468 SHA512 b9a4588eb83edef69661568b936e278621abad316ae160a00737c546b5eb26abd8ac089b369be212abbe16b66b590d9df73986995d36201c1010da7dc9706f79
diff --git a/app-emacs/elpy/elpy-1.35.0_p20220627-r1.ebuild b/app-emacs/elpy/elpy-1.35.0_p20220627-r1.ebuild
new file mode 100644
index 000000000000..dbb7bd8ac1ba
--- /dev/null
+++ b/app-emacs/elpy/elpy-1.35.0_p20220627-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=ON
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 elisp
+
+DESCRIPTION="Emacs Python Development Environment"
+HOMEPAGE="https://github.com/jorgenschaefer/elpy/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jorgenschaefer/${PN}.git"
+else
+ [[ "${PV}" == *_p20220627 ]] && COMMIT=de31d30003c515c25ff7bfd3a361c70c298f78bb
+
+ SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/highlight-indentation
+ app-emacs/pyvenv
+ app-emacs/s
+ app-emacs/yasnippet
+ $(python_gen_cond_dep '
+ dev-python/flake8[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/autopep8[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]
+ dev-python/yapf[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+ELISP_REMOVE="
+ elpy/tests/test_black.py
+ elpy/tests/test_yapf.py
+"
+PATCHES=(
+ "${FILESDIR}/${PN}-elpy.el-yas-snippet-dirs.patch"
+ "${FILESDIR}/${PN}-elpy-rpc.el-elpy-rpc-pythonpath.patch"
+)
+
+DOCS=( CONTRIBUTING.rst README.rst )
+SITEFILE="50${PN}-gentoo.el"
+
+distutils_enable_sphinx docs --no-autodoc
+distutils_enable_tests unittest
+
+pkg_setup() {
+ elisp_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i "${PN}.el" -e "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" || die
+ sed -i "${PN}-rpc.el" -e "s|@PYTHONLIB@|${EPREFIX}/usr/lib/${EPYTHON}|" || die
+
+ rm ${ELISP_REMOVE} || die
+ sed -i elpy/tests/support.py \
+ -e "s|test_should_get_oneline_docstring_for_modules|disabled_&|" || die
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ elisp_src_compile
+}
+
+src_test() {
+ distutils-r1_src_test
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ elisp_src_install
+ insinto "${SITEETC}/${PN}"
+ doins -r snippets
+}
diff --git a/app-emacs/elpy/files/50elpy-gentoo.el b/app-emacs/elpy/files/50elpy-gentoo.el
new file mode 100644
index 000000000000..2e45a60a76a8
--- /dev/null
+++ b/app-emacs/elpy/files/50elpy-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'elpy-enable "elpy"
+ "Enable Elpy in all future Python buffers." t)
+(autoload 'elpy-mode "elpy"
+ "Minor mode in Python buffers for the Emacs Lisp Python Environment." t)
diff --git a/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch b/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch
new file mode 100644
index 000000000000..f64dfd3f563e
--- /dev/null
+++ b/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch
@@ -0,0 +1,12 @@
+index b228597..aa5fd12 100644
+--- a/elpy-rpc.el
++++ b/elpy-rpc.el
+@@ -100,7 +100,7 @@ for example), set this to the full interpreter path."
+ (elpy-rpc-restart)))
+ :group 'elpy)
+
+-(defcustom elpy-rpc-pythonpath (file-name-directory load-file-name)
++(defcustom elpy-rpc-pythonpath "@PYTHONLIB@/site-packages/"
+ "A directory to add to the PYTHONPATH for the RPC process.
+
+ This should be a directory where the elpy module can be found. If
diff --git a/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch b/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch
new file mode 100644
index 000000000000..d38b320488cd
--- /dev/null
+++ b/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch
@@ -0,0 +1,14 @@
+diff --git a/elpy.el b/elpy.el
+index f2a24a1..7a9b464 100644
+--- a/elpy.el
++++ b/elpy.el
+@@ -2022,8 +3777,7 @@ If a region is selected, fold that region."
+ (unless (listp yas-snippet-dirs)
+ (setq yas-snippet-dirs (list yas-snippet-dirs)))
+ (add-to-list 'yas-snippet-dirs
+- (concat (file-name-directory (locate-library "elpy"))
+- "snippets/")
++ "@SITEETC@/snippets"
+ t)
+
+ ;; Now load yasnippets.
diff --git a/app-emacs/elpy/metadata.xml b/app-emacs/elpy/metadata.xml
new file mode 100644
index 000000000000..231ce3b419da
--- /dev/null
+++ b/app-emacs/elpy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jorgenschaefer/elpy/issues/</bugs-to>
+ <remote-id type="github">jorgenschaefer/elpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/elscreen/metadata.xml b/app-emacs/elscreen/metadata.xml
index 0c906931a2e6..a502ae388e69 100644
--- a/app-emacs/elscreen/metadata.xml
+++ b/app-emacs/elscreen/metadata.xml
@@ -19,6 +19,9 @@
ElScreen provides the ease-to-use environment to save or restore several
window-configurations.
</longdescription>
+<upstream>
+ <remote-id type="github">knu/elscreen</remote-id>
+</upstream>
<stabilize-allarches/>
<use>
<flag name="wanderlust">Include support for <pkg>app-emacs/wanderlust</pkg>
diff --git a/app-emacs/emacs-aio/Manifest b/app-emacs/emacs-aio/Manifest
new file mode 100644
index 000000000000..d14fde226f94
--- /dev/null
+++ b/app-emacs/emacs-aio/Manifest
@@ -0,0 +1 @@
+DIST emacs-aio-1.0_p20200610.tar.gz 9825 BLAKE2B f7d536b5ab603ec0506cf437e9819c00a84678dd1176ea83ac537c112767768a49bf6c95cc135255b252f83b1ecd47b6f195d5c812535f6c3c9843269e2c8750 SHA512 ac4b956a067d52130e57adb8c92bcd733b9566a1f8bfd03f721d7cb1479236346d8c65cf3c6d8475f9f5bb234f0fc766e2954d24af9feff891e1ece6a833c5d9
diff --git a/app-emacs/emacs-aio/emacs-aio-1.0_p20200610.ebuild b/app-emacs/emacs-aio/emacs-aio-1.0_p20200610.ebuild
new file mode 100644
index 000000000000..85cd61292789
--- /dev/null
+++ b/app-emacs/emacs-aio/emacs-aio-1.0_p20200610.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=da93523e235529fa97d6f251319d9e1d6fc24a41
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Async and await functions for Emacs Lisp"
+HOMEPAGE="https://github.com/skeeto/emacs-aio/"
+SRC_URI="https://github.com/skeeto/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+
+src_compile() {
+ emake EMACS=${EMACS} compile
+}
+
+src_test() {
+ emake EMACS=${EMACS} check
+}
diff --git a/app-emacs/emacs-aio/metadata.xml b/app-emacs/emacs-aio/metadata.xml
new file mode 100644
index 000000000000..07a12f84c7c6
--- /dev/null
+++ b/app-emacs/emacs-aio/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ aio is to Emacs Lisp as asyncio is to Python. This package builds upon
+ Emacs 25 generators to provide functions that pause while they wait on
+ asynchronous events. They do not block any thread while paused. The main
+ components of this package are aio-defun/aio-lambda to define async
+ function, and aio-await to pause these functions while they wait on
+ asynchronous events. When an asynchronous function is paused, the main
+ thread is not blocked. It is no more or less powerful than callbacks, but
+ is nicer to use. This is implementation is based on Emacs 25 generators,
+ and asynchronous functions are actually iterators in disguise, operated as
+ stackless, asymmetric coroutines.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/skeeto/emacs-aio/issues/</bugs-to>
+ <remote-id type="github">skeeto/emacs-aio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-ansilove/Manifest b/app-emacs/emacs-ansilove/Manifest
new file mode 100644
index 000000000000..c2f979aa5b30
--- /dev/null
+++ b/app-emacs/emacs-ansilove/Manifest
@@ -0,0 +1 @@
+DIST emacs-ansilove-2.0.0.tar.bz2 17831 BLAKE2B ac22e9e0b63c1ef7448f5306749887da1d67d4422801e53ef939451b9981912a1717cb564ff94407fc21b64f551918b5bc6865729d95b9810b98aa333bbb7dbf SHA512 58587b7003b113f8d44da6806931da5d0407c6635d82a4bd4c03d935d9f7839771856ade0e85e0e08566a9de7481a66e36fc5460c130d6b27b720899907ab5dc
diff --git a/app-emacs/emacs-ansilove/emacs-ansilove-2.0.0.ebuild b/app-emacs/emacs-ansilove/emacs-ansilove-2.0.0.ebuild
new file mode 100644
index 000000000000..ce56e65d0f54
--- /dev/null
+++ b/app-emacs/emacs-ansilove/emacs-ansilove-2.0.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Display buffers as PNG images using ansilove in GNU Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-ansilove/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}[imagemagick]
+ media-gfx/ansilove
+ media-gfx/imagemagick[png]
+"
+
+src_compile() {
+ emake EMACS="${EMACS}" compile
+}
+
+src_install() {
+ dodoc "${S}"/extras/ansi/logo.ans README.md logo.png
+ elisp-install ${PN} src/*.el{,c}
+ elisp-site-file-install "${S}"/extras/gentoo/50ansilove-gentoo.el
+}
diff --git a/app-emacs/emacs-ansilove/emacs-ansilove-9999.ebuild b/app-emacs/emacs-ansilove/emacs-ansilove-9999.ebuild
new file mode 100644
index 000000000000..290a0c7ba03f
--- /dev/null
+++ b/app-emacs/emacs-ansilove/emacs-ansilove-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Display buffers as PNG images using ansilove in GNU Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-ansilove/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}[imagemagick]
+ media-gfx/ansilove
+ media-gfx/imagemagick[png]
+"
+
+src_compile() {
+ emake EMACS="${EMACS}" compile
+}
+
+src_install() {
+ dodoc "${S}"/extras/ansi/logo.ans README.md logo.png
+ elisp-install ${PN} src/*.el{,c}
+ elisp-site-file-install "${S}"/extras/gentoo/50ansilove-gentoo.el
+}
diff --git a/app-emacs/emacs-ansilove/metadata.xml b/app-emacs/emacs-ansilove/metadata.xml
new file mode 100644
index 000000000000..c0785c1f9d2e
--- /dev/null
+++ b/app-emacs/emacs-ansilove/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package provides some integration with the ansilove tool, which is a
+ ANSI and ASCII art to PNG converter.
+ </longdescription>
+ <upstream>
+ <maintainer status="active">
+ <email>xgqt@riseup.net</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <bugs-to>https://gitlab.com/xgqt/emacs-ansilove/-/issues/</bugs-to>
+ <remote-id type="gitlab">xgqt/emacs-ansilove</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-bazel-mode/Manifest b/app-emacs/emacs-bazel-mode/Manifest
new file mode 100644
index 000000000000..7cf95f7ed04c
--- /dev/null
+++ b/app-emacs/emacs-bazel-mode/Manifest
@@ -0,0 +1 @@
+DIST emacs-bazel-mode-0_p20230511.tar.gz 64614 BLAKE2B 87c53388df15ac73a6587ebdd73d7e1637db0d8ba68d53eadd4e4fabc11166ae2642a0e6607d543e65e61ebdc832ab12a6a2471cf52fe7ae3cefe4ffb9fdb6e7 SHA512 b169264ef62abf4d38da71ca0819575ecfc315291dfba88d887ab129000998fe1ff8b6427e4f275fe5fb108245987f909895829be367285102e4d8786217891f
diff --git a/app-emacs/emacs-bazel-mode/emacs-bazel-mode-0_p20230511.ebuild b/app-emacs/emacs-bazel-mode/emacs-bazel-mode-0_p20230511.ebuild
new file mode 100644
index 000000000000..37e03d1cf3db
--- /dev/null
+++ b/app-emacs/emacs-bazel-mode/emacs-bazel-mode-0_p20230511.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs major modes for the Bazel build system support"
+HOMEPAGE="https://bazel.build/
+ https://github.com/bazelbuild/emacs-bazel-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/bazelbuild/${PN}.git"
+else
+ [[ ${PV} == *_p20230511 ]] && COMMIT=55cba9bd31c660d9b313a993979f012f35673ba2
+ SRC_URI="https://github.com/bazelbuild/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+RESTRICT="test" # Tests fail.
+
+DOCS=( CONTRIBUTING.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -l test.el
+
+src_compile() {
+ elisp-compile bazel.el
+ elisp-make-autoload-file
+}
+
+src_test() {
+ TEST_SRCDIR="." TEST_WORKSPACE="." elisp_src_test
+}
+
+src_install() {
+ rm test.el || die
+
+ elisp_src_install
+}
diff --git a/app-emacs/emacs-bazel-mode/files/50emacs-bazel-mode-gentoo.el b/app-emacs/emacs-bazel-mode/files/50emacs-bazel-mode-gentoo.el
new file mode 100644
index 000000000000..a45c0a3b76c7
--- /dev/null
+++ b/app-emacs/emacs-bazel-mode/files/50emacs-bazel-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "emacs-bazel-mode-autoloads" nil t)
diff --git a/app-emacs/emacs-bazel-mode/metadata.xml b/app-emacs/emacs-bazel-mode/metadata.xml
new file mode 100644
index 000000000000..a5544ccebfd0
--- /dev/null
+++ b/app-emacs/emacs-bazel-mode/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ The library provides major modes for editing Bazel BUILD files, WORKSPACE
+ files, .bazelrc files, as well as Starlark files. It also provides commands
+ to run Bazel commands and integration with core GNU Emacs infrastructure
+ like compilation and xref.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/bazelbuild/emacs-bazel-mode/issues/</bugs-to>
+ <remote-id type="github">bazelbuild/emacs-bazel-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-ccls/Manifest b/app-emacs/emacs-ccls/Manifest
new file mode 100644
index 000000000000..e278d3c4f6e8
--- /dev/null
+++ b/app-emacs/emacs-ccls/Manifest
@@ -0,0 +1 @@
+DIST emacs-ccls-0_pre20230311.tar.gz 12751 BLAKE2B 91d2cb0e7501e6b45baef792dbc6b5ec6ee3fb66a22ba52fb3f286a9ad71c1a5ed1810111ffa1ccb55fd00a57e05ca9834af5162d69c2ca03a2ba582dde21297 SHA512 6542fa7ea7ea7e9224f9c4edafe26e3d7611eba7d1fc84416b32882a227a1f81a0aea330d2684e8a312e0555f3572ae3098d111d5e8d8a646b031e81789b5102
diff --git a/app-emacs/emacs-ccls/emacs-ccls-0_pre20230311.ebuild b/app-emacs/emacs-ccls/emacs-ccls-0_pre20230311.ebuild
new file mode 100644
index 000000000000..99f06fc0c6fe
--- /dev/null
+++ b/app-emacs/emacs-ccls/emacs-ccls-0_pre20230311.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_COMMIT="bf7efbbbfeb4540822c5deca3be5d71c4232f62f"
+DESCRIPTION="Emacs client for ccls, a C/C++ language server"
+HOMEPAGE="https://github.com/emacs-lsp/emacs-ccls"
+SRC_URI="https://github.com/emacs-lsp/emacs-ccls/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/lsp-mode
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/emacs-ccls/files/50emacs-ccls-gentoo.el b/app-emacs/emacs-ccls/files/50emacs-ccls-gentoo.el
new file mode 100644
index 000000000000..9740d6b3b220
--- /dev/null
+++ b/app-emacs/emacs-ccls/files/50emacs-ccls-gentoo.el
@@ -0,0 +1,4 @@
+;;; emacs-ccls site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
diff --git a/app-emacs/emacs-ccls/metadata.xml b/app-emacs/emacs-ccls/metadata.xml
new file mode 100644
index 000000000000..e98cce63fcbb
--- /dev/null
+++ b/app-emacs/emacs-ccls/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/emacs-lsp/emacs-ccls/issues/</bugs-to>
+ <remote-id type="github">emacs-lsp/emacs-ccls</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-common/Manifest b/app-emacs/emacs-common/Manifest
index 2ff6aaecae2a..0d06cfd6b925 100644
--- a/app-emacs/emacs-common/Manifest
+++ b/app-emacs/emacs-common/Manifest
@@ -1 +1,2 @@
DIST emacs-common-1.8.tar.xz 61352 BLAKE2B 084cf06c03db231c92d0074a2e633d209257941b2840c2c745462050e694756f97679c7078357d9eab7b2fcfb85b00ab390d65254ddd106d0ef1a1fd723b2c4c SHA512 85c4b826c0691fd24f260750f4c3f9ecc3b59d11b4dafcae608e1a2546c064b240084974962b0727ac8183b8f5b0891cf47add901461f77ee275a129341b2b13
+DIST emacs-common-1.9.tar.xz 61812 BLAKE2B 6a87dae71120c2b41a4918dc788f7baa161eb0cc2b895a39e721330a6151a888cd9d930f93ac840557d3766847a7eb5ff8907d2fdde2c897a296887c0a5cf8c2 SHA512 b2e2df57a83548aeb7f7271a7d0b9ca27086d0c0ec80b6aa354016938ece70e8d9058214e7a813ec491bd67a61df8afbe4b55081b68a109ce527ba6cdba7e891
diff --git a/app-emacs/emacs-common/emacs-common-1.8.ebuild b/app-emacs/emacs-common/emacs-common-1.8.ebuild
index 2b04fe7996f2..af3b95514168 100644
--- a/app-emacs/emacs-common/emacs-common-1.8.ebuild
+++ b/app-emacs/emacs-common/emacs-common-1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="games gui"
RDEPEND="games? ( acct-group/gamestat )"
diff --git a/app-emacs/emacs-common/emacs-common-1.9.ebuild b/app-emacs/emacs-common/emacs-common-1.9.ebuild
new file mode 100644
index 000000000000..5793628dc60d
--- /dev/null
+++ b/app-emacs/emacs-common/emacs-common-1.9.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common desktop gnome2-utils xdg-utils readme.gentoo-r1
+
+DESCRIPTION="Common files needed by all GNU Emacs versions"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
+SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="games gsettings gui"
+
+DEPEND="games? ( acct-group/gamestat )"
+RDEPEND="${DEPEND}"
+PDEPEND=">=app-editors/emacs-23.1:*"
+IDEPEND="gui? ( gsettings? ( dev-libs/glib ) )"
+
+src_install() {
+ insinto "${SITELISP}"
+ sed -e "s:@libdir@:$(get_libdir):g" subdirs.el.in | newins - subdirs.el
+ assert
+ newins site-gentoo.el{,.orig}
+
+ keepdir /etc/emacs
+ insinto /etc/emacs
+ doins site-start.el
+
+ if use games; then
+ keepdir /var/games/emacs
+ fowners 0:gamestat /var/games/emacs
+ fperms g+w /var/games/emacs
+ fi
+
+ if use gui; then
+ local i
+ domenu emacs.desktop emacsclient.desktop
+
+ pushd icons || die
+ newicon sink.png emacs-sink.png
+ newicon emacs25_48.png emacs.png
+ for i in 16 24 32 48 128; do
+ [[ ${i} -le 48 ]] && newicon -s ${i} emacs22_${i}.png emacs22.png
+ newicon -s ${i} emacs23_${i}.png emacs23.png
+ newicon -s ${i} emacs25_${i}.png emacs.png
+ done
+ doicon -s scalable emacs23.svg
+ newicon -s scalable emacs25.svg emacs.svg
+ popd
+
+ if use gsettings; then
+ insinto /usr/share/glib-2.0/schemas
+ doins org.gnu.emacs.defaults.gschema.xml
+ fi
+ fi
+
+ DOC_CONTENTS="All site initialisation for Gentoo-installed packages is
+ added to ${SITELISP}/site-gentoo.el. In order for this site
+ initialisation to be loaded for all users automatically, a default
+ site startup file /etc/emacs/site-start.el is installed. You are
+ responsible for maintenance of this file.
+ \n\nAlternatively, individual users can add the following command:
+ \n\n(require 'site-gentoo)
+ \n\nto their ~/.emacs initialisation files, or, for greater
+ flexibility, users may load single package-specific initialisation
+ files from the ${SITELISP}/site-gentoo.d/ directory."
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ # make sure that site-gentoo.el exists since site-start.el requires it
+ if [[ ! -f ${ED}${SITELISP}/site-gentoo.el ]]; then #554518
+ mv "${ED}${SITELISP}"/site-gentoo.el{.orig,} || die
+ fi
+ if [[ -d ${EROOT}${SITELISP} ]]; then
+ elisp-site-regen
+ cp "${EROOT}${SITELISP}/site-gentoo.el" "${ED}${SITELISP}/" || die
+ fi
+
+ if use games; then
+ local f
+ for f in /var/games/emacs/{snake,tetris}-scores; do
+ if [[ -e ${EROOT}${f} ]]; then
+ cp "${EROOT}${f}" "${ED}${f}" || die
+ fi
+ touch "${ED}${f}" || die
+ chgrp gamestat "${ED}${f}" || die
+ chmod g+w "${ED}${f}" || die
+ done
+ fi
+}
+
+pkg_postinst() {
+ if use gui; then
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ use gsettings && gnome2_schemas_update
+ fi
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ if use gui; then
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ use gsettings && gnome2_schemas_update
+ fi
+}
diff --git a/app-emacs/emacs-common/metadata.xml b/app-emacs/emacs-common/metadata.xml
index 97d4e64ff0cd..8c804e6f4e3d 100644
--- a/app-emacs/emacs-common/metadata.xml
+++ b/app-emacs/emacs-common/metadata.xml
@@ -8,5 +8,10 @@
<stabilize-allarches/>
<use>
<flag name="games">Support shared score files for games</flag>
+ <flag name="gsettings">Install schema file for gsettings
+ (<pkg>dev-libs/glib</pkg>)</flag>
</use>
+<upstream>
+ <remote-id type="gentoo">proj/emacs-tools</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/emacs-crystal-mode/Manifest b/app-emacs/emacs-crystal-mode/Manifest
new file mode 100644
index 000000000000..2c9e23c7f0cd
--- /dev/null
+++ b/app-emacs/emacs-crystal-mode/Manifest
@@ -0,0 +1 @@
+DIST emacs-crystal-mode-0.1.0_p20221008.tar.gz 38944 BLAKE2B 62e8a98bdf036a80dd227a00758146944869c9735867e31f9fc9c7edf01edd937c859d85a348e17fa29c55446309f4dd4958bec42ea23c19dbe4039e1a835bf2 SHA512 12445858a4f71620d9e785b16fa9562e54947f41fcf2ad3299b1e10359c241548686e34e14d7a80f116533bff0a08a3a333cc4616ccb3aa5dadee32ba8a7ae96
diff --git a/app-emacs/emacs-crystal-mode/emacs-crystal-mode-0.1.0_p20221008.ebuild b/app-emacs/emacs-crystal-mode/emacs-crystal-mode-0.1.0_p20221008.ebuild
new file mode 100644
index 000000000000..10033003f33b
--- /dev/null
+++ b/app-emacs/emacs-crystal-mode/emacs-crystal-mode-0.1.0_p20221008.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20221008 ]] && COMMIT=9bfb9f0f566e937cc6a2f2913d1b56978b81dc99
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing Crystal programming language files"
+HOMEPAGE="https://github.com/crystal-lang-tools/emacs-crystal-mode/"
+SRC_URI="https://github.com/crystal-lang-tools/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="app-emacs/flycheck"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/emacs-crystal-mode/files/50emacs-crystal-mode-gentoo.el b/app-emacs/emacs-crystal-mode/files/50emacs-crystal-mode-gentoo.el
new file mode 100644
index 000000000000..8530b6227015
--- /dev/null
+++ b/app-emacs/emacs-crystal-mode/files/50emacs-crystal-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "emacs-crystal-mode-autoloads" nil t)
diff --git a/app-emacs/emacs-crystal-mode/metadata.xml b/app-emacs/emacs-crystal-mode/metadata.xml
new file mode 100644
index 000000000000..0e4f38833a48
--- /dev/null
+++ b/app-emacs/emacs-crystal-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/crystal-lang-tools/emacs-crystal-mode/issues/</bugs-to>
+ <remote-id type="github">crystal-lang-tools/emacs-crystal-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-daemon/emacs-daemon-0.22-r1.ebuild b/app-emacs/emacs-daemon/emacs-daemon-0.22-r1.ebuild
new file mode 100644
index 000000000000..4a61e44aadf6
--- /dev/null
+++ b/app-emacs/emacs-daemon/emacs-daemon-0.22-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Gentoo support for Emacs running as a server in the background"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
+SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+
+SITEFILE="10${PN}-gentoo.el"
+
+pkg_setup() {
+ local has_daemon has_gtk line
+ has_daemon=$(${EMACS} ${EMACSFLAGS} --eval "(princ (fboundp 'daemonp))")
+ has_gtk=$(${EMACS} ${EMACSFLAGS} --eval "(princ (featurep 'gtk))")
+
+ if [[ ${has_daemon} != t ]]; then
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your current Emacs version does not support running as a daemon which
+ is required for ${CATEGORY}/${PN}.
+ Use "eselect emacs" to select an Emacs version >= 23.
+ EOF
+ elif [[ ${has_gtk} == t ]]; then
+ while read line; do ewarn "${line}"; done <<-EOF
+ Your current Emacs is compiled with GTK+. There is a long-standing bug
+ in GTK+ that prevents Emacs from recovering from X disconnects:
+ <https://bugzilla.gnome.org/show_bug.cgi?id=85715>
+ If you run Emacs as a daemon, then it is strongly recommended that you
+ compile it with the Lucid or the Motif toolkit instead, i.e. with
+ USE="athena Xaw3d -gtk -motif" or USE="motif -gtk -athena -Xaw3d".
+ EOF
+ fi
+}
+
+src_compile() { :; }
+
+src_install() {
+ newinitd emacs.rc emacs
+ newconfd emacs.conf emacs
+ exeinto /usr/libexec/emacs
+ doexe emacs-wrapper.sh emacs-stop.sh
+ elisp-site-file-install "${SITEFILE}"
+ dodoc README ChangeLog
+}
diff --git a/app-emacs/emacs-daemon/emacs-daemon-0.22.ebuild b/app-emacs/emacs-daemon/emacs-daemon-0.22.ebuild
deleted file mode 100644
index f22b98276df5..000000000000
--- a/app-emacs/emacs-daemon/emacs-daemon-0.22.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Gentoo support for Emacs running as a server in the background"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
-SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-
-SITEFILE="10${PN}-gentoo.el"
-
-pkg_setup() {
- local has_daemon has_gtk line
- has_daemon=$(${EMACS} ${EMACSFLAGS} --eval "(princ (fboundp 'daemonp))")
- has_gtk=$(${EMACS} ${EMACSFLAGS} --eval "(princ (featurep 'gtk))")
-
- if [[ ${has_daemon} != t ]]; then
- while read line; do ewarn "${line}"; done <<-EOF
- Your current Emacs version does not support running as a daemon which
- is required for ${CATEGORY}/${PN}.
- Use "eselect emacs" to select an Emacs version >= 23.
- EOF
- elif [[ ${has_gtk} == t ]]; then
- while read line; do ewarn "${line}"; done <<-EOF
- Your current Emacs is compiled with GTK+. There is a long-standing bug
- in GTK+ that prevents Emacs from recovering from X disconnects:
- <https://bugzilla.gnome.org/show_bug.cgi?id=85715>
- If you run Emacs as a daemon, then it is strongly recommended that you
- compile it with the Lucid or the Motif toolkit instead, i.e. with
- USE="athena Xaw3d -gtk -motif" or USE="motif -gtk -athena -Xaw3d".
- EOF
- fi
-}
-
-src_compile() { :; }
-
-src_install() {
- newinitd emacs.rc emacs
- newconfd emacs.conf emacs
- exeinto /usr/libexec/emacs
- doexe emacs-wrapper.sh emacs-stop.sh
- elisp-site-file-install "${SITEFILE}"
- dodoc README ChangeLog
-}
diff --git a/app-emacs/emacs-daemon/metadata.xml b/app-emacs/emacs-daemon/metadata.xml
index 986088003fe1..0f54c377923e 100644
--- a/app-emacs/emacs-daemon/metadata.xml
+++ b/app-emacs/emacs-daemon/metadata.xml
@@ -6,4 +6,7 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="gentoo">proj/emacs-tools</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/emacs-eat/Manifest b/app-emacs/emacs-eat/Manifest
new file mode 100644
index 000000000000..abb354fe8e25
--- /dev/null
+++ b/app-emacs/emacs-eat/Manifest
@@ -0,0 +1 @@
+DIST emacs-eat-0.9.4.tar.gz 275390 BLAKE2B 2d51cb8ca5e67092bab1764cbf20b9c5043ff95fe03662f55bdc931d7360050110295fd37a0eb4cd6cdf44b5ee9460f0c5f26788626a65297f194dcabef95198 SHA512 6b3fb29665687d0bdaa48ffe00a8e3ff6ed1448e6abd6fba447b58663b6a444d368a1ef0f49d20d8c3f3bf49feb2cd2f33a0f725d80c83596e74a55224b8effc
diff --git a/app-emacs/emacs-eat/emacs-eat-0.9.4.ebuild b/app-emacs/emacs-eat/emacs-eat-0.9.4.ebuild
new file mode 100644
index 000000000000..37ee72fe161f
--- /dev/null
+++ b/app-emacs/emacs-eat/emacs-eat-0.9.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emulate A Terminal, in a region, in a buffer and in Eshell"
+HOMEPAGE="https://codeberg.org/akib/emacs-eat/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/akib/${PN}.git"
+else
+ SRC_URI="https://codeberg.org/akib/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( ChangeLog NEWS README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.2
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+elisp-enable-tests ert . -l eat-tests.el
+
+src_compile() {
+ rm -r terminfo || die
+ emake EMACS="${EMACS}" EMACSFLAGS="${EMACSFLAGS}" -j1
+
+ elisp-compile term/eat.el
+ elisp-make-autoload-file
+}
+
+src_install() {
+ rm eat-tests.el || die
+ elisp_src_install
+
+ insinto "${SITELISP}/${PN}"
+ doins -r term
+
+ insinto "${SITEETC}/${PN}"
+ doins -r integration
+ doins -r terminfo
+
+ insinto /usr/share
+ doins -r terminfo
+
+ doinfo eat.info
+}
diff --git a/app-emacs/emacs-eat/files/50emacs-eat-gentoo.el b/app-emacs/emacs-eat/files/50emacs-eat-gentoo.el
new file mode 100644
index 000000000000..ba961a5100d4
--- /dev/null
+++ b/app-emacs/emacs-eat/files/50emacs-eat-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "emacs-eat-autoloads" nil t)
+(setq eat-term-shell-integration-directory "@SITEETC@/integration")
+(setq eat-term-terminfo-directory "@SITEETC@/terminfo")
diff --git a/app-emacs/emacs-eat/metadata.xml b/app-emacs/emacs-eat/metadata.xml
new file mode 100644
index 000000000000..01dd6db7d03a
--- /dev/null
+++ b/app-emacs/emacs-eat/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Eat's name self-explanatory, it stands for "Emulate A Terminal". Eat is a
+ terminal emulator. It can run most (if not all) full-screen terminal
+ programs, including Emacs. It is pretty fast, more than three times faster
+ than Term, despite being implemented entirely in Emacs Lisp. So fast that
+ you can comfortably run Emacs inside Eat, or even use your Emacs as a
+ terminal multiplexer. It has many features that other Emacs terminal
+ emulator still don't have, for example Sixel support, complete mouse
+ support, shell integration, etc. It flickers less than other Emacs terminal
+ emulator, so you get more performance and a smoother experience.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://codeberg.org/akib/emacs-eat/issues/</bugs-to>
+ <remote-id type="codeberg">akib/emacs-eat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-ebuild-snippets/Manifest b/app-emacs/emacs-ebuild-snippets/Manifest
new file mode 100644
index 000000000000..a59d42b981fd
--- /dev/null
+++ b/app-emacs/emacs-ebuild-snippets/Manifest
@@ -0,0 +1 @@
+DIST emacs-ebuild-snippets-2.2.0.tar.bz2 13180 BLAKE2B aeb01a50b1cdaa7833b7573a91863d9fc9efc7abf71aafaccdf9d8f209e8e9e6a1f6bb7f4e781b2bb220bd5d62e59c33a3cf50589a4939298651522894dc5094 SHA512 51ce064101e6e9987dcdd91c490a46aa6758605d3a84f6ce38a4661315f032e2bfe61da53c13a6d5d2ff21470f500b5a3e3c7e593bfc07098689b8533e6fb5fd
diff --git a/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-2.2.0.ebuild b/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-2.2.0.ebuild
new file mode 100644
index 000000000000..bed506976c83
--- /dev/null
+++ b/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-2.2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Yasnippets for editing ebuilds and eclasses"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-ebuild-snippets.git"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
+
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/ebuild-mode
+ app-emacs/yasnippet
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ sh ./scripts/changeme.sh "${EPREFIX}${SITEETC}/${PN}" || die
+
+ default
+}
+
+src_install() {
+ elisp-install "${PN}" *.el{,c}
+ elisp-site-file-install "${S}/gentoo/50${PN}-gentoo.el"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r snippets
+}
diff --git a/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-9999.ebuild b/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-9999.ebuild
new file mode 100644
index 000000000000..d4ecac40855b
--- /dev/null
+++ b/app-emacs/emacs-ebuild-snippets/emacs-ebuild-snippets-9999.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Yasnippets for editing ebuilds and eclasses"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-ebuild-snippets.git"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/ebuild-mode
+ app-emacs/yasnippet
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ sh ./scripts/changeme.sh "${EPREFIX}${SITEETC}/${PN}" || die
+
+ default
+}
+
+src_install() {
+ elisp-install "${PN}" *.el{,c}
+ elisp-site-file-install "${S}/gentoo/50${PN}-gentoo.el"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r snippets
+}
diff --git a/app-emacs/emacs-ebuild-snippets/metadata.xml b/app-emacs/emacs-ebuild-snippets/metadata.xml
new file mode 100644
index 000000000000..dff0ae6f48a6
--- /dev/null
+++ b/app-emacs/emacs-ebuild-snippets/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <maintainer status="active">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+ </maintainer>
+ <remote-id type="gentoo">proj/emacs-ebuild-snippets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-eix/Manifest b/app-emacs/emacs-eix/Manifest
new file mode 100644
index 000000000000..bdcd8ca3ff94
--- /dev/null
+++ b/app-emacs/emacs-eix/Manifest
@@ -0,0 +1 @@
+DIST emacs-eix-0.0.0.tar.gz 9522 BLAKE2B 12c91822b644cb3017b434ddc8a46c3eb9f8981ac45ff8e252ba937667e63e92f703f6c77a3675b2b89c6f8ef3188a785bcc7e1f122e2870c623d4330265c2a0 SHA512 6428ef15fa5b2367c727d63fd728e0d4aca24e4c0d8a27b566e664597b174ed94373285cc80979dac96bbfadd2ecdd3545170bd700a1130c41c39d3d8dc55b88
diff --git a/app-emacs/emacs-eix/emacs-eix-0.0.0.ebuild b/app-emacs/emacs-eix/emacs-eix-0.0.0.ebuild
new file mode 100644
index 000000000000..fa7f8da58ed2
--- /dev/null
+++ b/app-emacs/emacs-eix/emacs-eix-0.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Eix integration for GNU Emacs"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-eix.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/emacs-eix/emacs-eix-9999.ebuild b/app-emacs/emacs-eix/emacs-eix-9999.ebuild
new file mode 100644
index 000000000000..c87ad8f70534
--- /dev/null
+++ b/app-emacs/emacs-eix/emacs-eix-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Eix integration for GNU Emacs"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-eix.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/emacs-eix/files/50emacs-eix-gentoo.el b/app-emacs/emacs-eix/files/50emacs-eix-gentoo.el
new file mode 100644
index 000000000000..84922cec1265
--- /dev/null
+++ b/app-emacs/emacs-eix/files/50emacs-eix-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "emacs-eix-autoloads" nil t)
diff --git a/app-emacs/emacs-eix/metadata.xml b/app-emacs/emacs-eix/metadata.xml
new file mode 100644
index 000000000000..22c7b92b1e0e
--- /dev/null
+++ b/app-emacs/emacs-eix/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-el-fetch/Manifest b/app-emacs/emacs-el-fetch/Manifest
new file mode 100644
index 000000000000..7758ef58623c
--- /dev/null
+++ b/app-emacs/emacs-el-fetch/Manifest
@@ -0,0 +1 @@
+DIST emacs-el-fetch-3.3.0.tar.bz2 18166 BLAKE2B b55001eebc706954cf017cc56ed4d16a9f7309d36103d1bce94458ea8bdcb7a301201ff50f11d2f1b515ea63469ed8be00e4755dc8b1f9713158aa18a0788383 SHA512 7df309f4432b6490552654e4e68e1c01cf6c158a9759057421c879ce46b15a55092c3c17cd5d130c9de5425f6294ab5402c7684c2125c5f959e6a0973fcdcc64
diff --git a/app-emacs/emacs-el-fetch/emacs-el-fetch-3.3.0.ebuild b/app-emacs/emacs-el-fetch/emacs-el-fetch-3.3.0.ebuild
new file mode 100644
index 000000000000..bc142e225caa
--- /dev/null
+++ b/app-emacs/emacs-el-fetch/emacs-el-fetch-3.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Show system information in Neofetch-like style inside Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-el-fetch/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/buttercup )"
+
+src_compile() {
+ emake compile
+}
+
+src_install() {
+ einstalldocs
+ elisp-install ${PN} "${S}"/src/el-fetch/*.el{,c}
+ elisp-site-file-install "${S}"/extras/gentoo/50el-fetch-gentoo.el
+}
diff --git a/app-emacs/emacs-el-fetch/emacs-el-fetch-9999.ebuild b/app-emacs/emacs-el-fetch/emacs-el-fetch-9999.ebuild
new file mode 100644
index 000000000000..01ef92a64116
--- /dev/null
+++ b/app-emacs/emacs-el-fetch/emacs-el-fetch-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Show system information in Neofetch-like style inside Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-el-fetch/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/buttercup )"
+
+src_compile() {
+ emake compile
+}
+
+src_install() {
+ einstalldocs
+ elisp-install ${PN} "${S}"/src/el-fetch/*.el{,c}
+ elisp-site-file-install "${S}"/extras/gentoo/50el-fetch-gentoo.el
+}
diff --git a/app-emacs/emacs-el-fetch/metadata.xml b/app-emacs/emacs-el-fetch/metadata.xml
new file mode 100644
index 000000000000..6bdc4f73ca31
--- /dev/null
+++ b/app-emacs/emacs-el-fetch/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <maintainer status="active">
+ <email>xgqt@riseup.net</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <bugs-to>https://gitlab.com/xgqt/emacs-el-fetch/-/issues/</bugs-to>
+ <remote-id type="gitlab">xgqt/emacs-el-fetch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-ipython-notebook/Manifest b/app-emacs/emacs-ipython-notebook/Manifest
new file mode 100644
index 000000000000..c864dcc0f93f
--- /dev/null
+++ b/app-emacs/emacs-ipython-notebook/Manifest
@@ -0,0 +1,2 @@
+DIST emacs-ipython-notebook-0.17.0_p20220419.tar.gz 313340 BLAKE2B 5ab9b82d8d17c3f64c375de7638aa4006e7dc47137260ab0a8222f7c507a54b32aa145d1630b3d0018c8303e0f116da81b61df27cd401875dfad5fd49ecdae13 SHA512 f6c2c293e7d2ddcba9dfac751523e0f8d55047ed01d4546ba1ece1f8833a1d54a1bcc066f34f06e111c34baee21a97c2ede2d90d188d7a05f407631acfd74037
+DIST emacs-ipython-notebook-0.17.1_pre20230826.tar.gz 312767 BLAKE2B 742df1a4fdf8409d711bd9903baa103cd28d110400f46c97e0fc0962e1ef3cf4f0fb696881bb54d83c7e1d342669dcd493e5e24067f6f439a8639dcef2140dae SHA512 1df8551c75fbd8e3c0543ec304cae9974024e36710fb6e7f418c4c8052bbfdefde357000e4df135ddbc58faf808d9bdf1ec731113e317500ad5fed48c1d1bd6f
diff --git a/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.0_p20220419-r1.ebuild b/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.0_p20220419-r1.ebuild
new file mode 100644
index 000000000000..f28692641514
--- /dev/null
+++ b/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.0_p20220419-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: Check package version in "lisp/ein-pkg.el".
+# NOTICE: File "lisp/ein-pkg.el" is needed by the "ein:dev-sys-info" function.
+
+EAPI=8
+
+COMMIT=388c8f753cfb99b4f82acbdff26bbe27189d2299
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit elisp readme.gentoo-r1 python-single-r1
+
+DESCRIPTION="Jupyter notebook client in Emacs"
+HOMEPAGE="https://github.com/millejoh/emacs-ipython-notebook/"
+SRC_URI="https://github.com/millejoh/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-emacs/anaphora
+ app-emacs/dash
+ app-emacs/deferred
+ app-emacs/polymode
+ app-emacs/request
+ app-emacs/websocket
+ app-emacs/with-editor
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ert-runner
+ app-emacs/mocker
+ )
+"
+
+DOCS=( README.rst thumbnail.png )
+DOC_CONTENTS="There may be problems with connecting to Jupyter Notebooks
+ because of the tokens, in that case you can try running \"jupyter
+ notebook\" with --NotebookApp.token=\"\" (and --NotebookApp.ip=127.0.0.1 to
+ limit connections only to local machine), but be warned that this can
+ compromise your system if used without caution! For reference check out
+ https://github.com/millejoh/emacs-ipython-notebook/issues/838"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ elisp_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_compile() {
+ BYTECOMPFLAGS="-L lisp" elisp-compile lisp/*.el
+}
+
+src_test() {
+ ert-runner -L lisp -L test -l test/testein.el \
+ --reporter ert+duration test/test-ein*.el || die
+}
+
+src_install() {
+ elisp-install ${PN} lisp/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.1_pre20230826.ebuild b/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.1_pre20230826.ebuild
new file mode 100644
index 000000000000..83f23a778891
--- /dev/null
+++ b/app-emacs/emacs-ipython-notebook/emacs-ipython-notebook-0.17.1_pre20230826.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: Check package version in "lisp/ein-pkg.el".
+# NOTICE: File "lisp/ein-pkg.el" is needed by the "ein:dev-sys-info" function.
+
+EAPI=8
+
+[[ "${PV}" == *20230826 ]] && COMMIT=998ba22660be2035cd23bed1555e47748c4da8a2
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit elisp readme.gentoo-r1 python-single-r1
+
+DESCRIPTION="Jupyter notebook client in Emacs"
+HOMEPAGE="https://github.com/millejoh/emacs-ipython-notebook/"
+SRC_URI="https://github.com/millejoh/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-emacs/anaphora
+ app-emacs/dash
+ app-emacs/deferred
+ app-emacs/polymode
+ app-emacs/request
+ app-emacs/websocket
+ app-emacs/with-editor
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ert-runner
+ app-emacs/mocker
+ )
+"
+
+DOCS=( README.rst thumbnail.png )
+DOC_CONTENTS="There may be problems with connecting to Jupyter Notebooks
+ because of the tokens, in that case you can try running \"jupyter
+ notebook\" with --NotebookApp.token=\"\" (and --NotebookApp.ip=127.0.0.1 to
+ limit connections only to local machine), but be warned that this can
+ compromise your system if used without caution! For reference check out
+ https://github.com/millejoh/emacs-ipython-notebook/issues/838"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ # * ACCESS DENIED: open_wr: ~/.config/python/jupyter/migrated
+ unset JUPYTER_CONFIG_DIR
+
+ elisp_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_compile() {
+ BYTECOMPFLAGS="-L lisp" elisp-compile lisp/*.el
+}
+
+src_test() {
+ ert-runner -L lisp -L test -l test/testein.el \
+ --reporter ert+duration test/test-ein*.el || die
+}
+
+src_install() {
+ elisp-install ${PN} lisp/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/emacs-ipython-notebook/files/50emacs-ipython-notebook-gentoo.el b/app-emacs/emacs-ipython-notebook/files/50emacs-ipython-notebook-gentoo.el
new file mode 100644
index 000000000000..97bab14bcf69
--- /dev/null
+++ b/app-emacs/emacs-ipython-notebook/files/50emacs-ipython-notebook-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ein:ipynb-mode "ein-ipynb-mode"
+ "A simple mode for ipynb file." t)
+(add-to-list 'auto-mode-alist '("\\.ipynb\\'" . ein:ipynb-mode))
diff --git a/app-emacs/emacs-ipython-notebook/metadata.xml b/app-emacs/emacs-ipython-notebook/metadata.xml
new file mode 100644
index 000000000000..d0e5ba20a2d5
--- /dev/null
+++ b/app-emacs/emacs-ipython-notebook/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/millejoh/emacs-ipython-notebook/issues/</bugs-to>
+ <remote-id type="github">millejoh/emacs-ipython-notebook</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-jabber/emacs-jabber-0.8.92.ebuild b/app-emacs/emacs-jabber/emacs-jabber-0.8.92.ebuild
index 02f3fb71c349..91ccdffb5d2b 100644
--- a/app-emacs/emacs-jabber/emacs-jabber-0.8.92.ebuild
+++ b/app-emacs/emacs-jabber/emacs-jabber-0.8.92.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,6 +18,7 @@ RDEPEND="app-emacs/hexrgb"
DEPEND="${RDEPEND}
sys-apps/texinfo"
+PATCHES=( "${FILESDIR}"/${P}-emacs-28.patch )
SITEFILE="50${PN}-gentoo.el"
ELISP_TEXINFO="jabber.texi"
DOCS="AUTHORS NEWS README"
diff --git a/app-emacs/emacs-jabber/files/emacs-jabber-0.8.92-emacs-28.patch b/app-emacs/emacs-jabber/files/emacs-jabber-0.8.92-emacs-28.patch
new file mode 100644
index 000000000000..28a108bafa32
--- /dev/null
+++ b/app-emacs/emacs-jabber/files/emacs-jabber-0.8.92-emacs-28.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/836817
+
+--- emacs-jabber-0.8.92/jabber-menu.el
++++ emacs-jabber-0.8.92/jabber-menu.el
+@@ -100,7 +100,7 @@
+ (interactive "P")
+ (setq jabber-display-menu (if remove nil t))
+ (force-mode-line-update))
+-(make-obsolete 'jabber-menu "set the variable `jabber-display-menu' instead.")
++(make-obsolete 'jabber-menu 'jabber-display-menu "")
+
+ ;; This used to be:
+ ;; (define-key-after global-map [menu-bar jabber-menu] ...)
+--- emacs-jabber-0.8.92/jabber-roster.el
++++ emacs-jabber-0.8.92/jabber-roster.el
+@@ -816,7 +816,7 @@
+ (defalias 'jabber-presence-update-roster 'ignore)
+ ;;jabber-presence-update-roster is not needed anymore.
+ ;;Its work is done in `jabber-process-presence'."
+-(make-obsolete 'jabber-presence-update-roster 'ignore)
++(make-obsolete 'jabber-presence-update-roster 'ignore "")
+
+ (defun jabber-next-property (&optional prev)
+ "Return position of next property appearence or nil if there is none.
diff --git a/app-emacs/emacs-openrc/Manifest b/app-emacs/emacs-openrc/Manifest
new file mode 100644
index 000000000000..b2d60041c983
--- /dev/null
+++ b/app-emacs/emacs-openrc/Manifest
@@ -0,0 +1 @@
+DIST emacs-openrc-1.0.0.tar.gz 10202 BLAKE2B 8eed755ffc6b81106a47a7a3ddb758ee6d250ee484fe65622ec6f34cee2075d495397760b23a01d9f3cee30958862e3c94ef18cdc51f415b0b5c3cf2fcd86a18 SHA512 5956e7eee79538af966f12024024c7307cd0edaa7903c4a1412cc56883fa75af546829d81550d7db328a8298a28ca17aa5610e37c3be8adfc1d5fb9d3df86290
diff --git a/app-emacs/emacs-openrc/emacs-openrc-1.0.0.ebuild b/app-emacs/emacs-openrc/emacs-openrc-1.0.0.ebuild
new file mode 100644
index 000000000000..ef9a2c2219c7
--- /dev/null
+++ b/app-emacs/emacs-openrc/emacs-openrc-1.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="OpenRC integration for GNU Emacs"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-openrc.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/emacs-openrc/emacs-openrc-9999.ebuild b/app-emacs/emacs-openrc/emacs-openrc-9999.ebuild
new file mode 100644
index 000000000000..bc1c4a983f82
--- /dev/null
+++ b/app-emacs/emacs-openrc/emacs-openrc-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="OpenRC integration for GNU Emacs"
+HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-openrc.git"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/emacs-openrc/files/50emacs-openrc-gentoo.el b/app-emacs/emacs-openrc/files/50emacs-openrc-gentoo.el
new file mode 100644
index 000000000000..9118d373d849
--- /dev/null
+++ b/app-emacs/emacs-openrc/files/50emacs-openrc-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "emacs-openrc-autoloads" nil t)
diff --git a/app-emacs/emacs-openrc/metadata.xml b/app-emacs/emacs-openrc/metadata.xml
new file mode 100644
index 000000000000..22c7b92b1e0e
--- /dev/null
+++ b/app-emacs/emacs-openrc/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>emacs@gentoo.org</email>
+ <name>Gentoo Emacs project</name>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacs-w3m/Manifest b/app-emacs/emacs-w3m/Manifest
index 81cb93787238..55325b1d3575 100644
--- a/app-emacs/emacs-w3m/Manifest
+++ b/app-emacs/emacs-w3m/Manifest
@@ -1 +1 @@
-DIST emacs-w3m-1.4.632_pre20181112.tar.xz 792664 BLAKE2B f60249a064cf9b63a46e0d9ae0d845d3877dd9ddfc1f7770609c68c9d9b60c67b9e461c399b83c5b01fbe94609914937fbf8177475274faa262d8fab0b4e6a19 SHA512 01ecb8a282484d164f5d630adac39784aec9f2e37975865f132be4b8b82d4be1e5667d903775c4adf0470109053b1b229f09472410a0ac7d1588e64c86c7b8f9
+DIST emacs-w3m-1.4.632_p20230801.tar.gz 1080773 BLAKE2B da4ba612042c8e96c5932e2d5a0bfe596be6f7bdb1b5b596656d6b13294742f679e3fd149e7d1414b775a068331d32dae1d045191b16099a4d4b6f5d11a80ebe SHA512 0faf28ee53aa3b6b548d8d532e513d2e584627e600b161cf4c2db9ded16f432170406c60cfff043c9008bf202a3e07e90ea34169492ae71001c51d0f86429124
diff --git a/app-emacs/emacs-w3m/emacs-w3m-1.4.632_p20230801.ebuild b/app-emacs/emacs-w3m/emacs-w3m-1.4.632_p20230801.ebuild
new file mode 100644
index 000000000000..f445db10e9be
--- /dev/null
+++ b/app-emacs/emacs-w3m/emacs-w3m-1.4.632_p20230801.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp autotools readme.gentoo-r1
+
+DESCRIPTION="emacs-w3m is an interface program of w3m on Emacs"
+HOMEPAGE="http://emacs-w3m.namazu.org/
+ https://github.com/emacs-w3m/emacs-w3m/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-w3m/emacs-w3m.git"
+else
+ [[ ${PV} == *_p20230801 ]] &&
+ COMMIT="1388eadc914bed79b0e06a6565388c5e8aff8014"
+ SRC_URI="https://github.com/emacs-w3m/emacs-w3m/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="gzip-el l10n_ja"
+
+RDEPEND="virtual/w3m"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="70${PN}-gentoo.el"
+
+src_prepare() {
+ sed -i -e '/^configure:/,+2d' Makefile.in || die
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --without-compress-install
+}
+
+src_compile() {
+ emake all-en $(use l10n_ja && echo all-ja)
+}
+
+src_install() {
+ emake lispdir="${ED}${SITELISP}/${PN}" \
+ COMPRESS_INSTALL=$(usex gzip-el) \
+ install-lisp
+ emake infodir="${ED}/usr/share/info" \
+ ICONDIR="${ED}${SITEETC}/${PN}" \
+ install-info-en $(use l10n_ja && echo install-info-ja) install-icons
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc ChangeLog* NEWS README
+ use l10n_ja && dodoc BUGS.ja NEWS.ja README.ja
+
+ DOC_CONTENTS="If you want to use the shimbun library, please emerge
+ app-emacs/apel and app-emacs/flim."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/emacs-w3m/emacs-w3m-1.4.632_pre20181112.ebuild b/app-emacs/emacs-w3m/emacs-w3m-1.4.632_pre20181112.ebuild
deleted file mode 100644
index e2f6b0b1b9a8..000000000000
--- a/app-emacs/emacs-w3m/emacs-w3m-1.4.632_pre20181112.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp autotools readme.gentoo-r1
-
-DESCRIPTION="emacs-w3m is an interface program of w3m on Emacs"
-HOMEPAGE="http://emacs-w3m.namazu.org/"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="gzip-el l10n_ja"
-
-RDEPEND="virtual/w3m"
-BDEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${PN}"
-SITEFILE="70${PN}-gentoo.el"
-
-src_prepare() {
- mv configure.{in,ac} || die
- sed -i -e '/^configure:/,+2d' Makefile.in || die
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- econf --without-compress-install
-}
-
-src_compile() {
- emake all-en $(use l10n_ja && echo all-ja)
-}
-
-src_install() {
- emake lispdir="${ED}${SITELISP}/${PN}" \
- COMPRESS_INSTALL=$(usex gzip-el) \
- install-lisp
- emake infodir="${ED}/usr/share/info" \
- ICONDIR="${ED}${SITEETC}/${PN}" \
- install-info-en $(use l10n_ja && echo install-info-ja) install-icons
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc ChangeLog* NEWS README
- use l10n_ja && dodoc BUGS.ja NEWS.ja README.ja
-
- DOC_CONTENTS="If you want to use the shimbun library, please emerge
- app-emacs/apel and app-emacs/flim."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/emacs-w3m/metadata.xml b/app-emacs/emacs-w3m/metadata.xml
index 1530b41969fb..eb1d429a87aa 100644
--- a/app-emacs/emacs-w3m/metadata.xml
+++ b/app-emacs/emacs-w3m/metadata.xml
@@ -9,4 +9,8 @@
<use>
<flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
</use>
+<upstream>
+ <bugs-to>https://github.com/emacs-w3m/emacs-w3m/issues/</bugs-to>
+ <remote-id type="github">emacs-w3m/emacs-w3m</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/emacs-websearch/Manifest b/app-emacs/emacs-websearch/Manifest
new file mode 100644
index 000000000000..df6a9feead80
--- /dev/null
+++ b/app-emacs/emacs-websearch/Manifest
@@ -0,0 +1 @@
+DIST emacs-websearch-2.1.0.tar.bz2 97862 BLAKE2B db1c2b8e066605d97222b4c0b0c5044c86e207f397995998e4c208fafc3eb00efa17c158c6c75a42d2830679442609d57ccf45f0ad24891b5fb3bae4d8163ace SHA512 527dd019d8e000db1037ad00e7ad09be60868c82596438e61f4986ce271f6bf143eaf1b5457c5b2ebb1aa70837a02740531758081a13695267cdc2e507cf8dcf
diff --git a/app-emacs/emacs-websearch/emacs-websearch-2.1.0.ebuild b/app-emacs/emacs-websearch/emacs-websearch-2.1.0.ebuild
new file mode 100644
index 000000000000..686729e244b4
--- /dev/null
+++ b/app-emacs/emacs-websearch/emacs-websearch-2.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Query search engines from Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-websearch/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+DOCS=( README.md logo.png )
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${S}"/extras/gentoo/50websearch-gentoo.el
+}
diff --git a/app-emacs/emacs-websearch/emacs-websearch-9999.ebuild b/app-emacs/emacs-websearch/emacs-websearch-9999.ebuild
new file mode 100644
index 000000000000..686729e244b4
--- /dev/null
+++ b/app-emacs/emacs-websearch/emacs-websearch-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Query search engines from Emacs"
+HOMEPAGE="https://gitlab.com/xgqt/emacs-websearch/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
+else
+ SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+DOCS=( README.md logo.png )
+
+src_install() {
+ elisp_src_install
+ elisp-site-file-install "${S}"/extras/gentoo/50websearch-gentoo.el
+}
diff --git a/app-emacs/emacs-websearch/metadata.xml b/app-emacs/emacs-websearch/metadata.xml
new file mode 100644
index 000000000000..3dc420dbd6ef
--- /dev/null
+++ b/app-emacs/emacs-websearch/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ The websearch package allows You to query predefined search engines
+ (websearch-custom-engines) with interactive selection. The query terms can
+ either be extracted form selection, kill-ring or typed on demand.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <maintainer status="active">
+ <email>xgqt@riseup.net</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <bugs-to>https://gitlab.com/xgqt/emacs-websearch/-/issues/</bugs-to>
+ <remote-id type="gitlab">xgqt/emacs-websearch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emacsql/Manifest b/app-emacs/emacsql/Manifest
new file mode 100644
index 000000000000..79f47d710948
--- /dev/null
+++ b/app-emacs/emacsql/Manifest
@@ -0,0 +1 @@
+DIST emacsql-3.1.1.tar.gz 2392710 BLAKE2B 7281c9630c26363d9e88463a3ead8b241a3fc1a5e87cbf855eb233ef6b295ca6ba4ea4a79b5137b27f9eed33012dfaa183dab7be8e76b240305ee921edebe874 SHA512 0ec3890cfa014a0afef23e2e38bcd844527b0a497bbfe6f89cbbb090811d43996074e642f83f7f49b27659fc51a901645a54aac600e9988dcb40fffe86a06fbf
diff --git a/app-emacs/emacsql/emacsql-3.1.1.ebuild b/app-emacs/emacsql/emacsql-3.1.1.ebuild
new file mode 100644
index 000000000000..3ba6d2c8d2a6
--- /dev/null
+++ b/app-emacs/emacsql/emacsql-3.1.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=25.1
+inherit edo elisp toolchain-funcs
+
+DESCRIPTION="A high-level Emacs Lisp RDBMS front-end"
+HOMEPAGE="https://github.com/magit/emacsql"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/magit/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ "
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Unlicense"
+SLOT="0"
+# TODO(arsen): postgres-pg using app-emacs/pg (unpackaged as of yet)
+IUSE="+sqlite postgres mysql"
+
+DEPEND="
+ sqlite? ( dev-db/sqlite:3 )
+"
+RDEPEND="
+ ${DEPEND}
+ postgres? ( dev-db/postgresql )
+ mysql? ( virtual/mysql )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.1.1-fix-utf8-bom-writing.patch"
+)
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ # Not packaged.
+ rm emacsql-pg.el || die
+
+ local -A backends=(
+ [sqlite]=sqlite
+ [postgres]=psql
+ [mysql]=mysql
+ )
+
+ for useflag in "${!backends[@]}"; do
+ if ! use "${useflag}"; then
+ rm emacsql-"${backends[${useflag}]}".el || die
+ fi
+ done
+}
+
+src_compile() {
+ if use sqlite; then
+ edo $(tc-getCC) -fPIC -Wall -Wextra \
+ $($(tc-getPKG_CONFIG) --cflags --libs sqlite3) \
+ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o emacsql-sqlite \
+ sqlite/emacsql.c
+ fi
+ elisp_src_compile
+}
+
+src_install() {
+ elisp_src_install
+
+ if use sqlite; then
+ exeinto "${SITELISP}"/emacsql/sqlite
+ doexe emacsql-sqlite
+ fi
+}
diff --git a/app-emacs/emacsql/files/emacsql-3.1.1-fix-utf8-bom-writing.patch b/app-emacs/emacsql/files/emacsql-3.1.1-fix-utf8-bom-writing.patch
new file mode 100644
index 000000000000..ffa30dec85cb
--- /dev/null
+++ b/app-emacs/emacsql/files/emacsql-3.1.1-fix-utf8-bom-writing.patch
@@ -0,0 +1,52 @@
+From 3cec7dcb201568a09ee9cebf0ea1e43cba9d334a Mon Sep 17 00:00:00 2001
+From: Jonas Bernoulli <jonas@bernoul.li>
+Date: Tue, 17 Jan 2023 17:33:37 +0100
+Subject: [PATCH] Use utf-8 coding-system instead of utf-8-auto
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes an issue that was merely triggered by a change in Emacs
+[1]. [2: 127bb98] started binding `coding-system-for-write' and
+`coding-system-for-read' to `utf-8-auto'. As Eli points out at [3]
+`utf-8-auto' was probably a mistake and `utf-8' should have been
+used instead.
+
+1: https://github.com/emacsmirror/emacs/commit/cfd2b3504ab5de6eb5
+
+2: 2014-02-02 127bb98df20d84117d34822f50ea584af81b19c3
+ Set coding system to utf-8-auto for sqlite.
+
+3: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60872#11.
+
+ > Setting coding-system-for-write to utf-8-auto makes no sense;
+ > that coding-system's _only_ raison d'Γͺtre is for using in
+ > coding-system-for-read, i.e. when decoding stuff that may or
+ > may not start with a BOM.
+
+Since EmacSQL is not a general-purpose database but instead stores
+data encoded by Emacs for later retrieval by Emacs only, we do not
+have to with the unlikely appearance of a BOM, so we can use `utf-8'
+instead of `utf-8-auto' for writes *and* reads.
+
+Re #104, #106, magit/forge#533, magit/forge#535, bug#60872.
+---
+ emacsql-sqlite.el | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/emacsql-sqlite.el b/emacsql-sqlite.el
+index 1193147..7b8876f 100644
+--- a/emacsql-sqlite.el
++++ b/emacsql-sqlite.el
+@@ -73,8 +73,9 @@ used.")
+ ((connection emacsql-sqlite-connection) &rest _rest)
+ (emacsql-sqlite-ensure-binary)
+ (let* ((process-connection-type nil) ; use a pipe
+- (coding-system-for-write 'utf-8-auto)
+- (coding-system-for-read 'utf-8-auto)
++ ;; See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60872#11.
++ (coding-system-for-write 'utf-8)
++ (coding-system-for-read 'utf-8)
+ (file (slot-value connection 'file))
+ (buffer (generate-new-buffer " *emacsql-sqlite*"))
+ (fullfile (if file (expand-file-name file) ":memory:"))
diff --git a/app-emacs/emacsql/metadata.xml b/app-emacs/emacsql/metadata.xml
new file mode 100644
index 000000000000..0b03e24c9c24
--- /dev/null
+++ b/app-emacs/emacsql/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">magit/emacsql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/embark-consult/Manifest b/app-emacs/embark-consult/Manifest
new file mode 100644
index 000000000000..7d4fde8bd536
--- /dev/null
+++ b/app-emacs/embark-consult/Manifest
@@ -0,0 +1 @@
+DIST embark-1.0.tar.gz 112818 BLAKE2B 111203ec462b06f11dae9760a64d27e197faa13cefe1eb4debd2e7222380aab0ccad19587ee275f343bb0e2a716379e67209e27dcaa0aaaa7a98f97f660fb6f5 SHA512 ca42c6bd428807aefee6e7bb817651577401be8adacbd64146e97bd07ddd8df325dfeafeaa824fd3f4cd289da1a9b4868f44feacb66585f2533b64fa4d594d22
diff --git a/app-emacs/embark-consult/embark-consult-1.0.ebuild b/app-emacs/embark-consult/embark-consult-1.0.ebuild
new file mode 100644
index 000000000000..251f8eb0de18
--- /dev/null
+++ b/app-emacs/embark-consult/embark-consult-1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Consult integration for Embark"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/oantolin/embark.git"
+else
+ SRC_URI="https://github.com/oantolin/embark/archive/${PV}.tar.gz
+ -> embark-${PV}.tar.gz"
+ S="${WORKDIR}/embark-${PV}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/consult
+ app-emacs/embark
+"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="avy-embark-collect.el embark-org.el embark.el"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/embark-consult/embark-consult-9999.ebuild b/app-emacs/embark-consult/embark-consult-9999.ebuild
new file mode 100644
index 000000000000..5938c7ef66e4
--- /dev/null
+++ b/app-emacs/embark-consult/embark-consult-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Consult integration for Embark"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/oantolin/embark.git"
+else
+ SRC_URI="https://github.com/oantolin/embark/archive/${PV}.tar.gz
+ -> embark-${PV}.tar.gz"
+ S="${WORKDIR}"/embark-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/consult
+ app-emacs/embark
+"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="avy-embark-collect.el embark-org.el embark.el"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/embark-consult/metadata.xml b/app-emacs/embark-consult/metadata.xml
new file mode 100644
index 000000000000..fda35757dfa2
--- /dev/null
+++ b/app-emacs/embark-consult/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/oantolin/embark/issues/</bugs-to>
+ <remote-id type="github">oantolin/embark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/embark/Manifest b/app-emacs/embark/Manifest
new file mode 100644
index 000000000000..7d4fde8bd536
--- /dev/null
+++ b/app-emacs/embark/Manifest
@@ -0,0 +1 @@
+DIST embark-1.0.tar.gz 112818 BLAKE2B 111203ec462b06f11dae9760a64d27e197faa13cefe1eb4debd2e7222380aab0ccad19587ee275f343bb0e2a716379e67209e27dcaa0aaaa7a98f97f660fb6f5 SHA512 ca42c6bd428807aefee6e7bb817651577401be8adacbd64146e97bd07ddd8df325dfeafeaa824fd3f4cd289da1a9b4868f44feacb66585f2533b64fa4d594d22
diff --git a/app-emacs/embark/embark-1.0.ebuild b/app-emacs/embark/embark-1.0.ebuild
new file mode 100644
index 000000000000..d0b96e9539e0
--- /dev/null
+++ b/app-emacs/embark/embark-1.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp optfeature
+
+DESCRIPTION="Conveniently act on minibuffer completions inside GNU Emacs"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/oantolin/${PN}.git"
+else
+ SRC_URI="https://github.com/oantolin/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="avy-embark-collect.el embark-consult.el"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ doinfo ${PN}.texi
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ optfeature "Avy integration for Embark" app-emacs/avy-embark-collect
+ optfeature "Consult integration for Embark" app-emacs/embark-consult
+}
diff --git a/app-emacs/embark/embark-9999.ebuild b/app-emacs/embark/embark-9999.ebuild
new file mode 100644
index 000000000000..38aa5db83044
--- /dev/null
+++ b/app-emacs/embark/embark-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp optfeature
+
+DESCRIPTION="Conveniently act on minibuffer completions inside GNU Emacs"
+HOMEPAGE="https://github.com/oantolin/embark/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/oantolin/${PN}.git"
+else
+ SRC_URI="https://github.com/oantolin/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+ELISP_REMOVE="avy-embark-collect.el embark-consult.el"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ doinfo ${PN}.texi
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ optfeature "Avy integration for Embark" app-emacs/avy-embark-collect
+ optfeature "Consult integration for Embark" app-emacs/embark-consult
+}
diff --git a/app-emacs/embark/files/50embark-gentoo.el b/app-emacs/embark/files/50embark-gentoo.el
new file mode 100644
index 000000000000..933ac84875b9
--- /dev/null
+++ b/app-emacs/embark/files/50embark-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/embark-autoloads.el" nil t)
diff --git a/app-emacs/embark/metadata.xml b/app-emacs/embark/metadata.xml
new file mode 100644
index 000000000000..84bb06449c69
--- /dev/null
+++ b/app-emacs/embark/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Embark makes it easy to choose a command to run based on what is near
+ point, both during a minibuffer completion session (in a way familiar to
+ Helm or Counsel users) and in normal buffers. Bind the command embark-act
+ to a key and it acts like prefix-key for a keymap of actions (commands)
+ relevant to the target around point. With point on an URL in a buffer you
+ can open the URL in a browser or eww or download the file it points to. If
+ while switching buffers you spot an old one, you can kill it right there
+ and continue to select another. Embark comes preconfigured with over a
+ hundred actions for common types of targets such as files, buffers,
+ identifiers, s-expressions, sentences; and it is easy to add more actions
+ and more target types. Embark can also collect all the candidates in a
+ minibuffer to an occur-like buffer or export them to a buffer in a
+ major-mode specific to the type of candidates, such as dired for a set of
+ files, ibuffer for a set of buffers, or customize for a set of variables.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/oantolin/embark/issues/</bugs-to>
+ <remote-id type="github">oantolin/embark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/emhacks/emhacks-20070920-r1.ebuild b/app-emacs/emhacks/emhacks-20070920-r1.ebuild
deleted file mode 100644
index 3fdd0d1d1b1c..000000000000
--- a/app-emacs/emhacks/emhacks-20070920-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Useful Emacs Lisp libraries, including gdiff, jjar, jmaker, swbuff, and tabbar"
-HOMEPAGE="http://emhacks.sourceforge.net/"
-# CVS snapshot
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="Changelog"
-
-src_prepare() {
- # remove files included in Emacs>=22 or not useful on GNU/Linux
- # remove jsee #642588
- rm -r findstr* jsee* overlay-fix* recentf* ruler-mode* tree-widget* || die
- eapply_user
-}
diff --git a/app-emacs/emhacks/emhacks-20070920-r2.ebuild b/app-emacs/emhacks/emhacks-20070920-r2.ebuild
new file mode 100644
index 000000000000..560c143b7be9
--- /dev/null
+++ b/app-emacs/emhacks/emhacks-20070920-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Useful Emacs Lisp libraries, including gdiff, jjar, jmaker, swbuff, and tabbar"
+HOMEPAGE="http://emhacks.sourceforge.net/"
+# CVS snapshot
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="Changelog"
+
+src_prepare() {
+ # remove files included in Emacs>=22 or not useful on GNU/Linux
+ # remove jsee #642588
+ rm -r findstr* jsee* overlay-fix* recentf* ruler-mode* tree-widget* || die
+ default
+}
diff --git a/app-emacs/emms/Manifest b/app-emacs/emms/Manifest
index 72d46803a5ad..dd92bdf74f92 100644
--- a/app-emacs/emms/Manifest
+++ b/app-emacs/emms/Manifest
@@ -1,3 +1,2 @@
-DIST emms-4.4.tar.gz 288922 BLAKE2B d86cd9124f1d92d9d91aa96c45f7fd5e86776ff5f15cfa5e139eb40bc72e673f394b3d5209e64da62d3ab02ef18d6ac690e1d4e4273f3aad9c53b7e5ac4e7839 SHA512 d0aaac80728b542366885916e43c2c50302a5a5d6c9e35ff53a5b46a7185fda19459ea28f0d77929920873d7d9732fa531a4ef50f5052ed4df42cc474d14d0ba
-DIST emms-5.3.tar.gz 315572 BLAKE2B 6a4a59763e9c1c2e7d75bc11832b2ba86b7ba34303c33f6a9591897571393777fd7b544fed5fd9c76b13eedf87ea899d0a1c61390c4803c2700dff64b8321e69 SHA512 0a162f1b5fbf1cc4fcf50606d7ab3155effccd4862d33a4d59374573c571c128726b075ee91e0b364a23d5b08e00b4403a601dfcf0c25eaf594680178cb8e06d
-DIST emms-5.4.tar.gz 311583 BLAKE2B fc5a67a0e1e35f9e9d83112e0f98a7489e0aff7ca6a2b4a633b296eb20218ffa798f33754069da9be93fe8725a0438db77e0f8aa25bdf617f45cba954abdf556 SHA512 a274938ace810404a8891c60e8f54fadc60054e2b7f1139941b69b40e8693f2177ec9ecd795517e17a0b7ca3477f2e75a0a844408ad35975a4b69266c466fbff
+DIST emms-18.tar.gz 261059 BLAKE2B 93758279d12c96fb268557d60743f7c415724e9869073f4ac5d3c6aa8c755723f50d93c8fb3517a1f1266f5f1daf76796164b7b1b64f618170a53cbd6bc317eb SHA512 771dd5c6ca4ecc65f6108d8dabe5755aefd8ca6cf3ba766c4310227c44e95e22fdfd7415aa30f82b5f7b4b4be5c413fa576fdf6c59ab5e0647fa675d98a1cf9a
+DIST emms-19.tar.gz 264686 BLAKE2B 45f305c3836854a5ce506bd001b59ca157acb931241eb30dd19f920570334f6823245158ccd880b85e79a7026bfd8b0da190bcf3b2a4704377cc203f4ca0d699 SHA512 df99e82c60e4a61c65dad6108ae37c92314a0ee9f929f7031eef5474dfa5eb9174e068c4423d4c6fbf6ec997c4c9c748e1e1d0c1be00bd87adf10b3df33fc81d
diff --git a/app-emacs/emms/emms-18.ebuild b/app-emacs/emms/emms-18.ebuild
new file mode 100644
index 000000000000..ee43f01fcdd9
--- /dev/null
+++ b/app-emacs/emms/emms-18.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp toolchain-funcs
+
+DESCRIPTION="The Emacs Multimedia System"
+HOMEPAGE="https://www.gnu.org/software/emms/
+ https://www.emacswiki.org/emacs/EMMS"
+SRC_URI="https://git.savannah.gnu.org/cgit/emms.git/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+RDEPEND="
+ media-libs/taglib
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+# EMMS can use almost anything for playing media files therefore the dependency
+# possibilities are so broad that we refrain from setting anything explicitly
+# in DEPEND/RDEPEND.
+
+DOCS=( AUTHORS NEWS README )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all emms-print-metadata
+}
+
+src_install() {
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ exeinto /usr/bin
+ doexe src/emms-print-metadata
+
+ doinfo doc/emms.info*
+ doman emms-print-metadata.1
+
+ einstalldocs
+}
diff --git a/app-emacs/emms/emms-19.ebuild b/app-emacs/emms/emms-19.ebuild
new file mode 100644
index 000000000000..ee43f01fcdd9
--- /dev/null
+++ b/app-emacs/emms/emms-19.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp toolchain-funcs
+
+DESCRIPTION="The Emacs Multimedia System"
+HOMEPAGE="https://www.gnu.org/software/emms/
+ https://www.emacswiki.org/emacs/EMMS"
+SRC_URI="https://git.savannah.gnu.org/cgit/emms.git/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+RDEPEND="
+ media-libs/taglib
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+# EMMS can use almost anything for playing media files therefore the dependency
+# possibilities are so broad that we refrain from setting anything explicitly
+# in DEPEND/RDEPEND.
+
+DOCS=( AUTHORS NEWS README )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all emms-print-metadata
+}
+
+src_install() {
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ exeinto /usr/bin
+ doexe src/emms-print-metadata
+
+ doinfo doc/emms.info*
+ doman emms-print-metadata.1
+
+ einstalldocs
+}
diff --git a/app-emacs/emms/emms-4.4.ebuild b/app-emacs/emms/emms-4.4.ebuild
deleted file mode 100644
index 1aacf114f268..000000000000
--- a/app-emacs/emms/emms-4.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp toolchain-funcs
-
-DESCRIPTION="The Emacs Multimedia System"
-HOMEPAGE="https://www.gnu.org/software/emms/
- https://www.emacswiki.org/emacs/EMMS"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-
-DEPEND="media-libs/taglib"
-RDEPEND="${DEPEND}"
-
-# EMMS can use almost anything for playing media files therefore the dependency
-# possibilities are so broad that we refrain from setting anything explicitly
-# in DEPEND/RDEPEND.
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- all emms-print-metadata
-}
-
-src_install() {
- elisp-install ${PN} lisp/*.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- doinfo doc/emms.info*
- dobin src/emms-print-metadata
- doman emms-print-metadata.1
- dodoc AUTHORS ChangeLog NEWS README THANKGNU
-}
diff --git a/app-emacs/emms/emms-5.3.ebuild b/app-emacs/emms/emms-5.3.ebuild
deleted file mode 100644
index 332e0d00a88d..000000000000
--- a/app-emacs/emms/emms-5.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp toolchain-funcs
-
-DESCRIPTION="The Emacs Multimedia System"
-HOMEPAGE="https://www.gnu.org/software/emms/
- https://www.emacswiki.org/emacs/EMMS"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-
-RDEPEND="media-libs/taglib"
-DEPEND="${RDEPEND}"
-
-# EMMS can use almost anything for playing media files therefore the dependency
-# possibilities are so broad that we refrain from setting anything explicitly
-# in DEPEND/RDEPEND.
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- all emms-print-metadata
-}
-
-src_install() {
- elisp-install ${PN} lisp/*.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- doinfo doc/emms.info*
- dobin src/emms-print-metadata
- doman emms-print-metadata.1
- dodoc AUTHORS ChangeLog NEWS README THANKGNU
-}
diff --git a/app-emacs/emms/emms-5.4.ebuild b/app-emacs/emms/emms-5.4.ebuild
deleted file mode 100644
index 332e0d00a88d..000000000000
--- a/app-emacs/emms/emms-5.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp toolchain-funcs
-
-DESCRIPTION="The Emacs Multimedia System"
-HOMEPAGE="https://www.gnu.org/software/emms/
- https://www.emacswiki.org/emacs/EMMS"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-
-RDEPEND="media-libs/taglib"
-DEPEND="${RDEPEND}"
-
-# EMMS can use almost anything for playing media files therefore the dependency
-# possibilities are so broad that we refrain from setting anything explicitly
-# in DEPEND/RDEPEND.
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- all emms-print-metadata
-}
-
-src_install() {
- elisp-install ${PN} lisp/*.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- doinfo doc/emms.info*
- dobin src/emms-print-metadata
- doman emms-print-metadata.1
- dodoc AUTHORS ChangeLog NEWS README THANKGNU
-}
diff --git a/app-emacs/emojify/Manifest b/app-emacs/emojify/Manifest
new file mode 100644
index 000000000000..e31af30a888c
--- /dev/null
+++ b/app-emacs/emojify/Manifest
@@ -0,0 +1 @@
+DIST emojify-1.2_p20210309.tar.gz 1198300 BLAKE2B 504ce94fdf95cd68467d62e1f4ab842dca0d32b0caad36e2638d7a9fd54be8ab35566c52a025ef78c6e75379f6c6e3843d7c8a92083de8bf5b3a20590880d3b0 SHA512 3d8ea35065e79d83a23a395a6f05a7887fb33bcbb7640def0fda8a78b10a59357cadc4ef0b7632973ee15d7ba4a94cde8f4d09f09feb0ca5c1c0a8086b6fefbe
diff --git a/app-emacs/emojify/emojify-1.2_p20210309.ebuild b/app-emacs/emojify/emojify-1.2_p20210309.ebuild
new file mode 100644
index 000000000000..4c56b9b472a3
--- /dev/null
+++ b/app-emacs/emojify/emojify-1.2_p20210309.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20210309 ]] && COMMIT=1b726412f19896abf5e4857d4c32220e33400b55
+
+inherit elisp
+
+DESCRIPTION="Display emojis in Emacs, like :smile: or plain ASCII ones like :)"
+HOMEPAGE="https://github.com/iqbalansari/emacs-emojify/"
+SRC_URI="https://github.com/iqbalansari/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="test" # Tests fail
+
+RDEPEND="app-emacs/ht"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.org README.org screenshots )
+PATCHES=( "${FILESDIR}"/${PN}-json-data.patch )
+ELISP_REMOVE=".dir-locals.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|g" ${PN}.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r data
+}
diff --git a/app-emacs/emojify/files/50emojify-gentoo.el b/app-emacs/emojify/files/50emojify-gentoo.el
new file mode 100644
index 000000000000..e76565b0655a
--- /dev/null
+++ b/app-emacs/emojify/files/50emojify-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'emojify-mode "emojify"
+ "Emojify mode" t)
+(autoload 'global-emojify-mode "emojify"
+ "Toggle Emojify mode in all buffers." t)
diff --git a/app-emacs/emojify/files/emojify-json-data.patch b/app-emacs/emojify/files/emojify-json-data.patch
new file mode 100644
index 000000000000..50f53f243c88
--- /dev/null
+++ b/app-emacs/emojify/files/emojify-json-data.patch
@@ -0,0 +1,25 @@
+index 033c2f5..ca83044 100644
+--- a/emojify.el
++++ b/emojify.el
+@@ -290,9 +290,7 @@ current window too."
+
+ (defcustom emojify-emoji-json
+ (expand-file-name "data/emoji.json"
+- (cond (load-file-name (file-name-directory load-file-name))
+- ((locate-library "emojify") (file-name-directory (locate-library "emojify")))
+- (t default-directory)))
++ "@SITEETC@")
+ "The path to JSON file containing the configuration for displaying emojis."
+ :type 'file
+ :group 'emojify)
+@@ -301,9 +299,7 @@ current window too."
+ (let ((json-array-type 'list)
+ (json-object-type 'hash-table))
+ (json-read-file (expand-file-name "data/emoji-sets.json"
+- (cond (load-file-name (file-name-directory load-file-name))
+- ((locate-library "emojify") (file-name-directory (locate-library "emojify")))
+- (t default-directory))))))
++ "@SITEETC@"))))
+
+ (defcustom emojify-emoji-set "emojione-v2.2.6-22"
+ "The emoji set used to display emojis."
diff --git a/app-emacs/emojify/metadata.xml b/app-emacs/emojify/metadata.xml
new file mode 100644
index 000000000000..92ccec1e632d
--- /dev/null
+++ b/app-emacs/emojify/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/iqbalansari/emacs-emojify/issues/</bugs-to>
+ <remote-id type="github">iqbalansari/emacs-emojify</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/engrave-faces/Manifest b/app-emacs/engrave-faces/Manifest
new file mode 100644
index 000000000000..df925ebb1de9
--- /dev/null
+++ b/app-emacs/engrave-faces/Manifest
@@ -0,0 +1 @@
+DIST engrave-faces-0.3.1.tar.gz 23748 BLAKE2B e58e8a0c03c80682c6d1a69f00148d61fa23ae5df1bf87604e2e259e436f2fe3dafe26dd49aaf520fb8779e4171a609f54442cfcdfd2b608f2d896527a3b230b SHA512 97303d9324013028feda5d357004315536733f2f605995b5cdb69b22a955e030654b8e1595bc80b9070a22e280c3be3f44cbe1e74c12bd5e6d7066e884fc59ce
diff --git a/app-emacs/engrave-faces/engrave-faces-0.3.1.ebuild b/app-emacs/engrave-faces/engrave-faces-0.3.1.ebuild
new file mode 100644
index 000000000000..52f2efb4ab39
--- /dev/null
+++ b/app-emacs/engrave-faces/engrave-faces-0.3.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Convert font-lock faces to other formats"
+HOMEPAGE="https://github.com/tecosaur/engrave-faces/"
+SRC_URI="https://github.com/tecosaur/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/engrave-faces/metadata.xml b/app-emacs/engrave-faces/metadata.xml
new file mode 100644
index 000000000000..91d9312e75dc
--- /dev/null
+++ b/app-emacs/engrave-faces/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package aims to produce a versatile generic core which can process a
+ fontified buffer and elegantly pass the data to any number of backends
+ which can deal with specific output formats.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/tecosaur/engrave-faces/issues/</bugs-to>
+ <remote-id type="github">tecosaur/engrave-faces</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/epc/Manifest b/app-emacs/epc/Manifest
new file mode 100644
index 000000000000..b99f46cd24ca
--- /dev/null
+++ b/app-emacs/epc/Manifest
@@ -0,0 +1 @@
+DIST epc-0.1.1.tar.gz 158462 BLAKE2B afbaa496799ac698af885872ab3409ac0e7b27d1299c0450aec75cad6d213fc4efe5b6c2dc48a383b9b061c457accfea81dd821062a7027b781f005cba67e35e SHA512 c6c6e9c2f241ca275b807a387c4fb6916edb02c390d7bc350388d729e2214d7fe5addb7ea634bebc75aa09e510ab2d141ae6a197b328d1f506ee51660a5b8ddc
diff --git a/app-emacs/epc/epc-0.1.1.ebuild b/app-emacs/epc/epc-0.1.1.ebuild
new file mode 100644
index 000000000000..631dd47f8e71
--- /dev/null
+++ b/app-emacs/epc/epc-0.1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="RPC stack for Emacs Lisp"
+HOMEPAGE="https://github.com/kiwanami/emacs-epc/"
+SRC_URI="https://github.com/kiwanami/emacs-epc/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/ctable
+ app-emacs/deferred
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( readme.md demo img )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l epc.el -l epcs.el -l test-epc.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
diff --git a/app-emacs/epc/metadata.xml b/app-emacs/epc/metadata.xml
new file mode 100644
index 000000000000..582f1c4f32f0
--- /dev/null
+++ b/app-emacs/epc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/kiwanami/emacs-epc/issues/</bugs-to>
+ <remote-id type="github">kiwanami/emacs-epc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/epl/epl-0.9-r2.ebuild b/app-emacs/epl/epl-0.9-r2.ebuild
new file mode 100644
index 000000000000..024538b7def2
--- /dev/null
+++ b/app-emacs/epl/epl-0.9-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A convenient high-level API for package.el"
+HOMEPAGE="https://github.com/cask/epl"
+SRC_URI="https://github.com/cask/epl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/f )"
+
+DOCS=( README.md )
+SITEFILE="50epl-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test -l epl.el -l test/epl-test.el \
+ -f ert-run-tests-batch-and-exit || die
+}
diff --git a/app-emacs/epl/epl-0.9.ebuild b/app-emacs/epl/epl-0.9.ebuild
deleted file mode 100644
index 8a13d13e32de..000000000000
--- a/app-emacs/epl/epl-0.9.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-NEED_EMACS="24"
-
-inherit elisp
-
-DESCRIPTION="A convenient high-level API for package.el"
-HOMEPAGE="https://github.com/cask/epl"
-SRC_URI="https://github.com/cask/epl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # test requires cask and ert-runner which are not packaged
-
-SITEFILE="50epl-gentoo.el"
-DOCS=( README.md )
diff --git a/app-emacs/epl/metadata.xml b/app-emacs/epl/metadata.xml
index 4acb98f80f22..cd06d04e64a7 100644
--- a/app-emacs/epl/metadata.xml
+++ b/app-emacs/epl/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
<upstream>
<remote-id type="github">cask/epl</remote-id>
<doc>https://github.com/cask/epl/blob/master/README.md</doc>
diff --git a/app-emacs/erefactor/Manifest b/app-emacs/erefactor/Manifest
new file mode 100644
index 000000000000..3282110df39f
--- /dev/null
+++ b/app-emacs/erefactor/Manifest
@@ -0,0 +1 @@
+DIST erefactor-0.7.2.tar.gz 12873 BLAKE2B 897caccbdd62817b56bb3237913edc709ca50af966bd7332edab0d0a6523b7623bb77cd2a0a6713fa59f0ea688d4c962f29b19abcce0db4b49d61c721ae2cad4 SHA512 fa6ce709948d169bf6beb1c25f9ecbc87d8d6f0d8fc1ad2972148ba3daee986387888c72aaa9f8813f29421ac31bd5e10a9e75e76b1871b911fefc2663b7c8e6
diff --git a/app-emacs/erefactor/erefactor-0.7.2.ebuild b/app-emacs/erefactor/erefactor-0.7.2.ebuild
new file mode 100644
index 000000000000..ec99f2dd42ec
--- /dev/null
+++ b/app-emacs/erefactor/erefactor-0.7.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs-Lisp refactoring utilities"
+HOMEPAGE="https://github.com/mhayashi1120/Emacs-erefactor/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mhayashi1120/Emacs-${PN}.git"
+else
+ [[ ${PV} == 0.7.2 ]] && COMMIT=bfe27a1b8c7cac0fe054e76113e941efa3775fe8
+ SRC_URI="https://github.com/mhayashi1120/Emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/Emacs-${PN}-${COMMIT}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+# NOTE: Not "${PN}-test.el". The test file misses "(require '${PN})".
+elisp-enable-tests ert "${S}" -l ${PN}.el
diff --git a/app-emacs/erefactor/files/50erefactor-gentoo.el b/app-emacs/erefactor/files/50erefactor-gentoo.el
new file mode 100644
index 000000000000..177484615bae
--- /dev/null
+++ b/app-emacs/erefactor/files/50erefactor-gentoo.el
@@ -0,0 +1,19 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'erefactor-add-current-defun "erefactor"
+ "Add current defun form to `load-history'." t)
+(autoload 'erefactor-change-prefix-in-buffer "erefactor"
+ "Rename symbol prefix with queries." t)
+(autoload 'erefactor-check-eval-mode "erefactor"
+ "Display compiling warnings when \\[eval-last-sexp], \\[eval-defun]" t)
+(autoload 'erefactor-eval-current-defun "erefactor"
+ "Evaluate current defun and add definition to `load-history'." t)
+(autoload 'erefactor-highlight-current-symbol "erefactor"
+ "Highlight current symbol in this buffer." t)
+(autoload 'erefactor-lint "erefactor"
+ "Execuet Elint in new Emacs process." t)
+(autoload 'erefactor-lint-by-emacsen "erefactor"
+ "Execute Elint in new Emacs processes." t)
+(autoload 'erefactor-rename-symbol-in-buffer "erefactor"
+ "Rename symbol at point resolving reference local variable." t)
+(autoload 'erefactor-rename-symbol-in-package "erefactor"
+ "Rename symbol at point with queries." t)
diff --git a/app-emacs/erefactor/metadata.xml b/app-emacs/erefactor/metadata.xml
new file mode 100644
index 000000000000..89039b8154bd
--- /dev/null
+++ b/app-emacs/erefactor/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/mhayashi1120/Emacs-erefactor/issues/</bugs-to>
+ <remote-id type="github">mhayashi1120/Emacs-erefactor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ert-async/Manifest b/app-emacs/ert-async/Manifest
new file mode 100644
index 000000000000..400973733643
--- /dev/null
+++ b/app-emacs/ert-async/Manifest
@@ -0,0 +1 @@
+DIST ert-async-0.1.2_p20200105.tar.gz 14434 BLAKE2B e15d041582beef803d4033e2cad100905c8dff0afc768ea68aafe2d610c13603d7a8f4ed66caf62814964880ea6b0729f4ae3dbc19af6a784b2f69eb3a779097 SHA512 a683a3ab81ac361f2cd852a9ca8a98f7e4994e61c15921bcf6593985c7e59dc171766d7538b81785b44c3142511c25b8d418505365240a9efa7879554ac6624c
diff --git a/app-emacs/ert-async/ert-async-0.1.2_p20200105.ebuild b/app-emacs/ert-async/ert-async-0.1.2_p20200105.ebuild
new file mode 100644
index 000000000000..ecb5ba866000
--- /dev/null
+++ b/app-emacs/ert-async/ert-async-0.1.2_p20200105.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=948cf2faa10e085bda3739034ca5ea1912893433
+
+inherit elisp
+
+DESCRIPTION="Async support for ERT"
+HOMEPAGE="https://github.com/rejeep/ert-async.el/"
+SRC_URI="https://github.com/rejeep/${PN}.el/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ert-async/metadata.xml b/app-emacs/ert-async/metadata.xml
new file mode 100644
index 000000000000..bd6cd3f5cd50
--- /dev/null
+++ b/app-emacs/ert-async/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rejeep/ert-async.el/issues/</bugs-to>
+ <remote-id type="github">rejeep/ert-async.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ert-runner/Manifest b/app-emacs/ert-runner/Manifest
new file mode 100644
index 000000000000..2cc23ef2d85a
--- /dev/null
+++ b/app-emacs/ert-runner/Manifest
@@ -0,0 +1 @@
+DIST ert-runner-0.8.0.tar.gz 36263 BLAKE2B 8eceabea446ffde87c10cd5257264b61ad2e2617cd9a3243c9be5548298a61d5872b46359a798180e3bf450fc8c474f4651fb834959c30f93df807d4ba006401 SHA512 a8d17c10b7c4db3fb784725c22d382e7cf213c7a6bc320658b64f1aaf9597cfe9cedc436771ade239cc9ad59e0d3457c257ce9342f9bee8a3fd65f76eb6d9e9b
diff --git a/app-emacs/ert-runner/ert-runner-0.8.0.ebuild b/app-emacs/ert-runner/ert-runner-0.8.0.ebuild
new file mode 100644
index 000000000000..13d887bf9b32
--- /dev/null
+++ b/app-emacs/ert-runner/ert-runner-0.8.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Opinionated Emacs Ert testing workflow"
+HOMEPAGE="https://github.com/rejeep/ert-runner.el/"
+SRC_URI="https://github.com/rejeep/${PN}.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+RESTRICT="test" # Tests fail (even with Cask installed)
+
+RDEPEND="
+ app-emacs/ansi
+ app-emacs/commander
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/dash
+ app-emacs/shut-up
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+PATCHES=( "${FILESDIR}"/${PN}-bin-launcher-fix.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITELISP@|${EPREFIX}${SITELISP}/${PN}|" -i bin/${PN} || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-compile reporters/*.el
+}
+
+src_install() {
+ elisp_src_install
+ elisp-install ${PN}/reporters reporters/*.el{,c}
+
+ dobin bin/${PN}
+}
diff --git a/app-emacs/ert-runner/files/ert-runner-bin-launcher-fix.patch b/app-emacs/ert-runner/files/ert-runner-bin-launcher-fix.patch
new file mode 100644
index 000000000000..80f079ba867b
--- /dev/null
+++ b/app-emacs/ert-runner/files/ert-runner-bin-launcher-fix.patch
@@ -0,0 +1,30 @@
+index 97d4ff4..fc14077 100755
+--- a/bin/ert-runner
++++ b/bin/ert-runner
+@@ -1,6 +1,6 @@
+ #!/usr/bin/env bash
+
+-ERT_RUNNER="$(dirname $(dirname $0))/ert-runner.el"
++ERT_RUNNER="@SITELISP@/ert-runner.el"
+
+ function inside_emacs_24 {
+ if [[ -n $INSIDE_EMACS ]] &&
+@@ -31,9 +31,9 @@ if has_option "--win" $@ || has_option "--no-win" $@ ; then
+ export ERT_RUNNER_OUTFILE=$(mktemp /tmp/ert-runner.XXX)
+
+ if has_option "--win" $@; then
+- "$ERT_RUNNER_EMACS" --load "$ERT_RUNNER" -Q
++ "$ERT_RUNNER_EMACS" --load "$ERT_RUNNER" -q
+ else
+- "$ERT_RUNNER_EMACS" -nw --load "$ERT_RUNNER" -Q
++ "$ERT_RUNNER_EMACS" -nw --load "$ERT_RUNNER" -q
+ fi
+
+ STATUS=$?
+@@ -43,5 +43,5 @@ if has_option "--win" $@ || has_option "--no-win" $@ ; then
+
+ exit $STATUS
+ else
+- "$ERT_RUNNER_EMACS" --script "$ERT_RUNNER" -Q
++ "$ERT_RUNNER_EMACS" --script "$ERT_RUNNER" -q
+ fi
diff --git a/app-emacs/ert-runner/metadata.xml b/app-emacs/ert-runner/metadata.xml
new file mode 100644
index 000000000000..ea09767427c4
--- /dev/null
+++ b/app-emacs/ert-runner/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rejeep/ert-runner.el/issues/</bugs-to>
+ <remote-id type="github">rejeep/ert-runner.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/eselect-mode/Manifest b/app-emacs/eselect-mode/Manifest
index 3450cf5c41c7..5cd4e19cf408 100644
--- a/app-emacs/eselect-mode/Manifest
+++ b/app-emacs/eselect-mode/Manifest
@@ -1,2 +1,2 @@
-DIST eselect-1.4.16.tar.xz 178660 BLAKE2B dae97ee324cb67983c5395b5dc54c4b84d2da43f6a0c5c8ab81ff402ab211e9d1f1d3fe5c174b130ac1e11d3dd19e3812056274145415ee029e649cda880cd95 SHA512 264fb6122f5f7c9e73bb2250a94c3c0377e5263e2e5ae653ed58e08ebf6ed1b4aa165ae5c1d70b0156081c4db5672d1ec9d379782919d5b40a2f3e862378ce62
-DIST eselect-1.4.17.tar.xz 178980 BLAKE2B d905ac88bc009080912af75e64c7920d745788866fa3cb35466d68a652efbbd6984d6e1efeed76d9a344aed94705b74c85aa43e9c037d4d548d2e24afa69bd7a SHA512 35dc4c52f44c4f64db9c0dc2aec57b3055a6d36760b1bbbd094ad11b3f9e71a731444802632817b89c3b511f1dc9bb92046b59322d177e13fdc501ed767b591e
+DIST eselect-1.4.26.tar.xz 184332 BLAKE2B ee1e8890802fc50646c8d1d5219f1ab0ec5cfc0138c758f73ad6baccf673992bbf3e763d8e84491f33e724ba4e1cf3bed6971ba7fa4373e0f06464ff4a5fa1e6 SHA512 397ae2f15d90d722eb84225b08f1afaaf6f89758bfae5d93b0a1c3eddc997c21e74ab62e09ee5e71941d3a8587b3372b64336d12054c3bbf0e56e1ba398a26f9
+DIST eselect-1.4.27.tar.xz 184464 BLAKE2B 718874f4d0651194f361ca3202e5140982812bf486c8efe82354944d55206b0113fa135992203e8baa00019c3fd773a90ddaf67157c16f4ac2d69965d9822fbd SHA512 f534785fc1f79869840f420b4ab2b2bf35593c504cce878a6d3d07f75012cf32288009ea9ac2a5607dba216a794110a64c5f2c54d5d8a3c641328489cecc024b
diff --git a/app-emacs/eselect-mode/eselect-mode-1.4.16.ebuild b/app-emacs/eselect-mode/eselect-mode-1.4.16.ebuild
deleted file mode 100644
index 7e18d68400c3..000000000000
--- a/app-emacs/eselect-mode/eselect-mode-1.4.16.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-MY_P="eselect-${PV}"
-DESCRIPTION="Emacs major mode for editing eselect files"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
-SRC_URI="https://dev.gentoo.org/~ulm/eselect/${MY_P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${MY_P}/misc"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/eselect-mode/eselect-mode-1.4.17.ebuild b/app-emacs/eselect-mode/eselect-mode-1.4.17.ebuild
deleted file mode 100644
index 7f76711027a2..000000000000
--- a/app-emacs/eselect-mode/eselect-mode-1.4.17.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_P="eselect-${PV}"
-DESCRIPTION="Emacs major mode for editing eselect files"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
-SRC_URI="https://dev.gentoo.org/~ulm/eselect/${MY_P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${MY_P}/misc"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/eselect-mode/eselect-mode-1.4.26.ebuild b/app-emacs/eselect-mode/eselect-mode-1.4.26.ebuild
new file mode 100644
index 000000000000..1e9c5f558d6b
--- /dev/null
+++ b/app-emacs/eselect-mode/eselect-mode-1.4.26.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Packages sharing a common release tarball:
+# app-admin/eselect
+# app-emacs/eselect-mode
+# Please bump and mark them stable together!
+
+inherit elisp
+
+MY_P="eselect-${PV}"
+DESCRIPTION="Emacs major mode for editing eselect files"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
+SRC_URI="https://dev.gentoo.org/~ulm/eselect/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/misc"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/eselect-mode/eselect-mode-1.4.27.ebuild b/app-emacs/eselect-mode/eselect-mode-1.4.27.ebuild
new file mode 100644
index 000000000000..ac6f27f42394
--- /dev/null
+++ b/app-emacs/eselect-mode/eselect-mode-1.4.27.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Packages sharing a common release tarball:
+# app-admin/eselect
+# app-emacs/eselect-mode
+# Please bump and mark them stable together!
+
+inherit elisp
+
+MY_P="eselect-${PV}"
+DESCRIPTION="Emacs major mode for editing eselect files"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
+SRC_URI="https://dev.gentoo.org/~ulm/eselect/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/misc"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/espuds/Manifest b/app-emacs/espuds/Manifest
new file mode 100644
index 000000000000..21d726bc3ed9
--- /dev/null
+++ b/app-emacs/espuds/Manifest
@@ -0,0 +1 @@
+DIST espuds-0.3.3_p20171111.tar.gz 48779 BLAKE2B de97a922f82a19ee5a6229d4bfbc43baeb8da6a234f7add6f44fe2848657b9587f5471688733a0d9e2d95878408fe462d826a18e6701f15253bcd29cb1687d0d SHA512 34b1f2bfabd24072d30be4df02eceafa833b357c24a2a1c6cc868ce2a72d413d5b2686734f74a27cb2875ad45a7248823efbb2930f1cb89b95ef813100611281
diff --git a/app-emacs/espuds/espuds-0.3.3_p20171111.ebuild b/app-emacs/espuds/espuds-0.3.3_p20171111.ebuild
new file mode 100644
index 000000000000..87e1af286972
--- /dev/null
+++ b/app-emacs/espuds/espuds-0.3.3_p20171111.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=78fc53feaf77a98d63894cd410faee2a18107b00
+
+inherit elisp
+
+DESCRIPTION="Common step definitions for Emacs Ecukes"
+HOMEPAGE="https://github.com/ecukes/espuds/"
+SRC_URI="https://github.com/ecukes/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+RESTRICT="test" # Tests fail
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/s
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/espuds/metadata.xml b/app-emacs/espuds/metadata.xml
new file mode 100644
index 000000000000..1049b503133c
--- /dev/null
+++ b/app-emacs/espuds/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ecukes/espuds/issues/</bugs-to>
+ <remote-id type="github">ecukes/espuds</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ess/Manifest b/app-emacs/ess/Manifest
index 947f8fc529a8..5027f8be5daa 100644
--- a/app-emacs/ess/Manifest
+++ b/app-emacs/ess/Manifest
@@ -1,2 +1,3 @@
-DIST ess-17.11.tgz 3275703 BLAKE2B 50ec08040135fb05be35494829b347f1ce1c8fdb8bbc5c11f9327800cbfafbb4e7dd5dc46c2b6ce8d506e4e9ade90e369d14c0498e06f990eccbbacbb7d16cec SHA512 b2bb09d079922ed8bded04387e6aecd38d760d7a3b9a521044fb7e2537fdc0cbb59c707e5aa550fc76aa92a6c47eab0fa40f554060707cfc7656b19adbdea222
DIST ess-18.10.2.tgz 2939425 BLAKE2B f9a6181dfaffc820a55214418d14aef1443945d6b15cb156ecfb70a8f5878df545662f37114a44ea8aa20338a5eaea6a6ce0884b02f108bd3372653db13e1eff SHA512 9bc04c5ec87ed639e56de9fd7817c3adb1a823f091254a91b906e22e8537fb097b21b80020bf245acbd61420d09949d66fc079f3c552d79bf32b95dc7fa1dca9
+DIST ess-24.01.0.tar.gz 681861 BLAKE2B 81d1ee9409bece9b9d8e898ed5393e3299c58dd188dc3f3dffb125c70b3920406abaeb3636139e4c8f83cfa9ff980089468ef2f61a2f50abbafcd13e6009c6de SHA512 899787c10bff2fc9ab63350c8875174e81ff9303be3f89aa8b9dd410baf7f93e91a25e88ae5e5de90b7541f37274bc3a3b6a9ae8bc04659427f503fbca0289c8
+DIST ess-24.01.1.tar.gz 681901 BLAKE2B 892e60f33252f0dca979eb52cdc2eca7a79bad247037f599b6e640b02930019523ad276f764af281bc232040c34fb05ac884f1915940b09c3e89d2394f6887f8 SHA512 3ff7084f1182bad30771e264e491c7ab1b2501d4d6558ed6c4acb98aec6abed3c45c2049cf565164406611b1e8a5b92485b15da1c1696694454c5f65a8617191
diff --git a/app-emacs/ess/ess-17.11.ebuild b/app-emacs/ess/ess-17.11.ebuild
deleted file mode 100644
index 668acfe92701..000000000000
--- a/app-emacs/ess/ess-17.11.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs Speaks Statistics"
-HOMEPAGE="http://ess.r-project.org/"
-SRC_URI="http://ess.r-project.org/downloads/ess/${P}.tgz"
-
-LICENSE="GPL-2+ GPL-3+ Texinfo-manual"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
-
-BDEPEND="app-text/texi2html
- virtual/latex-base"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- default
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" \
- INFODIR="${ED}/usr/share/info" \
- LISPDIR="${ED}${SITELISP}/ess" \
- DOCDIR="${ED}/usr/share/doc/${PF}" \
- install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- # Most documentation is installed by the package's build system.
- rm -f "${ED}${SITELISP}/${PN}/ChangeLog"
- dodoc ChangeLog *NEWS doc/{TODO,ess-intro.pdf}
- newdoc doc/ChangeLog ChangeLog-doc
- newdoc lisp/ChangeLog ChangeLog-lisp
-
- DOC_CONTENTS="Please see /usr/share/doc/${PF} for the complete
- documentation. Usage hints are in ${SITELISP}/${PN}/ess-site.el ."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/ess/ess-18.10.2-r1.ebuild b/app-emacs/ess/ess-18.10.2-r1.ebuild
deleted file mode 100644
index 893fb96a64ef..000000000000
--- a/app-emacs/ess/ess-18.10.2-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs Speaks Statistics"
-HOMEPAGE="http://ess.r-project.org/"
-SRC_URI="http://ess.r-project.org/downloads/ess/${P}.tgz"
-
-LICENSE="GPL-2+ GPL-3+ Texinfo-manual"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
-
-BDEPEND="app-text/texi2html
- virtual/latex-base"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- default
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" \
- LISPDIR="${ED}${SITELISP}/ess" \
- ETCDIR="${ED}${SITEETC}/ess" \
- DOCDIR="${ED}/usr/share/doc/${PF}" \
- install
-
- # Version 18* doesn't install *.el files any more #685978
- elisp-install ${PN} lisp/*.{el,elc} lisp/obsolete/*.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- # Most documentation is installed by the package's build system.
- dodoc ChangeLog *NEWS doc/TODO
- newdoc doc/ChangeLog ChangeLog-doc
-
- DOC_CONTENTS="Please see /usr/share/doc/${PF} for the complete
- documentation. Usage hints are in ${SITELISP}/${PN}/ess-site.el ."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/ess/ess-18.10.2-r3.ebuild b/app-emacs/ess/ess-18.10.2-r3.ebuild
new file mode 100644
index 000000000000..87e6962259c1
--- /dev/null
+++ b/app-emacs/ess/ess-18.10.2-r3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Emacs Speaks Statistics"
+HOMEPAGE="https://ess.r-project.org/"
+SRC_URI="https://ess.r-project.org/downloads/ess/${P}.tgz"
+
+LICENSE="GPL-2+ GPL-3+ Texinfo-manual"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
+RESTRICT="test"
+
+BDEPEND="app-text/texi2html
+ virtual/latex-base"
+
+PATCHES=( "${FILESDIR}"/${P}-emacs-28.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ sed -i -e 's/font-lock-reference-face/font-lock-constant-face/g' \
+ lisp/*.el || die
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" \
+ LISPDIR="${ED}${SITELISP}/ess" \
+ ETCDIR="${ED}${SITEETC}/ess" \
+ DOCDIR="${ED}/usr/share/doc/${PF}" \
+ install
+
+ # Version 18* doesn't install *.el files any more #685978
+ elisp-install ${PN} lisp/*.{el,elc} lisp/obsolete/*.{el,elc}
+ elisp-make-site-file "${SITEFILE}" ${PN} "(load \"ess-autoloads\" nil t)"
+
+ # Most documentation is installed by the package's build system.
+ dodoc ChangeLog *NEWS doc/TODO
+ newdoc doc/ChangeLog ChangeLog-doc
+
+ local DOC_CONTENTS="\
+ Please see /usr/share/doc/${PF} for the complete documentation."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/ess/ess-24.01.0.ebuild b/app-emacs/ess/ess-24.01.0.ebuild
new file mode 100644
index 000000000000..f2435174b015
--- /dev/null
+++ b/app-emacs/ess/ess-24.01.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Emacs Speaks Statistics"
+HOMEPAGE="https://ess.r-project.org/
+ https://github.com/emacs-ess/ESS/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-ess/${PN^^}.git"
+else
+ SRC_URI="https://github.com/emacs-ess/${PN^^}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN^^}-${PV}"
+
+ KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2+ GPL-3+ Texinfo-manual"
+SLOT="0"
+
+BDEPEND="
+ app-text/texi2html
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-mathscience
+ dev-texlive/texlive-plaingeneric
+ virtual/latex-base
+"
+
+DOCS=( ChangeLog NEWS ONEWS README
+ doc/html/{ess,news,readme}.html doc/{ess,readme}.pdf )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -e "s|font-lock-reference-face|font-lock-constant-face|g" \
+ -i lisp/*.el || die
+}
+
+src_compile() {
+ local -x BYTECOMPFLAGS="-L lisp -L lisp/obsolete"
+
+ elisp-compile lisp/*.el lisp/obsolete/*.el
+ emake autoloads
+ emake -C doc all html pdf
+}
+
+src_test() {
+ elisp-test-ert . -L lisp -L test -l test/ess-test.el
+}
+
+src_install() {
+ # Version >=18 doesn't install *.el files any more #685978
+ elisp-install "${PN}" lisp/*.{el,elc} lisp/obsolete/*.{el,elc}
+ elisp-make-site-file "${SITEFILE}" "${PN}" "(load \"ess-autoloads\" nil t)"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r etc/*
+
+ doinfo ./doc/info/ess.info
+
+ local DOC_CONTENTS="\
+ Please see /usr/share/doc/${PF} for the complete documentation."
+ readme.gentoo_create_doc
+
+ einstalldocs
+}
diff --git a/app-emacs/ess/ess-24.01.1.ebuild b/app-emacs/ess/ess-24.01.1.ebuild
new file mode 100644
index 000000000000..f2435174b015
--- /dev/null
+++ b/app-emacs/ess/ess-24.01.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Emacs Speaks Statistics"
+HOMEPAGE="https://ess.r-project.org/
+ https://github.com/emacs-ess/ESS/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-ess/${PN^^}.git"
+else
+ SRC_URI="https://github.com/emacs-ess/${PN^^}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN^^}-${PV}"
+
+ KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2+ GPL-3+ Texinfo-manual"
+SLOT="0"
+
+BDEPEND="
+ app-text/texi2html
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-mathscience
+ dev-texlive/texlive-plaingeneric
+ virtual/latex-base
+"
+
+DOCS=( ChangeLog NEWS ONEWS README
+ doc/html/{ess,news,readme}.html doc/{ess,readme}.pdf )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -e "s|font-lock-reference-face|font-lock-constant-face|g" \
+ -i lisp/*.el || die
+}
+
+src_compile() {
+ local -x BYTECOMPFLAGS="-L lisp -L lisp/obsolete"
+
+ elisp-compile lisp/*.el lisp/obsolete/*.el
+ emake autoloads
+ emake -C doc all html pdf
+}
+
+src_test() {
+ elisp-test-ert . -L lisp -L test -l test/ess-test.el
+}
+
+src_install() {
+ # Version >=18 doesn't install *.el files any more #685978
+ elisp-install "${PN}" lisp/*.{el,elc} lisp/obsolete/*.{el,elc}
+ elisp-make-site-file "${SITEFILE}" "${PN}" "(load \"ess-autoloads\" nil t)"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r etc/*
+
+ doinfo ./doc/info/ess.info
+
+ local DOC_CONTENTS="\
+ Please see /usr/share/doc/${PF} for the complete documentation."
+ readme.gentoo_create_doc
+
+ einstalldocs
+}
diff --git a/app-emacs/ess/files/ess-18.10.2-emacs-28.patch b/app-emacs/ess/files/ess-18.10.2-emacs-28.patch
new file mode 100644
index 000000000000..c8f9b922eddc
--- /dev/null
+++ b/app-emacs/ess/files/ess-18.10.2-emacs-28.patch
@@ -0,0 +1,11 @@
+--- ess-18.10.2/lisp/ess-r-package.el
++++ ess-18.10.2/lisp/ess-r-package.el
+@@ -557,7 +557,7 @@
+ (error "As of ESS 16.04, `ess-developer' is deprecated. Use `ess-r-set-evaluation-env' instead"))
+
+ (defalias 'ess-toggle-developer 'ess-developer)
+-(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder)
++(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder "")
+ (define-obsolete-function-alias 'ess-r-devtools-ask 'ess-r-devtools-execute-command "18.04")
+
+ (make-obsolete-variable 'ess-developer "Please use `ess-developer-select-package' and `ess-r-set-evaluation-env' instead." "16.04")
diff --git a/app-emacs/ess/metadata.xml b/app-emacs/ess/metadata.xml
index 986088003fe1..1b61a0e3f7b0 100644
--- a/app-emacs/ess/metadata.xml
+++ b/app-emacs/ess/metadata.xml
@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/emacs-ess/ESS/issues/</bugs-to>
+ <remote-id type="github">emacs-ess/ESS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/esup/Manifest b/app-emacs/esup/Manifest
new file mode 100644
index 000000000000..123ecc088456
--- /dev/null
+++ b/app-emacs/esup/Manifest
@@ -0,0 +1 @@
+DIST esup-0.7.1_p20220203.tar.gz 54747 BLAKE2B 09d07300796b0874bbfe4c91f91ba9d56000e097c3ead2759d284f113ee3a34701952662f5e37a32cac889e9811b0ec53dbf93c7104d8530434c5fbb6fffb7da SHA512 4b361121273c8791f107e9b883bd6983d6be23f1abd9187347c510a4c11d8e8edf3b533aa7af561f869f9ebc8b1a6f12e5351127d30e8fd4127eface290cf8c7
diff --git a/app-emacs/esup/esup-0.7.1_p20220203.ebuild b/app-emacs/esup/esup-0.7.1_p20220203.ebuild
new file mode 100644
index 000000000000..96ee3f94383c
--- /dev/null
+++ b/app-emacs/esup/esup-0.7.1_p20220203.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=4b49c8d599d4cc0fbf994e9e54a9c78e5ab62a5f
+
+inherit elisp
+
+DESCRIPTION="Benchmark Emacs Startup time without ever leaving it"
+HOMEPAGE="https://github.com/jschaf/esup/"
+SRC_URI="https://github.com/jschaf/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-emacs/s"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/buttercup
+ app-emacs/dash
+ app-emacs/noflet
+ app-emacs/undercover
+ )
+"
+
+DOCS=( README.md esup-screenshot.png )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . -L test --traceback full test || die
+}
diff --git a/app-emacs/esup/files/50esup-gentoo.el b/app-emacs/esup/files/50esup-gentoo.el
new file mode 100644
index 000000000000..0cd16df3f8e9
--- /dev/null
+++ b/app-emacs/esup/files/50esup-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'esup "esup"
+ "Profile the startup time of Emacs in the background." t)
diff --git a/app-emacs/esup/metadata.xml b/app-emacs/esup/metadata.xml
new file mode 100644
index 000000000000..de9476cad492
--- /dev/null
+++ b/app-emacs/esup/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jschaf/esup/issues/</bugs-to>
+ <remote-id type="github">jschaf/esup</remote-id>
+ </upstream>
+ <longdescription>
+ Esup profiles your Emacs startup time by examining all top-level
+ S-expressions (sexps). Esup starts a new Emacs process from Emacs to
+ profile each SEXP. After the profiled Emacs is complete, it will exit and
+ your Emacs will display the results.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/evil/Manifest b/app-emacs/evil/Manifest
index 7d4bc7aca163..a9ec6440dc50 100644
--- a/app-emacs/evil/Manifest
+++ b/app-emacs/evil/Manifest
@@ -1,2 +1 @@
-DIST evil-1.14.0.tar.gz 410031 BLAKE2B 85613c3e69812ce9f34b23c57e9d3c86084332ef08b3a87a508db27db6cae3c255087b07bb94d2fa4614ec82f46856b75250d22dbae15cf5194740598975eced SHA512 9d45534ec3242f86cf39884647b495b0c7a4e06875ba7f4581f43b0f22216bd9deb9a09b39b3e5a25c004e5707ed24a275b8a59572bbcaea4ef37787320492f0
-DIST evil-1.2.14.tar.gz 544497 BLAKE2B 1230632dbcfc065a65aca673e87662c8c77c5ce93e2aeaefcd416e9c41971c08fa692c976a1635f504080de20d08357b7beb4efb65db8198dbdbb766459f7987 SHA512 300de4b4bc6924bef7ec4f58cb9c24b38e694e7c1c215bfc5e816523fc5887dee6ce333b322d7fe5c47497491d194ee7c7269fe36c692f8c4413a8e286b796b3
+DIST evil-1.14.2.tar.gz 394472 BLAKE2B b73f3995bb799285b738083c9119cf9222a8be78e69d4b5bb54c8d50091fb28395102a9a9c83faeb6668eb77a97c6132cbdb06a78205a43e87a5f5f7f8457bdf SHA512 531b55c5043fed21f175a932a49b62f00a713fea84b6cd91037993c0ed5d64fdfe137b9be6423d8b82da11ba8944805cab7d51f764572a247debe24cab0d4c01
diff --git a/app-emacs/evil/evil-1.14.0.ebuild b/app-emacs/evil/evil-1.14.0.ebuild
deleted file mode 100644
index 7bbcef190ae2..000000000000
--- a/app-emacs/evil/evil-1.14.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Extensible vi layer for Emacs"
-HOMEPAGE="https://github.com/emacs-evil/evil"
-SRC_URI="https://github.com/emacs-evil/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-RESTRICT="test"
-
-RDEPEND=">=app-emacs/undo-tree-0.6.3"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
-
-ELISP_REMOVE="evil-pkg.el evil-tests.el evil-test-helpers.el"
-ELISP_TEXINFO="doc/build/texinfo/evil.texi"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="CHANGES.org CONTRIBUTING.md README.md"
diff --git a/app-emacs/evil/evil-1.14.2-r1.ebuild b/app-emacs/evil/evil-1.14.2-r1.ebuild
new file mode 100644
index 000000000000..ef4405cc34b0
--- /dev/null
+++ b/app-emacs/evil/evil-1.14.2-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Extensible vi layer for Emacs"
+HOMEPAGE="https://github.com/emacs-evil/evil"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-evil/evil.git"
+else
+ SRC_URI="https://github.com/emacs-evil/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="GPL-3+ FDL-1.3+"
+SLOT="0"
+RESTRICT="test"
+
+RDEPEND="
+ >=app-emacs/undo-tree-0.6.3
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+ELISP_REMOVE="
+ evil-pkg.el
+ evil-tests.el
+ evil-test-helpers.el
+"
+
+DOCS="CHANGES.org CONTRIBUTING.md README.md"
+ELISP_TEXINFO="doc/build/texinfo/evil.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/evil/evil-1.2.14.ebuild b/app-emacs/evil/evil-1.2.14.ebuild
deleted file mode 100644
index 01082bccd41f..000000000000
--- a/app-emacs/evil/evil-1.2.14.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Extensible vi layer for Emacs"
-HOMEPAGE="https://github.com/emacs-evil/evil"
-SRC_URI="https://github.com/emacs-evil/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-RESTRICT="test"
-
-RDEPEND=">=app-emacs/undo-tree-0.6.3"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
-
-ELISP_REMOVE="evil-pkg.el evil-tests.el evil-test-helpers.el"
-ELISP_TEXINFO="doc/evil.texi"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="CHANGES.org CONTRIBUTING.md README.md"
diff --git a/app-emacs/evil/metadata.xml b/app-emacs/evil/metadata.xml
index 986088003fe1..0ec294bea899 100644
--- a/app-emacs/evil/metadata.xml
+++ b/app-emacs/evil/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">emacs-evil/evil</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/exec-path-from-shell/Manifest b/app-emacs/exec-path-from-shell/Manifest
new file mode 100644
index 000000000000..aea18b416c4e
--- /dev/null
+++ b/app-emacs/exec-path-from-shell/Manifest
@@ -0,0 +1,2 @@
+DIST exec-path-from-shell-2.1.tar.gz 18673 BLAKE2B fd1d3c1cc6d7ce89eacbf9cd3cfe737a1867723dda28993ee049d91437dc8a17edf07ec1e4a121eae384deebfde934e371168ee6870e09886483cecce1bc306e SHA512 bd211756fa06115af45db6d9fb351f3affb0d59ae717643c9e4df422e63ddb780edf642d030db5b039e2759b2bfca948f7638d2dbd3ac84f3c2b8814b4a085f3
+DIST exec-path-from-shell-2.2.tar.gz 18935 BLAKE2B 7b255664037a68c3ec67fd3ed404a35d834f69431152f6baaa4c8f85aa8565968ad6cc59f8674d06dd86befd9d13fbf2f39b1347395451fc8bb9eb43138e9e0d SHA512 75bd4dd96c7224a7daf9709e5508ff45b3b7541713267282ff9a31e357e74e2ff8ad054193c1753e2d2f824206abcff5485fe7710037974c536b4afc87500b09
diff --git a/app-emacs/exec-path-from-shell/exec-path-from-shell-2.1.ebuild b/app-emacs/exec-path-from-shell/exec-path-from-shell-2.1.ebuild
new file mode 100644
index 000000000000..c1375c75a429
--- /dev/null
+++ b/app-emacs/exec-path-from-shell/exec-path-from-shell-2.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Ensure environment variables inside Emacs are the same as in shell"
+HOMEPAGE="https://github.com/purcell/exec-path-from-shell/"
+SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/exec-path-from-shell/exec-path-from-shell-2.2.ebuild b/app-emacs/exec-path-from-shell/exec-path-from-shell-2.2.ebuild
new file mode 100644
index 000000000000..d2795541094c
--- /dev/null
+++ b/app-emacs/exec-path-from-shell/exec-path-from-shell-2.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Ensure environment variables inside Emacs are the same as in shell"
+HOMEPAGE="https://github.com/purcell/exec-path-from-shell/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/purcell/${PN}.git"
+else
+ SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/exec-path-from-shell/files/50exec-path-from-shell-gentoo.el b/app-emacs/exec-path-from-shell/files/50exec-path-from-shell-gentoo.el
new file mode 100644
index 000000000000..6fa79c9aefcf
--- /dev/null
+++ b/app-emacs/exec-path-from-shell/files/50exec-path-from-shell-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "exec-path-from-shell-autoloads" nil t)
diff --git a/app-emacs/exec-path-from-shell/metadata.xml b/app-emacs/exec-path-from-shell/metadata.xml
new file mode 100644
index 000000000000..053f64ad6502
--- /dev/null
+++ b/app-emacs/exec-path-from-shell/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This library allows the user to set Emacs' `exec-path' and $PATH from the
+ shell path, so that `shell-command', `compile' and the like work as
+ expected. It also allows other environment variables to be retrieved from
+ the shell, so that Emacs will see the same values you get in a terminal.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/purcell/exec-path-from-shell/issues/</bugs-to>
+ <remote-id type="github">purcell/exec-path-from-shell</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/exheres-mode/Manifest b/app-emacs/exheres-mode/Manifest
new file mode 100644
index 000000000000..83873bc74975
--- /dev/null
+++ b/app-emacs/exheres-mode/Manifest
@@ -0,0 +1 @@
+DIST exheres-mode-1.10.tar.xz 49364 BLAKE2B 39d9233c212255d0c472740425357484d9d34c1a71e7ecefb40eecae19de551785c627ff0985b8018f8b9cfbdd7068e0ba624b7a624aa1e4e037135d1d83f520 SHA512 ac2be1197999f387dccbf4c335837ed0e9e356fed909a4436857fd5b1cbbf8ee47d046d7a166674462e4804ddf816d064dac6a62999d4447ff3554e5062a0f63
diff --git a/app-emacs/exheres-mode/exheres-mode-1.10.ebuild b/app-emacs/exheres-mode/exheres-mode-1.10.ebuild
new file mode 100644
index 000000000000..d492da0eeb83
--- /dev/null
+++ b/app-emacs/exheres-mode/exheres-mode-1.10.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing files in exheres format"
+HOMEPAGE="https://www.exherbolinux.org/
+ https://gitlab.exherbolinux.org/exherbo-misc/exheres-mode/"
+SRC_URI="https://dev.exherbo.org/distfiles/${PN}/${P}.tar.xz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/exheres-mode/files/50exheres-mode-gentoo.el b/app-emacs/exheres-mode/files/50exheres-mode-gentoo.el
new file mode 100644
index 000000000000..8ed0b00ec9c6
--- /dev/null
+++ b/app-emacs/exheres-mode/files/50exheres-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "exheres-mode-autoloads" nil t)
diff --git a/app-emacs/exheres-mode/metadata.xml b/app-emacs/exheres-mode/metadata.xml
new file mode 100644
index 000000000000..97853b019747
--- /dev/null
+++ b/app-emacs/exheres-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.exherbo.org/exherbo-misc/exheres-mode/-/issues/</bugs-to>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/expand-region/Manifest b/app-emacs/expand-region/Manifest
index b0d8e0ec50b1..a7eca09d2bea 100644
--- a/app-emacs/expand-region/Manifest
+++ b/app-emacs/expand-region/Manifest
@@ -1 +1,2 @@
DIST expand-region-0.11.0.tar.gz 31562 BLAKE2B 84058b1aea880de0f4a1894bbf818ae622ec7740d15564e74adbe8f3769f72b514d71de9c6b83a8f0fd60c590e281739ae15110f5f886315cc10b661b21ecc56 SHA512 3469ab0420d85fbaaa1ae9f3d0101c28b6e1786d761ecd186d744537795226917314b8b748d3499b02ea269a46a62350c37fecb34dd4183a73eafc67ce1344a8
+DIST expand-region-1.0.0.tar.gz 46001 BLAKE2B e8910ca067767b86f9e80b45b8d039cbe969d26d1f828d16749199e584a0745d1ad3d10a32dc98a49ccef3c36966e95581d53929183e1427a28baf1f82e1aa91 SHA512 2dd057f36c80a892f465ac8757248fce30089c64eb1f8de4c2e9bfc404cf10b2ca3ce88f06395c9c9225b5fa31015e260e31010488328e09bbd3fe629df2d77e
diff --git a/app-emacs/expand-region/expand-region-1.0.0.ebuild b/app-emacs/expand-region/expand-region-1.0.0.ebuild
new file mode 100644
index 000000000000..b71a81156854
--- /dev/null
+++ b/app-emacs/expand-region/expand-region-1.0.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="Emacs extension to increase selected region by semantic units"
+HOMEPAGE="https://github.com/magnars/expand-region.el"
+SRC_URI="https://github.com/magnars/${PN}.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${PN}.el-${PV}"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
diff --git a/app-emacs/external-completion/Manifest b/app-emacs/external-completion/Manifest
new file mode 100644
index 000000000000..2c429c250531
--- /dev/null
+++ b/app-emacs/external-completion/Manifest
@@ -0,0 +1 @@
+DIST external-completion-0.1.tar.xz 3292 BLAKE2B c89929bb474f8d6d8a9b82d25a52591b0b84a10c25b217607d7d5438f99979c8fb50ea6c1278a295292bca14bdce385bcf727d2d4715ea1f280b00b15c898232 SHA512 beda4c0a57807bd2fb6944a8abfafd5801c6b32a7270e76395ad720a76fc0b27f73fb5e5ff60659add43805a715372d60687d5be1cee7fe8425e2573f4b51e2f
diff --git a/app-emacs/external-completion/external-completion-0.1.ebuild b/app-emacs/external-completion/external-completion-0.1.ebuild
new file mode 100644
index 000000000000..9286df028ef4
--- /dev/null
+++ b/app-emacs/external-completion/external-completion-0.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Let external tools control completion style in GNU Emacs"
+HOMEPAGE="https://elpa.gnu.org/packages/external-completion.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/external-completion/metadata.xml b/app-emacs/external-completion/metadata.xml
new file mode 100644
index 000000000000..717a115d639c
--- /dev/null
+++ b/app-emacs/external-completion/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emacs/exwm/Manifest b/app-emacs/exwm/Manifest
new file mode 100644
index 000000000000..7c9517550009
--- /dev/null
+++ b/app-emacs/exwm/Manifest
@@ -0,0 +1,2 @@
+DIST exwm-0.27.tar.gz 89941 BLAKE2B a64dcd6ed66686c64e233e2c22e270fadaa8311e08ef05a101ae6c76ede8d0e17e02a08472cbceee7e3e892cd5524f29b99a508fec9e9d480e025add1755a2da SHA512 8e3c47024361aa6f461f44b42ac7947b5f9af0aa767a4e77c3f22d1da6105d85f770de2ea0920c9754e4816879b1440b67fd573d523fdc03e93022e0188e479c
+DIST exwm-0.28.tar.gz 93246 BLAKE2B ec6afeeaf7609d68561c9ec87316c0135bc5e0341c3dba91964221e15edc75442097f4c5c0730d7eaf8e00010b6f88e4deb1f283ada61bd8e7333f21088dbf8b SHA512 5b5db21de7ac6c0c9f38ce6fdc66f5fb366fa50c52ba7d5fd76c9764cbda6b19f3c01213c7af2dba7605f66e7527367204fe1b5c10c1dda6d2ed7aae87312749
diff --git a/app-emacs/exwm/exwm-0.27.ebuild b/app-emacs/exwm/exwm-0.27.ebuild
new file mode 100644
index 000000000000..78371ba95520
--- /dev/null
+++ b/app-emacs/exwm/exwm-0.27.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs X Window Manager"
+HOMEPAGE="https://github.com/ch11ng/exwm/"
+SRC_URI="https://github.com/ch11ng/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="app-emacs/xelb"
+RDEPEND="
+ ${BDEPEND}
+ x11-apps/xrandr
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}/examples
+ doins xinitrc
+}
diff --git a/app-emacs/exwm/exwm-0.28.ebuild b/app-emacs/exwm/exwm-0.28.ebuild
new file mode 100644
index 000000000000..e8b3a2eabbce
--- /dev/null
+++ b/app-emacs/exwm/exwm-0.28.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs X Window Manager"
+HOMEPAGE="https://github.com/ch11ng/exwm/"
+SRC_URI="https://github.com/ch11ng/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="app-emacs/xelb"
+RDEPEND="
+ ${BDEPEND}
+ x11-apps/xrandr
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}/examples
+ doins xinitrc
+}
diff --git a/app-emacs/exwm/metadata.xml b/app-emacs/exwm/metadata.xml
new file mode 100644
index 000000000000..5f5868bcc422
--- /dev/null
+++ b/app-emacs/exwm/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ch11ng/exwm/issues/</bugs-to>
+ <remote-id type="github">ch11ng/exwm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/f/Manifest b/app-emacs/f/Manifest
index 229c525f0a35..304a020040dd 100644
--- a/app-emacs/f/Manifest
+++ b/app-emacs/f/Manifest
@@ -1,2 +1 @@
-DIST f-0.19.0.tar.gz 19477 BLAKE2B 47cfb8c876e11cae7eca61815085c4290f65f9d72a7c5d397d8b53f6d57421f46997786556074027de5405acbf38ddb42ecbb767c809763e84d880286e6942dc SHA512 694eca1872cb0a0da7f75f610e4101993a79a5e7601c3f72fd2c642b1a44f5eada24777313b5166d901d9d983c18b4d412b4c6f01c382ace7530bacaa3b67c56
DIST f-0.20.0.tar.gz 19907 BLAKE2B 20b82a19b227d2e0863e540e75bc5094c0cf267eae00d699ff5b00fa574213d303135c246c454c92785080feae63ba6c529b115aeb1368774dd548852d94fb48 SHA512 0c44e63cd527a37bd5582d5a2a4cb2269d179930d7f41b378b9100ad5bb4518291b02197b1d55e1bf603bb5b1c12181b982d9b9a3f8fbd48860f6e86ea36c03e
diff --git a/app-emacs/f/f-0.19.0.ebuild b/app-emacs/f/f-0.19.0.ebuild
deleted file mode 100644
index 72b552759a6e..000000000000
--- a/app-emacs/f/f-0.19.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Modern API for working with files and directories in Emacs"
-HOMEPAGE="https://github.com/rejeep/f.el"
-SRC_URI="https://github.com/rejeep/f.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-RESTRICT="test"
-
-RDEPEND="app-emacs/dash app-emacs/s"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/f.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/f/f-0.20.0-r1.ebuild b/app-emacs/f/f-0.20.0-r1.ebuild
new file mode 100644
index 000000000000..00e7b154dcc6
--- /dev/null
+++ b/app-emacs/f/f-0.20.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Modern API for working with files and directories in Emacs"
+HOMEPAGE="https://github.com/rejeep/f.el/"
+SRC_URI="https://github.com/rejeep/f.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/f.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv ~sparc x86"
+RESTRICT="test"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/s
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/f/f-0.20.0.ebuild b/app-emacs/f/f-0.20.0.ebuild
deleted file mode 100644
index a26344476647..000000000000
--- a/app-emacs/f/f-0.20.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Modern API for working with files and directories in Emacs"
-HOMEPAGE="https://github.com/rejeep/f.el"
-SRC_URI="https://github.com/rejeep/f.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-RESTRICT="test"
-
-RDEPEND="app-emacs/dash app-emacs/s"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/f.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/f/files/50f-gentoo.el b/app-emacs/f/files/50f-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/f/files/50f-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/fennel-mode/Manifest b/app-emacs/fennel-mode/Manifest
new file mode 100644
index 000000000000..b0f39e0cb9b6
--- /dev/null
+++ b/app-emacs/fennel-mode/Manifest
@@ -0,0 +1,2 @@
+DIST fennel-mode-0.5.0.tar.gz 13995 BLAKE2B 6ccf73a172f28a06221be356c2c0a5ec25342c05b95b3d4cbaf65bb11a8d6a1ad3018e708c59de8aac1069b974a99c3bda57fd42765eebc015360706d53d6e72 SHA512 89dfbf2d70c36a3f1de69af9f2dad5ee93e1ec995470205962b6fd015e779ac8c81159a2d9fb532d14f5afe8485d8e18a82783388565eb1ff4646a714f5113e3
+DIST fennel-mode-0.9.1.tar.gz 13995 BLAKE2B 6ccf73a172f28a06221be356c2c0a5ec25342c05b95b3d4cbaf65bb11a8d6a1ad3018e708c59de8aac1069b974a99c3bda57fd42765eebc015360706d53d6e72 SHA512 89dfbf2d70c36a3f1de69af9f2dad5ee93e1ec995470205962b6fd015e779ac8c81159a2d9fb532d14f5afe8485d8e18a82783388565eb1ff4646a714f5113e3
diff --git a/app-emacs/fennel-mode/fennel-mode-0.5.0.ebuild b/app-emacs/fennel-mode/fennel-mode-0.5.0.ebuild
new file mode 100644
index 000000000000..5cebaaa89aab
--- /dev/null
+++ b/app-emacs/fennel-mode/fennel-mode-0.5.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=b3c52964eda7c0267f6e3f0ad6c690c3a1e89da1
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Emacs support for the Fennel programming language"
+HOMEPAGE="https://git.sr.ht/~technomancy/fennel-mode/"
+SRC_URI="https://git.sr.ht/~technomancy/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( Readme.md changelog.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"
+ doins syntax.fnl
+}
diff --git a/app-emacs/fennel-mode/fennel-mode-0.9.1.ebuild b/app-emacs/fennel-mode/fennel-mode-0.9.1.ebuild
new file mode 100644
index 000000000000..74f28faa0d18
--- /dev/null
+++ b/app-emacs/fennel-mode/fennel-mode-0.9.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=b3c52964eda7c0267f6e3f0ad6c690c3a1e89da1
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Emacs support for the Fennel programming language"
+HOMEPAGE="https://git.sr.ht/~technomancy/fennel-mode/"
+SRC_URI="https://git.sr.ht/~technomancy/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( Readme.md changelog.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"
+ doins syntax.fnl
+}
diff --git a/app-emacs/fennel-mode/files/50fennel-mode-gentoo.el b/app-emacs/fennel-mode/files/50fennel-mode-gentoo.el
new file mode 100644
index 000000000000..b4f85277b203
--- /dev/null
+++ b/app-emacs/fennel-mode/files/50fennel-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'fennel-mode "fennel-mode"
+ "Major mode for editing Fennel code." t)
+(add-to-list 'auto-mode-alist '("\\.fnl\\'" . fennel-mode))
diff --git a/app-emacs/fennel-mode/metadata.xml b/app-emacs/fennel-mode/metadata.xml
new file mode 100644
index 000000000000..69eb6edd9c7a
--- /dev/null
+++ b/app-emacs/fennel-mode/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>
+ https://gitlab.com/technomancy/fennel-mode/-/blob/main/changelog.md
+ </changelog>
+ <bugs-to>https://gitlab.com/technomancy/fennel-mode/-/issues/</bugs-to>
+ <remote-id type="gitlab">technomancy/fennel-mode</remote-id>
+ <remote-id type="sourcehut">~technomancy/fennel-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/filladapt/Manifest b/app-emacs/filladapt/Manifest
index ef111e1a41a3..13097f33ccfb 100644
--- a/app-emacs/filladapt/Manifest
+++ b/app-emacs/filladapt/Manifest
@@ -1 +1 @@
-DIST filladapt-2.12.el.gz 9267 BLAKE2B 81510bd51808f7aaa4874a1127a74bfc7d35c5f1dca0100694853025fd1bc884d75c2023f0e373eb1fe69cc5d423a48d884b4ff5cfdfc82b161f6a404965b6bd SHA512 31bf3dca48129cc25653827678215eb4c62ff777cfbdf0d71142c0cc3111a078b1af316e121b27be2a47c317cfa440ac00e7fbc2bdf3e8ac7d54748297249328
+DIST filladapt-2.12.2.el.gz 8535 BLAKE2B 31af33094524bbc1533edad51e2b9b98730af5580abd04d3ff937260a59ac9c5c414b18a08256a4ad0806d4130cc98aaf7f1c4a45ca0f65fd6da24a3602a4387 SHA512 b2ffb9e4c1b0f275ed03dbac8f53f4c07e68c0620d98b14456512ac1e6c1b6a096dd1f350886f07e215101697eda38b0a2dee98a7f61a0fbe136b6f358ac3932
diff --git a/app-emacs/filladapt/files/50filladapt-gentoo.el b/app-emacs/filladapt/files/50filladapt-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/filladapt/files/50filladapt-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/filladapt/files/filladapt-2.12-backquote.patch b/app-emacs/filladapt/files/filladapt-2.12-backquote.patch
deleted file mode 100644
index 83f5f921e2ed..000000000000
--- a/app-emacs/filladapt/files/filladapt-2.12-backquote.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/filladapt.el
-+++ b/filladapt.el
-@@ -86,7 +86,7 @@
- (defmacro defgroup (&rest args)
- nil)
- (defmacro defcustom (var value doc &rest args)
-- (` (defvar (, var) (, value) (, doc))))))
-+ `(defvar ,var ,value ,doc))))
-
- (defgroup filladapt nil
- "Enhanced filling"
diff --git a/app-emacs/filladapt/filladapt-2.12-r2.ebuild b/app-emacs/filladapt/filladapt-2.12-r2.ebuild
deleted file mode 100644
index 096e1c966494..000000000000
--- a/app-emacs/filladapt/filladapt-2.12-r2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Filladapt enhances the behavior of Emacs' fill functions"
-HOMEPAGE="http://www.wonderworks.com/"
-SRC_URI="mirror://gentoo/${P}.el.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-PATCHES=("${FILESDIR}"/${P}-backquote.patch)
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="Filladapt is not enabled as a site default. Add the following
- lines to your ~/.emacs file to enable adaptive fill by default:
- \n\t(require 'filladapt)
- \n\t(setq-default filladapt-mode t)"
diff --git a/app-emacs/filladapt/filladapt-2.12.2.ebuild b/app-emacs/filladapt/filladapt-2.12.2.ebuild
new file mode 100644
index 000000000000..739242f65b70
--- /dev/null
+++ b/app-emacs/filladapt/filladapt-2.12.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Filladapt enhances the behavior of Emacs' fill functions"
+HOMEPAGE="http://www.wonderworks.com/
+ https://elpa.gnu.org/packages/filladapt.html"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="Filladapt is not enabled as a site default. Add the following
+ lines to your ~/.emacs file to enable adaptive fill by default:
+ \n\t(require 'filladapt)
+ \n\t(setq-default filladapt-mode t)"
diff --git a/app-emacs/flim/Manifest b/app-emacs/flim/Manifest
index 0b1214f0906b..3a6d5519a46a 100644
--- a/app-emacs/flim/Manifest
+++ b/app-emacs/flim/Manifest
@@ -1,2 +1,2 @@
-DIST flim-1.14.9_p20190526.tar.gz 173261 BLAKE2B f28b0d1474d894fd93d9899fe66bc88d6669cc6bdbb2511dcd0b2f13c05abbe42ad4cc06e2de34664204f3ddbb3cb4f09e232394419892b3fd8e71c1ab3aab75 SHA512 8991c460bf9eb411e89edb8fb05088cc09dc354e4c14d7accba26d922b2d1041742e96d8a64407ee8dd2574984c5b3a8fbd66e828c8f8fadc55f8da6428d634e
DIST flim-1.14.9_p20210529.tar.gz 146081 BLAKE2B b5326cb67f4e1387fe5a9f0cc9360feca81bf61de18ae75b325e072e70a3f4b70a1bda148a2ab8ac9c3b872bc5ed96b53b61d0de427abfb21eb8e3dba1235701 SHA512 47a55606add53da7f399d87befc834dbbe4b52b1f3011d24d3dfd3ec7a7010ffebc2aa666e38f5878735b2ee43dfe46eec548dba3535521440c8bcd1bd08a17d
+DIST flim-1.14.9_p20231218.tar.gz 144953 BLAKE2B 943479e302453139af0a8d0c656e1ef3596220a865698f6b98c59d323c284c84dad277d20b524b70eb9650b42a9bfe18ca6c04d5849df0812ed49dbbe379fffd SHA512 b4ba7ac736402a2e8290c3329801fece04540cc8a4a07ab93f71472e41704e033a7925420fc7f42d63c9d3a57abb870fbf88a4012cba8ebc6a43f93c0707751e
diff --git a/app-emacs/flim/files/60flim-gentoo.el b/app-emacs/flim/files/60flim-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/flim/files/60flim-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/flim/flim-1.14.9_p20190526.ebuild b/app-emacs/flim/flim-1.14.9_p20190526.ebuild
deleted file mode 100644
index 270cd7667f31..000000000000
--- a/app-emacs/flim/flim-1.14.9_p20190526.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A library to provide basic features about message representation or encoding"
-HOMEPAGE="https://github.com/wanderlust/flim"
-GITHUB_SHA1="e4bd54fd7d335215b54f7ef27ed974c8cd68d472"
-SRC_URI="https://github.com/wanderlust/flim/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-
-DEPEND=">=app-emacs/apel-10.8"
-RDEPEND="${DEPEND}
- !app-emacs/limit"
-
-S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
-SITEFILE="60${PN}-gentoo.el"
-
-src_compile() {
- default
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" \
- LISPDIR="${ED}/${SITELISP}" \
- VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- dodoc FLIM-API.en NEWS VERSION README* ChangeLog
-}
diff --git a/app-emacs/flim/flim-1.14.9_p20210529.ebuild b/app-emacs/flim/flim-1.14.9_p20210529.ebuild
index e8b1232708da..2b09a6211a9e 100644
--- a/app-emacs/flim/flim-1.14.9_p20210529.ebuild
+++ b/app-emacs/flim/flim-1.14.9_p20210529.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-NEED_EMACS=24.5
inherit elisp
@@ -14,7 +13,7 @@ S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND=">=app-emacs/apel-10.8"
DEPEND="${RDEPEND}"
@@ -29,6 +28,6 @@ src_install() {
emake PREFIX="${ED}/usr" \
LISPDIR="${ED}/${SITELISP}" \
VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ elisp-make-site-file "${SITEFILE}"
dodoc FLIM-API.en NEWS VERSION README* ChangeLog*
}
diff --git a/app-emacs/flim/flim-1.14.9_p20231218.ebuild b/app-emacs/flim/flim-1.14.9_p20231218.ebuild
new file mode 100644
index 000000000000..4dfb7c04cf92
--- /dev/null
+++ b/app-emacs/flim/flim-1.14.9_p20231218.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A library to provide basic features about message representation or encoding"
+HOMEPAGE="https://github.com/wanderlust/flim"
+GITHUB_SHA1="abdd2315006eb31476249223569808adb1c0f7b2"
+SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="oauth2 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-emacs/apel-10.8
+ oauth2? ( app-emacs/oauth2 )"
+
+BDEPEND="${RDEPEND}
+ test? ( app-emacs/oauth2 )"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+ sed -i "s/(module-installed-p 'oauth2)/$(usex oauth2 t nil)/" \
+ FLIM-ELS || die
+}
+
+src_compile() {
+ emake PACKAGE_LISPDIR="NONE"
+}
+
+src_test() {
+ emake PACKAGE_LISPDIR="NONE" check
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" \
+ LISPDIR="${ED}/${SITELISP}" \
+ PACKAGE_LISPDIR="NONE" \
+ VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" install
+ elisp-make-site-file "${SITEFILE}"
+ dodoc FLIM-API.en NEWS VERSION README* ChangeLog*
+}
diff --git a/app-emacs/flim/metadata.xml b/app-emacs/flim/metadata.xml
index 986088003fe1..735e0535fd3d 100644
--- a/app-emacs/flim/metadata.xml
+++ b/app-emacs/flim/metadata.xml
@@ -6,4 +6,12 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<use>
+ <flag name="oauth2">
+ Support OAuth2 authentication (<pkg>app-emacs/oauth2</pkg>)
+ </flag>
+</use>
+<upstream>
+ <remote-id type="github">wanderlust/flim</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/flycheck-clang-tidy/Manifest b/app-emacs/flycheck-clang-tidy/Manifest
new file mode 100644
index 000000000000..aa2e5289051c
--- /dev/null
+++ b/app-emacs/flycheck-clang-tidy/Manifest
@@ -0,0 +1 @@
+DIST flycheck-clang-tidy-0.3.0_p20201116.tar.gz 4485 BLAKE2B e7e760093c1f8e4e2b110ac85b1223959de66412e77a780788270e2a238b3e2abb0f4ba17861ee6a714f3cfd437f1b60d074d0beba7295651b553c7e9816b125 SHA512 f29bd187ceb72b58c4954e1aefe2ed1034a70bb9b4d8992e16d29bea5399374111cff29b96cb3d90ed4dbee15d1c3593b6365fabe7ad2e4669b01a2482558a64
diff --git a/app-emacs/flycheck-clang-tidy/flycheck-clang-tidy-0.3.0_p20201116.ebuild b/app-emacs/flycheck-clang-tidy/flycheck-clang-tidy-0.3.0_p20201116.ebuild
new file mode 100644
index 000000000000..42b072a67dc3
--- /dev/null
+++ b/app-emacs/flycheck-clang-tidy/flycheck-clang-tidy-0.3.0_p20201116.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Flycheck syntax checker using clang-tidy"
+HOMEPAGE="https://github.com/ch1bo/flycheck-clang-tidy"
+if [[ ${PV} == *_p* ]] ; then
+ MY_COMMIT="f9ae7306bd6ca08b689b36c1e8f6f6b91d61db5f"
+ SRC_URI="https://github.com/ch1bo/flycheck-clang-tidy/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${MY_COMMIT}
+else
+ SRC_URI="https://github.com/ch1bo/flycheck-clang-tidy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ >=app-emacs/flycheck-0.30
+"
+RDEPEND="
+ ${BDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/flycheck-clang-tidy/metadata.xml b/app-emacs/flycheck-clang-tidy/metadata.xml
new file mode 100644
index 000000000000..194bb0e16c93
--- /dev/null
+++ b/app-emacs/flycheck-clang-tidy/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ch1bo/flycheck-clang-tidy/issues/</bugs-to>
+ <remote-id type="github">ch1bo/flycheck-clang-tidy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/flycheck-guile/Manifest b/app-emacs/flycheck-guile/Manifest
new file mode 100644
index 000000000000..95e0670004e8
--- /dev/null
+++ b/app-emacs/flycheck-guile/Manifest
@@ -0,0 +1 @@
+DIST flycheck-guile-0.5.tar.gz 16064 BLAKE2B 2a15538b7029f2d47106aa971e79f137f633474dd77cb8ecde8e180888dc890f044554c01c858b7f681251771060724d0b377f7a078e9ce182e89a923193b93e SHA512 d23a7912fc6f305310d646220b1979ae5ac78969b84b270ca512161ff79615f4f29f8cc01a0759db6162f7af3ef5658f3ce6f8af90e7273b8a8aa940ca3159de
diff --git a/app-emacs/flycheck-guile/flycheck-guile-0.5.ebuild b/app-emacs/flycheck-guile/flycheck-guile-0.5.ebuild
new file mode 100644
index 000000000000..54b330793c45
--- /dev/null
+++ b/app-emacs/flycheck-guile/flycheck-guile-0.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Flycheck checker for the GNU Guile Scheme implementation"
+HOMEPAGE="https://github.com/flatwhatson/flycheck-guile/"
+SRC_URI="https://github.com/flatwhatson/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="
+ app-emacs/flycheck
+ app-emacs/geiser-guile
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-scheme/guile-2.0.0
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/flycheck-guile/metadata.xml b/app-emacs/flycheck-guile/metadata.xml
new file mode 100644
index 000000000000..be1a56f6d866
--- /dev/null
+++ b/app-emacs/flycheck-guile/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/flatwhatson/flycheck-guile/issues/</bugs-to>
+ <remote-id type="github">flatwhatson/flycheck-guile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/flycheck-inline/Manifest b/app-emacs/flycheck-inline/Manifest
new file mode 100644
index 000000000000..51b3b89af42a
--- /dev/null
+++ b/app-emacs/flycheck-inline/Manifest
@@ -0,0 +1 @@
+DIST flycheck-inline-0_pre20200808.tar.gz 112922 BLAKE2B 2fffd7801d5a882145703e5e24ce46bb9546a5dd797f348597abe8977c130762fc8e68af44f25d1b4bc5f57623ada87314f43949eae4d5795d7d34f76e3b7850 SHA512 7fefacc9913a484ddad3043d49130700bfb5f55d6fb04c3020170fc74c74ebca888a602ff6f0574bd3759552f677357d3eb479cd3600d57bf7e96e0491f93e40
diff --git a/app-emacs/flycheck-inline/files/50flycheck-inline-gentoo.el b/app-emacs/flycheck-inline/files/50flycheck-inline-gentoo.el
new file mode 100644
index 000000000000..df56a9af63a7
--- /dev/null
+++ b/app-emacs/flycheck-inline/files/50flycheck-inline-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'flycheck-inline-mode "flycheck-inline" nil t)
+(autoload 'global-flycheck-inline-mode "flycheck-inline" nil t)
diff --git a/app-emacs/flycheck-inline/flycheck-inline-0_pre20200808.ebuild b/app-emacs/flycheck-inline/flycheck-inline-0_pre20200808.ebuild
new file mode 100644
index 000000000000..e86569e23564
--- /dev/null
+++ b/app-emacs/flycheck-inline/flycheck-inline-0_pre20200808.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+MY_COMMIT="8e00b4c5951a9515a450a14aefe92e9f6ddcfbde"
+
+inherit elisp
+
+DESCRIPTION="Display Flycheck errors inline"
+HOMEPAGE="https://github.com/flycheck/flycheck-inline"
+SRC_URI="https://github.com/flycheck/flycheck-inline/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x64-macos"
+
+SITEFILE="50${PN}-gentoo.el"
+
+DEPEND="app-emacs/flycheck"
+RDEPEND="${DEPEND}"
diff --git a/app-emacs/flycheck-inline/metadata.xml b/app-emacs/flycheck-inline/metadata.xml
new file mode 100644
index 000000000000..d1d388c5d8ba
--- /dev/null
+++ b/app-emacs/flycheck-inline/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">flycheck/flycheck-inline</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/flycheck-nimsuggest/Manifest b/app-emacs/flycheck-nimsuggest/Manifest
new file mode 100644
index 000000000000..2f96f7f93411
--- /dev/null
+++ b/app-emacs/flycheck-nimsuggest/Manifest
@@ -0,0 +1 @@
+DIST flycheck-nimsuggest-0.8.1_p20171027.tar.gz 2651 BLAKE2B 22bb16b6498b5bbaaba9971875a31a58e47849f3a8a03f314c957a7e59e0b61c236eb7325de9cd2899d6d05deea953ac36d7cff1c7f78e5d7d3d0a6e9c2ce81a SHA512 fe84c88617195d8ec5010c5aa551e38edd78326919748b83e8e9a6257cf0d79da70f5f804e57cd343a749816c3c4be3ce1158fd6698bc8382cd92fce0b0e9def
diff --git a/app-emacs/flycheck-nimsuggest/files/50flycheck-nimsuggest-gentoo.el b/app-emacs/flycheck-nimsuggest/files/50flycheck-nimsuggest-gentoo.el
new file mode 100644
index 000000000000..c6dd1b34d406
--- /dev/null
+++ b/app-emacs/flycheck-nimsuggest/files/50flycheck-nimsuggest-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'flycheck-nimsuggest-setup "flycheck-nimsuggest"
+ "Setup flycheck configuration for nimsuggest.")
+(add-hook 'nimsuggest-mode-hook 'flycheck-nimsuggest-setup)
diff --git a/app-emacs/flycheck-nimsuggest/flycheck-nimsuggest-0.8.1_p20171027-r1.ebuild b/app-emacs/flycheck-nimsuggest/flycheck-nimsuggest-0.8.1_p20171027-r1.ebuild
new file mode 100644
index 000000000000..3868ef89ff57
--- /dev/null
+++ b/app-emacs/flycheck-nimsuggest/flycheck-nimsuggest-0.8.1_p20171027-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=dc9a5de1cb3ee05db5794d824610959a1f603bc9
+
+inherit elisp
+
+DESCRIPTION="Emacs Flycheck backend for Nim language using nimsuggest"
+HOMEPAGE="https://github.com/yuutayamada/flycheck-nimsuggest/"
+SRC_URI="https://github.com/yuutayamada/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+
+BDEPEND="app-emacs/flycheck"
+RDEPEND="
+ ${BDEPEND}
+ dev-lang/nim
+"
+PDEPEND="app-emacs/nim-mode"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/flycheck-nimsuggest/metadata.xml b/app-emacs/flycheck-nimsuggest/metadata.xml
new file mode 100644
index 000000000000..84dbc42ae1d5
--- /dev/null
+++ b/app-emacs/flycheck-nimsuggest/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/yuutayamada/flycheck-nimsuggest/issues/</bugs-to>
+ <remote-id type="github">yuutayamada/flycheck-nimsuggest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/flycheck-package/Manifest b/app-emacs/flycheck-package/Manifest
new file mode 100644
index 000000000000..4c6e2c0a7a17
--- /dev/null
+++ b/app-emacs/flycheck-package/Manifest
@@ -0,0 +1 @@
+DIST flycheck-package-0.14.tar.gz 3214 BLAKE2B 8e4eafdd34d4e0e5e00f15ae0684725d4ddff867bc13913012068da95bd3233b8c05e60b7d746b4941c6e4bce02299acfbecf1cae1d4754fd12e61a4fbbc761d SHA512 c1a94ae2c3c460843225f121f4e9c837c8fc86e958987e9a31b95aafc9999c9a7475491f08ed16a5cc95085be5dedee045b08b9ee114688a722b612cef096bfa
diff --git a/app-emacs/flycheck-package/files/50flycheck-package-gentoo.el b/app-emacs/flycheck-package/files/50flycheck-package-gentoo.el
new file mode 100644
index 000000000000..834c2c4d32fe
--- /dev/null
+++ b/app-emacs/flycheck-package/files/50flycheck-package-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'flycheck-package-setup "flycheck-package"
+ "Setup flycheck-package." t nil)
+(eval-after-load 'flycheck '(flycheck-package-setup))
diff --git a/app-emacs/flycheck-package/flycheck-package-0.14.ebuild b/app-emacs/flycheck-package/flycheck-package-0.14.ebuild
new file mode 100644
index 000000000000..fa101840c718
--- /dev/null
+++ b/app-emacs/flycheck-package/flycheck-package-0.14.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Flycheck checker for Emacs Lisp package metadata"
+HOMEPAGE="https://github.com/purcell/flycheck-package/"
+SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/flycheck
+ app-emacs/package-lint
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/flycheck-package/metadata.xml b/app-emacs/flycheck-package/metadata.xml
new file mode 100644
index 000000000000..8fb4e80caddb
--- /dev/null
+++ b/app-emacs/flycheck-package/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/purcell/flycheck-package/issues/</bugs-to>
+ <remote-id type="github">purcell/flycheck-package</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/flycheck/Manifest b/app-emacs/flycheck/Manifest
index 5195b9be5be0..fb792d4db8f2 100644
--- a/app-emacs/flycheck/Manifest
+++ b/app-emacs/flycheck/Manifest
@@ -1 +1,3 @@
-DIST flycheck-32_p20210825.tar.gz 1042020 BLAKE2B 1663340de24980b3a1e58929e327841b743495dbd5d5c8306f007d0dfa989707015ceadaf6e5cac673eddb45adf9ec05dc35d8cb35af322c9cde6644194dd75d SHA512 472e25956d804e7f7ba8ebda2e3a7527eaaf3aee47fa5bd43a46ae651f94d857657cf4594f5a1ed0c169ec0ac610139956d182818ffeedf2c4132a5583ca870d
+DIST flycheck-32_p20230305.tar.gz 1044121 BLAKE2B 6a31ea589f0aca4ed6785fe3e45e5df4af9b084af2d4de9b707c2909db53fd2d3694559b35da69ba05240638a8105fddc5017e1ef037d9ad8a07c77b0efe905a SHA512 1b2d41df199328a297f0623585f4692529a656671b17fd5fbe4b6f9abd7320b2d81f7da6e3e0f17f4bc65474661310f99856a003670276ba6fb2a81780fc8377
+DIST flycheck-33.1.tar.gz 1043623 BLAKE2B b1659fbc8ebd1f6f4de3d02329a5afde40129584406ff371a536f6549dd0f530c655477bd2c14503c603c30f135e62296cef32e2fc454d429d223cd6d9d530c9 SHA512 66d1c384071d4ad21ffb6dcb7c040797a8bf802debe045acb3ae06980d0c5860cc88e8ebd80beeabca2ab80b3df8ab03c5924ff7e66ccaf2d54b5911bfade7b5
+DIST flycheck-34.1.tar.gz 1045094 BLAKE2B 259ebb5846abf9789c2a73a765051dc0d19e93fc5ceea26b8612c017b092f4c9f4c686db6187fd098adffa50e032b9426abc4944bc46830dbc924470742f5945 SHA512 5a28b8bb6a11db3da3535effb6c1087ee9d60e56ca132c77027834724dba723a610cb036b99baddaa9bd6e14d0986503f272bee4b64c5278f1cf0726cfac31f4
diff --git a/app-emacs/flycheck/files/50flycheck-gentoo-r1.el b/app-emacs/flycheck/files/50flycheck-gentoo-r1.el
new file mode 100644
index 000000000000..84a054e0738e
--- /dev/null
+++ b/app-emacs/flycheck/files/50flycheck-gentoo-r1.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/flycheck-autoloads" nil t)
diff --git a/app-emacs/flycheck/files/50flycheck-gentoo.el b/app-emacs/flycheck/files/50flycheck-gentoo.el
deleted file mode 100644
index 5f6c703df909..000000000000
--- a/app-emacs/flycheck/files/50flycheck-gentoo.el
+++ /dev/null
@@ -1,4 +0,0 @@
-;;; Flycheck site-lisp configuration
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'flycheck-mode "flycheck" nil t)
-(autoload 'global-flycheck-mode "flycheck" nil t)
diff --git a/app-emacs/flycheck/flycheck-32_p20210825.ebuild b/app-emacs/flycheck/flycheck-32_p20210825.ebuild
deleted file mode 100644
index 2f6ead369883..000000000000
--- a/app-emacs/flycheck/flycheck-32_p20210825.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-NEED_EMACS="24.3"
-
-inherit elisp
-
-DESCRIPTION="Modern on-the-fly syntax checking extension for GNU Emacs"
-HOMEPAGE="https://www.flycheck.org/"
-COMMIT="784f184cdd9f9cb4e3dbb997c09d93e954142842"
-SRC_URI="https://github.com/flycheck/flycheck/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # test requires cask and ert-runner which are not packaged yet
-
-RDEPEND=">=app-emacs/dash-2.12.1
->=app-emacs/pkg-info-0.4"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS=( README.md )
-ELISP_REMOVE="flycheck-buttercup.el flycheck-ert.el"
diff --git a/app-emacs/flycheck/flycheck-32_p20230305-r1.ebuild b/app-emacs/flycheck/flycheck-32_p20230305-r1.ebuild
new file mode 100644
index 000000000000..52aec98defd6
--- /dev/null
+++ b/app-emacs/flycheck/flycheck-32_p20230305-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo elisp
+
+DESCRIPTION="Modern on-the-fly syntax checking extension for GNU Emacs"
+HOMEPAGE="https://www.flycheck.org/
+ https://github.com/flycheck/flycheck/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ if [[ ${PV} == *_p20230305 ]] ; then
+ COMMIT=5f2ef177cb21ae8b73714575802beef04abd0f5e
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ fi
+ KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+# Tests fail for now, need more investigation
+RESTRICT="!test? ( test ) test"
+
+RDEPEND="
+ >=app-emacs/dash-2.12.1
+ >=app-emacs/pkg-info-0.4
+"
+BDEPEND="
+ test? (
+ app-emacs/buttercup
+ app-emacs/shut-up
+ )
+"
+
+SITEFILE="50${PN}-gentoo-r1.el"
+DOCS=( README.md )
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ # Flycheck will skip test cases which require a "checker" or emacs package that is not installed.
+ edo ${EMACS} \
+ ${EMACSFLAGS} \
+ -L . \
+ --load "${S}"/test/flycheck-test.el \
+ --load "${S}"/test/run.el \
+ -f 'flycheck-run-tests-main'
+}
+
+src_install() {
+ # Remove unneeded test related files.
+ rm flycheck-buttercup.el* flycheck-ert.el* || die
+ elisp_src_install
+}
diff --git a/app-emacs/flycheck/flycheck-33.1.ebuild b/app-emacs/flycheck/flycheck-33.1.ebuild
new file mode 100644
index 000000000000..dc25cd3e3dad
--- /dev/null
+++ b/app-emacs/flycheck/flycheck-33.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Modern on-the-fly syntax checking extension for GNU Emacs"
+HOMEPAGE="https://www.flycheck.org/
+ https://github.com/flycheck/flycheck/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-emacs/dash-2.12.1
+ >=app-emacs/pkg-info-0.4
+"
+BDEPEND="
+ test? (
+ app-emacs/buttercup
+ app-emacs/shut-up
+ )
+"
+
+ELISP_REMOVE="
+ test/specs/test-documentation.el
+ test/specs/test-melpa-package.el
+"
+
+SITEFILE="50${PN}-gentoo-r1.el"
+DOCS=( CHANGES.rst README.md )
+
+elisp-enable-tests buttercup "${S}"
+
+src_compile() {
+ elisp-compile "${PN}.el"
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp-install "${PN}" ${PN}.el{,c} "${PN}-autoloads.el"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ einstalldocs
+}
diff --git a/app-emacs/flycheck/flycheck-34.1.ebuild b/app-emacs/flycheck/flycheck-34.1.ebuild
new file mode 100644
index 000000000000..1d30e9a23b83
--- /dev/null
+++ b/app-emacs/flycheck/flycheck-34.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Modern on-the-fly syntax checking extension for GNU Emacs"
+HOMEPAGE="https://www.flycheck.org/
+ https://github.com/flycheck/flycheck/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/buttercup
+ app-emacs/shut-up
+ )
+"
+
+ELISP_REMOVE="
+ test/specs/test-documentation.el
+ test/specs/test-melpa-package.el
+"
+
+SITEFILE="50${PN}-gentoo-r1.el"
+DOCS=( CHANGES.rst README.md )
+
+elisp-enable-tests buttercup "${S}"
+
+src_compile() {
+ elisp-compile "${PN}.el"
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp-install "${PN}" ${PN}.el{,c} "${PN}-autoloads.el"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ einstalldocs
+}
diff --git a/app-emacs/flycheck/metadata.xml b/app-emacs/flycheck/metadata.xml
index e96ebcfc18fc..a29ea6e22d25 100644
--- a/app-emacs/flycheck/metadata.xml
+++ b/app-emacs/flycheck/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
<upstream>
<remote-id type="github">flycheck/flycheck</remote-id>
<doc>https://github.com/flycheck/flycheck/blob/master/README.md</doc>
diff --git a/app-emacs/fsharp-mode/Manifest b/app-emacs/fsharp-mode/Manifest
new file mode 100644
index 000000000000..fea3884126a2
--- /dev/null
+++ b/app-emacs/fsharp-mode/Manifest
@@ -0,0 +1 @@
+DIST fsharp-mode-2.0_p20230622.tar.gz 82036 BLAKE2B 0a23200925a475ca4a046bd4ece13fd994bead0d021a5e0dff6d0494637b52f6113d8d1cb22d4e9505ae13a0033c48f205dea8690b9793ea5f9d6b0dc62419c2 SHA512 2385039129d09b3e037168e488f7e7867d862ba52ccfcf4f4713d648e516ca14a25aa7a879cd3adcc09d91c571a374c4573d3b3f50bba0cf800e48e953266e07
diff --git a/app-emacs/fsharp-mode/files/50fsharp-mode-gentoo.el b/app-emacs/fsharp-mode/files/50fsharp-mode-gentoo.el
new file mode 100644
index 000000000000..305be955668d
--- /dev/null
+++ b/app-emacs/fsharp-mode/files/50fsharp-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'fsharp-mode "fsharp-mode"
+ "Major mode for editing fsharp code." t)
+(add-to-list 'auto-mode-alist '("\\.fs[iylx]?\\'" . fsharp-mode))
diff --git a/app-emacs/fsharp-mode/fsharp-mode-2.0_p20230622.ebuild b/app-emacs/fsharp-mode/fsharp-mode-2.0_p20230622.ebuild
new file mode 100644
index 000000000000..f01f85ed5720
--- /dev/null
+++ b/app-emacs/fsharp-mode/fsharp-mode-2.0_p20230622.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=b4d31c3da018cfbb3d1f9e6fd416d8777f0835bd
+NEED_EMACS=29.1 # To compile full suite including Eglot, introduced in 29.1.
+
+inherit elisp
+
+DESCRIPTION="Support for the F# programming language"
+HOMEPAGE="https://github.com/fsharp/emacs-fsharp-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/fsharp/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/fsharp/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DOCS=( CHANGELOG.md README.org )
+ELISP_REMOVE="test/fsi-tests.el test/integration-tests.el"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
diff --git a/app-emacs/fsharp-mode/fsharp-mode-9999.ebuild b/app-emacs/fsharp-mode/fsharp-mode-9999.ebuild
new file mode 100644
index 000000000000..77bff9ac449b
--- /dev/null
+++ b/app-emacs/fsharp-mode/fsharp-mode-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=29.1 # To compile full suite including Eglot, introduced in 29.1.
+
+inherit elisp
+
+DESCRIPTION="Support for the F# programming language"
+HOMEPAGE="https://github.com/fsharp/emacs-fsharp-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/fsharp/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/fsharp/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-${P}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DOCS=( CHANGELOG.md README.org )
+ELISP_REMOVE="test/fsi-tests.el test/integration-tests.el"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
diff --git a/app-emacs/fsharp-mode/metadata.xml b/app-emacs/fsharp-mode/metadata.xml
new file mode 100644
index 000000000000..f3fd042ec1a6
--- /dev/null
+++ b/app-emacs/fsharp-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/fsharp/emacs-fsharp-mode/blob/master/CHANGELOG.md</changelog>
+ <bugs-to>https://github.com/fsharp/emacs-fsharp-mode/issues/</bugs-to>
+ <remote-id type="github">fsharp/emacs-fsharp-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser-chez/Manifest b/app-emacs/geiser-chez/Manifest
new file mode 100644
index 000000000000..dfeb9ff0524a
--- /dev/null
+++ b/app-emacs/geiser-chez/Manifest
@@ -0,0 +1 @@
+DIST geiser-chez-0.18.tar.bz2 27377 BLAKE2B 06fe52715ace8a8c3c6d9d4a8f0e3991249c675c24bdcd1163906559f0e89d70378aa52ab9ecceadb550d4b7c4f0667caefe59b71fed67323ffffe40a9f8b999 SHA512 c7655ee83ecb86dd812a8cc028a8585e4d3f325a1f80457f7b388c8e81e56a12f8edad146997955b8cea05120db2e95b591fca857c059ba001af9eca3b1feb52
diff --git a/app-emacs/geiser-chez/files/50geiser-chez-gentoo.el b/app-emacs/geiser-chez/files/50geiser-chez-gentoo.el
new file mode 100644
index 000000000000..e839ddce889c
--- /dev/null
+++ b/app-emacs/geiser-chez/files/50geiser-chez-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'run-chez "geiser-chez"
+ "Start a Geiser Chez REPL." t)
+(autoload 'switch-to-chez "geiser-chez"
+ "Start a Geiser Chez REPL, or switch to a running one." t)
diff --git a/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-binary.patch b/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-binary.patch
new file mode 100644
index 000000000000..321dffa716f6
--- /dev/null
+++ b/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-binary.patch
@@ -0,0 +1,12 @@
+index 7f29927..45c194e 100644
+--- a/geiser-chez.el
++++ b/geiser-chez.el
+@@ -40,7 +40,7 @@
+ :group 'geiser)
+
+ (geiser-custom--defcustom geiser-chez-binary
+- "scheme"
++ "chezscheme"
+ "Name to use to call the Chez Scheme executable when starting a REPL."
+ :type '(choice string (repeat string))
+ :group 'geiser-chez)
diff --git a/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-src-dir.patch b/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-src-dir.patch
new file mode 100644
index 000000000000..547c8663012b
--- /dev/null
+++ b/app-emacs/geiser-chez/files/geiser-chez-chez-scheme-src-dir.patch
@@ -0,0 +1,12 @@
+index 7f29927..cc1f4ca 100644
+--- a/geiser-chez.el
++++ b/geiser-chez.el
+@@ -78,7 +78,7 @@ init file at this location in remote host."
+ geiser-chez-binary))
+
+ (defvar geiser-chez-scheme-dir
+- (expand-file-name "src" (file-name-directory load-file-name))
++ (expand-file-name "src" "@SITEETC@")
+ "Directory where the Chez scheme geiser modules are installed.")
+
+ (defun geiser-chez--parameters ()
diff --git a/app-emacs/geiser-chez/geiser-chez-0.18.ebuild b/app-emacs/geiser-chez/geiser-chez-0.18.ebuild
new file mode 100644
index 000000000000..1bffbccafb02
--- /dev/null
+++ b/app-emacs/geiser-chez/geiser-chez-0.18.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Chez Scheme's implementation of the Geiser protocols"
+HOMEPAGE="https://gitlab.com/emacs-geiser/chez/"
+SRC_URI="https://gitlab.com/emacs-geiser/chez/-/archive/${PV}/chez-${PV}.tar.bz2
+ -> ${P}.tar.bz2"
+S="${WORKDIR}"/chez-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="app-emacs/geiser"
+RDEPEND="
+ ${BDEPEND}
+ dev-scheme/chez
+"
+
+DOCS=( readme.org )
+PATCHES=(
+ "${FILESDIR}"/${PN}-chez-scheme-binary.patch
+ "${FILESDIR}"/${PN}-chez-scheme-src-dir.patch
+)
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r src
+}
diff --git a/app-emacs/geiser-chez/metadata.xml b/app-emacs/geiser-chez/metadata.xml
new file mode 100644
index 000000000000..a2f55c9af35d
--- /dev/null
+++ b/app-emacs/geiser-chez/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/chez/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/chez</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser-chicken/Manifest b/app-emacs/geiser-chicken/Manifest
new file mode 100644
index 000000000000..93bdca3cb105
--- /dev/null
+++ b/app-emacs/geiser-chicken/Manifest
@@ -0,0 +1 @@
+DIST geiser-chicken-0.17.tar.gz 13083 BLAKE2B 02c27de099c1cc835827781159c42664a13a8adf858bb81488f88fa1dadc0b440c791ebdde112ab33aad19dd53f9f7138ff720aee7e14541a903a2a18599f1e0 SHA512 6c292a2c3ca5d036a7af95b029f2fd913675131dd04c3481dc4fe43c534b8c0183ef63bfa386b3393cc34284451b8aa095d3ebdcc8d1bb27fb3649b64d4f5279
diff --git a/app-emacs/geiser-chicken/files/50geiser-chicken-gentoo.el b/app-emacs/geiser-chicken/files/50geiser-chicken-gentoo.el
new file mode 100644
index 000000000000..e8c115fa7126
--- /dev/null
+++ b/app-emacs/geiser-chicken/files/50geiser-chicken-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'connect-to-chicken "geiser-chicken"
+ "Connect to a remote Geiser Chicken REPL." t)
+(autoload 'run-chicken "geiser-chicken"
+ "Start a Geiser Chicken REPL." t)
+(autoload 'switch-to-chicken "geiser-chicken"
+ "Start a Geiser Chicken REPL, or switch to a running one." t)
diff --git a/app-emacs/geiser-chicken/files/geiser-chicken-scheme-dir.patch b/app-emacs/geiser-chicken/files/geiser-chicken-scheme-dir.patch
new file mode 100644
index 000000000000..5779f23a733f
--- /dev/null
+++ b/app-emacs/geiser-chicken/files/geiser-chicken-scheme-dir.patch
@@ -0,0 +1,11 @@
+--- a/geiser-chicken.el
++++ b/geiser-chicken.el
+@@ -123,7 +123,7 @@ this variable to t."
+ ;;; REPL support:
+
+ (defvar geiser-chicken-scheme-dir
+- (expand-file-name "src" (file-name-directory load-file-name))
++ (expand-file-name "src" "@SITEETC@")
+ "Directory where the Chicken scheme geiser modules are installed.")
+
+ (defun geiser-chicken--binary ()
diff --git a/app-emacs/geiser-chicken/geiser-chicken-0.17.ebuild b/app-emacs/geiser-chicken/geiser-chicken-0.17.ebuild
new file mode 100644
index 000000000000..a4c4ac0c2da6
--- /dev/null
+++ b/app-emacs/geiser-chicken/geiser-chicken-0.17.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Chicken Scheme's implementation of the Geiser protocols"
+HOMEPAGE="https://gitlab.com/emacs-geiser/chicken/"
+SRC_URI="https://gitlab.com/emacs-geiser/chicken/-/archive/${PV}/chicken-${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/chicken-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="app-emacs/geiser"
+RDEPEND="
+ ${BDEPEND}
+ dev-scheme/chicken
+"
+
+DOCS=( readme.org )
+PATCHES=( "${FILESDIR}"/${PN}-scheme-dir.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r src
+}
diff --git a/app-emacs/geiser-chicken/metadata.xml b/app-emacs/geiser-chicken/metadata.xml
new file mode 100644
index 000000000000..4a6b5ade29ce
--- /dev/null
+++ b/app-emacs/geiser-chicken/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/chicken/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/chicken</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser-gambit/Manifest b/app-emacs/geiser-gambit/Manifest
new file mode 100644
index 000000000000..51398c606fa6
--- /dev/null
+++ b/app-emacs/geiser-gambit/Manifest
@@ -0,0 +1 @@
+DIST geiser-gambit-0.18.1.tar.gz 19163 BLAKE2B c5624d69380688b751a4a4c9de21e886b1577e87218b7e8d761c5aa1dd4f37dbe296e453b5254777d305ac51c2c318d5282609d0d812b3cd233c1f64e3a8f6b4 SHA512 b5808eac6cc23873f848b96720cf86a4bd5ad2737c44b33def134b2ec61b0d05aaffe0e4cdcd17b296ca04757b37d3a3478741adc8db195ac9c9a90b2e15184a
diff --git a/app-emacs/geiser-gambit/files/50geiser-gambit-gentoo.el b/app-emacs/geiser-gambit/files/50geiser-gambit-gentoo.el
new file mode 100644
index 000000000000..a98c6d74a878
--- /dev/null
+++ b/app-emacs/geiser-gambit/files/50geiser-gambit-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'connect-to-gambit "geiser-gambit"
+ "Connect to a remote Geiser Gambit REPL." t)
+(autoload 'run-gambit "geiser-gambit"
+ "Start a Geiser Gambit REPL." t)
+(autoload 'switch-to-gambit "geiser-gambit"
+ "Start a Geiser Gambit REPL, or switch to a running one." t)
diff --git a/app-emacs/geiser-gambit/files/geiser-gambit-scheme-dir.patch b/app-emacs/geiser-gambit/files/geiser-gambit-scheme-dir.patch
new file mode 100644
index 000000000000..b761773ddb0b
--- /dev/null
+++ b/app-emacs/geiser-gambit/files/geiser-gambit-scheme-dir.patch
@@ -0,0 +1,11 @@
+--- a/geiser-gambit.el
++++ b/geiser-gambit.el
+@@ -304,7 +304,7 @@ If t, Geiser will use `next-error' to jump to the error's location."
+ binary)))
+
+ (defvar geiser-gambit-scheme-dir
+- (expand-file-name "src/" (file-name-directory load-file-name))
++ (expand-file-name "src/" "@SITEETC@")
+ "Directory where the Gambit scheme geiser modules are installed.")
+
+ (defun geiser-gambit--parameters ()
diff --git a/app-emacs/geiser-gambit/geiser-gambit-0.18.1.ebuild b/app-emacs/geiser-gambit/geiser-gambit-0.18.1.ebuild
new file mode 100644
index 000000000000..ad949cc97768
--- /dev/null
+++ b/app-emacs/geiser-gambit/geiser-gambit-0.18.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Gambit Scheme's implementation of the Geiser protocols"
+HOMEPAGE="https://gitlab.com/emacs-geiser/gambit/"
+SRC_URI="https://gitlab.com/emacs-geiser/gambit/-/archive/${PV}/gambit-${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/gambit-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="app-emacs/geiser"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-scheme/gambit-4.9.4
+"
+
+DOCS=( readme.org )
+PATCHES=( "${FILESDIR}"/${PN}-scheme-dir.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r src
+}
diff --git a/app-emacs/geiser-gambit/metadata.xml b/app-emacs/geiser-gambit/metadata.xml
new file mode 100644
index 000000000000..0f92a25782d9
--- /dev/null
+++ b/app-emacs/geiser-gambit/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/gambit/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/gambit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser-guile/Manifest b/app-emacs/geiser-guile/Manifest
new file mode 100644
index 000000000000..15bcbf525c5d
--- /dev/null
+++ b/app-emacs/geiser-guile/Manifest
@@ -0,0 +1 @@
+DIST geiser-guile-0.28.1.tar.bz2 15806 BLAKE2B 3484fda74ea84eadaf2c20dca48c7f66a4fa4966ec90246f29e9ff1ca9eb5c0f87fd7f724c84c4685d05b9edec527893e1ab9dc1f8d4f6eade2ddb6bad4ad192 SHA512 1147cdeac9aba565921efd094725309764ac17be34533ba62f18a866e8b6511a0896e3ea0dd17f4d408f5c99ce05a0779d370c0dd35e0353efd9765c7eb44831
diff --git a/app-emacs/geiser-guile/files/50geiser-guile-gentoo.el b/app-emacs/geiser-guile/files/50geiser-guile-gentoo.el
new file mode 100644
index 000000000000..c9ac820301e1
--- /dev/null
+++ b/app-emacs/geiser-guile/files/50geiser-guile-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'connect-to-guile "geiser-guile"
+ "Start a Guile REPL connected to a remote process." t)
+(autoload 'run-guile "geiser-guile"
+ "Start a Geiser Guile REPL." t)
+(autoload 'switch-to-guile "geiser-guile"
+ "Start a Geiser Guile REPL, or switch to a running one." t)
diff --git a/app-emacs/geiser-guile/files/geiser-guile-guile-scheme-src-dir.patch b/app-emacs/geiser-guile/files/geiser-guile-guile-scheme-src-dir.patch
new file mode 100644
index 000000000000..e86ffaa5edb7
--- /dev/null
+++ b/app-emacs/geiser-guile/files/geiser-guile-guile-scheme-src-dir.patch
@@ -0,0 +1,12 @@
+index db42945..2a6537c 100644
+--- a/geiser-guile.el
++++ b/geiser-guile.el
+@@ -141,7 +141,7 @@ effect on new REPLs. For existing ones, use the command
+ geiser-guile-binary))
+
+ (defvar geiser-guile-scheme-dir
+- (expand-file-name "src" (file-name-directory load-file-name))
++ (expand-file-name "src" "@SITEETC@")
+ "Directory where the Guile scheme geiser modules are installed.")
+
+ (defvar-local geiser-guile-scheme-local-dir
diff --git a/app-emacs/geiser-guile/geiser-guile-0.28.1.ebuild b/app-emacs/geiser-guile/geiser-guile-0.28.1.ebuild
new file mode 100644
index 000000000000..01ecaff290dc
--- /dev/null
+++ b/app-emacs/geiser-guile/geiser-guile-0.28.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Guile's implementation of the Geiser protocols"
+HOMEPAGE="https://gitlab.com/emacs-geiser/guile/"
+SRC_URI="https://gitlab.com/emacs-geiser/guile/-/archive/${PV}/guile-${PV}.tar.bz2
+ -> ${P}.tar.bz2"
+S="${WORKDIR}"/guile-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="app-emacs/geiser"
+RDEPEND="
+ ${BDEPEND}
+ dev-scheme/guile
+"
+
+DOCS=( readme.org )
+PATCHES=( "${FILESDIR}"/${PN}-guile-scheme-src-dir.patch )
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r src
+}
diff --git a/app-emacs/geiser-guile/metadata.xml b/app-emacs/geiser-guile/metadata.xml
new file mode 100644
index 000000000000..7698a7c42f05
--- /dev/null
+++ b/app-emacs/geiser-guile/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/guile/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/guile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser-mit/Manifest b/app-emacs/geiser-mit/Manifest
new file mode 100644
index 000000000000..ba55cbe2ce89
--- /dev/null
+++ b/app-emacs/geiser-mit/Manifest
@@ -0,0 +1 @@
+DIST geiser-mit-0.15.tar.gz 6216 BLAKE2B d14f412730e86ef580bb13426e3af558403acc00cd1c742507f66f80369a644581c98310803430439ff09b1c13eefe550f6dbc3289897ae86e6471b7197d73cc SHA512 e2d7a81a66293e5232f510eb4cf1707c3ab64ac77a36c29b55d17275a2d0141302e28d29e4280e388f3107db3a961e757e9127219e36b76b1680fa54fee48593
diff --git a/app-emacs/geiser-mit/files/50geiser-mit-gentoo.el b/app-emacs/geiser-mit/files/50geiser-mit-gentoo.el
new file mode 100644
index 000000000000..ede47a83779c
--- /dev/null
+++ b/app-emacs/geiser-mit/files/50geiser-mit-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'run-mit "geiser-mit"
+ "Start a Geiser MIT/GNU Scheme REPL." t)
+(autoload 'switch-to-mit "geiser-mit"
+ "Start a Geiser MIT/GNU Scheme REPL, or switch to a running one." t)
diff --git a/app-emacs/geiser-mit/files/geiser-mit-src-dir.patch b/app-emacs/geiser-mit/files/geiser-mit-src-dir.patch
new file mode 100644
index 000000000000..9d0c26f43def
--- /dev/null
+++ b/app-emacs/geiser-mit/files/geiser-mit-src-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/geiser-mit.el b/geiser-mit.el
+index 53edf0e..2dfe9fa 100644
+--- a/geiser-mit.el
++++ b/geiser-mit.el
+@@ -61,7 +61,7 @@
+ geiser-mit-binary))
+
+ (defvar geiser-mit-scheme-dir
+- (expand-file-name "src" (file-name-directory load-file-name))
++ (expand-file-name "src" "@SITEETC@")
+ "Directory where the MIT scheme geiser package is installed.")
+
+ (defun geiser-mit--parameters ()
diff --git a/app-emacs/geiser-mit/geiser-mit-0.15.ebuild b/app-emacs/geiser-mit/geiser-mit-0.15.ebuild
new file mode 100644
index 000000000000..8db474d81859
--- /dev/null
+++ b/app-emacs/geiser-mit/geiser-mit-0.15.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="MIT/GNU Scheme's implementation of the Geiser protocols"
+HOMEPAGE="https://gitlab.com/emacs-geiser/mit/"
+SRC_URI="https://gitlab.com/emacs-geiser/mit/-/archive/${PV}/mit-${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/mit-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-emacs/geiser
+ dev-scheme/mit-scheme
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( readme.org )
+PATCHES=( "${FILESDIR}"/${PN}-src-dir.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ local scms=$(find "${S}" -type f -name "*.scm")
+ local opts=(
+ --interactive
+ --eval "(for-each (lambda (s) (load (symbol->string s))) '(${scms}))"
+ --eval "(for-each (lambda (s) (cf (symbol->string s))) '(${scms}))"
+ --eval "(exit)"
+ )
+ mit-scheme "${opts[@]}" || die "failed to compile scheme source files"
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r src
+}
diff --git a/app-emacs/geiser-mit/metadata.xml b/app-emacs/geiser-mit/metadata.xml
new file mode 100644
index 000000000000..ff6c7d9aad3c
--- /dev/null
+++ b/app-emacs/geiser-mit/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/mit/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/mit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/geiser/Manifest b/app-emacs/geiser/Manifest
new file mode 100644
index 000000000000..cbf582a47915
--- /dev/null
+++ b/app-emacs/geiser/Manifest
@@ -0,0 +1 @@
+DIST geiser-0.30.tar.bz2 656851 BLAKE2B c0a6ce7d2643e83cc049fa812c601217f52f8814efeebc60405ba591739c887ea0aa874e4ea0a6a72bb5f2282281d9883f2a77735d787a442e560ee2083bab54 SHA512 c66e168bfd8ccdd9c8c0bd3b29ded78ba1b25eeef062e164926c6ce15ec60410e944b2c58a9cb85a248f953b7fc66322626df108f1d9fe521a7331381bcd86a2
diff --git a/app-emacs/geiser/files/50geiser-gentoo.el b/app-emacs/geiser/files/50geiser-gentoo.el
new file mode 100644
index 000000000000..b23f0decf094
--- /dev/null
+++ b/app-emacs/geiser/files/50geiser-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'geiser "geiser-repl"
+ "Start a Geiser REPL, or switch to a running one." t)
+(autoload 'geiser-mode "geiser-mode"
+ "Minor mode adding Geiser REPL interaction to Scheme buffers." t)
+(autoload 'run-geiser "geiser-repl"
+ "Start a Geiser REPL." t)
diff --git a/app-emacs/geiser/geiser-0.30.ebuild b/app-emacs/geiser/geiser-0.30.ebuild
new file mode 100644
index 000000000000..855f4f661e67
--- /dev/null
+++ b/app-emacs/geiser/geiser-0.30.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Generic interaction mode between Emacs and different Scheme implementations"
+HOMEPAGE="https://gitlab.com/emacs-geiser/geiser/"
+SRC_URI="https://gitlab.com/emacs-geiser/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/transient"
+BDEPEND="
+ ${RDEPEND}
+ app-text/texi2html
+ sys-apps/texinfo
+"
+
+DOCS=( readme.org news.org doc/html )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ BYTECOMPFLAGS="-L elisp" elisp-compile elisp/*.el
+
+ emake -C doc info web
+}
+
+src_install() {
+ elisp-install ${PN} elisp/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ doinfo doc/*.info
+ einstalldocs
+}
diff --git a/app-emacs/geiser/metadata.xml b/app-emacs/geiser/metadata.xml
new file mode 100644
index 000000000000..c94387f2f223
--- /dev/null
+++ b/app-emacs/geiser/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/emacs-geiser/geiser/-/issues/</bugs-to>
+ <remote-id type="gitlab">emacs-geiser/geiser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ghub/Manifest b/app-emacs/ghub/Manifest
index 7dd561c46976..9c4177794811 100644
--- a/app-emacs/ghub/Manifest
+++ b/app-emacs/ghub/Manifest
@@ -1,5 +1 @@
-DIST ghub-3.2.0.tar.gz 65346 BLAKE2B c3aa5195a574de870fcd757bf4efb4aaca6fd83fc06ede375e76915972686fe50fc8a7fa2ebf6f0e2b8f98b60857d36a7f99997c255dee30db49505ca3e90a30 SHA512 dc5a2807d17c2bf65e55f33ad2d00b459acb0e0033caacd5ac8ab9b15deae607c2c25d83c61626a62f50a09d45dbeb91c66299d725b8c3663a1767fd30c7c1c6
-DIST ghub-3.3.0.tar.gz 67861 BLAKE2B 60006417d24110bdf99eae860b0a639e5757afe0da94b8bb5186d54ee14b360c473acebf667a7a262a1edd581da99f4896814b6ec2c49f8c9dc23b5c5e89d63c SHA512 7071f50d66ffd580d0cbbcdd7a3776fae70f090bb4d970a3b7767b9add3893c8cf286996f70baf4c214a7957fab5504596120305be23dd300c0c4c0fd2f660d6
-DIST ghub-3.4.1.tar.gz 56401 BLAKE2B 889fde5b091f20242679986eec31ba918c657a5317486c01eee6c9a8997173a4cd1a1474b4f287ae459786338073dce2cf9fe01ce1def17f3fd923cad9c81823 SHA512 76d3628a29afb2d21ee6bc438213712acf20db4a5181ecdc6362816d5af70b3876c1319efe348287a838916afb5d4ed029eaaed3245a4da539354dd6551d8290
-DIST ghub-3.5.3.tar.gz 57896 BLAKE2B 24274c51605356353d87ffe7a4c9e843fd76a9156be6a48b11a3871f3a1f8a0ecc3a256bcad951e21d2cf4c9005c1bdf9a43f8b85df9c2ad67f632eebe0a3df7 SHA512 0e87e778a01ecc992156d751c5882c403b9f6978b647d9f1ea5613a6b837edbd0fd7841e9d90d8a7148f76dda8e54c40e92570af6a591263329a139d5530fd29
-DIST ghub-3.5.4.tar.gz 58088 BLAKE2B 5ee6fe56455e8f12e7be8c1ae705a426677fab0b9a5da8f42c4b331bdd635120a2f5475055c9e98c8df01b259f76aa2dd4cad6e8b4562481d261bb7802b826f6 SHA512 df8ba56195ae3773c0c8c8a8f555e562b04de59ce3fb1c17c24ca3b10418299555326f0a9360eb47725310890e31f73221eece3ca1ff83e47d52941e224fc562
+DIST ghub-3.6.0.tar.gz 62572 BLAKE2B 5693177be9ac22d18b7b6f5cdc230eea4340a5bfd007fa4b18f3503fe796fd8b104753be51c8579de6e693cfc620c4524dae195627af4c542bd2fe94aad1d0dd SHA512 e54752f70c462ce4fed3a1fc3ca60f22107e2acaefb06ebf42d35c6b65f9091bba07ff72436310782d9be7fbf35aef473dbbe39ef7a4ac3de1ebd82a417c6b0a
diff --git a/app-emacs/ghub/ghub-3.2.0.ebuild b/app-emacs/ghub/ghub-3.2.0.ebuild
deleted file mode 100644
index 8099d9991c48..000000000000
--- a/app-emacs/ghub/ghub-3.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Minuscule client library for the Git forge APIs"
-HOMEPAGE="https://magit.vc/manual/ghub"
-SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-RDEPEND="
- >=app-emacs/dash-2.14.1
- >=app-emacs/graphql-0.1.1
- >=app-emacs/treepy-0.0.1
-"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
diff --git a/app-emacs/ghub/ghub-3.3.0.ebuild b/app-emacs/ghub/ghub-3.3.0.ebuild
deleted file mode 100644
index cca3ff591536..000000000000
--- a/app-emacs/ghub/ghub-3.3.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Minuscule client library for the Git forge APIs"
-HOMEPAGE="https://magit.vc/manual/ghub"
-SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-RDEPEND="
- >=app-emacs/treepy-0.1.1
-"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
diff --git a/app-emacs/ghub/ghub-3.4.1.ebuild b/app-emacs/ghub/ghub-3.4.1.ebuild
deleted file mode 100644
index cca3ff591536..000000000000
--- a/app-emacs/ghub/ghub-3.4.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Minuscule client library for the Git forge APIs"
-HOMEPAGE="https://magit.vc/manual/ghub"
-SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-RDEPEND="
- >=app-emacs/treepy-0.1.1
-"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
diff --git a/app-emacs/ghub/ghub-3.5.3.ebuild b/app-emacs/ghub/ghub-3.5.3.ebuild
deleted file mode 100644
index fe0403d6c301..000000000000
--- a/app-emacs/ghub/ghub-3.5.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Minuscule client library for the Git forge APIs"
-HOMEPAGE="https://magit.vc/manual/ghub"
-SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-RDEPEND="
- >=app-emacs/treepy-0.1.1
-"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
diff --git a/app-emacs/ghub/ghub-3.5.4.ebuild b/app-emacs/ghub/ghub-3.5.4.ebuild
deleted file mode 100644
index b4d2f0b5ef1c..000000000000
--- a/app-emacs/ghub/ghub-3.5.4.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Minuscule client library for the Git forge APIs"
-HOMEPAGE="https://magit.vc/manual/ghub"
-SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-RDEPEND="
- >=app-emacs/treepy-0.1.1
-"
-BDEPEND="${RDEPEND}
- sys-apps/texinfo"
diff --git a/app-emacs/ghub/ghub-3.6.0.ebuild b/app-emacs/ghub/ghub-3.6.0.ebuild
new file mode 100644
index 000000000000..aa30f4aca220
--- /dev/null
+++ b/app-emacs/ghub/ghub-3.6.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Minuscule client library for the Git forge APIs"
+HOMEPAGE="https://magit.vc/manual/ghub/
+ https://github.com/magit/ghub/"
+SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+DOCS=( README.org )
+ELISP_TEXINFO="docs/ghub.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+ >=app-emacs/treepy-0.1.2
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+src_prepare() {
+ default
+
+ mv lisp/*.el . || die
+ rm ghub-pkg.el || die
+}
diff --git a/app-emacs/git-modes/Manifest b/app-emacs/git-modes/Manifest
new file mode 100644
index 000000000000..709329945e85
--- /dev/null
+++ b/app-emacs/git-modes/Manifest
@@ -0,0 +1 @@
+DIST git-modes-1.4.2.tar.gz 18444 BLAKE2B ecb8894b41ba9f7744a4ceceedea339fca9993bf3b3335c93fd408ad05a7136266ea84cf28891684e0932bf8f1b997f9cb32c4ca7b4f44f735e6c45885f8f012 SHA512 b968b6bab869ad7d8b7232d2a97ab903c30c6fdf8fe0705633f0a7010900d5224f6ea2174708b4ef816241f2a6527bd7eb4f891c2072aee58aea1a153a825d9f
diff --git a/app-emacs/git-modes/files/50git-modes-gentoo.el b/app-emacs/git-modes/files/50git-modes-gentoo.el
new file mode 100644
index 000000000000..db930d7eed5c
--- /dev/null
+++ b/app-emacs/git-modes/files/50git-modes-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "git-modes-autoloads" nil t)
diff --git a/app-emacs/git-modes/git-modes-1.4.2.ebuild b/app-emacs/git-modes/git-modes-1.4.2.ebuild
new file mode 100644
index 000000000000..b761256b1fe3
--- /dev/null
+++ b/app-emacs/git-modes/git-modes-1.4.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major modes for editing Git configuration files"
+HOMEPAGE="https://github.com/magit/git-modes/"
+SRC_URI="https://github.com/magit/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.1"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/git-modes/git-modes-9999.ebuild b/app-emacs/git-modes/git-modes-9999.ebuild
new file mode 100644
index 000000000000..5dd60a104871
--- /dev/null
+++ b/app-emacs/git-modes/git-modes-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major modes for editing Git configuration files"
+HOMEPAGE="https://github.com/magit/git-modes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="https://github.com/magit/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.1"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/git-modes/metadata.xml b/app-emacs/git-modes/metadata.xml
new file mode 100644
index 000000000000..8d7670cb22a9
--- /dev/null
+++ b/app-emacs/git-modes/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/magit/git-modes/issues/</bugs-to>
+ <remote-id type="github">magit/git-modes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/git-timemachine/Manifest b/app-emacs/git-timemachine/Manifest
new file mode 100644
index 000000000000..b3bf0c98cf15
--- /dev/null
+++ b/app-emacs/git-timemachine/Manifest
@@ -0,0 +1 @@
+DIST git-timemachine-4.13.tar.gz 429649 BLAKE2B 8a0fc6185f0f2408f9953a59df5818e165ebd8703d429cd1abfcf671506b263228033b18ff14d1dc6a65f1c9b28ddc8461836a38eedf55c7a8415ca85374e8a1 SHA512 f47a169c16c07d4f80ba9539332d302b1539b0315eadf5ffbf7d55bb1c77124bef183b22641f321ca0c48ae61ed450d0f3133a7875ffce22272608d3fd3d74cb
diff --git a/app-emacs/git-timemachine/files/50git-timemachine-gentoo.el b/app-emacs/git-timemachine/files/50git-timemachine-gentoo.el
new file mode 100644
index 000000000000..0afabf3af5c1
--- /dev/null
+++ b/app-emacs/git-timemachine/files/50git-timemachine-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'git-timemachine-toggle "git-timemachine.el"
+ "Toggle git timemachine mode." t)
+(autoload 'git-timemachine "git-timemachine.el"
+ "Enable git timemachine for file of current buffer." t)
+(autoload 'git-timemachine-switch-branch "git-timemachine.el"
+ "Enable git timemachine for current buffer, switching to GIT-BRANCH." t)
diff --git a/app-emacs/git-timemachine/git-timemachine-4.13.ebuild b/app-emacs/git-timemachine/git-timemachine-4.13.ebuild
new file mode 100644
index 000000000000..34600dc73e46
--- /dev/null
+++ b/app-emacs/git-timemachine/git-timemachine-4.13.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Step through historic versions of git controlled files in GNU Emacs"
+HOMEPAGE="https://codeberg.org/pidu/git-timemachine/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/pidu/${PN}.git"
+else
+ SRC_URI="https://codeberg.org/pidu/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/git-timemachine/git-timemachine-9999.ebuild b/app-emacs/git-timemachine/git-timemachine-9999.ebuild
new file mode 100644
index 000000000000..34600dc73e46
--- /dev/null
+++ b/app-emacs/git-timemachine/git-timemachine-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Step through historic versions of git controlled files in GNU Emacs"
+HOMEPAGE="https://codeberg.org/pidu/git-timemachine/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/pidu/${PN}.git"
+else
+ SRC_URI="https://codeberg.org/pidu/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/git-timemachine/metadata.xml b/app-emacs/git-timemachine/metadata.xml
new file mode 100644
index 000000000000..5e8038e3d367
--- /dev/null
+++ b/app-emacs/git-timemachine/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://codeberg.org/pidu/git-timemachine/issues/</bugs-to>
+ <remote-id type="codeberg">pidu/git-timemachine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/gnuplot-mode/Manifest b/app-emacs/gnuplot-mode/Manifest
index 7acb2d806160..5f5d731575b2 100644
--- a/app-emacs/gnuplot-mode/Manifest
+++ b/app-emacs/gnuplot-mode/Manifest
@@ -1 +1,2 @@
DIST gnuplot-mode-0.8.0.tar.gz 352106 BLAKE2B 5408cc682b205ee712d2e0ff94b57a585d4040a62d1c61b3248cac63c16c76899b4ebe9b8e6ff091216beac3c9c79ea1425e018b275145d8ed5aff3b64e524bf SHA512 d1f93f0a28036ed66869ce228ff7c7007cdd463006d29930f01a6c5fa31c0487f603f0394f423fb8831b054e8d465f669f11ec2c3f8115ef1c84d828f77056cf
+DIST gnuplot-mode-0.8.1.tar.gz 88458 BLAKE2B 99355ec86b6a74294b72976efdaf88402ee9240c9a89432af52eca22b93af18a930e4f7cd07a0c4e25b235aeef0dc3a32498f57b8e74992f5cfb95cef471de55 SHA512 77bb70bde28007d7d42570c9649f18aec13426746acd97f0f94df1bc34ef0698ed5c4a69f5eac7dca4d9d000a527e1da70656692a7ecb2e1dccf61d0e0fc35b5
diff --git a/app-emacs/gnuplot-mode/files/gnuplot-mode-0.8.0-tests.patch b/app-emacs/gnuplot-mode/files/gnuplot-mode-0.8.0-tests.patch
new file mode 100644
index 000000000000..9fbfc5d1f019
--- /dev/null
+++ b/app-emacs/gnuplot-mode/files/gnuplot-mode-0.8.0-tests.patch
@@ -0,0 +1,11 @@
+--- a/gnuplot-tests.el
++++ b/gnuplot-tests.el
+@@ -241,7 +241,7 @@ mutliple # lines #")
+ (gnuplot-test-comment gnuplot-comment-with-single-quotes
+ "# a comment 'containing a single-quoted string'")
+
+-(gnuplot-test-comment gnuplot-comment-with-single-quotes
++(gnuplot-test-comment gnuplot-comment-with-double-quotes
+ "# a comment \"containing a double-quoted string\"")
+
+ (gnuplot-test-comment gnuplot-comment-multiline-with-quotes
diff --git a/app-emacs/gnuplot-mode/gnuplot-mode-0.8.0.ebuild b/app-emacs/gnuplot-mode/gnuplot-mode-0.8.0.ebuild
index f65814319ab7..7f29b6b43591 100644
--- a/app-emacs/gnuplot-mode/gnuplot-mode-0.8.0.ebuild
+++ b/app-emacs/gnuplot-mode/gnuplot-mode-0.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,17 +13,26 @@ S="${WORKDIR}/${PN%-mode}-${PV}"
LICENSE="GPL-3+ gnuplot"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="doc"
BDEPEND="doc? ( virtual/latex-base )"
RDEPEND="sci-visualization/gnuplot[-emacs(-)]"
+PATCHES=( "${FILESDIR}"/${PN}-0.8.0-tests.patch )
+
SITEFILE="50${PN}-gentoo.el"
DOCS=(CHANGELOG.org README.org)
DOC_CONTENTS="Please see ${SITELISP}/${PN}/gnuplot.el for the complete
documentation."
+src_prepare() {
+ elisp_src_prepare
+
+ # Erase broken tests
+ echo "(provide 'gnuplot-test-context)" > gnuplot-test-context.el || die
+}
+
src_compile() {
elisp_src_compile
use doc && { pdflatex gpelcard || die; }
diff --git a/app-emacs/gnuplot-mode/gnuplot-mode-0.8.1.ebuild b/app-emacs/gnuplot-mode/gnuplot-mode-0.8.1.ebuild
new file mode 100644
index 000000000000..f676e898131f
--- /dev/null
+++ b/app-emacs/gnuplot-mode/gnuplot-mode-0.8.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Gnuplot mode for Emacs"
+HOMEPAGE="https://github.com/emacs-gnuplot/gnuplot"
+SRC_URI="https://github.com/emacs-gnuplot/${PN%-mode}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN%-mode}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+BDEPEND="doc? ( virtual/latex-base )"
+RDEPEND="sci-visualization/gnuplot"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.8.0-tests.patch )
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=(CHANGELOG.org README.org)
+DOC_CONTENTS="Please see ${SITELISP}/${PN}/gnuplot.el for the complete
+ documentation."
+
+src_prepare() {
+ elisp_src_prepare
+
+ # Erase broken tests
+ echo "(provide 'gnuplot-test-context)" > gnuplot-test-context.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+ use doc && { pdflatex gpelcard || die; }
+}
+
+src_install() {
+ elisp_src_install
+ use doc && dodoc gpelcard.pdf
+}
diff --git a/app-emacs/gnuplot-mode/metadata.xml b/app-emacs/gnuplot-mode/metadata.xml
index cbf62ef2db77..80529c7b2ffa 100644
--- a/app-emacs/gnuplot-mode/metadata.xml
+++ b/app-emacs/gnuplot-mode/metadata.xml
@@ -7,6 +7,6 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">bruceravel/gnuplot-mode</remote-id>
+ <remote-id type="github">emacs-gnuplot/gnuplot</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch
new file mode 100644
index 000000000000..90d4938751e2
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch
@@ -0,0 +1,45 @@
+defadvice is obsolete in Emacs 30.
+
+--- gnuserv-3.12.8/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -112,28 +112,27 @@
+ ;; can do! If the device doesn't represent a live frame, we create
+ ;; the frame as requested.
+
+- (defadvice make-frame (around
+- gnuserv-compat-make-frame
+- first
+- (&optional parameters device)
+- activate)
++ (defun gnuserv-compat-make-frame (orig-fun &optional parameters device)
+ (if (and device
+ (frame-live-p device))
+ (progn
+ (if parameters
+ (modify-frame-parameters device parameters))
+- (setq ad-return-value device))
+- ad-do-it))
++ device)
++ (funcall orig-fun parameters)))
++
++ (advice-add 'make-frame :around #'gnuserv-compat-make-frame)
+
+ ;; Advise `filtered-frame-list' to ignore the optional device
+ ;; argument. Here we don't follow the mapping of devices to frames.
+ ;; We just assume that any frame satisfying the predicate will do.
+- (defadvice filtered-frame-list (around
+- gnuserv-compat-filtered-frame-list
+- first
+- (predicate &optional device)
+- activate)
+- ad-do-it))
++ (defun gnuserv-compat-filtered-frame-list (orig-fun predicate
++ &optional _device)
++ (funcall orig-fun predicate))
++
++ (advice-add 'filtered-frame-list
++ :around #'gnuserv-compat-filtered-frame-list)
++ )
+
+
+ ;; Emulate XEmacs devices. A device is just a frame. For the most
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch
deleted file mode 100644
index fa31ac2e4017..000000000000
--- a/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Use new-style backquotes, to make it compile with Emacs 27.
-
---- gnuserv-3.12.8-orig/gnuserv-compat.el
-+++ gnuserv-3.12.8/gnuserv-compat.el
-@@ -193,9 +193,9 @@
- (defmacro defgroup (&rest args)
- nil)
- (defmacro defcustom (var value doc &rest args)
-- (` (defvar (, var) (, value) (, doc))))
-+ `(defvar ,var ,value ,doc))
- (defmacro defface (var value doc &rest args)
-- (` (make-face (, var))))
-+ `(make-face ,var))
- (defmacro define-widget (&rest args)
- nil)))
-
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch
new file mode 100644
index 000000000000..cf5c062fdab1
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch
@@ -0,0 +1,189 @@
+Most Common Lisp macros want a cl- prefix in Emacs 27 and later
+
+--- gnuserv-3.12.8/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -49,7 +49,7 @@
+ ;; 20.3. Also, XEmacs preloads the common lisp stuff, and we might as
+ ;; well use it here.
+
+-(require 'cl)
++(require 'cl-macs)
+
+ (eval-and-compile
+ (unless (fboundp 'define-obsolete-variable-alias)
+@@ -66,7 +66,7 @@
+ (unless (fboundp 'add-minor-mode)
+ (defun add-minor-mode (toggle name)
+ "Register a new minor mode."
+- (pushnew (list toggle name)
++ (cl-pushnew (list toggle name)
+ minor-mode-alist
+ :test 'equal)))
+
+--- gnuserv-3.12.8/gnuserv.el
++++ gnuserv-3.12.8/gnuserv.el
+@@ -83,6 +83,8 @@
+
+ ;;; Code:
+
++(require 'cl-macs)
++
+ (defgroup gnuserv nil
+ "The gnuserv suite of programs to talk to Emacs from outside."
+ :group 'environment
+@@ -203,7 +205,7 @@
+
+ ;;; Internal variables:
+
+-(defstruct gnuclient
++(cl-defstruct gnuclient
+ "An object that encompasses several buffers in one.
+ Normally, a client connecting to Emacs will be assigned an id, and
+ will request editing of several files.
+@@ -289,7 +291,7 @@
+ (defun gnuserv-sentinel (proc msg)
+ (let ((msgstring (concat "Gnuserv process %s; restart with `%s'"))
+ (keystring (substitute-command-keys "\\[gnuserv-start]")))
+- (case (process-status proc)
++ (cl-case (process-status proc)
+ (exit
+ (message msgstring "exited" keystring)
+ (gnuserv-prepare-shutdown))
+@@ -403,7 +405,7 @@
+ If a flag is `view', view the files read-only."
+ (let (quick view)
+ (mapc (lambda (flag)
+- (case flag
++ (cl-case flag
+ (quick (setq quick t))
+ (view (setq view t))
+ (t (error "Invalid flag %s" flag))))
+@@ -419,7 +421,7 @@
+ (device (cond ((frame-live-p dest-frame)
+ (frame-device dest-frame))
+ ((null dest-frame)
+- (case (car type)
++ (cl-case (car type)
+ (tty (apply 'make-tty-device (cdr type)))
+ (gtk (make-gtk-device))
+ (x (make-x-device-with-gtk-fallback (cadr type)))
+@@ -456,7 +458,7 @@
+ (goto-line line)
+ ;; Don't memorize the quick and view buffers.
+ (unless (or quick view)
+- (pushnew (current-buffer) (gnuclient-buffers client))
++ (cl-pushnew (current-buffer) (gnuclient-buffers client))
+ (setq gnuserv-minor-mode t)
+ ;; Add the "Done" button to the menubar, only in this buffer.
+ (if (and (featurep 'menubar) current-menubar)
+@@ -510,9 +512,9 @@
+ ;; Like `gnuserv-buffer-clients', but returns a boolean; doesn't
+ ;; collect a list.
+ (defun gnuserv-buffer-p (buffer)
+- (member* buffer gnuserv-clients
+- :test 'memq
+- :key 'gnuclient-buffers))
++ (cl-member buffer gnuserv-clients
++ :test 'memq
++ :key 'gnuclient-buffers))
+
+ ;; This function makes sure that a killed buffer is deleted off the
+ ;; list for the particular client.
+@@ -525,7 +527,7 @@
+ editing has ended."
+ (let* ((buf (current-buffer)))
+ (dolist (client (gnuserv-buffer-clients buf))
+- (callf2 delq buf (gnuclient-buffers client))
++ (cl-callf2 delq buf (gnuclient-buffers client))
+ ;; If no more buffers, kill the client.
+ (when (null (gnuclient-buffers client))
+ (gnuserv-kill-client client)))))
+@@ -546,7 +548,7 @@
+
+ (defun gnuserv-kill-emacs-query-function ()
+ (or gnuserv-kill-quietly
+- (not (some 'gnuclient-buffers gnuserv-clients))
++ (not (cl-some 'gnuclient-buffers gnuserv-clients))
+ (yes-or-no-p "Gnuserv buffers still have clients; exit anyway? ")))
+
+ (add-hook 'kill-emacs-query-functions
+@@ -562,7 +564,7 @@
+ ;; killing the device, because it would cause a device-dead
+ ;; error when `delete-device' tries to do the job later.
+ (gnuserv-kill-client client t))))
+- (callf2 delq device gnuserv-devices))
++ (cl-callf2 delq device gnuserv-devices))
+
+ (add-hook 'delete-device-hook 'gnuserv-check-device)
+
+@@ -582,7 +584,7 @@
+ the function will not remove the frames associated with the client."
+ ;; Order is important: first delete client from gnuserv-clients, to
+ ;; prevent gnuserv-buffer-done-1 calling us recursively.
+- (callf2 delq client gnuserv-clients)
++ (cl-callf2 delq client gnuserv-clients)
+ ;; Process the buffers.
+ (mapc 'gnuserv-buffer-done-1 (gnuclient-buffers client))
+ (unless leave-frame
+@@ -593,15 +595,15 @@
+ ;; note: last frame on a device will not be deleted here.
+ (when (and (gnuclient-frame client)
+ (frame-live-p (gnuclient-frame client))
+- (second (device-frame-list device)))
++ (cl-second (device-frame-list device)))
+ (delete-frame (gnuclient-frame client)))
+ ;; If the device is live, created by a client, and no longer used
+ ;; by any client, delete it.
+ (when (and (device-live-p device)
+ (memq device gnuserv-devices)
+- (second (device-list))
+- (not (member* device gnuserv-clients
+- :key 'gnuclient-device)))
++ (cl-second (device-list))
++ (not (cl-member device gnuserv-clients
++ :key 'gnuclient-device)))
+ ;; `gnuserv-check-device' will remove it from `gnuserv-devices'.
+ (delete-device device))))
+ ;; Notify the client.
+@@ -610,7 +612,7 @@
+ ;; Do away with the buffer.
+ (defun gnuserv-buffer-done-1 (buffer)
+ (dolist (client (gnuserv-buffer-clients buffer))
+- (callf2 delq buffer (gnuclient-buffers client))
++ (cl-callf2 delq buffer (gnuclient-buffers client))
+ (when (null (gnuclient-buffers client))
+ (gnuserv-kill-client client)))
+ ;; Get rid of the buffer.
+@@ -639,19 +641,19 @@
+ ;; If we have a client belonging to this frame, return
+ ;; the first buffer from it.
+ ((setq client
+- (car (member* frame gnuserv-clients :key 'gnuclient-frame)))
++ (car (cl-member frame gnuserv-clients :key 'gnuclient-frame)))
+ (car (gnuclient-buffers client)))
+ ;; Else, look for a device.
+ ((and
+ (memq (selected-device) gnuserv-devices)
+ (setq client
+- (car (member* device gnuserv-clients :key 'gnuclient-device))))
++ (car (cl-member device gnuserv-clients :key 'gnuclient-device))))
+ (car (gnuclient-buffers client)))
+ ;; Else, try to find any client with at least one buffer, and
+ ;; return its first buffer.
+ ((setq client
+- (car (member-if-not #'null gnuserv-clients
+- :key 'gnuclient-buffers)))
++ (car (cl-member-if-not #'null gnuserv-clients
++ :key 'gnuclient-buffers)))
+ (car (gnuclient-buffers client)))
+ ;; Oh, give up.
+ (t nil))))
+@@ -759,7 +761,7 @@
+ (when (null count)
+ (setq count 1))
+ (cond ((numberp count)
+- (while (natnump (decf count))
++ (while (natnump (cl-decf count))
+ (let ((frame (selected-frame)))
+ (gnuserv-buffer-done (current-buffer))
+ (when (eq frame (selected-frame))
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch
new file mode 100644
index 000000000000..3d0e9f876292
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch
@@ -0,0 +1,64 @@
+Function device-class from devices.el is not used, but collides with
+a function of the same name in frame.el of Emacs 29. So, inline what
+we need, and drop devices.el altogether.
+
+Define delete-device-hook as an alias of delete-frame-functions, so we
+need no advice for delete-frame.
+
+--- gnuserv-3.12.8/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -125,16 +125,6 @@
+ (setq ad-return-value device))
+ ad-do-it))
+
+- ;; Advise `delete-frame' to run `delete-device-hook'. This might be a
+- ;; little too hacky, but it seems to work! If someone actually tries
+- ;; to do something device specific then it will probably blow up!
+- (defadvice delete-frame (before
+- gnuserv-compat-delete-frame
+- first
+- nil
+- activate)
+- (run-hook-with-args 'delete-device-hook frame))
+-
+ ;; Advise `filtered-frame-list' to ignore the optional device
+ ;; argument. Here we don't follow the mapping of devices to frames.
+ ;; We just assume that any frame satisfying the predicate will do.
+@@ -153,9 +143,36 @@
+ (if (string-match "XEmacs" (emacs-version))
+ nil
+
+- (require 'devices)
+ (defalias 'device-list 'frame-list)
+ (defalias 'selected-device 'selected-frame)
++ (defalias 'device-live-p 'frame-live-p)
++ (defalias 'frame-device 'identity)
++ (defalias 'make-tty-device 'ignore)
++ (defvaralias 'delete-device-hook 'delete-frame-functions)
++
++ (defun make-x-device (&optional display)
++ (if display
++ (make-frame-on-display display)
++ (make-frame)))
++
++ (defun device-on-window-system-p (&optional device)
++ "Return non-nil if DEVICE is on a window system.
++This generally means that there is support for the mouse, the menubar,
++the toolbar, glyphs, etc."
++ (and (cdr-safe (assq 'display (frame-parameters device))) t))
++
++ (defun delete-device (device &optional force)
++ "Delete DEVICE, permanently eliminating it from use.
++Normally, you cannot delete the last non-minibuffer-only frame (you must
++use `save-buffers-kill-emacs' or `kill-emacs'). However, if optional
++second argument FORCE is non-nil, you can delete the last frame. (This
++will automatically call `save-buffers-kill-emacs'.)"
++ (let ((frames (device-frame-list device)))
++ (run-hook-with-args 'delete-device-hook device)
++ (while frames
++ (delete-frame (car frames) force)
++ (setq frames (cdr frames)))))
++
+ (defun device-frame-list (&optional device)
+ (list
+ (if device
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-28.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-28.patch
new file mode 100644
index 000000000000..dde9fdc38043
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-28.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/836892
+
+--- gnuserv-3.12.8/gnuserv.el
++++ gnuserv-3.12.8/gnuserv.el
+@@ -98,31 +98,6 @@
+ :group 'gnuserv)
+
+
+-;; Provide the old variables as aliases, to avoid breaking .emacs
+-;; files. However, they are obsolete and should be converted to the
+-;; new forms. This ugly crock must be before the variable
+-;; declaration, or the scheme fails.
+-
+-(define-obsolete-variable-alias 'server-frame 'gnuserv-frame)
+-(define-obsolete-variable-alias 'server-done-function
+- 'gnuserv-done-function)
+-(define-obsolete-variable-alias 'server-done-temp-file-function
+- 'gnuserv-done-temp-file-function)
+-(define-obsolete-variable-alias 'server-find-file-function
+- 'gnuserv-find-file-function)
+-(define-obsolete-variable-alias 'server-program
+- 'gnuserv-program)
+-(define-obsolete-variable-alias 'server-visit-hook
+- 'gnuserv-visit-hook)
+-(define-obsolete-variable-alias 'server-done-hook
+- 'gnuserv-done-hook)
+-(define-obsolete-variable-alias 'server-kill-quietly
+- 'gnuserv-kill-quietly)
+-(define-obsolete-variable-alias 'server-temp-file-regexp
+- 'gnuserv-temp-file-regexp)
+-(define-obsolete-variable-alias 'server-make-temp-file-backup
+- 'gnuserv-make-temp-file-backup)
+-
+ ;;;###autoload
+ (defcustom gnuserv-frame nil
+ "*The frame to be used to display all edited files.
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-gnudoit.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-gnudoit.patch
new file mode 100644
index 000000000000..bcb0fdeeaecc
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-gnudoit.patch
@@ -0,0 +1,15 @@
+--- gnuserv-3.12.8/gnudoit
++++ gnuserv-3.12.8/gnudoit
+@@ -27,10 +27,10 @@
+
+ if [ $# -eq 0 ]
+ then
+- exec gnuclient $quick -batch
++ exec gnuclient-emacs $quick -batch
+ else
+ # I use "$*" instead of "$@" intentionally -- I don't want to have the
+ # arguments split.
+- exec gnuclient $quick -batch -eval "$*"
++ exec gnuclient-emacs $quick -batch -eval "$*"
+ fi
+
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-no-custom.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-no-custom.patch
new file mode 100644
index 000000000000..12cd31c16c0e
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-no-custom.patch
@@ -0,0 +1,31 @@
+Old-style backquotes don't work with Emacs 27 or later. Remove the
+code altogether, because it is no longer needed since Emacs 20.1.
+
+--- gnuserv-3.12.8/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -180,25 +180,6 @@
+ (defun frame-totally-visible-p (frame)
+ (eq t (frame-visible-p frame))))
+
+-;; Make custom stuff work even without customize
+-;; Courtesy of Hrvoje Niksic <hniksic@srce.hr>
+-;; via Ronan Waide <waider@scope.ie>.
+-(eval-and-compile
+- (condition-case ()
+- (require 'custom)
+- (error nil))
+- (if (and (featurep 'custom) (fboundp 'custom-declare-variable))
+- nil ;; We've got what we needed
+- ;; We have the old custom-library, hack around it!
+- (defmacro defgroup (&rest args)
+- nil)
+- (defmacro defcustom (var value doc &rest args)
+- (` (defvar (, var) (, value) (, doc))))
+- (defmacro defface (var value doc &rest args)
+- (` (make-face (, var))))
+- (defmacro define-widget (&rest args)
+- nil)))
+-
+ ;; Now for gnuserv...
+ (require 'gnuserv)
+
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch
new file mode 100644
index 000000000000..5310f357621f
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch
@@ -0,0 +1,72 @@
+Fix some byte-compiler warnings
+
+--- gnuserv-3.12.8/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -100,7 +100,7 @@
+ ;; `delete-frame' and `filtered-frame-list' to handle some device
+ ;; stuff.
+
+-(if (string-match "XEmacs" (emacs-version))
++(if (featurep 'xemacs)
+ nil
+
+ ;; XEmacs `make-frame' takes an optional device to create the frame
+@@ -140,7 +140,7 @@
+ ;; part we use devices.el from the Emacs-W3 distribution. In some
+ ;; places the implementation seems wrong, so we "fix" it!
+
+-(if (string-match "XEmacs" (emacs-version))
++(if (featurep 'xemacs)
+ nil
+
+ (defalias 'device-list 'frame-list)
+--- gnuserv-3.12.8/gnuserv.el
++++ gnuserv-3.12.8/gnuserv.el
+@@ -455,13 +455,14 @@
+ gnuserv-view-file-function
+ gnuserv-find-file-function)
+ path)
+- (goto-line line)
++ (goto-char (point-min))
++ (forward-line (1- line))
+ ;; Don't memorize the quick and view buffers.
+ (unless (or quick view)
+ (cl-pushnew (current-buffer) (gnuclient-buffers client))
+ (setq gnuserv-minor-mode t)
+ ;; Add the "Done" button to the menubar, only in this buffer.
+- (if (and (featurep 'menubar) current-menubar)
++ (if (and (eval-when-compile (featurep 'menubar)) current-menubar)
+ (progn (set-buffer-menubar current-menubar)
+ (add-menu-button nil ["Done" gnuserv-edit]))
+ ))
+@@ -616,12 +617,11 @@
+ (when (null (gnuclient-buffers client))
+ (gnuserv-kill-client client)))
+ ;; Get rid of the buffer.
+- (save-excursion
+- (set-buffer buffer)
++ (with-current-buffer buffer
+ (run-hooks 'gnuserv-done-hook)
+ (setq gnuserv-minor-mode nil)
+ ;; Delete the menu button.
+- (if (and (featurep 'menubar) current-menubar)
++ (if (and (eval-when-compile (featurep 'menubar)) current-menubar)
+ (delete-menu-item '("Done")))
+ (funcall (if (gnuserv-temp-file-p buffer)
+ gnuserv-done-temp-file-function
+@@ -685,7 +685,6 @@
+ ;; This serves to run the hook and reset
+ ;; `allow-deletion-of-last-visible-frame'.
+ (defun gnuserv-prepare-shutdown ()
+- (setq allow-deletion-of-last-visible-frame nil)
+ (run-hooks 'gnuserv-shutdown-hook))
+
+ ;; This is a user-callable function, too.
+@@ -716,7 +715,6 @@
+ (set-process-sentinel gnuserv-process 'gnuserv-sentinel)
+ (set-process-filter gnuserv-process 'gnuserv-process-filter)
+ (set-process-query-on-exit-flag gnuserv-process nil)
+- (setq allow-deletion-of-last-visible-frame t)
+ (run-hooks 'gnuserv-init-hook)))
+
+
diff --git a/app-emacs/gnuserv/gnuserv-3.12.8-r5.ebuild b/app-emacs/gnuserv/gnuserv-3.12.8-r5.ebuild
deleted file mode 100644
index 142d9eeeeaf7..000000000000
--- a/app-emacs/gnuserv/gnuserv-3.12.8-r5.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp multilib desktop xdg-utils
-
-DESCRIPTION="Attach to an already running Emacs"
-HOMEPAGE="http://meltin.net/hacks/emacs/"
-SRC_URI="http://meltin.net/hacks/emacs/src/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86 ~x86-linux ~ppc-macos"
-IUSE="X"
-
-RDEPEND=">=app-eselect/eselect-emacs-1.15
- X? ( x11-libs/libXau )"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-backquotes.patch
- eapply "${FILESDIR}"/${P}-process-query.patch
- sed -i -e 's/exec gnuclient/&-emacs/' gnudoit || die
- eapply_user
-}
-
-src_configure() {
- econf $(use_enable X xauth) \
- --x-includes="${EPREFIX}"/usr/include \
- --x-libraries="${EPREFIX}"/usr/$(get_libdir)
-}
-
-src_compile() {
- default
-}
-
-src_install() {
- exeinto /usr/libexec/emacs
- doexe gnuserv
- newbin gnuclient gnuclient-emacs
- newbin gnudoit gnudoit-emacs
- # Don't install gnuattach, it is not functional with FSF GNU Emacs
-
- newman gnuserv.1 gnuserv-emacs.1
- echo ".so man1/gnuserv-emacs.1" | newman - gnuclient-emacs.1
- echo ".so man1/gnuserv-emacs.1" | newman - gnudoit-emacs.1
-
- elisp-install ${PN} *.el *.elc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc ChangeLog README README.orig
-
- use X && domenu "${FILESDIR}"/gnuclient.desktop
-}
-
-pkg_postinst() {
- elisp-site-regen
- use X && xdg_desktop_database_update
- eselect gnuclient update ifunset
-}
-
-pkg_postrm() {
- elisp-site-regen
- use X && xdg_desktop_database_update
- eselect gnuclient update ifunset
-}
diff --git a/app-emacs/gnuserv/gnuserv-3.12.8-r8.ebuild b/app-emacs/gnuserv/gnuserv-3.12.8-r8.ebuild
new file mode 100644
index 000000000000..d4299f3b51c1
--- /dev/null
+++ b/app-emacs/gnuserv/gnuserv-3.12.8-r8.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp desktop xdg-utils
+
+DESCRIPTION="Attach to an already running Emacs"
+HOMEPAGE="https://web.archive.org/web/20160508134736/http://martin.meltin.net/hacks/emacs/
+ https://www.emacswiki.org/emacs/GnuClient"
+SRC_URI="https://web.archive.org/web/20150908031821/http://martin.meltin.net/sites/martin.meltin.net/files/hacks/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~x86-linux ~ppc-macos"
+IUSE="gui"
+
+RDEPEND=">=app-eselect/eselect-emacs-1.15
+ gui? ( x11-libs/libXau )"
+DEPEND="${RDEPEND}
+ gui? ( x11-base/xorg-proto )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-custom.patch
+ "${FILESDIR}"/${P}-process-query.patch
+ "${FILESDIR}"/${P}-gnudoit.patch
+ "${FILESDIR}"/${P}-emacs-28.patch
+ "${FILESDIR}"/${P}-devices.patch
+ "${FILESDIR}"/${P}-cl.patch
+ "${FILESDIR}"/${P}-warnings.patch
+ "${FILESDIR}"/${P}-advice.patch
+)
+ELISP_REMOVE="devices.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ econf $(use_enable gui xauth) \
+ --x-includes="${EPREFIX}"/usr/include \
+ --x-libraries="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_compile() {
+ emake gnuserv gnuclient
+ BYTECOMPFLAGS+=" -l gnuserv-compat" elisp-compile *.el
+}
+
+src_install() {
+ exeinto /usr/libexec/emacs
+ doexe gnuserv
+ newbin gnuclient gnuclient-emacs
+ newbin gnudoit gnudoit-emacs
+ # Don't install gnuattach, it is not functional with FSF GNU Emacs
+
+ newman gnuserv.1 gnuserv-emacs.1
+ echo ".so man1/gnuserv-emacs.1" | newman - gnuclient-emacs.1
+ echo ".so man1/gnuserv-emacs.1" | newman - gnudoit-emacs.1
+
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc ChangeLog README README.orig
+
+ use gui && domenu "${FILESDIR}"/gnuclient.desktop
+}
+
+pkg_postinst() {
+ elisp-site-regen
+ use gui && xdg_desktop_database_update
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ use gui && xdg_desktop_database_update
+ eselect gnuclient update ifunset
+}
diff --git a/app-emacs/go-mode/Manifest b/app-emacs/go-mode/Manifest
index 5af33b0616db..95791ec2bfba 100644
--- a/app-emacs/go-mode/Manifest
+++ b/app-emacs/go-mode/Manifest
@@ -1 +1 @@
-DIST go-mode-1.5.0.tar.gz 36876 BLAKE2B dca184f1cb79c919067ffecd1111f2404685459dca374a1ff14512067d0235bc862a04cb5fb014620856d0d03c15668149d0c62c238098b8561ea2512b26ec36 SHA512 fee67461467feb272dbb90abbad3df786f984925747ad8588c271784f8d27db888dd1da9d4589fb63ccfded1a833b01bb860d3254b00ca5e3f3aa89f199880c3
+DIST go-mode-1.6.0.tar.xz 40764 BLAKE2B e88be130809da4d00978698c6f2cdd0d844a6c6646c23152fcb5f4c3a9a1596ca8d79199d811f8e7d64f6c245cd7bb80b9a403fc0e1362e6b2c556466b45e80d SHA512 24594b1de8ae45922a6a7c7cee8097f4a8ebdac477ae086595a73c5a7757b8c2f8c0249ad4ccf313ca13332790d76495b7c212d2e0e721f98753f23b2d6511c1
diff --git a/app-emacs/go-mode/files/50go-mode-1.6.0-gentoo.el b/app-emacs/go-mode/files/50go-mode-1.6.0-gentoo.el
new file mode 100644
index 000000000000..9b688ab3a239
--- /dev/null
+++ b/app-emacs/go-mode/files/50go-mode-1.6.0-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/go-mode-autoloads" nil t)
diff --git a/app-emacs/go-mode/files/50go-mode-gentoo.el b/app-emacs/go-mode/files/50go-mode-gentoo.el
deleted file mode 100644
index 331db4c92fef..000000000000
--- a/app-emacs/go-mode/files/50go-mode-gentoo.el
+++ /dev/null
@@ -1,2 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(load "go-mode-autoloads" nil t)
diff --git a/app-emacs/go-mode/go-mode-1.5.0.ebuild b/app-emacs/go-mode/go-mode-1.5.0.ebuild
deleted file mode 100644
index 67936074eb88..000000000000
--- a/app-emacs/go-mode/go-mode-1.5.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="An improved Go mode for emacs"
-HOMEPAGE="https://github.com/dominikh/go-mode.el"
-SRC_URI="https://github.com/dominikh/go-mode.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-S="${WORKDIR}/go-mode.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="AUTHORS README.md"
diff --git a/app-emacs/go-mode/go-mode-1.6.0.ebuild b/app-emacs/go-mode/go-mode-1.6.0.ebuild
new file mode 100644
index 000000000000..df816afc4593
--- /dev/null
+++ b/app-emacs/go-mode/go-mode-1.6.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+# Upstream didn't create a git tag for version 1.6.0, this source
+# tarball is from the repository at commit 3273fcece5d, the commit that
+# bumped the version to 1.6.0.
+
+DESCRIPTION="An improved Go mode for emacs"
+HOMEPAGE="https://github.com/dominikh/go-mode.el"
+SRC_URI="https://dev.gentoo.org/~matthew/distfiles/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+ELISP_REMOVE="test/go-fill-paragraph-test.el"
+
+SITEFILE="50${PN}-1.6.0-gentoo.el"
+DOCS=( README.md )
+
+elisp-enable-tests ert test
+
+src_prepare() {
+ elisp_src_prepare
+
+ # fix path to testdata directory when running tests
+ sed -i 's|testdata|test/&|g' \
+ test/go-indentation-test.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/god-mode/Manifest b/app-emacs/god-mode/Manifest
new file mode 100644
index 000000000000..1c490a822188
--- /dev/null
+++ b/app-emacs/god-mode/Manifest
@@ -0,0 +1 @@
+DIST god-mode-2.18.0.tar.gz 27122 BLAKE2B b6af161fa3276e9393d44f4dd92393b0eb7239e49e29e3ba917e9b7f23b63d1d3432773dbfa075ed072a626c2bbd12c11625ec0dccb0733c58984b3f990add5d SHA512 3bcf170697cea8748f683a20e71e434efe4200dd72478568a370ea9f9c5658475b554f3fa5f2f79eaff443bd02fa0595389e4fb05af05d99f3bc891af46c224b
diff --git a/app-emacs/god-mode/files/50god-mode-gentoo.el b/app-emacs/god-mode/files/50god-mode-gentoo.el
new file mode 100644
index 000000000000..46f7a9b1f48f
--- /dev/null
+++ b/app-emacs/god-mode/files/50god-mode-gentoo.el
@@ -0,0 +1,9 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'god-execute-with-current-bindings "god-mode"
+ "Execute a single command from God mode, preserving current keybindings." t)
+(autoload 'god-local-mode "god-mode"
+ "Minor mode for running commands." t)
+(autoload 'god-mode "god-mode"
+ "Toggle global `god-local-mode'." t)
+(autoload 'god-mode-all "god-mode"
+ "Toggle `god-local-mode' in all buffers." t)
diff --git a/app-emacs/god-mode/god-mode-2.18.0.ebuild b/app-emacs/god-mode/god-mode-2.18.0.ebuild
new file mode 100644
index 000000000000..661e49b70103
--- /dev/null
+++ b/app-emacs/god-mode/god-mode-2.18.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Minor mode for God-like command entering in GNU Emacs"
+HOMEPAGE="https://github.com/emacsorphanage/god-mode/"
+SRC_URI="https://github.com/emacsorphanage/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/ansi
+ app-emacs/ecukes
+ app-emacs/ecukes
+ app-emacs/f
+ )
+"
+
+DOCS=( .github/CONTRIBUTING.md .github/README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ecukes --debug --reporter spec --verbose || die "tests failed"
+}
diff --git a/app-emacs/god-mode/metadata.xml b/app-emacs/god-mode/metadata.xml
new file mode 100644
index 000000000000..754124d4374f
--- /dev/null
+++ b/app-emacs/god-mode/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This is a global minor mode for entering Emacs commands without modifier
+ keys. It's similar to Vim's separation of command mode and insert mode. All
+ existing key bindings will work in God mode. It's only there to reduce your
+ usage of modifier keys.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/emacsorphanage/god-mode/issues/</bugs-to>
+ <remote-id type="github">emacsorphanage/god-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/graphql/Manifest b/app-emacs/graphql/Manifest
index b6e9ea7184ad..c11dbcc14116 100644
--- a/app-emacs/graphql/Manifest
+++ b/app-emacs/graphql/Manifest
@@ -1 +1 @@
-DIST graphql-0.1.1.tar.gz 6021 BLAKE2B 62755fda880042e00942acc6dbf98219521c92d052eeb0c584e8bb83ae8fdcea46185270f5dff8c89762d11b409e31b42d4ae62ab6831b04437ac0de517f442e SHA512 53f4c8b70be07f38b3554c4488a98ccdb956a68585955c7afd9df52d9d39cfaf7cc0efcadae1f42099495b8729851d089cd03d4570ed2a91a3354dd19f12d5bb
+DIST graphql-0.1.2.tar.gz 6231 BLAKE2B 55b121b3040b55c8c690637ef5fb034c66e2837e1c22c3e1b37911cc7c26741adb15344f861195f8156c33e844a950e4e6fe97acc502321a561b9c7b249c7aeb SHA512 45b1b72f4fafd884633dab3b464079ed7c80e671b4d0a5f26dc57f058177e5f54ed453710d36e02062d80abeee5e0215aff395063f8e3124646ffb05bdeff8c5
diff --git a/app-emacs/graphql/files/50graphql-gentoo.el b/app-emacs/graphql/files/50graphql-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/graphql/files/50graphql-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/graphql/graphql-0.1.1.ebuild b/app-emacs/graphql/graphql-0.1.1.ebuild
deleted file mode 100644
index f559dbc5cc9d..000000000000
--- a/app-emacs/graphql/graphql-0.1.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="GraphQL utilities"
-HOMEPAGE="https://github.com/vermiculus/graphql.el"
-SRC_URI="https://github.com/vermiculus/graphql.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}.el-${PV}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-# Tries to download emake tool on the fly
-RESTRICT="test"
-
-src_prepare() {
- # Avoid examples which would require circular dependencies
- rm -f examples.el || die
-
- default
-}
diff --git a/app-emacs/graphql/graphql-0.1.2.ebuild b/app-emacs/graphql/graphql-0.1.2.ebuild
new file mode 100644
index 000000000000..bcf800e586f4
--- /dev/null
+++ b/app-emacs/graphql/graphql-0.1.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == 0.1.2 ]] && COMMIT=67237f284f2dfb94f3cfba672ff64a37e1cb860f
+
+inherit elisp
+
+DESCRIPTION="GraphQL utilities"
+HOMEPAGE="https://github.com/vermiculus/graphql.el/"
+SRC_URI="https://github.com/vermiculus/graphql.el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+
+# Tries to download emake tool on the fly
+RESTRICT="test"
+
+src_prepare() {
+ # Avoid examples which would require circular dependencies
+ rm -f ${PN}-examples.el || die
+
+ default
+}
diff --git a/app-emacs/graphviz-dot-mode/metadata.xml b/app-emacs/graphviz-dot-mode/metadata.xml
index 986088003fe1..a499e54689c7 100644
--- a/app-emacs/graphviz-dot-mode/metadata.xml
+++ b/app-emacs/graphviz-dot-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">ppareit/graphviz-dot-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/groovy-emacs-modes/Manifest b/app-emacs/groovy-emacs-modes/Manifest
new file mode 100644
index 000000000000..65edd5328139
--- /dev/null
+++ b/app-emacs/groovy-emacs-modes/Manifest
@@ -0,0 +1 @@
+DIST groovy-emacs-modes-2.1.tar.gz 116174 BLAKE2B be913268b9ae4c1ca74f3391d9dad11b4804a651098a160d8c4e0ac449ea2d0a381e73c3b7412311f73df8569b5e2933b0c3e169bb57483b9bc87089c9623369 SHA512 c7367248640a4891db144afb16bc8a00545eb0155a87404c653ceed5706f684b34d135c2327659032769fa437c7e5dfd5942b287dc16b9636a9c7645762c670a
diff --git a/app-emacs/groovy-emacs-modes/files/50groovy-emacs-modes-gentoo.el b/app-emacs/groovy-emacs-modes/files/50groovy-emacs-modes-gentoo.el
new file mode 100644
index 000000000000..653c0ed582ca
--- /dev/null
+++ b/app-emacs/groovy-emacs-modes/files/50groovy-emacs-modes-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "groovy-emacs-modes-autoloads" nil t)
diff --git a/app-emacs/groovy-emacs-modes/groovy-emacs-modes-2.1.ebuild b/app-emacs/groovy-emacs-modes/groovy-emacs-modes-2.1.ebuild
new file mode 100644
index 000000000000..335b5554baa3
--- /dev/null
+++ b/app-emacs/groovy-emacs-modes/groovy-emacs-modes-2.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Groovy major mode, grails minor mode, and a groovy inferior mode"
+HOMEPAGE="https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes/"
+SRC_URI="https://github.com/Groovy-Emacs-Modes/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DOCS=( README.md groovy-mode.png )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ app-emacs/s
+ app-emacs/dash
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/ert-runner
+ app-emacs/f
+ app-emacs/shut-up
+ app-emacs/undercover
+ )
+"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/groovy-emacs-modes/metadata.xml b/app-emacs/groovy-emacs-modes/metadata.xml
new file mode 100644
index 000000000000..6d47d76cce35
--- /dev/null
+++ b/app-emacs/groovy-emacs-modes/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ GNU Emacs modes for Groovy and Grails. The major features are syntax
+ highlighting with groovy-mode, REPL integration with run-groovy and Grails
+ project navigation with grails-mode.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes/issues/</bugs-to>
+ <remote-id type="github">Groovy-Emacs-Modes/groovy-emacs-modes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/gruvbox-theme/Manifest b/app-emacs/gruvbox-theme/Manifest
new file mode 100644
index 000000000000..e519d6cd261e
--- /dev/null
+++ b/app-emacs/gruvbox-theme/Manifest
@@ -0,0 +1 @@
+DIST gruvbox-theme-1.30.1.tar.gz 2849739 BLAKE2B 1d9c005b65237431f62ccda120b3adf5bed66c2238fcab263d6c18cc79b79553fbfdd04fb56cb053990b2c09fdd8f5a607d7b2a86c1164ec3a6ee1134de43b49 SHA512 52d20729c4bcc4677bb4aa9fa14a95bb3ae9a5729e70d93817030ebb3235d7e7d72562e34ab74c8c0e8c03183ae3711ef50d04160e04608bc9968d651c40f1d8
diff --git a/app-emacs/gruvbox-theme/files/50gruvbox-theme-gentoo.el b/app-emacs/gruvbox-theme/files/50gruvbox-theme-gentoo.el
new file mode 100644
index 000000000000..7e3219a1f424
--- /dev/null
+++ b/app-emacs/gruvbox-theme/files/50gruvbox-theme-gentoo.el
@@ -0,0 +1,2 @@
+;;; app-emacs/gruvbox-theme site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/gruvbox-theme/gruvbox-theme-1.30.1-r1.ebuild b/app-emacs/gruvbox-theme/gruvbox-theme-1.30.1-r1.ebuild
new file mode 100644
index 000000000000..f0931620842d
--- /dev/null
+++ b/app-emacs/gruvbox-theme/gruvbox-theme-1.30.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Gruvbox is a retro groove color scheme, now in Emacs"
+HOMEPAGE="https://github.com/greduan/emacs-theme-gruvbox/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/greduan/emacs-theme-gruvbox.git"
+else
+ SRC_URI="https://github.com/greduan/emacs-theme-gruvbox/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-theme-gruvbox-${PV}"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/autothemer-0.2
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/gruvbox-theme/gruvbox-theme-9999.ebuild b/app-emacs/gruvbox-theme/gruvbox-theme-9999.ebuild
new file mode 100644
index 000000000000..f0931620842d
--- /dev/null
+++ b/app-emacs/gruvbox-theme/gruvbox-theme-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Gruvbox is a retro groove color scheme, now in Emacs"
+HOMEPAGE="https://github.com/greduan/emacs-theme-gruvbox/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/greduan/emacs-theme-gruvbox.git"
+else
+ SRC_URI="https://github.com/greduan/emacs-theme-gruvbox/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/emacs-theme-gruvbox-${PV}"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/autothemer-0.2
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/gruvbox-theme/metadata.xml b/app-emacs/gruvbox-theme/metadata.xml
new file mode 100644
index 000000000000..340581005307
--- /dev/null
+++ b/app-emacs/gruvbox-theme/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">greduan/emacs-theme-gruvbox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/haskell-mode/Manifest b/app-emacs/haskell-mode/Manifest
index 16d821f595a6..cc35205b6a78 100644
--- a/app-emacs/haskell-mode/Manifest
+++ b/app-emacs/haskell-mode/Manifest
@@ -1 +1,2 @@
-DIST haskell-mode-16.1.tar.gz 1192866 BLAKE2B 5a53075be5ea1246f2aa61d1004fb282d6c5e182497f7660336cf89634bde3b6455997286a4e7e599bf044a9d5c47384f44addb1ab6f53a257c749a93849992e SHA512 28654499ee521032be1ae6edfd338cab6022d7fdd4ff34e720ffe249801d4b442484cce4f5fc3461aa5145918f66f4b69df774b60cceb408220fc0533386cc56
+DIST haskell-mode-17.4.tar.gz 1149313 BLAKE2B b30e2051448ba749b0d0b1872f824e8624c4f7d15447a94e61a69898c097ed51f289c3d0f581acffe244178e6b406466ff622e50a395be500a807ef787f92f09 SHA512 95296f9937019a9735388fde918a609aafedaeeede55f85729ddbc0b26d91dd9d39841c6aa727cdf0ebc69161b1367ce5ca895bf9a23c0b4fde8dfa49ef66b04
+DIST haskell-mode-17.5.tar.gz 1149634 BLAKE2B c07db9cccf24847cdf6833c8e71782d0e377c7b29908aa409a7b8061372d6c76937cf1ed36e891bd296d0eb213c880a90b98d7fe75636da1b1943fe8740c420c SHA512 e31e22c017957e86149d2a17d3e5519d3cee23ce0f57c4e83e251192cb589f725402f6b3956d048798ced83bedeca3ac39d52f0e0617de874145a25d5b9ab651
diff --git a/app-emacs/haskell-mode/haskell-mode-16.1.ebuild b/app-emacs/haskell-mode/haskell-mode-16.1.ebuild
deleted file mode 100644
index 199e7d7cbc69..000000000000
--- a/app-emacs/haskell-mode/haskell-mode-16.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Mode for editing (and running) Haskell programs in Emacs"
-HOMEPAGE="https://haskell.github.io/haskell-mode/
- https://www.haskell.org/haskellwiki/Emacs#Haskell-mode"
-SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.2+"
-SLOT="0"
-KEYWORDS="amd64 ppc ~sparc x86"
-
-DEPEND="sys-apps/texinfo"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="doc/haskell-mode.texi"
-DOCS="NEWS README.md"
-
-src_prepare() {
- # We install the logo in SITEETC, not in SITELISP
- # https://github.com/haskell/haskell-mode/issues/102
- sed -i -e "/defconst haskell-process-logo/{n;" \
- -e "s:(.*\"\\(.*\\)\".*):\"${SITEETC}/${PN}/\\1\":}" \
- haskell-process.el || die
-
- eapply_user
-}
-
-src_compile() {
- elisp_src_compile
- elisp-make-autoload-file haskell-site-file.el
-}
-
-src_test() {
- emake check-ert
-}
-
-src_install() {
- elisp_src_install
- insinto "${SITEETC}/${PN}"
- doins logo.svg
-}
diff --git a/app-emacs/haskell-mode/haskell-mode-17.4.ebuild b/app-emacs/haskell-mode/haskell-mode-17.4.ebuild
new file mode 100644
index 000000000000..35c5d28ea871
--- /dev/null
+++ b/app-emacs/haskell-mode/haskell-mode-17.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Mode for editing (and running) Haskell programs in Emacs"
+HOMEPAGE="https://haskell.github.io/haskell-mode/
+ https://www.haskell.org/haskellwiki/Emacs#Haskell-mode"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/haskell/${PN}.git"
+else
+ SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ppc ~sparc x86"
+fi
+
+LICENSE="GPL-3+ FDL-1.2+"
+SLOT="0"
+
+BDEPEND="sys-apps/texinfo"
+
+ELISP_REMOVE="
+ tests/haskell-cabal-tests.el
+ tests/haskell-customize-tests.el
+ tests/haskell-lexeme-tests.el
+ tests/inferior-haskell-tests.el
+"
+
+DOCS=( NEWS README.md )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ # We install the logo in SITEETC, not in SITELISP
+ # https://github.com/haskell/haskell-mode/issues/102
+ sed -i -e "/defconst haskell-process-logo/{n;" \
+ -e "s:(.*\"\\(.*\\)\".*):\"${SITEETC}/${PN}/\\1\":}" \
+ haskell-process.el || die
+
+ elisp_src_prepare
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file haskell-site-file.el
+}
+
+src_test() {
+ emake check-ert
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins logo.svg
+}
diff --git a/app-emacs/haskell-mode/haskell-mode-17.5.ebuild b/app-emacs/haskell-mode/haskell-mode-17.5.ebuild
new file mode 100644
index 000000000000..1294d64f5a26
--- /dev/null
+++ b/app-emacs/haskell-mode/haskell-mode-17.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Mode for editing (and running) Haskell programs in Emacs"
+HOMEPAGE="https://haskell.github.io/haskell-mode/
+ https://www.haskell.org/haskellwiki/Emacs#Haskell-mode"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/haskell/${PN}.git"
+else
+ SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+ FDL-1.2+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-lang/ghc )"
+BDEPEND="sys-apps/texinfo"
+
+ELISP_REMOVE="
+ tests/haskell-cabal-tests.el
+ tests/haskell-customize-tests.el
+ tests/haskell-lexeme-tests.el
+"
+
+DOCS=( NEWS README.md )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ # We install the logo in SITEETC, not in SITELISP
+ # https://github.com/haskell/haskell-mode/issues/102
+ sed -i -e "/defconst haskell-process-logo/{n;" \
+ -e "s:(.*\"\\(.*\\)\".*):\"${SITEETC}/${PN}/\\1\":}" \
+ haskell-process.el || die
+
+ elisp_src_prepare
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file haskell-site-file.el
+}
+
+src_test() {
+ emake check-ert
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins logo.svg
+}
diff --git a/app-emacs/haskell-mode/haskell-mode-9999.ebuild b/app-emacs/haskell-mode/haskell-mode-9999.ebuild
new file mode 100644
index 000000000000..3398482d5f87
--- /dev/null
+++ b/app-emacs/haskell-mode/haskell-mode-9999.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Mode for editing (and running) Haskell programs in Emacs"
+HOMEPAGE="https://haskell.github.io/haskell-mode/
+ https://www.haskell.org/haskellwiki/Emacs#Haskell-mode"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/haskell/${PN}.git"
+else
+ SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+ FDL-1.2+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-lang/ghc )"
+BDEPEND="sys-apps/texinfo"
+
+ELISP_REMOVE="
+ tests/haskell-cabal-tests.el
+ tests/haskell-customize-tests.el
+ tests/haskell-lexeme-tests.el
+"
+
+DOCS=( NEWS README.md )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ # We install the logo in SITEETC, not in SITELISP
+ # https://github.com/haskell/haskell-mode/issues/102
+ sed -i -e "/defconst haskell-process-logo/{n;" \
+ -e "s:(.*\"\\(.*\\)\".*):\"${SITEETC}/${PN}/\\1\":}" \
+ haskell-process.el || die
+
+ elisp_src_prepare
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file haskell-site-file.el
+}
+
+src_test() {
+ emake check-ert
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins logo.svg
+}
diff --git a/app-emacs/haskell-mode/metadata.xml b/app-emacs/haskell-mode/metadata.xml
index 6d8183cffbaa..33266996e71e 100644
--- a/app-emacs/haskell-mode/metadata.xml
+++ b/app-emacs/haskell-mode/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <bugs-to>https://github.com/haskell/haskell-mode/issues/</bugs-to>
<remote-id type="github">haskell/haskell-mode</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/haxe-mode/Manifest b/app-emacs/haxe-mode/Manifest
new file mode 100644
index 000000000000..6b333526a27e
--- /dev/null
+++ b/app-emacs/haxe-mode/Manifest
@@ -0,0 +1 @@
+DIST haxe-mode-0.3.3.tar.gz 16146 BLAKE2B 17a74cb363cbd4483c1a99cd94fea89dd05f034bd53d339773cd61bd2e2151b58efdf64bef12fbe05709597e5f13c450e4b5a248a8fa0e12b4d8b3500909000a SHA512 14eb2cce5cb158f8d5bab0a948ce8b66ab8cfcf858cae828ec471bf67d95181b3044ad1f2e47c03b58d81ec505c5bb2c30611b612f080a4cf6ae98f3572c41fd
diff --git a/app-emacs/haxe-mode/files/50haxe-mode-gentoo.el b/app-emacs/haxe-mode/files/50haxe-mode-gentoo.el
new file mode 100644
index 000000000000..8cb604ca7227
--- /dev/null
+++ b/app-emacs/haxe-mode/files/50haxe-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'haxe-mode "haxe-mode"
+ "Major mode for editing Haxe code." t)
+(add-to-list 'auto-mode-alist '("\\.hx\\'" . haxe-mode))
diff --git a/app-emacs/haxe-mode/haxe-mode-0.3.3.ebuild b/app-emacs/haxe-mode/haxe-mode-0.3.3.ebuild
new file mode 100644
index 000000000000..09f43e36f9ba
--- /dev/null
+++ b/app-emacs/haxe-mode/haxe-mode-0.3.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing Haxe files"
+HOMEPAGE="https://github.com/emacsorphanage/haxe-mode/"
+SRC_URI="https://github.com/emacsorphanage/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/haxe-mode/metadata.xml b/app-emacs/haxe-mode/metadata.xml
new file mode 100644
index 000000000000..19adea939501
--- /dev/null
+++ b/app-emacs/haxe-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/emacsorphanage/haxe-mode/issues/</bugs-to>
+ <remote-id type="github">emacsorphanage/haxe-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/helm-system-packages/Manifest b/app-emacs/helm-system-packages/Manifest
index 15b9df3ca308..8d848283a92f 100644
--- a/app-emacs/helm-system-packages/Manifest
+++ b/app-emacs/helm-system-packages/Manifest
@@ -1 +1,2 @@
DIST helm-system-packages-1.10.1.tar.gz 2683305 BLAKE2B 91c8d939ea04c37a07b9e9761e02e688fb3af81ead00a87ae980fd8da25bde4b87d37486ef5f612aa96723ae92419374f7d4f383784dd32c630993d95cf774d9 SHA512 2ac6daf408a408bec550ddf5469917d93b844cd66bc5567c255bc3aca9d0cc46410d1608deb15e01c5b8c9043a574415f7f848ba901a5ca59bc43deeed8283d7
+DIST helm-system-packages-1.10.2.tar.gz 2685580 BLAKE2B d8f3ea6a1a2f8e32244d85225ea35b7abee1911bc81d88590ad6ca433c8167cd1d2c413d9a656e9f98c25441e2805c565d876792f6f4ca973b1959e6abfbdd88 SHA512 291bb1a8c790b76adc78eb6537935e4ce21e7060289327f072fd4747f2db8a109c60d29c99e484e81c1abc79fb317489b8e6826aa8d8afecefc68228923ed85c
diff --git a/app-emacs/helm-system-packages/helm-system-packages-1.10.2.ebuild b/app-emacs/helm-system-packages/helm-system-packages-1.10.2.ebuild
new file mode 100644
index 000000000000..3c618395ff17
--- /dev/null
+++ b/app-emacs/helm-system-packages/helm-system-packages-1.10.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A Helm interface to the package manager of your operating system"
+HOMEPAGE="https://github.com/emacs-helm/helm-system-packages"
+SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-emacs/helm"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="readme.org"
diff --git a/app-emacs/helm/Manifest b/app-emacs/helm/Manifest
index 4c32b4b6de6f..102fbd18c966 100644
--- a/app-emacs/helm/Manifest
+++ b/app-emacs/helm/Manifest
@@ -1,2 +1,2 @@
-DIST helm-3.6.0.tar.gz 2302677 BLAKE2B e9a83a1a4f46c1256090ff458ffc3cb158aaa320a067fb1474c9f62bd0cceaf98c53191790113c8af228d8a47fc7d2585a528ffed3e6e06030a4308f9c65e095 SHA512 1cfaf5cdef9203bb92b80c684b21ec7ca92df00aa2e82815e8f39c623648232405273fb272244d7d2b2756f4699f82f93e9a669a13a71da9410f0c0f9df30393
-DIST helm-3.8.0.tar.gz 3943168 BLAKE2B cee9ed8eafdf01cb2109dcf5289522f4a0d9db9a8626097a1ffc3bdeaee792b072b7b27e635ef360815a354c9796b55fc4b3921784e2fd0d655387507df208b6 SHA512 0aec3d4270205c61cabc991dd39d5bac3b10e827f362819e9fb85880985ce2c7e7c7b8f73d2f0cde5b5c168d4b9857e0379f1e4ca9395dbd8f083c1a707ad3f2
+DIST helm-3.9.7.tar.gz 2377502 BLAKE2B e2936c7187e49909fbb6dd2bb703eeeab9d003b90a193c2fd0dc32c507d83766d38b0df1fa3d01571eac4d7c69c469a3842288dcf37e951a6d96bde7d4540242 SHA512 7f4b9020539091a2f7bb9c96602a9b6f35f44ff9ad46ffc332687704c3215cf6f394809c9794d868d246645d3192b50a5152d2b53fb1e0dcb741c23529523bd6
+DIST helm-3.9.8.tar.gz 2383635 BLAKE2B a6f1efd23ecb6b8156e46b936008de41fbc05e78fd5559a182a703cdfbec590a0409042f33e5d86f77ae969954057b4f2da7720e81db308cd3f3f301826cd9dd SHA512 ce574bb4e1534edc3442adb8b2257fe4e072db9736cc4e265f34e0b6aebd08cf4c599058755a4c453ba14dfa48499c423e549d1189f708b7fa2f048a229ada8f
diff --git a/app-emacs/helm/files/helm-3.6.0-no-autoload-check.patch b/app-emacs/helm/files/helm-3.6.0-no-autoload-check.patch
deleted file mode 100644
index 463cc8ccbacf..000000000000
--- a/app-emacs/helm/files/helm-3.6.0-no-autoload-check.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/800177
-
---- helm-3.6.0/emacs-helm.sh
-+++ helm-3.6.0/emacs-helm.sh
-@@ -137,19 +137,6 @@
-
- cd "${0%/*}" || exit 1
-
--# Check if autoload file exists.
--# It may be in a different directory if emacs-helm.sh is a symlink.
--TRUENAME=$(find . -samefile "$0" -printf "%l")
--if [ ! -z "$TRUENAME" ]; then
-- AUTO_FILE="${TRUENAME%/*}/helm-autoloads.el"
--else
-- AUTO_FILE="helm-autoloads.el"
--fi
--if [ ! -e "$AUTO_FILE" ]; then
-- echo No autoloads found, please run make first to generate autoload file
-- exit 1
--fi
--
-
- cat > $CONF_FILE <<EOF
- (setq initial-scratch-message (concat initial-scratch-message
diff --git a/app-emacs/helm/files/helm-3.8.0-no-autoload-check.patch b/app-emacs/helm/files/helm-3.8.0-no-autoload-check.patch
deleted file mode 100644
index 4b415088dcc6..000000000000
--- a/app-emacs/helm/files/helm-3.8.0-no-autoload-check.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/800177
-
---- helm-3.8.0/emacs-helm.sh
-+++ helm-3.8.0/emacs-helm.sh
-@@ -137,19 +137,6 @@
-
- cd "${0%/*}" || exit 1
-
--# Check if autoload file exists.
--# It may be in a different directory if emacs-helm.sh is a symlink.
--TRUENAME=$(ls -l "$0" | awk '{print $11}')
--if [ ! -z "$TRUENAME" ]; then
-- AUTO_FILE="${TRUENAME%/*}/helm-autoloads.el"
--else
-- AUTO_FILE="helm-autoloads.el"
--fi
--if [ ! -e "$AUTO_FILE" ]; then
-- echo No autoloads found, please run make first to generate autoload file
-- exit 1
--fi
--
-
- cat > $CONF_FILE <<EOF
- (setq initial-scratch-message (concat initial-scratch-message
diff --git a/app-emacs/helm/files/helm-3.8.8-no-autoload-check.patch b/app-emacs/helm/files/helm-3.8.8-no-autoload-check.patch
new file mode 100644
index 000000000000..01ef1a169686
--- /dev/null
+++ b/app-emacs/helm/files/helm-3.8.8-no-autoload-check.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/800177
+
+--- a/emacs-helm.sh
++++ b/emacs-helm.sh
+@@ -137,19 +137,6 @@ LOAD_PATH=$($EMACS -q -batch --eval "(prin1 load-path)")
+
+ cd "${0%/*}" || exit 1
+
+-# Check if autoload file exists.
+-# It may be in a different directory if emacs-helm.sh is a symlink.
+-TRUENAME=$(find "${0%/*}" -path "$0" -printf "%l")
+-if [ -n "$TRUENAME" ]; then
+- AUTO_FILE="${TRUENAME%/*}/helm-autoloads.el"
+-else
+- AUTO_FILE="helm-autoloads.el"
+-fi
+-if [ ! -e "$AUTO_FILE" ]; then
+- echo No autoloads found, please run make first to generate autoload file
+- exit 1
+-fi
+-
+
+ cat > $CONF_FILE <<EOF
+ (setq initial-scratch-message (concat initial-scratch-message
diff --git a/app-emacs/helm/helm-3.6.0-r1.ebuild b/app-emacs/helm/helm-3.6.0-r1.ebuild
deleted file mode 100644
index 2a631cd56862..000000000000
--- a/app-emacs/helm/helm-3.6.0-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Emacs incremental completion and selection narrowing framework"
-HOMEPAGE="https://emacs-helm.github.io/helm/"
-SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="app-emacs/async
- app-emacs/popup"
-BDEPEND="${RDEPEND}"
-
-PATCHES="${FILESDIR}/${P}-no-autoload-check.patch"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
-
-src_install() {
- elisp_src_install
- dobin emacs-helm.sh
-}
diff --git a/app-emacs/helm/helm-3.8.0.ebuild b/app-emacs/helm/helm-3.8.0.ebuild
deleted file mode 100644
index c7df4d68e4d9..000000000000
--- a/app-emacs/helm/helm-3.8.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-DESCRIPTION="Emacs incremental completion and selection narrowing framework"
-HOMEPAGE="https://emacs-helm.github.io/helm/"
-SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="app-emacs/async
- app-emacs/popup"
-BDEPEND="${RDEPEND}"
-
-PATCHES="${FILESDIR}/${P}-no-autoload-check.patch"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
-
-src_install() {
- elisp_src_install
- dobin emacs-helm.sh
-}
diff --git a/app-emacs/helm/helm-3.9.7.ebuild b/app-emacs/helm/helm-3.9.7.ebuild
new file mode 100644
index 000000000000..5682f2edbfdf
--- /dev/null
+++ b/app-emacs/helm/helm-3.9.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs incremental completion and selection narrowing framework"
+HOMEPAGE="https://emacs-helm.github.io/helm/
+ https://github.com/emacs-helm/helm/"
+SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ app-emacs/async
+ app-emacs/popup
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.8.8-no-autoload-check.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ exeinto /usr/bin/
+ doexe emacs-helm.sh
+}
diff --git a/app-emacs/helm/helm-3.9.8.ebuild b/app-emacs/helm/helm-3.9.8.ebuild
new file mode 100644
index 000000000000..29c9049d8925
--- /dev/null
+++ b/app-emacs/helm/helm-3.9.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs incremental completion and selection narrowing framework"
+HOMEPAGE="https://emacs-helm.github.io/helm/
+ https://github.com/emacs-helm/helm/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-helm/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/async
+ app-emacs/popup
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.8.8-no-autoload-check.patch" )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile *.el
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ exeinto /usr/bin/
+ doexe emacs-helm.sh
+}
diff --git a/app-emacs/hexrgb/files/50hexrgb-gentoo.el b/app-emacs/hexrgb/files/50hexrgb-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/hexrgb/files/50hexrgb-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/highlight-indentation/Manifest b/app-emacs/highlight-indentation/Manifest
new file mode 100644
index 000000000000..1d11c3b65acf
--- /dev/null
+++ b/app-emacs/highlight-indentation/Manifest
@@ -0,0 +1 @@
+DIST highlight-indentation-0.7.0_p20210221.tar.gz 3848 BLAKE2B f337a9a326e3b246f31a5067a90c2f7227c2433524e82612e96d94c288d44bf353b20815d9b83647d73f37a6152ceda13d75a610b8c1fdfa89a33ec7f5d580e1 SHA512 44d2701d18d0df4a4beb29b6c710048496e7ce4cce3ab90ae06c17862ee86e5a67ef6eb6f66f7e4b8d3a6785560616827519ac9287ce4380ca59b3f4713c3164
diff --git a/app-emacs/highlight-indentation/files/50highlight-indentation-gentoo.el b/app-emacs/highlight-indentation/files/50highlight-indentation-gentoo.el
new file mode 100644
index 000000000000..a83ebf0e0a8e
--- /dev/null
+++ b/app-emacs/highlight-indentation/files/50highlight-indentation-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'highlight-indentation-mode "highlight-indentation"
+ "Highlight indentation minor mode highlights indentation based on spaces." t)
+(autoload 'highlight-indentation-current-column-mode "highlight-indentation"
+ "Highlight Indentation minor mode displays a vertical bar." t)
diff --git a/app-emacs/highlight-indentation/highlight-indentation-0.7.0_p20210221.ebuild b/app-emacs/highlight-indentation/highlight-indentation-0.7.0_p20210221.ebuild
new file mode 100644
index 000000000000..0f16929dd872
--- /dev/null
+++ b/app-emacs/highlight-indentation/highlight-indentation-0.7.0_p20210221.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=d88db4248882da2d4316e76ed673b4ac1fa99ce3
+MY_PN=Highlight-Indentation-for-Emacs
+
+inherit elisp
+
+DESCRIPTION="Minor modes to highlight indentation guides in Emacs"
+HOMEPAGE="https://github.com/antonj/Highlight-Indentation-for-Emacs/"
+SRC_URI="https://github.com/antonj/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${MY_PN}-${COMMIT}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/highlight-indentation/metadata.xml b/app-emacs/highlight-indentation/metadata.xml
new file mode 100644
index 000000000000..9d884da68760
--- /dev/null
+++ b/app-emacs/highlight-indentation/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/antonj/Highlight-Indentation-for-Emacs/issues/</bugs-to>
+ <remote-id type="github">antonj/Highlight-Indentation-for-Emacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/highline/highline-7.2.2.ebuild b/app-emacs/highline/highline-7.2.2.ebuild
index e4fc90bd7b45..48a3372902cf 100644
--- a/app-emacs/highline/highline-7.2.2.ebuild
+++ b/app-emacs/highline/highline-7.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ppc ~s390 ~sparc x86"
+KEYWORDS="amd64 ppc ~sparc x86"
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/hl-todo/Manifest b/app-emacs/hl-todo/Manifest
new file mode 100644
index 000000000000..745971685680
--- /dev/null
+++ b/app-emacs/hl-todo/Manifest
@@ -0,0 +1,2 @@
+DIST hl-todo-3.5.0.tar.gz 18295 BLAKE2B 1e67083cb2d772d13d0503a38d3a54ac0d9f1185e3474d13138f52762b7c46f0f378027d7ec7af27f4f47de3a3999e058e2364ea4ba25dd9f2d1d40dd18ae45d SHA512 260f9e556532ef96a58caf206f6ad7ad23110093f79ae1382c24d42a6edeb43f46b47074d1335dfc579d5fc430f6e58c1f812ca12d220538e71bfebe8da7c4d9
+DIST hl-todo-3.6.0.tar.gz 19121 BLAKE2B b03361e82b31bcf3b19549be2f2eccb272094798c17bb0f19152486ae3e7b09f812c0ef6ec1a67a5a73254db9e41af26038f7b3058f5e6615f7d10eb57b8a863 SHA512 26dd37338bd2121695e4041fce024fd9905b1da57811dc8ca42df28fa3f1d3cfeb83509aae77a2f05a3f1c96036e1cdd7fba9d4424291c3121308fd01afaf9f1
diff --git a/app-emacs/hl-todo/files/50hl-todo-gentoo.el b/app-emacs/hl-todo/files/50hl-todo-gentoo.el
new file mode 100644
index 000000000000..6113e6cc3263
--- /dev/null
+++ b/app-emacs/hl-todo/files/50hl-todo-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'hl-todo-mode "hl-todo" "Highlight TODO keywords" t)
+(autoload 'global-hl-todo-mode "hl-todo" "Highlight TODO keywords globally" t)
diff --git a/app-emacs/hl-todo/hl-todo-3.5.0.ebuild b/app-emacs/hl-todo/hl-todo-3.5.0.ebuild
new file mode 100644
index 000000000000..34d06cf8e099
--- /dev/null
+++ b/app-emacs/hl-todo/hl-todo-3.5.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highlight TODO and similar keywords in comments and strings"
+HOMEPAGE="https://github.com/tarsius/hl-todo/"
+SRC_URI="https://github.com/tarsius/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/hl-todo/hl-todo-3.6.0.ebuild b/app-emacs/hl-todo/hl-todo-3.6.0.ebuild
new file mode 100644
index 000000000000..34d06cf8e099
--- /dev/null
+++ b/app-emacs/hl-todo/hl-todo-3.6.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highlight TODO and similar keywords in comments and strings"
+HOMEPAGE="https://github.com/tarsius/hl-todo/"
+SRC_URI="https://github.com/tarsius/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/hl-todo/metadata.xml b/app-emacs/hl-todo/metadata.xml
new file mode 100644
index 000000000000..e2e03cb9d211
--- /dev/null
+++ b/app-emacs/hl-todo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">tarsius/hl-todo</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/howm/Manifest b/app-emacs/howm/Manifest
index b28a12732bf4..7671cf55e923 100644
--- a/app-emacs/howm/Manifest
+++ b/app-emacs/howm/Manifest
@@ -1 +1 @@
-DIST howm-1.4.5.tar.gz 565221 BLAKE2B a28e98e9b955c6172c7b9e51d8f157e22e87846cb2a2955d956f434c2a36fad7e0692c951ef3d37f57363d500d118c2eeaad55276656a8e543b72b8276317fa4 SHA512 b448bf8caeaf21bf1980862ed12541bd793369494a3e321bc5b77bb99ef63cc5ed2f70c54eaa60b427489e9b3fa9b0037d5cbe06449f87af924f245b7f8f2615
+DIST howm-1.5.0.tar.gz 569867 BLAKE2B 68e4be1a808bea2f52167a9bea954e9d4036a6910525b01433e91e4f6ffbb9c0ec918d50a5b97544d88da651c905dcf56356dc6b8968b77522c0df2f8add5b2d SHA512 104be07b5167ce05dc794a4029c1ee35f8471f9fa406be3eba3565362a1685b9859b73de422ad43339db9f0f89245aa7a3838129996405d5b3f6fd633c3303bc
diff --git a/app-emacs/howm/howm-1.4.5.ebuild b/app-emacs/howm/howm-1.4.5.ebuild
deleted file mode 100644
index ee09504fcabd..000000000000
--- a/app-emacs/howm/howm-1.4.5.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Note-taking tool on Emacs"
-HOMEPAGE="https://howm.sourceforge.jp/"
-SRC_URI="http://howm.sourceforge.jp/a/${P}.tar.gz"
-
-LICENSE="GPL-1+ GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- default
-}
-
-src_compile() {
- emake -j1 </dev/null
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install </dev/null
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc ChangeLog
-}
diff --git a/app-emacs/howm/howm-1.5.0.ebuild b/app-emacs/howm/howm-1.5.0.ebuild
new file mode 100644
index 000000000000..6288cb595975
--- /dev/null
+++ b/app-emacs/howm/howm-1.5.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Note-taking tool on Emacs"
+HOMEPAGE="https://howm.sourceforge.jp/"
+SRC_URI="http://howm.sourceforge.jp/a/${P}.tar.gz"
+
+LICENSE="GPL-1+ GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ econf \
+ --with-emacs \
+ --with-lispdir="${SITELISP}" \
+ EMACS="${EMACS} --no-site-file"
+}
+
+src_compile() {
+ emake -j1 EMACS="${EMACS} --no-site-file" </dev/null
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install </dev/null
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc ChangeLog
+}
diff --git a/app-emacs/howm/metadata.xml b/app-emacs/howm/metadata.xml
index ed6fc8964aba..2b4e7aa7a84a 100644
--- a/app-emacs/howm/metadata.xml
+++ b/app-emacs/howm/metadata.xml
@@ -7,6 +7,6 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="sourceforge-jp">howm</remote-id>
+ <remote-id type="osdn">howm</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/ht/Manifest b/app-emacs/ht/Manifest
new file mode 100644
index 000000000000..08d6fee7e9e9
--- /dev/null
+++ b/app-emacs/ht/Manifest
@@ -0,0 +1 @@
+DIST ht-2.3.tar.gz 8890 BLAKE2B 661163b22e4910ebf0116c22e8a3972def74bc88b467cd70118174ce6bf07cd225007bea9859c8379a46389088792fbbb9985ccf8da89c04c1ad556b3b99cccc SHA512 c66ef8c05a6b164728f1d61e7d4298a5f30545fb57a90dd7ff0d382be2ef083da8a60bfbf2da225e670bf25b98d938afa1c8ac7e5cd1dbd8486d7981ab31c7a2
diff --git a/app-emacs/ht/files/50ht-gentoo.el b/app-emacs/ht/files/50ht-gentoo.el
new file mode 100644
index 000000000000..27c5fc4bb404
--- /dev/null
+++ b/app-emacs/ht/files/50ht-gentoo.el
@@ -0,0 +1,4 @@
+;;; ht site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
diff --git a/app-emacs/ht/ht-2.3.ebuild b/app-emacs/ht/ht-2.3.ebuild
new file mode 100644
index 000000000000..57af14755328
--- /dev/null
+++ b/app-emacs/ht/ht-2.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="The missing hash table library for Emacs"
+HOMEPAGE="https://github.com/Wilfred/ht.el"
+SRC_URI="https://github.com/Wilfred/ht.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ht.el-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-emacs/dash-2.12.0
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/f
+ app-emacs/ert-runner
+ )
+"
+
+DOCS="CHANGELOG.md README.md"
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner --reporter ert+duration --script || die
+}
diff --git a/app-emacs/ht/metadata.xml b/app-emacs/ht/metadata.xml
new file mode 100644
index 000000000000..295f15c6108f
--- /dev/null
+++ b/app-emacs/ht/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">Wilfred/ht.el</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/htmlize/Manifest b/app-emacs/htmlize/Manifest
index 5eedb9d1b510..3adc75deeceb 100644
--- a/app-emacs/htmlize/Manifest
+++ b/app-emacs/htmlize/Manifest
@@ -1,2 +1 @@
-DIST htmlize-1.54.tar.gz 51401 BLAKE2B 8c00c1482fa1dff852d0e0c51d0c6a337878418dd84fdf1c2522d937a4e2181766e23302936bb1e9f774b883ad3df4295897a1aaabfaea802457aa096a0ab337 SHA512 ddd256162760fc1e6e08eaf4cd44ec987bf2c49ef61d23798923ba0bd241a16aab02cab77ca7524169796453d44951257acd9bda58c055be80d9612bbfff10f7
-DIST htmlize-1.55.tar.gz 51027 BLAKE2B eaba0638b58a1cc1ae2d6540505271f69e9037617abb07e436e1eef6dd6eaab44b942a68b86dacdc5721c09bf1a73db1a5a0944d6ca8984d3351a1109665b5b9 SHA512 b0f0801955188a4afb41863d8b25ff09cb934c9d33c6885e0efc229dad04cad7ea0b3ff95d381d4738c634a3ade71b524aa06abeac04b47ed7367d5c0e60caad
+DIST htmlize-1.56.tar.gz 50922 BLAKE2B 645a1ceb272711346c9175f06e13821afb056de4a43a309d96b51ef78ca75e662252286f40445cdec2273ab7734045aeec43c9cb9ed451cda76eea6606433411 SHA512 8788fde3cefb27fd82d5859593bbfc9250f9e60962e48eaa79b9c54bcd31574953a4131ce2d562efa2f59a5d725183a851075cd2c868891bf3f810607a2da57e
diff --git a/app-emacs/htmlize/htmlize-1.54.ebuild b/app-emacs/htmlize/htmlize-1.54.ebuild
deleted file mode 100644
index e98b61f51aa4..000000000000
--- a/app-emacs/htmlize/htmlize-1.54.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_PN="emacs-${PN}"
-DESCRIPTION="HTML-ize font-lock buffers in Emacs"
-HOMEPAGE="https://www.emacswiki.org/emacs/Htmlize
- https://github.com/hniksic/emacs-htmlize"
-SRC_URI="https://github.com/hniksic/${MY_PN}/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-S="${WORKDIR}/${MY_PN}-release-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md NEWS"
diff --git a/app-emacs/htmlize/htmlize-1.55.ebuild b/app-emacs/htmlize/htmlize-1.55.ebuild
deleted file mode 100644
index bfd72c3baee5..000000000000
--- a/app-emacs/htmlize/htmlize-1.55.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_PN="emacs-${PN}"
-DESCRIPTION="HTML-ize font-lock buffers in Emacs"
-HOMEPAGE="https://www.emacswiki.org/emacs/Htmlize
- https://github.com/hniksic/emacs-htmlize"
-SRC_URI="https://github.com/hniksic/${MY_PN}/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-S="${WORKDIR}/${MY_PN}-release-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md NEWS"
diff --git a/app-emacs/htmlize/htmlize-1.56.ebuild b/app-emacs/htmlize/htmlize-1.56.ebuild
new file mode 100644
index 000000000000..2e7c99ec58a9
--- /dev/null
+++ b/app-emacs/htmlize/htmlize-1.56.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_PN="emacs-${PN}"
+DESCRIPTION="HTML-ize font-lock buffers in Emacs"
+HOMEPAGE="https://www.emacswiki.org/emacs/Htmlize
+ https://github.com/hniksic/emacs-htmlize"
+SRC_URI="https://github.com/hniksic/${MY_PN}/archive/release/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+S="${WORKDIR}/${MY_PN}-release-${PV}"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md NEWS"
diff --git a/app-emacs/htmlize/metadata.xml b/app-emacs/htmlize/metadata.xml
index 986088003fe1..6a98498e19cb 100644
--- a/app-emacs/htmlize/metadata.xml
+++ b/app-emacs/htmlize/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">hniksic/emacs-htmlize</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/httpd/files/50httpd-gentoo.el b/app-emacs/httpd/files/50httpd-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/httpd/files/50httpd-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/hydra/Manifest b/app-emacs/hydra/Manifest
new file mode 100644
index 000000000000..056b7d9a81d9
--- /dev/null
+++ b/app-emacs/hydra/Manifest
@@ -0,0 +1 @@
+DIST hydra-0.15.0.tar.gz 36150 BLAKE2B 6e7d1ed6501d5b0fb40f3545d61469e461363dc7ec8900c7c697116cb19704529acfd9e886a1fef09ae50dfd68666e6455c62447140f55b1f4651490855c2b3a SHA512 815a8c425aaeb4d2aeb5d9faa0f66a41e37420b8e9435d93b9e78913c0e0722d1e39cad2e8f4bc12cfe34dad2e3fc1290b23d816181b12fd093f9e4d9d37e814
diff --git a/app-emacs/hydra/hydra-0.15.0.ebuild b/app-emacs/hydra/hydra-0.15.0.ebuild
new file mode 100644
index 000000000000..dcfd674f615e
--- /dev/null
+++ b/app-emacs/hydra/hydra-0.15.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Make Emacs bindings that stick around"
+HOMEPAGE="https://github.com/abo-abo/hydra/"
+SRC_URI="https://github.com/abo-abo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+
+RDEPEND="app-emacs/lv"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md doc/Changelog.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ rm hydra-test.el{,c} lv.el{,c} || die
+ elisp_src_install
+}
diff --git a/app-emacs/hydra/metadata.xml b/app-emacs/hydra/metadata.xml
new file mode 100644
index 000000000000..45793d9ecde0
--- /dev/null
+++ b/app-emacs/hydra/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/abo-abo/hydra/master/doc/Changelog.org</changelog>
+ <bugs-to>https://github.com/abo-abo/hydra/issues/</bugs-to>
+ <remote-id type="github">abo-abo/hydra</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/icicles/Manifest b/app-emacs/icicles/Manifest
index f1ae1b761b6e..625ea12d5fb3 100644
--- a/app-emacs/icicles/Manifest
+++ b/app-emacs/icicles/Manifest
@@ -1 +1,2 @@
DIST icicles-2018.02.13.23733.tar.xz 697112 BLAKE2B 63b60a74cfcc5b855e9ffbf7a91d0cb561c46ef1a93fb1baca00a0a5462326da983c734bef1943c0f17583aeb065d8fd5d88769eec2dc35f36a59ea4ff86609b SHA512 6c5d2270c735fafa8e2180134fbe7175e1c99cb6ae904a70dbdf1144293bd1ffa84d9e81b1c1b03296348a6b31ebab62ea7981a4b7f5be8bb5238bd143ccb3c0
+DIST icicles-2018.10.15.23738.tar.gz 1007149 BLAKE2B 34cdae2e247fafab9bb6d5472ed15cf108fd0b008a8f19de1742dfe590ff5b1483c5f28eb8e75b92a32c223dfec67d4601ed3392cda5162d1ea84c9d1f940321 SHA512 ede403a53d44451e4f62f54f7da27c6a5632827c4f1985c153f7d03a1b8ea920238dc9ba78896fc416115f53187a6b6d9a0171f8a91fbc7605462eba48e3f5cc
diff --git a/app-emacs/icicles/files/icicles-2018.10.15.23738-emacs-28.patch b/app-emacs/icicles/files/icicles-2018.10.15.23738-emacs-28.patch
new file mode 100644
index 000000000000..32d1a583c018
--- /dev/null
+++ b/app-emacs/icicles/files/icicles-2018.10.15.23738-emacs-28.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/836773
+
+--- icicles/icicles-fn.el
++++ icicles/icicles-fn.el
+@@ -4264,7 +4264,7 @@
+
+
+ (defalias 'icicle-scatter 'icicle-scatter-re)
+-(make-obsolete 'icicle-scatter 'icicle-scatter-re) ; 2018-01-14
++(make-obsolete 'icicle-scatter 'icicle-scatter-re "2018-01-14")
+
+ (defun icicle-scatter-re (string)
+ "Returns a regexp that matches a scattered version of STRING.
diff --git a/app-emacs/icicles/icicles-2018.10.15.23738.ebuild b/app-emacs/icicles/icicles-2018.10.15.23738.ebuild
new file mode 100644
index 000000000000..22221be4fa00
--- /dev/null
+++ b/app-emacs/icicles/icicles-2018.10.15.23738.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+COMMIT="9e9c37d2a54771c635d00d1fe171cef5eab4d95d"
+DESCRIPTION="Minibuffer input completion and cycling"
+HOMEPAGE="https://www.emacswiki.org/emacs/Icicles"
+# Snapshot of https://github.com/emacsmirror/icicles.git
+# PV is <Version>.<Update #> from header of icicles.el
+SRC_URI="https://github.com/emacsmirror/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${P}-emacs-28.patch )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/indent-bars/Manifest b/app-emacs/indent-bars/Manifest
new file mode 100644
index 000000000000..4397228c1d6f
--- /dev/null
+++ b/app-emacs/indent-bars/Manifest
@@ -0,0 +1 @@
+DIST indent-bars-0.2.tar.gz 33072 BLAKE2B b5f0b80f1b4291c19fec603a5610ae020ae1cd1531278c5eedf814c3aae4be76d5731b553220314ef67f785f1822c7861e088a5ec163505d9303e9ec2c5fda5c SHA512 e5eab37d5963855948efdd9739a44306c60fafef0cd589edcb6550ff52a4e6a0e403bde8124838d250c1bb78aff0bfbfa1e45275458af3e0ae00472628981b1b
diff --git a/app-emacs/indent-bars/files/50indent-bars-gentoo.el b/app-emacs/indent-bars/files/50indent-bars-gentoo.el
new file mode 100644
index 000000000000..b824a0f5f34a
--- /dev/null
+++ b/app-emacs/indent-bars/files/50indent-bars-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'indent-bars-mode "indent-bars" "" t)
diff --git a/app-emacs/indent-bars/indent-bars-0.2-r1.ebuild b/app-emacs/indent-bars/indent-bars-0.2-r1.ebuild
new file mode 100644
index 000000000000..59407095b39d
--- /dev/null
+++ b/app-emacs/indent-bars/indent-bars-0.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Fast, configurable indentation guide-bars for Emacs"
+HOMEPAGE="https://github.com/jdtsmith/indent-bars/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jdtsmith/${PN}.git"
+else
+ SRC_URI="https://github.com/jdtsmith/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/compat
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( README.md examples.md )
diff --git a/app-emacs/indent-bars/metadata.xml b/app-emacs/indent-bars/metadata.xml
new file mode 100644
index 000000000000..407b662f5696
--- /dev/null
+++ b/app-emacs/indent-bars/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jdtsmith/indent-bars</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/inf-clojure/Manifest b/app-emacs/inf-clojure/Manifest
new file mode 100644
index 000000000000..142de85d6029
--- /dev/null
+++ b/app-emacs/inf-clojure/Manifest
@@ -0,0 +1 @@
+DIST inf-clojure-3.2.1.tar.gz 30970 BLAKE2B b18a3e26dd7641c5c967d82d6c2e604a4c9df34fd0acd93a3bf04216981ea059f9482f9573a7ae1c0783b02659d741d812ab18c863dc710d74a6fd4c87713fce SHA512 45dc4c8b1b31a96ce74a90b07196bc24a2f9e97b210b0c9a9ae8aaae79d55f77677b584e6d7085ca33d4b1f4f964d2f418b2e321dd2f8cbc5cd07703d2d568d9
diff --git a/app-emacs/inf-clojure/files/50inf-clojure-gentoo.el b/app-emacs/inf-clojure/files/50inf-clojure-gentoo.el
new file mode 100644
index 000000000000..429d08e1fcb9
--- /dev/null
+++ b/app-emacs/inf-clojure/files/50inf-clojure-gentoo.el
@@ -0,0 +1,6 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'inf-clojure "inf-clojure"
+ "Run an inferior Clojure process" t)
+(autoload 'inf-clojure-minor-mode "inf-clojure"
+ "Minor mode for interacting with the inferior Clojure process buffer." t)
+(add-hook 'clojure-mode-hook #'inf-clojure-minor-mode)
diff --git a/app-emacs/inf-clojure/inf-clojure-3.2.1.ebuild b/app-emacs/inf-clojure/inf-clojure-3.2.1.ebuild
new file mode 100644
index 000000000000..992e16d87fd9
--- /dev/null
+++ b/app-emacs/inf-clojure/inf-clojure-3.2.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for Clojure code"
+HOMEPAGE="https://github.com/clojure-emacs/inf-clojure/"
+SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-emacs/clojure-mode"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/assess
+ app-emacs/buttercup
+ )
+"
+
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ # Silence a failing test (mark as "PENDING").
+ sed "s|it \"computes no bounds|xit \"computes no bounds|" \
+ -i test/${PN}-tests.el || die
+}
+
+src_test() {
+ buttercup -L . -L test --traceback full || die
+}
diff --git a/app-emacs/inf-clojure/metadata.xml b/app-emacs/inf-clojure/metadata.xml
new file mode 100644
index 000000000000..d7c53d01a39d
--- /dev/null
+++ b/app-emacs/inf-clojure/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package provides basic interaction with a Clojure subprocess (REPL).
+ It's based on ideas from the popular inferior-lisp package. inf-clojure has
+ two components - a nice REPL buffer (inf-clojure) and a REPL interaction
+ minor mode (inf-clojure-minor-mode), which extends clojure-mode with
+ commands to evaluate forms directly in the REPL.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/clojure-emacs/inf-clojure/issues/</bugs-to>
+ <remote-id type="github">clojure-emacs/inf-clojure</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ivy-rich/Manifest b/app-emacs/ivy-rich/Manifest
new file mode 100644
index 000000000000..dd9bd16d1f21
--- /dev/null
+++ b/app-emacs/ivy-rich/Manifest
@@ -0,0 +1 @@
+DIST ivy-rich-0.1.7.tar.gz 605948 BLAKE2B eb5c59c32821657e65d7c361d0d4090d9d00ab6ffe12224c57fc978e46583f9b0daa9506ae4972082443005dd633c659014e02de5d514f4c1dba41b8697be365 SHA512 f702f4e6e10715cf76382e93354d37a8c09d6eb5bd23091002d26a2bff817354e995a8c23e64ed9e9026c33364dfaed2ca88f2c2c748c3faf63d3d7c133d79a3
diff --git a/app-emacs/ivy-rich/files/50ivy-rich-gentoo.el b/app-emacs/ivy-rich/files/50ivy-rich-gentoo.el
new file mode 100644
index 000000000000..ee705d5c9fc7
--- /dev/null
+++ b/app-emacs/ivy-rich/files/50ivy-rich-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ivy-rich-mode "ivy-rich"
+ "Toggle ivy-rich mode globally." t)
diff --git a/app-emacs/ivy-rich/ivy-rich-0.1.7.ebuild b/app-emacs/ivy-rich/ivy-rich-0.1.7.ebuild
new file mode 100644
index 000000000000..21a5c4c51d99
--- /dev/null
+++ b/app-emacs/ivy-rich/ivy-rich-0.1.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="More friendly interface for ivy"
+HOMEPAGE="https://github.com/Yevgnen/ivy-rich/"
+SRC_URI="https://github.com/Yevgnen/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/ivy"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org screenshots.org screenshots )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ivy-rich/metadata.xml b/app-emacs/ivy-rich/metadata.xml
new file mode 100644
index 000000000000..517c4226ea2d
--- /dev/null
+++ b/app-emacs/ivy-rich/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Yevgnen/ivy-rich/issues/</bugs-to>
+ <remote-id type="github">Yevgnen/ivy-rich</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ivy/Manifest b/app-emacs/ivy/Manifest
new file mode 100644
index 000000000000..74a1b19737be
--- /dev/null
+++ b/app-emacs/ivy/Manifest
@@ -0,0 +1 @@
+DIST swiper-0.14.2.tar.gz 250059 BLAKE2B 8a5437726c729398a689266d138f271f5f7329f9c58613c4e0cfabd16b99421035c4b522d0ea4c60c0369362cb076bcae05ff4155d33d186172fd0ac2258495d SHA512 e125a3747abc4e6ecc98f539cf5dde11851d6c8a58b8988e165300bce7822fc91257cae09c973bd43435fb08dc24af9a1bd4b3e51083b45654b1605d80973d74
diff --git a/app-emacs/ivy/files/50ivy-gentoo.el b/app-emacs/ivy/files/50ivy-gentoo.el
new file mode 100644
index 000000000000..f9115d44c43a
--- /dev/null
+++ b/app-emacs/ivy/files/50ivy-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ivy-mode "ivy"
+ "Toggle Ivy mode on or off." t)
diff --git a/app-emacs/ivy/ivy-0.14.2.ebuild b/app-emacs/ivy/ivy-0.14.2.ebuild
new file mode 100644
index 000000000000..73d043065bff
--- /dev/null
+++ b/app-emacs/ivy/ivy-0.14.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Generic completion mechanism for Emacs"
+HOMEPAGE="https://github.com/abo-abo/swiper/"
+SRC_URI="https://github.com/abo-abo/swiper/archive/${PV}.tar.gz
+ -> swiper-${PV}.tar.gz"
+S="${WORKDIR}"/swiper-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS=( CONTRIBUTING.org README.md doc/{Changelog,ivy-help,ivy}.org )
+SITEFILE="50${PN}-gentoo.el"
+
+# Main Ivy sources. Swiper, Counsel and Ivy extensions have their own packages.
+IVY_SOURCES=( colir.el ivy{,-overlay,-faces}.el )
+
+src_prepare() {
+ elisp_src_prepare
+
+ # Wipe "elpa.el" to prevent initialization of the "package" library.
+ [[ ! -f elpa.el ]] && die "no \"elpa.el\" found"
+ echo "" > elpa.el || die "failed to wipe \"elpa.el\""
+}
+
+src_compile() {
+ elisp-compile ${IVY_SOURCES[@]}
+ emake -C doc ivy.info
+}
+
+src_test() {
+ emake emacs="${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS}" test
+}
+
+src_install() {
+ elisp-install ${PN} ${IVY_SOURCES[@]} *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ doinfo doc/ivy.info
+ einstalldocs
+}
diff --git a/app-emacs/ivy/metadata.xml b/app-emacs/ivy/metadata.xml
new file mode 100644
index 000000000000..a545a2598b22
--- /dev/null
+++ b/app-emacs/ivy/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/abo-abo/swiper/master/doc/Changelog.org</changelog>
+ <bugs-to>https://github.com/abo-abo/swiper/issues/</bugs-to>
+ <remote-id type="github">abo-abo/swiper</remote-id>
+ <doc lang="en">https://oremacs.com/swiper/</doc>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/jasmin/jasmin-1.2-r2.ebuild b/app-emacs/jasmin/jasmin-1.2-r2.ebuild
index ad1f03ec4821..1afcf582c5d5 100644
--- a/app-emacs/jasmin/jasmin-1.2-r2.ebuild
+++ b/app-emacs/jasmin/jasmin-1.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,6 +11,6 @@ SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~s390 x86"
+KEYWORDS="~alpha amd64 x86"
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/jde/Manifest b/app-emacs/jde/Manifest
deleted file mode 100644
index 8bf849d51654..000000000000
--- a/app-emacs/jde/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jdee-2.4.1.tar.xz 2742232 BLAKE2B f022cb55583acc7846bc04b59e843050947819c6bb2494bbe08ac3895c15d914df28d3c3a50cfd945efa7ed507cda9906a42866c85463907544095377cc1bf07 SHA512 5ce5f0f84b2502e9af808f33210511e8b7682902b1f342d678fe42dd8f9f3690b90ef7bb22583550eb769818782c50f545d6baf47b52bc7f4502fab411ab5359
diff --git a/app-emacs/jde/files/70jde-gentoo.el b/app-emacs/jde/files/70jde-gentoo.el
deleted file mode 100644
index c7fff6a61b4d..000000000000
--- a/app-emacs/jde/files/70jde-gentoo.el
+++ /dev/null
@@ -1,10 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(require 'jde-autoload)
-
-(setq jde-java-directory "/usr/share/jde")
-(setq jde-bsh-jar-file "@BSH_JAR@")
-(setq jde-checkstyle-jar-file "@CHECKSTYLE_JAR@")
-(setq jde-checkstyle-style "/usr/share/checkstyle/checks/sun_checks.xml")
-(setq jde-html-directory "/usr/share/doc/@PF@/html")
-(setq bsh-html-directory "/usr/share/doc/@PF@/html")
-(setq jde-check-version-flag nil)
diff --git a/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch b/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch
deleted file mode 100644
index 47fdd4e11e47..000000000000
--- a/app-emacs/jde/files/jde-2.4.0.1-classpath-gentoo.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Initialise classpath for beanshell and checkstyle using java-config.
-Gentoo specific patch.
-
---- jde-orig/lisp/beanshell.el
-+++ jde/lisp/beanshell.el
-@@ -809,6 +809,14 @@
- "BeanShell intended to be used independently of any other
- Emacs package.")
-
-+(defun bsh-get-gentoo-classpath ()
-+ (or bsh-classpath
-+ (with-temp-buffer
-+ (call-process "java-config" nil t nil "-d" "-p" "bsh")
-+ (skip-chars-backward "\n")
-+ (setq bsh-classpath
-+ (split-string (buffer-substring (point-min) (point)) ":+")))))
-+
- (defmethod initialize-instance ((this bsh-standalone-bsh) &rest fields)
- "Constructor for the standard bsh BeanShell instance."
- (call-next-method)
-@@ -845,7 +853,7 @@
- bsh-vm)
- (executable-find (if (eq system-type 'windows-nt) "javaw" "java"))))
-
-- (oset this cp bsh-classpath)
-+ (oset this cp (bsh-get-gentoo-classpath))
-
- (oset this startup-dir bsh-startup-directory))
-
---- jde-orig/lisp/jde-bsh.el
-+++ jde/lisp/jde-bsh.el
-@@ -187,7 +187,7 @@
- (jde-get-tools-jar)
- (if ant-home (expand-file-name "lib" ant-home)))
- (jde-pi-get-bsh-classpath)
-- bsh-classpath
-+ (bsh-get-gentoo-classpath)
- (jde-expand-classpath (jde-get-global-classpath)))))))
-
- ;; Create the BeanShell wrapper object.
---- jde-orig/lisp/jde-checkstyle.el
-+++ jde/lisp/jde-checkstyle.el
-@@ -305,6 +305,14 @@
- (format "-D%s=%s" (car prop) (cdr prop)))
- jde-checkstyle-expanded-properties))
-
-+(defun jde-checkstyle-get-gentoo-classpath ()
-+ (or jde-checkstyle-classpath
-+ (with-temp-buffer
-+ (call-process "java-config" nil t nil "-d" "-p" "checkstyle")
-+ (skip-chars-backward "\n")
-+ (setq jde-checkstyle-classpath
-+ (split-string (buffer-substring (point-min) (point)) ":+")))))
-+
- (defmethod jde-checkstyle-exec ((this jde-checkstyle-checker))
-
- (jde-checkstyle-create-checker-buffer this)
-@@ -327,9 +335,8 @@
- (jde-checkstyle-get-property-args this))
- (oref this :interactive-args)
- (list "-classpath"
-- (if jde-checkstyle-classpath
-- (jde-build-classpath jde-checkstyle-classpath)
-- (jde-normalize-path jde-checkstyle-jar-file)))
-+ (jde-build-classpath
-+ (jde-checkstyle-get-gentoo-classpath)))
- (list jde-checkstyle-class)
- (list "-c"
- (if jde-checkstyle-style
diff --git a/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch b/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch
deleted file mode 100644
index a129b588587c..000000000000
--- a/app-emacs/jde/files/jde-2.4.0.1-fix-paths-gentoo.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-Make paths of directories and jar files configurable.
-
-Part of this patch was taken from Debian and heavily modified, see:
-http://patch-tracking.debian.net/patch/series/view/jde/2.3.5.1-5/0005-Set-the-location-of-needed-files-for-beanshell.el-an.patch
-
---- jde-orig/lisp/beanshell.el
-+++ jde/lisp/beanshell.el
-@@ -891,14 +891,21 @@
-
- (add-to-list 'auto-mode-alist '("\\.bsh\\'" . bsh-script-mode))
-
-+(defcustom bsh-html-directory
-+ (let ((jde-dir (jde-find-jde-doc-directory)))
-+ (if jde-dir
-+ (expand-file-name "doc/html/bsh-ug" jde-dir)))
-+ "Directory of the beanshell HTML documentation."
-+ :group 'bsh
-+ :type 'directory)
-+
- ;;;###autoload
- (defun bsh-script-help ()
- "Display BeanShell User's Guide."
- (interactive)
-- (let* ((jde-dir (jde-find-jde-doc-directory))
-- (bsh-help
-- (if jde-dir
-- (expand-file-name "doc/html/bsh-ug/bsh-ug.html" jde-dir))))
-+ (let ((bsh-help
-+ (if bsh-html-directory
-+ (expand-file-name "bsh-ug.html" bsh-html-directory))))
- (if (and
- bsh-help
- (file-exists-p bsh-help))
---- jde-orig/lisp/jde-bsh.el
-+++ jde/lisp/jde-bsh.el
-@@ -91,22 +91,59 @@
- "The single instance of the JDEE's BeanShell."))
- "Class of JDEE BeanShells. There is only one per Emacs session.")
-
-+(defcustom jde-java-directory
-+ (expand-file-name "java" (jde-find-jde-data-directory))
-+ "Top-level directory of JDE Java files."
-+ :group 'jde-project
-+ :type 'directory)
-+
-+(defcustom jde-bsh-commands-directory
-+ (expand-file-name "bsh-commands" jde-java-directory)
-+ "Directory of beanshell commands."
-+ :group 'bsh
-+ :type 'directory)
-+
-+(defcustom jde-classes-directory
-+ (expand-file-name "classes" jde-java-directory)
-+ "Directory of JDE classes."
-+ :group 'jde-project
-+ :type 'directory)
-+
-+(defcustom jde-checkstyle-jar-file
-+ (expand-file-name "lib/checkstyle-all.jar" jde-java-directory)
-+ "Path of the checkstyle-jar file."
-+ :group 'jde-project
-+ :type 'file)
-+
-+(defcustom jde-regexp-jar-file
-+ (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory)
-+ "Path of the regexp-jar file."
-+ :group 'jde-project
-+ :type 'file)
-+
-+(defcustom jde-jde-jar-file
-+ (expand-file-name "lib/jde.jar" jde-java-directory)
-+ "Path of the jde-jar file."
-+ :group 'jde-project
-+ :type 'file)
-+
-+(defcustom jde-bsh-jar-file
-+ (expand-file-name "lib/bsh.jar" jde-java-directory)
-+ "Path of the bsh-jar file."
-+ :group 'jde-project
-+ :type 'file)
-+
- (defmethod initialize-instance ((this jde-bsh) &rest fields)
- "Constructor for the JDEE BeanShell instance."
- (call-next-method)
-- (let* ((jde-java-directory
-- (concat
-- (jde-find-jde-data-directory)
-- "java/")))
--
-- (oset this bsh-cmd-dir (expand-file-name "bsh-commands" jde-java-directory))
-- (oset this checkstyle-jar (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))
-- (oset this regexp-jar (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory))
-- (oset this jde-classes-dir (expand-file-name "classes" jde-java-directory))
-- (oset this jde-jar (expand-file-name "lib/jde.jar" jde-java-directory))
-- (oset this jar (expand-file-name "lib/bsh.jar" jde-java-directory))
-- (oset this separate-error-buffer jde-bsh-separate-buffer)
-- (oset-default 'jde-bsh the-bsh this)))
-+ (oset this bsh-cmd-dir jde-bsh-commands-directory)
-+ (oset this checkstyle-jar jde-checkstyle-jar-file)
-+ (oset this regexp-jar jde-regexp-jar-file)
-+ (oset this jde-classes-dir jde-classes-directory)
-+ (oset this jde-jar jde-jde-jar-file)
-+ (oset this jar jde-bsh-jar-file)
-+ (oset this separate-error-buffer jde-bsh-separate-buffer)
-+ (oset-default 'jde-bsh the-bsh this))
-
- (defmethod bsh-create-buffer ((this jde-bsh))
- "Creates the JDEE's beanshell buffer."
-@@ -150,6 +187,7 @@
- (jde-get-tools-jar)
- (if ant-home (expand-file-name "lib" ant-home)))
- (jde-pi-get-bsh-classpath)
-+ bsh-classpath
- (jde-expand-classpath (jde-get-global-classpath)))))))
-
- ;; Create the BeanShell wrapper object.
---- jde-orig/lisp/jde-bug.el
-+++ jde/lisp/jde-bug.el
-@@ -2438,10 +2438,10 @@
- (defun jde-bug-help ()
- "Displays the JDEbug User's Guide."
- (interactive)
-- (let* ((jde-dir (jde-find-jde-doc-directory))
-- (jdebug-help
-- (if jde-dir
-- (expand-file-name "doc/html/jdebug-ug/jdebug-ug.html" jde-dir))))
-+ (let ((jdebug-help
-+ (if jde-html-directory
-+ (expand-file-name "jdebug-ug/jdebug-ug.html"
-+ jde-html-directory))))
- (if (and
- jdebug-help
- (file-exists-p jdebug-help))
---- jde-orig/lisp/jde-checkstyle.el
-+++ jde/lisp/jde-checkstyle.el
-@@ -322,10 +322,6 @@
- (vm-path (oref (jde-run-get-vm) :path))
- (source-file
- (concat (file-name-nondirectory buffer-file-name)))
-- (jde-java-directory
-- (concat
-- (jde-find-jde-data-directory)
-- "java/"))
- (args (append
- (unless jde-checkstyle-expanded-properties-file
- (jde-checkstyle-get-property-args this))
-@@ -333,13 +329,13 @@
- (list "-classpath"
- (if jde-checkstyle-classpath
- (jde-build-classpath jde-checkstyle-classpath)
-- (jde-normalize-path
-- (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))))
-+ (jde-normalize-path jde-checkstyle-jar-file)))
- (list jde-checkstyle-class)
- (list "-c"
- (if jde-checkstyle-style
- (jde-normalize-path jde-checkstyle-style)
-- (concat (jde-find-jde-data-directory) "java/lib/sun_checks.xml")))
-+ (expand-file-name "lib/sun_checks.xml"
-+ jde-java-directory)))
- (if jde-checkstyle-expanded-properties-file
- (list "-p" (jde-normalize-path jde-checkstyle-expanded-properties-file)))
- (if jde-checkstyle-module-package-names-file
---- jde-orig/lisp/jde-dbs.el
-+++ jde/lisp/jde-dbs.el
-@@ -907,9 +907,6 @@
- (jde-normalize-path 'jde-run-working-directory)
- source-directory))
- (vm (oref (jde-run-get-vm) :path))
-- (jde-java-directory
-- (expand-file-name "java"
-- (jde-find-jde-data-directory)))
- (vm-args
- (let (args)
- (setq args
---- jde-orig/lisp/jde.el
-+++ jde/lisp/jde.el
-@@ -1722,14 +1722,19 @@
- jde.el."
- (jde-find-jde-data-directory))
-
-+(defcustom jde-html-directory
-+ (expand-file-name "doc/html" (jde-find-jde-doc-directory))
-+ "Directory of the JDE HTML documentation."
-+ :group 'jde-project
-+ :type 'directory)
-+
- ;;;###autoload
- (defun jde-show-help ()
- "Displays the JDE User's Guide in a browser."
- (interactive)
-- (let* ((jde-dir (jde-find-jde-doc-directory))
-- (jde-help
-- (if jde-dir
-- (expand-file-name "doc/html/jde-ug/jde-ug.html" jde-dir))))
-+ (let ((jde-help
-+ (if jde-html-directory
-+ (expand-file-name "jde-ug/jde-ug.html" jde-html-directory))))
- (if (and
- jde-help
- (file-exists-p jde-help))
---- jde-orig/lisp/jde-jdb.el
-+++ jde/lisp/jde-jdb.el
-@@ -1459,10 +1459,10 @@
-
- (defun jde-jdb-help ()
- (interactive)
-- (let* ((jde-dir (jde-find-jde-doc-directory))
-- (jdb-ug-path
-- (if jde-dir
-- (expand-file-name "doc/html/jdb-ug/jdb-ug-frame.html" jde-dir))))
-+ (let ((jdb-ug-path
-+ (if jde-html-directory
-+ (expand-file-name "jdb-ug/jdb-ug-frame.html"
-+ jde-html-directory))))
- (if (and
- jdb-ug-path
- (file-exists-p jdb-ug-path))
diff --git a/app-emacs/jde/files/jde-2.4.1-doc-directory.patch b/app-emacs/jde/files/jde-2.4.1-doc-directory.patch
deleted file mode 100644
index c96fcd861594..000000000000
--- a/app-emacs/jde/files/jde-2.4.1-doc-directory.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Move definition of jde-find-jde-doc-directory to jde-util.el.
-
---- jdee-orig/lisp/beanshell.el
-+++ jdee/lisp/beanshell.el
-@@ -82,7 +82,7 @@
- (eval-when-compile
- (require 'cl))
-
--(declare-function jde-find-jde-doc-directory "jde" nil)
-+(require 'jde-util)
-
- (defgroup bsh nil
- "Customizations for the Emacs inteface to Pat Neimeyer's Java
---- jdee-orig/lisp/jde-util.el
-+++ jdee/lisp/jde-util.el
-@@ -139,6 +139,17 @@
- (if dir dir (jde-root)))
- (jde-root))))
-
-+(defun jde-find-jde-doc-directory ()
-+ "Return the path of the JDE documentation directory.
-+Returns nil if the directory cannot be found. At some
-+point, XEmacs will include the JDE. Versions of XEmacs
-+that include JDE will store the JDE doc in a data
-+directory called jde. On all other Emacs versions, the JDE
-+expects to find the documentation in a subdirectory
-+named doc of the directory that contains the file
-+jde.el."
-+ (jde-find-jde-data-directory))
-+
- (defun jde-temp-directory ()
- "Get the location used by the host system to store temporary files."
- (or (if (boundp 'temporary-file-directory) temporary-file-directory)
---- jdee-orig/lisp/jde.el
-+++ jdee/lisp/jde.el
-@@ -1762,17 +1762,6 @@
-
-
- ;; JDE help
--(defun jde-find-jde-doc-directory ()
-- "Return the path of the JDE documentation directory.
--Returns nil if the directory cannot be found. At some
--point, XEmacs will include the JDE. Versions of XEmacs
--that include JDE will store the JDE doc in a data
--directory called jde. On all other Emacs versions, the JDE
--expects to find the documentation in a subdirectory
--named doc of the directory that contains the file
--jde.el."
-- (jde-find-jde-data-directory))
--
- (defcustom jde-html-directory
- (expand-file-name "doc/html" (jde-find-jde-doc-directory))
- "Directory of the JDE HTML documentation."
diff --git a/app-emacs/jde/jde-2.4.1-r1.ebuild b/app-emacs/jde/jde-2.4.1-r1.ebuild
deleted file mode 100644
index 4937f40cb3c9..000000000000
--- a/app-emacs/jde/jde-2.4.1-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2 elisp
-
-DESCRIPTION="Java Development Environment for Emacs"
-HOMEPAGE="http://jdee.sourceforge.net/"
-# snapshot of svn://svn.code.sf.net/p/jdee/code/branches/2.4.1 (rev 292)
-# (upstream's distfile misses build.xml)
-SRC_URI="mirror://gentoo/jdee-${PV}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-RDEPEND=">=virtual/jdk-1.3:=
- dev-java/bsh:0
- dev-java/junit:0
- dev-util/checkstyle:0"
-DEPEND="${RDEPEND}
- dev-java/ant-contrib:0"
-
-S="${WORKDIR}/jdee-${PV}"
-SITEFILE="70${PN}-gentoo.el"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- elisp_pkg_setup
-}
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-2.4.0.1-fix-paths-gentoo.patch"
- eapply "${FILESDIR}/${PN}-2.4.0.1-classpath-gentoo.patch"
- eapply "${FILESDIR}/${PN}-2.4.1-doc-directory.patch"
- eapply_user
-
- local bshjar csjar
- bshjar=$(java-pkg_getjar --build-only bsh bsh.jar) || die
- csjar=$(java-pkg_getjar --build-only checkstyle checkstyle.jar) || die
- sed -e "s:@BSH_JAR@:${bshjar}:;s:@CHECKSTYLE_JAR@:${csjar}:" \
- -e "s:@PF@:${PF}:" "${FILESDIR}/${SITEFILE}" >"${SITEFILE}" || die
-
- cd java/lib || die
- java-pkg_jar-from --build-only checkstyle checkstyle.jar checkstyle-all.jar
- java-pkg_jar-from junit
- java-pkg_jar-from bsh
-}
-
-src_compile() {
- ANT_TASKS="ant-contrib" \
- eant bindist $(usex doc source-doc "")
-}
-
-src_install() {
- local dist="dist/jdee-${PV%_*}"
-
- java-pkg_dojar ${dist}/java/lib/jde.jar
- insinto "${JAVA_PKG_SHAREPATH}"
- doins -r java/bsh-commands
-
- use source && java-pkg_dosrc java/src/*
- use doc && java-pkg_dojavadoc ${dist}/doc/java/api
-
- elisp-install ${PN} ${dist}/lisp/*.{el,elc}
- elisp-site-file-install "${SITEFILE}"
-
- dobin ${dist}/lisp/jtags
-
- dodoc -r doc/html
- find "${ED}"/usr/share/doc -iname "*makefile" -delete || die
-}
diff --git a/app-emacs/jde/metadata.xml b/app-emacs/jde/metadata.xml
deleted file mode 100644
index 2a92351c1b18..000000000000
--- a/app-emacs/jde/metadata.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-<longdescription>
- The Java Development Environment for Emacs is a software package
- that interfaces Emacs to command-line Java development tools (for
- example, JavaSoft's JDK). JDEE features include:
-
- * JDEE menu with compile, run, debug, build, browse, project, and
- help commands
- * syntax coloring
- * auto indentation
- * compile error to source links
- * source-level debugging
- * source code browsing
- * make file support
- * automatic code generation
- * Java source interpreter (Pat Neimeyer's BeanShell)
-</longdescription>
-<upstream>
- <remote-id type="sourceforge">jdee</remote-id>
-</upstream>
-</pkgmetadata>
diff --git a/app-emacs/jinx/Manifest b/app-emacs/jinx/Manifest
new file mode 100644
index 000000000000..3ad6e01d5c47
--- /dev/null
+++ b/app-emacs/jinx/Manifest
@@ -0,0 +1,4 @@
+DIST jinx-1.3.tar.gz 34055 BLAKE2B c91652d0791ace223013f0ac42d3b917d3fff6cd5920d27bcf48f65ead3a7d29bc7090af107619ceedc243f34c7984a2dadb8fa667d6a825c8a21107de5f186a SHA512 14f03352e16cbcdbfa4c0fe9c00a2a496d7086a0a7dee9c82c5673069e98b0d9b472722a8e90f03815770bf8f054349833e3e7d035deb53a4fa9d05fa54899da
+DIST jinx-1.4.tar.gz 34299 BLAKE2B c28a1535826a1b3a4541cae33ec5ac7badc4fec0188d5b269b0dfbb7fb8a12bf642ea9efb9f1b7289de0bbce5f60cc756ede878a36e1b2b3ec2a8ee26a2fb892 SHA512 fcf08e25d3429ae801006050b56cbc16b65eaa26694b0b20a3c475de716c1c7d4271838b4d553caae257cd82215dd8154c6feb277fb5a16e05c1d098567605a0
+DIST jinx-1.5.tar.gz 34515 BLAKE2B fed6482001a879f50f9f8a093dc9e82443e0400b8e8c0c0b2fd4984cad4e48a4acd6d8a794a3ec71d3ee5d1c0dd851170dc5bec2a8e9ec9f0c7ddb6e25b5c732 SHA512 f19f7500e955b0ed584b2dc7e288911d59a584db596d55304c23d0ff28bceda6dad866b47891396fd342fe9f43d1adc8135611a67074f13638d58c28b545d3f8
+DIST jinx-1.6.tar.gz 34624 BLAKE2B 57917120dd6b10e30d989f056d3587452b2a2fe4db97df989de25c31ae7dd0e56ab2fd40cb92e570cd076209ab039ae0a8cc1ba7cb42210acbc4a1a07cef5f52 SHA512 b4e2b7ef03036e79c91e2a3d2c39ec6505ac9b6b2f7b32cfeee961448b4015de87c60adc9c14de3faccab14d7be75a77622fb0e21982a6e3fdcd58046c54d471
diff --git a/app-emacs/jinx/files/50jinx-gentoo.el b/app-emacs/jinx/files/50jinx-gentoo.el
new file mode 100644
index 000000000000..dda9db8dd61b
--- /dev/null
+++ b/app-emacs/jinx/files/50jinx-gentoo.el
@@ -0,0 +1,4 @@
+;;; app-emacs/jinx site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@EMACSMODULES@")
+(load "@SITELISP@/jinx-autoloads.el" nil t)
diff --git a/app-emacs/jinx/jinx-1.3.ebuild b/app-emacs/jinx/jinx-1.3.ebuild
new file mode 100644
index 000000000000..55cad1b7e1c1
--- /dev/null
+++ b/app-emacs/jinx/jinx-1.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+inherit edo elisp toolchain-funcs
+
+DESCRIPTION="Enchanted Spell Checker for GNU Emacs"
+HOMEPAGE="https://github.com/minad/jinx"
+
+SRC_URI="
+ https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-text/enchant:2
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+SITEFILE="50${PN}-gentoo.el"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ edo $(tc-getCC) -fPIC -Wall -Wextra -shared \
+ $($(tc-getPKG_CONFIG) --cflags --libs enchant-2) \
+ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o jinx-mod.so jinx-mod.c
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+
+ elisp-modules-install "${PN}" jinx-mod.so
+ doinfo jinx.info
+}
diff --git a/app-emacs/jinx/jinx-1.4.ebuild b/app-emacs/jinx/jinx-1.4.ebuild
new file mode 100644
index 000000000000..55cad1b7e1c1
--- /dev/null
+++ b/app-emacs/jinx/jinx-1.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+inherit edo elisp toolchain-funcs
+
+DESCRIPTION="Enchanted Spell Checker for GNU Emacs"
+HOMEPAGE="https://github.com/minad/jinx"
+
+SRC_URI="
+ https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ app-text/enchant:2
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+SITEFILE="50${PN}-gentoo.el"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ edo $(tc-getCC) -fPIC -Wall -Wextra -shared \
+ $($(tc-getPKG_CONFIG) --cflags --libs enchant-2) \
+ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o jinx-mod.so jinx-mod.c
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+
+ elisp-modules-install "${PN}" jinx-mod.so
+ doinfo jinx.info
+}
diff --git a/app-emacs/jinx/jinx-1.5.ebuild b/app-emacs/jinx/jinx-1.5.ebuild
new file mode 100644
index 000000000000..fd1936d0c50c
--- /dev/null
+++ b/app-emacs/jinx/jinx-1.5.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+inherit edo elisp toolchain-funcs
+
+DESCRIPTION="Enchanted Spell Checker for GNU Emacs"
+HOMEPAGE="https://github.com/minad/jinx"
+
+SRC_URI="
+ https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-text/enchant:2
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+SITEFILE="50${PN}-gentoo.el"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ edo $(tc-getCC) -fPIC -Wall -Wextra -shared \
+ $($(tc-getPKG_CONFIG) --cflags --libs enchant-2) \
+ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o jinx-mod.so jinx-mod.c
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+
+ elisp-modules-install "${PN}" jinx-mod.so
+ doinfo jinx.info
+}
diff --git a/app-emacs/jinx/jinx-1.6.ebuild b/app-emacs/jinx/jinx-1.6.ebuild
new file mode 100644
index 000000000000..fd1936d0c50c
--- /dev/null
+++ b/app-emacs/jinx/jinx-1.6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+inherit edo elisp toolchain-funcs
+
+DESCRIPTION="Enchanted Spell Checker for GNU Emacs"
+HOMEPAGE="https://github.com/minad/jinx"
+
+SRC_URI="
+ https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-text/enchant:2
+ >=app-emacs/compat-29.1.4.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+SITEFILE="50${PN}-gentoo.el"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_compile() {
+ edo $(tc-getCC) -fPIC -Wall -Wextra -shared \
+ $($(tc-getPKG_CONFIG) --cflags --libs enchant-2) \
+ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o jinx-mod.so jinx-mod.c
+ elisp-org-export-to texinfo README.org
+ elisp_src_compile
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+
+ elisp-modules-install "${PN}" jinx-mod.so
+ doinfo jinx.info
+}
diff --git a/app-emacs/jinx/metadata.xml b/app-emacs/jinx/metadata.xml
new file mode 100644
index 000000000000..983a85253bdd
--- /dev/null
+++ b/app-emacs/jinx/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <description>Sam James</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">minad/jinx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/jq-mode/Manifest b/app-emacs/jq-mode/Manifest
new file mode 100644
index 000000000000..da28cb7bfa5b
--- /dev/null
+++ b/app-emacs/jq-mode/Manifest
@@ -0,0 +1 @@
+DIST jq-mode-0.5.0_p20220610.tar.gz 18987 BLAKE2B 28ec0b7133de36d6422c60de8b0f7d75f71c1bcef959734f02914ac8dc2c822d1d616e6bc7007fd7ea86efd038b6411640cc4d558024b5000798afd1b49fd790 SHA512 10ad3fd0c02531171d95a6724a4e635b7e2b2b3e49f87ce0323ca7b67653c614ed5e3588216b1374d9e9c67cca5d64df91f44feef3532e5e1ada68050764a6a4
diff --git a/app-emacs/jq-mode/files/50jq-mode-gentoo.el b/app-emacs/jq-mode/files/50jq-mode-gentoo.el
new file mode 100644
index 000000000000..6b35014a151c
--- /dev/null
+++ b/app-emacs/jq-mode/files/50jq-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'jq-mode "jq-mode"
+ "Major mode for editing jq files" t)
+(add-to-list 'auto-mode-alist '("\\.jq\\'" . jq-mode))
diff --git a/app-emacs/jq-mode/jq-mode-0.5.0_p20220610.ebuild b/app-emacs/jq-mode/jq-mode-0.5.0_p20220610.ebuild
new file mode 100644
index 000000000000..4f3ec1123b6e
--- /dev/null
+++ b/app-emacs/jq-mode/jq-mode-0.5.0_p20220610.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=071c1c29bac30351ad338136f2b625e5601365cd
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for editing jq queries"
+HOMEPAGE="https://github.com/ljos/jq-mode/"
+SRC_URI="https://github.com/ljos/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test" # tests fail, also they only test the ob integration
+
+RDEPEND="app-misc/jq"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/jq-mode/metadata.xml b/app-emacs/jq-mode/metadata.xml
new file mode 100644
index 000000000000..b4de977dc115
--- /dev/null
+++ b/app-emacs/jq-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ljos/jq-mode/issues/</bugs-to>
+ <remote-id type="github">ljos/jq-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/js-comint/Manifest b/app-emacs/js-comint/Manifest
new file mode 100644
index 000000000000..86f55ca63dc4
--- /dev/null
+++ b/app-emacs/js-comint/Manifest
@@ -0,0 +1 @@
+DIST js-comint-1.2.0.tar.gz 17976 BLAKE2B 972febde9caf78fca1b7d41cc026b3cc4ef442a9177efaf627295d0cd38e998a5615ac8b84e6ce8fee7b00d0cc55cda576d1191d34c95425d71cb27f930ef844 SHA512 85e802a9198b0da00b6d4ba1b20eebd3d78657b325429b882bfb71ff6781e0483457493803494bcd0751c392eb0b631b68dde16f1b682e2d97e6dad9a1d0918f
diff --git a/app-emacs/js-comint/files/50js-comint-gentoo.el b/app-emacs/js-comint/files/50js-comint-gentoo.el
new file mode 100644
index 000000000000..42df4360c213
--- /dev/null
+++ b/app-emacs/js-comint/files/50js-comint-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'js-comint-start-or-switch-to-repl "js-comint"
+ "Start a new repl or switch to existing repl." t)
diff --git a/app-emacs/js-comint/js-comint-1.2.0.ebuild b/app-emacs/js-comint/js-comint-1.2.0.ebuild
new file mode 100644
index 000000000000..a9e86c23d163
--- /dev/null
+++ b/app-emacs/js-comint/js-comint-1.2.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Run a JavaScript interpreter in an Emacs inferior process window"
+HOMEPAGE="https://github.com/redguardtoo/js-comint/"
+SRC_URI="https://github.com/redguardtoo/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/js-comint/metadata.xml b/app-emacs/js-comint/metadata.xml
new file mode 100644
index 000000000000..d08ca424f201
--- /dev/null
+++ b/app-emacs/js-comint/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/redguardtoo/js-comint/issues/</bugs-to>
+ <remote-id type="github">redguardtoo/js-comint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/js2-mode/Manifest b/app-emacs/js2-mode/Manifest
new file mode 100644
index 000000000000..14d022768ac1
--- /dev/null
+++ b/app-emacs/js2-mode/Manifest
@@ -0,0 +1,2 @@
+DIST js2-mode-20230408.tar.gz 166178 BLAKE2B 6b567da9cd29c7aed40122a6b18af0c87e3197d00d1def663d700e260e8c83c83d07fb27e19e85a7fe0fa6487177a5191868d9caadf714d216e2ac01f9b95ddc SHA512 c3df3e88a627c7fbb3d7747760a4b27fd0da1a922a8e75f346ebdd00f5e682222c5a2cb636f7d19fc0f5c920892c77b8ed73c13ce6987d103366beb9e2b0b4b5
+DIST js2-mode-20231224.tar.gz 166532 BLAKE2B f809132897fa1f87f5d7a6cd798d77eb3dd0b6ab7cddba2a89702774e0114ab7f1061ce3bdd5299340088924ebf61370e1b6432ea782176f4a875a41be973f08 SHA512 df294bea7d01f185e12435364fb97954fe772c76887321cb7b41829c6b40b706dbd1800569dd795e3d93de800d38bfa465e3bb22a932cfc3a0400760aeac0c2d
diff --git a/app-emacs/js2-mode/files/50js2-mode-gentoo.el b/app-emacs/js2-mode/files/50js2-mode-gentoo.el
new file mode 100644
index 000000000000..12daf0e43291
--- /dev/null
+++ b/app-emacs/js2-mode/files/50js2-mode-gentoo.el
@@ -0,0 +1,12 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'js2-imenu-extras-setup "js2-imenu-extras")
+(autoload 'js2-imenu-extras-mode "js2-imenu-extras"
+ "Toggle Imenu support for frameworks and structural patterns." t)
+(autoload 'js2-highlight-unused-variables-mode "js2-mode"
+ "Toggle highlight of unused variables." t)
+(autoload 'js2-minor-mode "js2-mode"
+ "Minor mode for running js2 as a background linter." t)
+(autoload 'js2-mode "js2-mode"
+ "Major mode for editing JavaScript code." t)
+(autoload 'js2-jsx-mode "js2-mode"
+ "Major mode for editing JSX code in Emacs 26 and earlier." t)
diff --git a/app-emacs/js2-mode/js2-mode-20230408.ebuild b/app-emacs/js2-mode/js2-mode-20230408.ebuild
new file mode 100644
index 000000000000..0f171722ca2a
--- /dev/null
+++ b/app-emacs/js2-mode/js2-mode-20230408.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Improved JavaScript editing mode for GNU Emacs"
+HOMEPAGE="https://github.com/mooz/js2-mode/"
+SRC_URI="https://github.com/mooz/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( NEWS.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test
+}
diff --git a/app-emacs/js2-mode/js2-mode-20231224.ebuild b/app-emacs/js2-mode/js2-mode-20231224.ebuild
new file mode 100644
index 000000000000..ce8782cda510
--- /dev/null
+++ b/app-emacs/js2-mode/js2-mode-20231224.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Improved JavaScript editing mode for GNU Emacs"
+HOMEPAGE="https://github.com/mooz/js2-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/mooz/${PN}.git"
+else
+ SRC_URI="https://github.com/mooz/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( NEWS.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake test
+}
diff --git a/app-emacs/js2-mode/metadata.xml b/app-emacs/js2-mode/metadata.xml
new file mode 100644
index 000000000000..2983ab1f4170
--- /dev/null
+++ b/app-emacs/js2-mode/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This JavaScript editing mode supports: 1. strict recognition of the
+ Ecma-262 language standard 2. support for most Rhino and SpiderMonkey
+ extensions from 1.5 and up 3. parsing support for ECMAScript for XML (E4X,
+ ECMA-357) 4. accurate syntax highlighting using a recursive-descent parser
+ 5. on-the-fly reporting of syntax errors and strict-mode warnings 6.
+ undeclared-variable warnings using a configurable externs framework 7.
+ "bouncing" line indentation to choose among alternate indentation points 8.
+ smart line-wrapping within comments and strings 9. code folding: 9.1. show
+ some or all function bodies as {...} 9.2. show some or all block comments
+ as /*...*/ 12. context-sensitive menu bar and popup menus 13. code browsing
+ using the `imenu' package 14. many customization options
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/mooz/js2-mode/issues/</bugs-to>
+ <remote-id type="github">mooz/js2-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/julia-mode/Manifest b/app-emacs/julia-mode/Manifest
new file mode 100644
index 000000000000..5bc9a0557175
--- /dev/null
+++ b/app-emacs/julia-mode/Manifest
@@ -0,0 +1 @@
+DIST julia-mode-0.4_p20211023.tar.gz 52354 BLAKE2B 6a669475791c7605088bad16a0e67e77e8f6d31aec24fa2de5aed3f64c9452d850909df3b6f37dae8955e008439faa3d44b451c6a81c420aeea127300c252432 SHA512 204790244d95ee95cf6ec2ab5f30f00e740089872dfe327d7fea3104b1d24a7a1b6485b9d51bf8157d6622b074a673db9fe4e127846efc78969045d45a9d5730
diff --git a/app-emacs/julia-mode/files/50julia-mode-gentoo.el b/app-emacs/julia-mode/files/50julia-mode-gentoo.el
new file mode 100644
index 000000000000..c5b84ee3b143
--- /dev/null
+++ b/app-emacs/julia-mode/files/50julia-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'julia-mode "julia-mode"
+ "Major mode for editing julia code." t)
+(add-to-list 'auto-mode-alist '("\\.jl\\'" . julia-mode))
diff --git a/app-emacs/julia-mode/julia-mode-0.4_p20211023.ebuild b/app-emacs/julia-mode/julia-mode-0.4_p20211023.ebuild
new file mode 100644
index 000000000000..9b4036b08784
--- /dev/null
+++ b/app-emacs/julia-mode/julia-mode-0.4_p20211023.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=47f43f7d839019cac3ba6559d93b29487ca118cb
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for the Julia programming language"
+HOMEPAGE="https://github.com/JuliaEditorSupport/julia-emacs/"
+SRC_URI="https://github.com/JuliaEditorSupport/julia-emacs/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/julia-emacs-${COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -l ert -l ./julia-mode-tests.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ rm ./julia-mode-tests.el{,c} || die
+
+ elisp_src_install
+}
diff --git a/app-emacs/julia-mode/metadata.xml b/app-emacs/julia-mode/metadata.xml
new file mode 100644
index 000000000000..5f992b94a9d4
--- /dev/null
+++ b/app-emacs/julia-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/JuliaEditorSupport/julia-emacs/issues/</bugs-to>
+ <remote-id type="github">JuliaEditorSupport/julia-emacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/julia-repl/Manifest b/app-emacs/julia-repl/Manifest
new file mode 100644
index 000000000000..f784fb34c328
--- /dev/null
+++ b/app-emacs/julia-repl/Manifest
@@ -0,0 +1 @@
+DIST julia-repl-1.3.0_p20220225.tar.gz 183305 BLAKE2B 65b07101008e0548041084f50bec3022789363d8e33c6870382166c2989f56c908a7f7df378d49f55b64479d562594ff14e518a66bd36a907714214521add31f SHA512 12d9445432158c12e857c71683ea39b0bd8a76fa415ebe1d85b682d65b53c456518d88b08f98d900211c04f5d1bf12f50e4ce70ff28d4c4a657b072731968a14
diff --git a/app-emacs/julia-repl/files/50julia-repl-gentoo.el b/app-emacs/julia-repl/files/50julia-repl-gentoo.el
new file mode 100644
index 000000000000..8c76042f08d4
--- /dev/null
+++ b/app-emacs/julia-repl/files/50julia-repl-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'julia-repl-mode "julia-repl"
+ "Minor mode for interacting with a Julia REPL running inside a term." t)
+(add-hook 'julia-mode-hook 'julia-repl-mode)
diff --git a/app-emacs/julia-repl/files/julia-repl-force-compile.patch b/app-emacs/julia-repl/files/julia-repl-force-compile.patch
new file mode 100644
index 000000000000..6d7de553ce39
--- /dev/null
+++ b/app-emacs/julia-repl/files/julia-repl-force-compile.patch
@@ -0,0 +1,9 @@
+index 41df3f1..7d983f8 100644
+--- a/julia-repl.el
++++ b/julia-repl.el
+@@ -1,4 +1,4 @@
+-;;; julia-repl.el --- A minor mode for a Julia REPL -*- lexical-binding:t; no-byte-compile:t -*-
++;;; julia-repl.el --- A minor mode for a Julia REPL -*- lexical-binding:t; -*-
+
+ ;; Copyright (C) 2016 Tamas K. Papp
+ ;; Author: Tamas Papp <tkpapp@gmail.com>
diff --git a/app-emacs/julia-repl/julia-repl-1.3.0_p20220225.ebuild b/app-emacs/julia-repl/julia-repl-1.3.0_p20220225.ebuild
new file mode 100644
index 000000000000..aff8398d17a9
--- /dev/null
+++ b/app-emacs/julia-repl/julia-repl-1.3.0_p20220225.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=6c1d63511fb2b3b3f2e342eff6a375d78be6c12c
+
+inherit optfeature elisp
+
+DESCRIPTION="Run an inferior Julia REPL in a terminal inside Emacs"
+HOMEPAGE="https://github.com/tpapp/julia-repl/"
+SRC_URI="https://github.com/tpapp/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="app-emacs/s"
+RDEPEND="
+ ${BDEPEND}
+ app-emacs/julia-mode
+"
+
+DOCS=( CHANGELOG.md README.md )
+PATCHES=( "${FILESDIR}"/${PN}-force-compile.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -l ert -l ./${PN}-tests.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ rm ./${PN}-tests.el || die
+
+ elisp_src_install
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ optfeature "running Julia inside VTerm" app-emacs/vterm
+}
diff --git a/app-emacs/julia-repl/metadata.xml b/app-emacs/julia-repl/metadata.xml
new file mode 100644
index 000000000000..0e443214e73b
--- /dev/null
+++ b/app-emacs/julia-repl/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This is a minor mode for interacting with a Julia REPL running inside
+ Emacs. The julia process is started in an ANSI terminal (term), which
+ allows text formatting and colors, and interaction with the help system and
+ the debugger.
+ It is recommended that you use this minor mode with julia-mode.
+ </longdescription>
+ <upstream>
+ <changelog>
+ https://raw.githubusercontent.com/tpapp/julia-repl/master/CHANGELOG.md
+ </changelog>
+ <bugs-to>https://github.com/tpapp/julia-repl/issues/</bugs-to>
+ <remote-id type="github">tpapp/julia-repl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/kaolin-themes/Manifest b/app-emacs/kaolin-themes/Manifest
new file mode 100644
index 000000000000..385504d916ec
--- /dev/null
+++ b/app-emacs/kaolin-themes/Manifest
@@ -0,0 +1 @@
+DIST kaolin-themes-1.7.0.tar.gz 48024 BLAKE2B 01128417a5808364d399ce22cd74da74619b7a592060f77fcf46ebd33cd23f69aa62d45b31f87c98f95f1a2a306c597424be7996867b1979be1aa46883cdb61b SHA512 e640a4375d252ae04b53df71795125e2088b680c4193ae16c0544903e69077fc2185edadd6866fafa6f401aab33d405ee4435bfadd7e06b84af52a456becd379
diff --git a/app-emacs/kaolin-themes/kaolin-themes-1.7.0.ebuild b/app-emacs/kaolin-themes/kaolin-themes-1.7.0.ebuild
new file mode 100644
index 000000000000..751e6e68f8a5
--- /dev/null
+++ b/app-emacs/kaolin-themes/kaolin-themes-1.7.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Set of eye pleasing themes for GNU Emacs"
+HOMEPAGE="https://github.com/ogdenwebb/emacs-kaolin-themes"
+
+MY_PN="emacs-${PN}"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URL="https://github.com/ogdenwebb/${MY_PN}.git"
+else
+ SRC_URI="https://github.com/ogdenwebb/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+RDEPEND="app-emacs/autothemer"
+BDEPEND="${RDEPEND}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile *.el themes/*.el
+}
+
+src_install() {
+ elisp-install ${PN} *.el *.elc themes/*.el themes/*.elc
+ elisp-make-site-file "${SITEFILE}"
+}
diff --git a/app-emacs/kaolin-themes/metadata.xml b/app-emacs/kaolin-themes/metadata.xml
new file mode 100644
index 000000000000..2d27a57d42ce
--- /dev/null
+++ b/app-emacs/kaolin-themes/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>kacper.slominski72@gmail.com</email>
+ <name>Kacper SΕ‚omiΕ„ski</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ogdenwebb/emacs-kaolin-themes</remote-id>
+ <bugs-to>https://github.com/ogdenwebb/emacs-kaolin-themes/issues/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/key-chord/Manifest b/app-emacs/key-chord/Manifest
new file mode 100644
index 000000000000..80819c69bf3f
--- /dev/null
+++ b/app-emacs/key-chord/Manifest
@@ -0,0 +1 @@
+DIST key-chord-0.7.tar.gz 5335 BLAKE2B bc47144337093aa8bebb239f52eec8362fe5485535aab894e5afc82cd5e83a716ec229d3e1c52d60c116e5d1801b0f985c4d249ebc65497bca61ddf66f4a614a SHA512 a5cdb82fe9aa279ab146baeefeb0313122400034fa946ad826ea0a6944be41ff93d79097ce79ed6f5cd1187de9dcbbe2bfc3971d8a3f97a2c2760963218669d2
diff --git a/app-emacs/key-chord/key-chord-0.7.ebuild b/app-emacs/key-chord/key-chord-0.7.ebuild
new file mode 100644
index 000000000000..84b6dd16e03b
--- /dev/null
+++ b/app-emacs/key-chord/key-chord-0.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Map pairs of simultaneously pressed keys to commands"
+HOMEPAGE="https://github.com/emacsorphanage/key-chord/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacsorphanage/${PN}.git"
+else
+ SRC_URI="https://github.com/emacsorphanage/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/key-chord/metadata.xml b/app-emacs/key-chord/metadata.xml
new file mode 100644
index 000000000000..bb68a49b6a13
--- /dev/null
+++ b/app-emacs/key-chord/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/emacsorphanage/key-chord/issues/</bugs-to>
+ <remote-id type="github">emacsorphanage/key-chord</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/kind-icon/Manifest b/app-emacs/kind-icon/Manifest
new file mode 100644
index 000000000000..0acf6e00abfa
--- /dev/null
+++ b/app-emacs/kind-icon/Manifest
@@ -0,0 +1 @@
+DIST kind-icon-0.2.2.tar.gz 22111 BLAKE2B dcdf964ebce9cfd89abdd1d8ad73b5734a09dc8971e5043e7d7d523d1ebcf48d5d9a45ade500395059d26fabf776f5486bee68a1be815987998386b23951bf44 SHA512 98573c3a73946628dc06cad5b3ad8cb81ddccc6ceea070e3a40edebb5f60cca78d21a6be3f4e2eb51fc9352fa4d071f1d0fc6a202fd3e03481d6880f85f8a6ea
diff --git a/app-emacs/kind-icon/files/50kind-icon-gentoo.el b/app-emacs/kind-icon/files/50kind-icon-gentoo.el
new file mode 100644
index 000000000000..b9e72be87371
--- /dev/null
+++ b/app-emacs/kind-icon/files/50kind-icon-gentoo.el
@@ -0,0 +1,3 @@
+;;; app-emacs/kind-icon site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/kind-icon-autoloads.el" nil t)
diff --git a/app-emacs/kind-icon/kind-icon-0.2.2.ebuild b/app-emacs/kind-icon/kind-icon-0.2.2.ebuild
new file mode 100644
index 000000000000..8b334cdaa71c
--- /dev/null
+++ b/app-emacs/kind-icon/kind-icon-0.2.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS="27.1"
+
+inherit elisp
+
+DESCRIPTION="Completion kind icons"
+HOMEPAGE="https://github.com/jdtsmith/kind-icon/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/jdtsmith/${PN}.git"
+else
+ SRC_URI="https://github.com/jdtsmith/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/svg-lib
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-make-autoload-file
+ elisp_src_compile
+}
diff --git a/app-emacs/kind-icon/metadata.xml b/app-emacs/kind-icon/metadata.xml
new file mode 100644
index 000000000000..fda2bb3e66ad
--- /dev/null
+++ b/app-emacs/kind-icon/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jdtsmith/kind-icon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/lean-mode/Manifest b/app-emacs/lean-mode/Manifest
new file mode 100644
index 000000000000..2ea7824f7063
--- /dev/null
+++ b/app-emacs/lean-mode/Manifest
@@ -0,0 +1 @@
+DIST lean-mode-0_p20230611.tar.gz 46798 BLAKE2B b7d858979fc40f066eb8a212acf0f18a7a95b41df29924b7ca1b34e502db3b5966ddd3e83a7bf37cce0a836819ee46f18678244b00d6e951de83694a637789cf SHA512 f7b336887acd99306f9d50096dd3fda707d640be9e96f6211d826a4ba477c2a16b591bd9529456ce4a763700eed06f23b06e505120935dc7b9066ac530ba4231
diff --git a/app-emacs/lean-mode/files/50lean-mode-gentoo.el b/app-emacs/lean-mode/files/50lean-mode-gentoo.el
new file mode 100644
index 000000000000..8c6a9a2894ac
--- /dev/null
+++ b/app-emacs/lean-mode/files/50lean-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'lean-mode "lean-mode"
+ "Major mode for editing Lean 3 source files." t)
+(add-to-list 'auto-mode-alist '("\\.lean\\'" . lean-mode))
diff --git a/app-emacs/lean-mode/lean-mode-0_p20230611.ebuild b/app-emacs/lean-mode/lean-mode-0_p20230611.ebuild
new file mode 100644
index 000000000000..2ded0d08f2c2
--- /dev/null
+++ b/app-emacs/lean-mode/lean-mode-0_p20230611.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs mode for the Lean 3 theorem prover"
+HOMEPAGE="https://github.com/leanprover/lean-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/leanprover/${PN}.git"
+else
+ [[ ${PV} == *_p20230611 ]] && COMMIT=99d6a34dc5b12f6e996e9217fa9f6fe4a6af037a
+ SRC_URI="https://github.com/leanprover/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+BDEPEND="
+ >=app-emacs/dash-2.18.1
+ >=app-emacs/f-0.19.0
+ >=app-emacs/flycheck-32
+ >=app-emacs/s-1.10.0
+"
+RDEPEND="
+ ${BDEPEND}
+ sci-mathematics/lean:0/3
+"
+
+DOCS=( README.md )
+ELISP_REMOVE="company-lean.el helm-lean.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/lean-mode/metadata.xml b/app-emacs/lean-mode/metadata.xml
new file mode 100644
index 000000000000..d3d07efc29cb
--- /dev/null
+++ b/app-emacs/lean-mode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Provides a major mode for the Lean 3 programming language.
+ Provides highlighting, diagnostics, goal visualization and many other
+ useful features for Lean users.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/leanprover/lean-mode/issues</bugs-to>
+ <remote-id type="github">leanprover/lean-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ledger-mode/Manifest b/app-emacs/ledger-mode/Manifest
index c4eb171ee84f..ff587361ddb5 100644
--- a/app-emacs/ledger-mode/Manifest
+++ b/app-emacs/ledger-mode/Manifest
@@ -1 +1 @@
-DIST ledger-mode-3.1.1.tar.gz 55876 BLAKE2B 49dce2a58c278d3bca6ceba353766296609595609ce0976c8efdc6f17836ace4a0cc8676ab2de9522cafc036e97b2eaafe6fede1dd4d795201a676a2a519c761 SHA512 0d79e15f5a91eb361662761a3cc0a2d556584f3310e270b8a4db5648fea06022f74970faa5716e3726da902922eceabf4c8c5d281d02be66e8d785a4d7044d71
+DIST ledger-mode-4.0.0.tar.gz 96248 BLAKE2B 776b63768a3251f5ee18b49ab90fd1fed8a33b7ef9169c1882f0b757889d6da81ae75936c417eb99efedb2bb90b85c8e4ef609970ca968f64775055b41a13875 SHA512 0ddc3c8652997a3ca0609f2e3ce53488e6317364e918ca29b8b42bfcf2992c4090d6fd894b3c361dc1032ea28cfa4ca8f522d1001ed95778bd1bba41dce0a0d1
diff --git a/app-emacs/ledger-mode/files/ledger-mode-4.0.0-emacs-28.patch b/app-emacs/ledger-mode/files/ledger-mode-4.0.0-emacs-28.patch
new file mode 100644
index 000000000000..744aaaa7d438
--- /dev/null
+++ b/app-emacs/ledger-mode/files/ledger-mode-4.0.0-emacs-28.patch
@@ -0,0 +1,11 @@
+--- ledger-mode-4.0.0/ledger-report.el
++++ ledger-mode-4.0.0/ledger-report.el
+@@ -584,7 +584,7 @@
+ (set-window-configuration ledger-original-window-cfg)
+ (kill-buffer (get-buffer ledger-report-buffer-name)))
+
+-(define-obsolete-function-alias 'ledger-report-kill #'ledger-report-quit)
++(define-obsolete-function-alias 'ledger-report-kill #'ledger-report-quit "")
+
+ (defun ledger-report-edit-reports ()
+ "Edit the defined ledger reports."
diff --git a/app-emacs/ledger-mode/ledger-mode-3.1.1.ebuild b/app-emacs/ledger-mode/ledger-mode-3.1.1.ebuild
deleted file mode 100644
index 6453a3601379..000000000000
--- a/app-emacs/ledger-mode/ledger-mode-3.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="An Emacs major mode for editing ledger files"
-HOMEPAGE="https://github.com/ledger/ledger-mode"
-SRC_URI="https://github.com/ledger/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+ BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="doc/ledger-mode.texi"
-BYTECOMPFLAGS+=" -l ledger-regex.el"
-
-RDEPEND="!<app-office/ledger-3.1.2[emacs(-)]"
-BDEPEND="sys-apps/texinfo"
diff --git a/app-emacs/ledger-mode/ledger-mode-4.0.0.ebuild b/app-emacs/ledger-mode/ledger-mode-4.0.0.ebuild
new file mode 100644
index 000000000000..46fe804f4816
--- /dev/null
+++ b/app-emacs/ledger-mode/ledger-mode-4.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An Emacs major mode for editing ledger files"
+HOMEPAGE="https://github.com/ledger/ledger-mode"
+SRC_URI="https://github.com/ledger/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+ BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=( "${FILESDIR}"/${P}-emacs-28.patch )
+SITEFILE="50${PN}-gentoo.el"
+ELISP_TEXINFO="doc/ledger-mode.texi"
+BYTECOMPFLAGS+=" -l ledger-regex.el"
+
+RDEPEND="!<app-office/ledger-3.1.2[emacs(-)]"
+BDEPEND="sys-apps/texinfo"
diff --git a/app-emacs/libegit2/Manifest b/app-emacs/libegit2/Manifest
index a90bba907bc2..3a67dcaf4897 100644
--- a/app-emacs/libegit2/Manifest
+++ b/app-emacs/libegit2/Manifest
@@ -1 +1 @@
-DIST libegit2-0.0.20200515.tar.gz 132122 BLAKE2B 2e8e06fb833e5ea2ee0f4e1fa760d30e91235a9b9c4a465de6d8a12d6c8431bdc85204546ba36c36f206e2788d9f1cda00d578c1c40057ccfb3f2117e8302013 SHA512 f604591ba272ea1cef8c428f644c0cfcc4ba2438a55c2b7a0dd1cdcb15836c755c0c6bdc6c42bd6da05935bba7fdac30efe65f26307599b07e591f4efdd1e897
+DIST libegit2-0.0.20230129.tar.gz 132237 BLAKE2B 339c11eaa5b231d33a3b23780b625798d47ab6725fede240ae95307cc0034a61a39d84075be271fff2ae8b1ff5143fb61ef243671f8ac927b07e931824c8c55d SHA512 9384e9118b29429aaa8ee7608712bcc1c9f006a35fb46332f9b999be909ac18c4753af58cd1c91c37a6b24ca9a08f7103f22d53a242296d0dc6a509a2c5e27fb
diff --git a/app-emacs/libegit2/libegit2-0.0.20200515-r1.ebuild b/app-emacs/libegit2/libegit2-0.0.20200515-r1.ebuild
deleted file mode 100644
index e416b4617bba..000000000000
--- a/app-emacs/libegit2/libegit2-0.0.20200515-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=26
-COMMIT="0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a"
-
-BUILD_DIR=.
-
-inherit cmake elisp
-
-DESCRIPTION="Emacs bindings for libgit2"
-HOMEPAGE="https://github.com/magit/libegit2"
-SRC_URI="https://github.com/magit/libegit2/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND=">=dev-libs/libgit2-1.0.0:="
-RDEPEND="${DEPEND}
- >=app-editors/emacs-26:*[dynamic-loading]"
-
-S="${WORKDIR}/${PN}-${COMMIT}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-# The tests seem to be written specifically for the libegit2 git
-# repository.
-RESTRICT="test"
-
-src_prepare() {
- # Don't build against the bundled submodule
- sed -i -e '/subdirectory.*libgit2/ s/^/#/' CMakeLists.txt || die
-
- rm -f test.el || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- elisp_src_compile
-}
-
-src_install() {
- elisp_src_install
- elisp-modules-install ${PN} libegit2.so
-}
diff --git a/app-emacs/libegit2/libegit2-0.0.20230129.ebuild b/app-emacs/libegit2/libegit2-0.0.20230129.ebuild
new file mode 100644
index 000000000000..a3832f7be04e
--- /dev/null
+++ b/app-emacs/libegit2/libegit2-0.0.20230129.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+NEED_EMACS=26
+COMMIT="ab1a53a6a0120872e42582fc980e779d47de6d0e"
+
+BUILD_DIR="."
+
+inherit cmake elisp
+
+DESCRIPTION="Emacs bindings for libgit2"
+HOMEPAGE="https://github.com/magit/libegit2"
+SRC_URI="https://github.com/magit/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-2+ GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+# The tests seem to be written specifically for the libegit2 git repository.
+RESTRICT="test"
+
+DEPEND=">=dev-libs/libgit2-1.0.0:="
+RDEPEND="${DEPEND}
+ >=app-editors/emacs-26:*[dynamic-loading]"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+
+src_prepare() {
+ # Don't build against the bundled submodule
+ sed -i -e '/subdirectory.*libgit2/ s/^/#/' CMakeLists.txt || die
+
+ rm -f test.el || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ elisp_src_compile
+}
+
+src_install() {
+ elisp_src_install
+ elisp-modules-install ${PN} libegit2.so
+}
diff --git a/app-emacs/lice-el/Manifest b/app-emacs/lice-el/Manifest
new file mode 100644
index 000000000000..cab62d351372
--- /dev/null
+++ b/app-emacs/lice-el/Manifest
@@ -0,0 +1 @@
+DIST lice-el-0.3.tar.gz 18587 BLAKE2B 5bf04f3aab3a1cc6f2729978f6d4b95af9fece7df0d44ae49e61a98277552b26ab2fca567faf8daa6e38eb44d7b446b60c4b02cf178ef6d9f8b5e744c783ecd8 SHA512 a00b68b1c54848588c432f5120f8b45edf3ef9933fc8d2e38d798222adf1fbc34dc7fe34216b12c8b42815dcb68865dafb75efbd07ec7a69f23c235c8648d634
diff --git a/app-emacs/lice-el/files/50lice-el-gentoo.el b/app-emacs/lice-el/files/50lice-el-gentoo.el
new file mode 100644
index 000000000000..c249663fc2fa
--- /dev/null
+++ b/app-emacs/lice-el/files/50lice-el-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'lice "lice"
+ "Insert license and headers." t)
diff --git a/app-emacs/lice-el/files/lice-el-0.3-siteetc.patch b/app-emacs/lice-el/files/lice-el-0.3-siteetc.patch
new file mode 100644
index 000000000000..264bb1828100
--- /dev/null
+++ b/app-emacs/lice-el/files/lice-el-0.3-siteetc.patch
@@ -0,0 +1,12 @@
+--- a/lice.el
++++ b/lice.el
+@@ -57,8 +57,7 @@
+
+ (defconst lice:system-template-directory
+ (expand-file-name "template"
+- (or (and load-file-name (file-name-directory load-file-name))
+- default-directory)))
++ "@SITEETC@"))
+
+ (defvar lice:custom-template-directory
+ (expand-file-name "lice" user-emacs-directory))
diff --git a/app-emacs/lice-el/lice-el-0.3.ebuild b/app-emacs/lice-el/lice-el-0.3.ebuild
new file mode 100644
index 000000000000..6cbd1e127c7f
--- /dev/null
+++ b/app-emacs/lice-el/lice-el-0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="License and header template for GNU Emacs"
+HOMEPAGE="https://github.com/buzztaiki/lice-el/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/buzztaiki/${PN}.git"
+else
+ SRC_URI="https://github.com/buzztaiki/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+PATCHES=( "${FILESDIR}/${PN}-0.3-siteetc.patch" )
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" lice.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r template
+}
diff --git a/app-emacs/lice-el/metadata.xml b/app-emacs/lice-el/metadata.xml
new file mode 100644
index 000000000000..049a47d44e2d
--- /dev/null
+++ b/app-emacs/lice-el/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/buzztaiki/lice-el/issues/</bugs-to>
+ <remote-id type="github">buzztaiki/lice-el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/load-relative/Manifest b/app-emacs/load-relative/Manifest
new file mode 100644
index 000000000000..2c7611e294f5
--- /dev/null
+++ b/app-emacs/load-relative/Manifest
@@ -0,0 +1,2 @@
+DIST load-relative-1.3.1.tar.gz 33985 BLAKE2B 5e2f4329d380d9bc001e23ea4dd096422357cf18e3685d0eeff80c319172ab3ac0afeb722a9322e0cccd8d99c809ace42bc3352a38161f1aea0a3d3d3af27241 SHA512 22d31bfeee37a14bb9820df818a6d1d3cd4d2efb98bbf41ef9e866df602bd18ac0896c625c70195b50f98703d9e0ba2797e0095f051e2937455c29d8be5599c0
+DIST load-relative-1.3.2.tar.gz 33225 BLAKE2B 5b717baeef7c207d1cfef5c4ba3e13ef160a8e4fac09b5a2443afed840c383b29d0086b8b43fb3dffb31d50437838951196ccc75f5eb20b81b9b27db10314c70 SHA512 73ba6b33492348722da5d06a5b999658d4b43265bec57440216724521bc56470fccbeeb5e97a5bfcc870492a1a2ce3331fbbe520711f1c2bab29b402eca07a0d
diff --git a/app-emacs/load-relative/load-relative-1.3.1.ebuild b/app-emacs/load-relative/load-relative-1.3.1.ebuild
new file mode 100644
index 000000000000..53a2b90b909c
--- /dev/null
+++ b/app-emacs/load-relative/load-relative-1.3.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Relative loads for Emacs Lisp files"
+HOMEPAGE="https://github.com/rocky/emacs-load-relative/"
+SRC_URI="https://github.com/rocky/emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( ChangeLog README.md )
+ELISP_REMOVE="el-get-install.el" # Unnecessary, used for install using el-get
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/load-relative/load-relative-1.3.2.ebuild b/app-emacs/load-relative/load-relative-1.3.2.ebuild
new file mode 100644
index 000000000000..261bae4b9688
--- /dev/null
+++ b/app-emacs/load-relative/load-relative-1.3.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Relative loads for Emacs Lisp files"
+HOMEPAGE="https://github.com/rocky/emacs-load-relative/"
+SRC_URI="https://github.com/rocky/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+DOCS=( ChangeLog README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/load-relative/metadata.xml b/app-emacs/load-relative/metadata.xml
new file mode 100644
index 000000000000..54ce9d0ed7bb
--- /dev/null
+++ b/app-emacs/load-relative/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Relative loads for Emacs Lisp files. Adds functions __FILE__ and
+ load-relative and require-relative.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/rocky/emacs-load-relative/issues/</bugs-to>
+ <remote-id type="github">rocky/emacs-load-relative</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/lsp-docker/Manifest b/app-emacs/lsp-docker/Manifest
new file mode 100644
index 000000000000..ea901bf143fd
--- /dev/null
+++ b/app-emacs/lsp-docker/Manifest
@@ -0,0 +1 @@
+DIST lsp-docker-1.0.0_p20240327.tar.gz 88408 BLAKE2B 93dd752786c0c7093efb5a89b99c4dd87419832aaeb8281dcdea3c611e3e16fd80e4c7b519ddf5608c741fd356f8cc66355ac1868f16fb1693dc08236ba53787 SHA512 02d599bf6d0ea95806533218be039f9c5cda54638893adab219d60eeb4a9942ae05b2dab2a9384449d9cd9c6ed85eada99c34e380d679223afd93dc661d492d3
diff --git a/app-emacs/lsp-docker/files/50lsp-docker-gentoo.el b/app-emacs/lsp-docker/files/50lsp-docker-gentoo.el
new file mode 100644
index 000000000000..0321d39bd3bd
--- /dev/null
+++ b/app-emacs/lsp-docker/files/50lsp-docker-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "lsp-docker-autoloads" nil t)
diff --git a/app-emacs/lsp-docker/lsp-docker-1.0.0_p20240327.ebuild b/app-emacs/lsp-docker/lsp-docker-1.0.0_p20240327.ebuild
new file mode 100644
index 000000000000..ce2d199e3bbb
--- /dev/null
+++ b/app-emacs/lsp-docker/lsp-docker-1.0.0_p20240327.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs library to leverage lsp-mode in the Docker environment"
+HOMEPAGE="https://github.com/emacs-lsp/lsp-docker/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}.git"
+else
+ COMMIT_SHA=bf99b65791ce8736b2756bf42cae67d7bc5294b7
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${COMMIT_SHA}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT_SHA}"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/lsp-mode
+ app-emacs/s
+ app-emacs/yaml
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/lsp-docker/metadata.xml b/app-emacs/lsp-docker/metadata.xml
new file mode 100644
index 000000000000..75a2e5515257
--- /dev/null
+++ b/app-emacs/lsp-docker/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">emacs-lsp/lsp-mode</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/lsp-java/Manifest b/app-emacs/lsp-java/Manifest
new file mode 100644
index 000000000000..4da75290650e
--- /dev/null
+++ b/app-emacs/lsp-java/Manifest
@@ -0,0 +1,2 @@
+DIST lsp-java-3.1.tar.gz 823300 BLAKE2B eacf2090822b629ea775e5848ddc9993ba09217e1eb9563ce9532da075a6cfd1f001010ca886f8bd42ac9af95d12c91dac9ac946ddafb1b6e544943cf44a2036 SHA512 34951a1c4a050215d388fb5f273c9f2cb76788b9e2120d4b0f49b20cd5a1151be039351bece6ae311fb7f37a6ee72a2e641a49f6194886c9729b5b5659e02428
+DIST lsp-java-3.1_p20240328.tar.gz 833134 BLAKE2B 5e87c2b120e0e07e33fdf5b47b42fa01fc146d7ee00cc7f35cd023ce42e16726e0b2d50a15e12b200a6a22ef47be43daf8f6ce7ef92acc7f558d53fc5b31ed08 SHA512 68ef39f81f278d469443416e6c8754e5b00ce22c6512301e6d37f51daf3123a32fe52347ab1f9c252fc7711099e61dac3ba3566def03d04a59f93d5d575c6bf4
diff --git a/app-emacs/lsp-java/files/lsp-java-icons-3.1_p20240328.patch b/app-emacs/lsp-java/files/lsp-java-icons-3.1_p20240328.patch
new file mode 100644
index 000000000000..1643bf6a7405
--- /dev/null
+++ b/app-emacs/lsp-java/files/lsp-java-icons-3.1_p20240328.patch
@@ -0,0 +1,24 @@
+index b7f8083..571a19e 100644
+--- a/lsp-java.el
++++ b/lsp-java.el
+@@ -78,7 +78,7 @@ Use http://download.eclipse.org/che/che-ls-jdt/snapshots/che-jdt-language-server
+ :risky t
+ :type 'directory)
+
+-(defcustom lsp-java-themes-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons")
++(defcustom lsp-java-themes-directory "@SITEETC@/icons"
+ "Directory containing themes."
+ :type 'directory
+ :group 'lsp-java)
+index 4aecfd9..ea05a51 100644
+--- a/lsp-jt.el
++++ b/lsp-jt.el
+@@ -185,7 +185,7 @@
+ (-uniq (gethash 'jdtls (lsp-session-server-id->folders (lsp-session)))))
+
+ (treemacs-modify-theme "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/vscode/")
++ :icon-directory "@SITEETC@/icons/vscode/"
+ :config
+ (progn
+ (treemacs-create-icon :file "class.png" :extensions (java-test-class) :fallback "-")
diff --git a/app-emacs/lsp-java/files/lsp-java-icons.patch b/app-emacs/lsp-java/files/lsp-java-icons.patch
new file mode 100644
index 000000000000..5c89490d8688
--- /dev/null
+++ b/app-emacs/lsp-java/files/lsp-java-icons.patch
@@ -0,0 +1,25 @@
+index b7f8083..571a19e 100644
+--- a/lsp-java.el
++++ b/lsp-java.el
+@@ -78,7 +78,7 @@ Use http://download.eclipse.org/che/che-ls-jdt/snapshots/che-jdt-language-server
+ :risky t
+ :type 'directory)
+
+-(defcustom lsp-java-themes-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons")
++(defcustom lsp-java-themes-directory "@SITEETC@/icons"
+ "Directory containing themes."
+ :type 'directory
+ :group 'lsp-java)
+diff --git a/lsp-jt.el b/lsp-jt.el
+index 4aecfd9..ea05a51 100644
+--- a/lsp-jt.el
++++ b/lsp-jt.el
+@@ -185,7 +185,7 @@
+ (-uniq (gethash 'jdtls (lsp-session-server-id->folders (lsp-session)))))
+
+ (treemacs-modify-theme "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/vscode")
++ :icon-directory "@SITEETC@/icons/vscode/"
+ :config
+ (progn
+ (treemacs-create-icon :file "class.png" :extensions (java-test-class) :fallback "-")
diff --git a/app-emacs/lsp-java/lsp-java-3.1.ebuild b/app-emacs/lsp-java/lsp-java-3.1.ebuild
new file mode 100644
index 000000000000..80cd16594e2f
--- /dev/null
+++ b/app-emacs/lsp-java/lsp-java-3.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Java IDE using Eclipse JDT Language Server"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-java/"
+SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+RESTRICT="test" # Tests are unnecessary, they run "build compile checkdoc lint"
+
+RDEPEND="
+ app-emacs/dap-mode
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/lsp-mode
+ app-emacs/markdown-mode
+ app-emacs/request
+ app-emacs/treemacs
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md images )
+PATCHES=( "${FILESDIR}"/${PN}-icons.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i ${PN}.el -i lsp-jt.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r icons
+}
diff --git a/app-emacs/lsp-java/lsp-java-3.1_p20240328.ebuild b/app-emacs/lsp-java/lsp-java-3.1_p20240328.ebuild
new file mode 100644
index 000000000000..3f886354c7a8
--- /dev/null
+++ b/app-emacs/lsp-java/lsp-java-3.1_p20240328.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs Java IDE using Eclipse JDT Language Server"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-java/
+ https://github.com/emacs-lsp/lsp-java/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}"
+else
+ COMMIT_SHA=9296ecd97310458d39338566c3491a27d90f5577
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${COMMIT_SHA}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT_SHA}"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dap-mode
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/lsp-mode
+ app-emacs/markdown-mode
+ app-emacs/request
+ app-emacs/treemacs
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+ELISP_REMOVE="
+ Makefile
+"
+PATCHES=(
+ "${FILESDIR}/${PN}-icons-3.1_p20240328.patch"
+)
+
+DOCS=( README.md images )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -e "s|@SITEETC@|${SITEETC}/${PN}|" -i "${PN}.el" -i lsp-jt.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+}
diff --git a/app-emacs/lsp-java/metadata.xml b/app-emacs/lsp-java/metadata.xml
new file mode 100644
index 000000000000..5fcc78f3e9bc
--- /dev/null
+++ b/app-emacs/lsp-java/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/emacs-lsp/lsp-java/issues/</bugs-to>
+ <remote-id type="github">emacs-lsp/lsp-java</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/lsp-mode/Manifest b/app-emacs/lsp-mode/Manifest
new file mode 100644
index 000000000000..4d6cffbdb925
--- /dev/null
+++ b/app-emacs/lsp-mode/Manifest
@@ -0,0 +1,2 @@
+DIST lsp-mode-8.0.1_pre20231218.tar.gz 16396690 BLAKE2B e841e1cda6e26ba1d646ea8ffeee7212fb3352e4ed73c323212e9bd883ddbe3461918b3ab435a16e6568d2fdaf97b165accd8876625415dfa428259c0c93998f SHA512 d3f5a26e40b7b569ba185d605208bd888aed6430f1fa5b608db47ba727e72fb540646a3908b80ab04db763d9be9adb8b58ef88165f31c874749ed26f7086c0fc
+DIST lsp-mode-9.0.0.tar.gz 16407602 BLAKE2B beb4ea41d098a05e6eb6b2fc1a6eac67a47b99e081d16c298b92914236b740489eb2442fe8f0f46fe098514a259a97aad943b4ba7d9e152944f7bc29b3a98ced SHA512 99ed55853a27b0c4ed4a79a7aec1c48bb1dda00069a897d67fe3fcf570d73126b770791bc4986e791cc7c918349c0c16698b2c4f7d3d7d292898102d67d0f22e
diff --git a/app-emacs/lsp-mode/files/50lsp-mode-gentoo.el b/app-emacs/lsp-mode/files/50lsp-mode-gentoo.el
new file mode 100644
index 000000000000..c7cd4f608612
--- /dev/null
+++ b/app-emacs/lsp-mode/files/50lsp-mode-gentoo.el
@@ -0,0 +1,35 @@
+;;; lsp-mode site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'lsp-completion-at-point "lsp-completion" "Get lsp completions." t)
+(autoload 'lsp-completion--enable "lsp-completion" "Enable LSP completion support.")
+(autoload 'lsp-completion-mode "lsp-completion" "Toggle LSP completion support." t)
+
+(autoload 'lsp-diagnostics--enable "lsp-diagnostics" "Enable LSP checker support.")
+(autoload 'lsp-diagnostics-mode "lsp-diagnostics" "Toggle LSP diagnostics integration." t)
+
+(autoload 'lsp-dired-mode "lsp-dired" "Display `lsp-mode' icons for each file in a dired buffer." t)
+
+(autoload 'lsp-headerline--enable-breadcrumb "lsp-headerline" "Enable breadcrumb on headerline.")
+(autoload 'lsp-headerline-breadcrumb-mode "lsp-headerline" "Toggle breadcrumb on headerline." t)
+
+(autoload 'lsp-ido-workspace-symbol "lsp-ido" "`ido' for lsp workspace/symbol." t)
+
+(autoload 'lsp-iedit-highlights "lsp-iedit" "Start an `iedit' operation on the documentHighlights at point." t)
+
+(autoload 'lsp-lens--enable "lsp-lens" "Enable lens mode.")
+(autoload 'lsp-lens-show "lsp-lens" "Display lenses in the buffer." t)
+(autoload 'lsp-lens-mode "lsp-lens" "Toggle code-lens overlays." t)
+
+(autoload 'lsp "lsp-mode" "Entry point for the server startup." t)
+(autoload 'lsp-deferred "lsp-mode" "Entry point that defers server startup until buffer is visible." t)
+
+(autoload 'lsp-modeline-code-actions-mode "lsp-modeline" "Toggle code actions on modeline." t)
+(autoload 'lsp-modeline-diagnostics-mode "lsp-modeline" "Toggle diagnostics modeline." t)
+(autoload 'lsp-modeline-workspace-status-mode "lsp-modeline" "Toggle workspace status on modeline." t)
+
+(autoload 'lsp--semantic-tokens-initialize-buffer "lsp-semantic-tokens" "Initialize the buffer for semantic tokens.")
+(autoload 'lsp--semantic-tokens-initialize-workspace "lsp-semantic-tokens" "Initialize semantic tokens for WORKSPACE.")
+(autoload 'lsp-semantic-tokens--enable "lsp-semantic-tokens" "Enable semantic tokens mode.")
+(autoload 'lsp-semantic-tokens-mode "lsp-semantic-tokens" "Toggle semantic-tokens support.")
diff --git a/app-emacs/lsp-mode/lsp-mode-8.0.1_pre20231218.ebuild b/app-emacs/lsp-mode/lsp-mode-8.0.1_pre20231218.ebuild
new file mode 100644
index 000000000000..8a04e1d4b30e
--- /dev/null
+++ b/app-emacs/lsp-mode/lsp-mode-8.0.1_pre20231218.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=5b2f3741bb797371bba2932653ca829167f9745a
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs client/library for the Language Server Protocol"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-mode/"
+SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~arm64"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/dash-2.18.0
+ >=app-emacs/f-0.20.0
+ app-emacs/ht
+ app-emacs/lv
+ app-emacs/markdown-mode
+ app-emacs/spinner
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/deferred
+ app-emacs/ecukes
+ app-emacs/el-mock
+ app-emacs/espuds
+ app-emacs/flycheck
+ app-emacs/undercover
+ )
+"
+
+DOCS=( AUTHORS CHANGELOG.org README.md refcard )
+BYTECOMPFLAGS="-L . -L clients"
+ELISP_REMOVE="
+ test/lsp-clangd-test.el
+ test/lsp-common-test.el
+ test/lsp-integration-test.el
+" # Remove failing tests.
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner "${S}" -t "!no-win" -t "!org"
+
+src_compile() {
+ elisp_src_compile
+ elisp-compile clients/*.el
+}
+
+src_install() {
+ elisp_src_install
+ elisp-install "${PN}/clients" clients/*
+}
diff --git a/app-emacs/lsp-mode/lsp-mode-9.0.0.ebuild b/app-emacs/lsp-mode/lsp-mode-9.0.0.ebuild
new file mode 100644
index 000000000000..a9d91c1ecc48
--- /dev/null
+++ b/app-emacs/lsp-mode/lsp-mode-9.0.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs client/library for the Language Server Protocol"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-mode/
+ https://github.com/emacs-lsp/lsp-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/dash-2.18.0
+ >=app-emacs/f-0.20.0
+ app-emacs/ht
+ app-emacs/lv
+ app-emacs/markdown-mode
+ app-emacs/spinner
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/deferred
+ app-emacs/ecukes
+ app-emacs/el-mock
+ app-emacs/espuds
+ app-emacs/flycheck
+ app-emacs/undercover
+ )
+"
+
+BYTECOMPFLAGS="-L . -L clients"
+ELISP_REMOVE="
+ test/lsp-clangd-test.el
+ test/lsp-common-test.el
+ test/lsp-integration-test.el
+" # Remove failing tests.
+
+DOCS=( AUTHORS CHANGELOG.org README.md refcard )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner "${S}" -t "!no-win" -t "!org"
+
+src_compile() {
+ elisp_src_compile
+ elisp-compile clients/*.el
+}
+
+src_install() {
+ elisp_src_install
+ elisp-install "${PN}/clients" clients/*
+}
diff --git a/app-emacs/lsp-mode/metadata.xml b/app-emacs/lsp-mode/metadata.xml
new file mode 100644
index 000000000000..75a2e5515257
--- /dev/null
+++ b/app-emacs/lsp-mode/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">emacs-lsp/lsp-mode</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/lsp-treemacs/Manifest b/app-emacs/lsp-treemacs/Manifest
new file mode 100644
index 000000000000..82f006af6aee
--- /dev/null
+++ b/app-emacs/lsp-treemacs/Manifest
@@ -0,0 +1,2 @@
+DIST lsp-treemacs-0.4.tar.gz 1414056 BLAKE2B 508032a0514cb32e6f05974966dcc035d35f4780ef936f730901c3b5c9d5ab3f632ae22faf0a37fb81cf0e3388e53453c28e304f48ee5a8e090c9b771db47caf SHA512 e9e7ae5459c924d201fd164eaf245fd872187388bf9ead39e51962ad867919a7511f23543da01c17cad08f3fc0fe7b7607d6a2a5bc4d04dd392c6e6c5f3374d3
+DIST lsp-treemacs-0.5.tar.gz 1412531 BLAKE2B 68c4513cc72d87548b86de5ec346f583f09f97d440dcab94f220deb8b3657e9c002641b482e9f7243ff2a608120201d90408540ba8ecd1a0849fd19b7cf43b69 SHA512 37c33ac7fbf76383b801f7194c0aebb8f119a1c47ae88932201d8ce6a33720c19d1f48d2975d34c07fc4d35c2a2e8c50b1cdfb55a7d9f4bd9967228a86f342df
diff --git a/app-emacs/lsp-treemacs/files/lsp-treemacs-themes-icon-directory.patch b/app-emacs/lsp-treemacs/files/lsp-treemacs-themes-icon-directory.patch
new file mode 100644
index 000000000000..da681081c975
--- /dev/null
+++ b/app-emacs/lsp-treemacs/files/lsp-treemacs-themes-icon-directory.patch
@@ -0,0 +1,39 @@
+index 3a24127..2dbe570 100644
+--- a/lsp-treemacs-themes.el
++++ b/lsp-treemacs-themes.el
+@@ -32,7 +32,7 @@
+ :group 'lsp-treemacs)
+
+ (treemacs-modify-theme "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/vscode")
++ :icon-directory "@SITEETC@/icons/vscode"
+ :config
+ (progn
+ (treemacs-create-icon :file "BooleanData.png" :extensions (boolean-data) :fallback "-")
+@@ -107,7 +107,7 @@
+
+ (treemacs-create-theme "Eclipse"
+ :extends "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/eclipse")
++ :icon-directory "@SITEETC@/icons/eclipse"
+ :config
+ (progn
+ (treemacs-create-icon :file "vscode/Namespace.png" :extensions (namespace) :fallback "-")
+@@ -140,7 +140,7 @@
+
+ (treemacs-create-theme "Netbeans"
+ :extends "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/netbeans")
++ :icon-directory "@SITEETC@/icons/netbeans"
+ :config
+ (progn
+ (treemacs-create-icon :file "vscode/Namespace.png" :extensions (namespace) :fallback "-")
+@@ -173,7 +173,7 @@
+
+ (treemacs-create-theme "Idea"
+ :extends "Default"
+- :icon-directory (f-join (f-dirname (or load-file-name buffer-file-name)) "icons/idea")
++ :icon-directory "@SITEETC@/icons/idea"
+ :config
+ (progn
+ (treemacs-create-icon :file "vscode/template.png" :extensions (template) :fallback "-")
diff --git a/app-emacs/lsp-treemacs/lsp-treemacs-0.4.ebuild b/app-emacs/lsp-treemacs/lsp-treemacs-0.4.ebuild
new file mode 100644
index 000000000000..ef05f39a0638
--- /dev/null
+++ b/app-emacs/lsp-treemacs/lsp-treemacs-0.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Integration between lsp-mode and treemacs"
+HOMEPAGE="https://github.com/emacs-lsp/lsp-treemacs/"
+SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/lsp-mode
+ app-emacs/treemacs
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org screenshots )
+PATCHES=( "${FILESDIR}"/${PN}-themes-icon-directory.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i ${PN}-themes.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto ${SITEETC}/${PN}
+ doins -r icons
+}
diff --git a/app-emacs/lsp-treemacs/lsp-treemacs-0.5.ebuild b/app-emacs/lsp-treemacs/lsp-treemacs-0.5.ebuild
new file mode 100644
index 000000000000..cbac4912883c
--- /dev/null
+++ b/app-emacs/lsp-treemacs/lsp-treemacs-0.5.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Integration between lsp-mode and treemacs"
+HOMEPAGE="https://github.com/emacs-lsp/lsp-treemacs/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}"
+else
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/f
+ app-emacs/ht
+ app-emacs/lsp-mode
+ app-emacs/treemacs
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-themes-icon-directory.patch"
+)
+
+DOCS=( README.org screenshots )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -e "s|@SITEETC@|${SITEETC}/${PN}|" -i "${PN}-themes.el" || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+}
diff --git a/app-emacs/lsp-treemacs/metadata.xml b/app-emacs/lsp-treemacs/metadata.xml
new file mode 100644
index 000000000000..f1fee62f0029
--- /dev/null
+++ b/app-emacs/lsp-treemacs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/emacs-lsp/lsp-treemacs/issues/</bugs-to>
+ <remote-id type="github">emacs-lsp/lsp-treemacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/lsp-ui/Manifest b/app-emacs/lsp-ui/Manifest
new file mode 100644
index 000000000000..16d939a4ff45
--- /dev/null
+++ b/app-emacs/lsp-ui/Manifest
@@ -0,0 +1,2 @@
+DIST lsp-ui-8.0.1.tar.gz 5609941 BLAKE2B d62fd98d4c057cb6d994b94b4c488daef0fffe9d5a31627298f8e91f34a030e09574b960a078a6e6b596cbc4c52b682821b27bacb7957a0d3434dbad4c6ed47a SHA512 d0aa31ce2ae12d4d1b8979b2f3e7a08c3dcddb4c676d6fcca3e66005101eb59d0ea1f29ae07a2290f532cee1026be0a958263e4b64b89045c9164a669e208c61
+DIST lsp-ui-9.0.0.tar.gz 5610418 BLAKE2B b6dd07a20f04ddb296085b55a52a20fd5aaf2286f19a833855adf65094617e9f37874874e65f25e2709f5d3eb72b258fb27e93c2dc59cc8b23074341a241765d SHA512 3135168d60efde0a9ddef29e5fb7fd65bd641463ad4eab9da9e5ae2652d2735bf36abc75d8986c7100c127de490eb1af5e59f8299df18e5b3bb57150be2b1c51
diff --git a/app-emacs/lsp-ui/files/50lsp-ui-gentoo.el b/app-emacs/lsp-ui/files/50lsp-ui-gentoo.el
new file mode 100644
index 000000000000..292eb2616d6a
--- /dev/null
+++ b/app-emacs/lsp-ui/files/50lsp-ui-gentoo.el
@@ -0,0 +1,5 @@
+;;; lsp-mode site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'lsp-ui-mode "lsp-ui" "Toggle language server UI mode on or off." t)
diff --git a/app-emacs/lsp-ui/lsp-ui-8.0.1.ebuild b/app-emacs/lsp-ui/lsp-ui-8.0.1.ebuild
new file mode 100644
index 000000000000..7401d8ffdd05
--- /dev/null
+++ b/app-emacs/lsp-ui/lsp-ui-8.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="UI modules for lsp-mode"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-ui/"
+SRC_URI="https://github.com/emacs-lsp/lsp-ui/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/dash-2.18.0
+ app-emacs/flycheck
+ >=app-emacs/lsp-mode-6.0
+ >=app-emacs/markdown-mode-2.3
+"
+DEPEND=${RDEPEND}
+
+# Requires unpackaged dependencies, e.g. Cask
+RESTRICT="test"
+
+DOCS="README.md"
diff --git a/app-emacs/lsp-ui/lsp-ui-9.0.0.ebuild b/app-emacs/lsp-ui/lsp-ui-9.0.0.ebuild
new file mode 100644
index 000000000000..546790e46d31
--- /dev/null
+++ b/app-emacs/lsp-ui/lsp-ui-9.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="UI modules for lsp-mode"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-ui/
+ https://github.com/emacs-lsp/lsp-ui/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-lsp/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-lsp/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/flycheck
+ app-emacs/lsp-mode
+ app-emacs/markdown-mode
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+ELISP_REMOVE="
+ Makefile
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/lsp-ui/metadata.xml b/app-emacs/lsp-ui/metadata.xml
new file mode 100644
index 000000000000..fd9104d01bb6
--- /dev/null
+++ b/app-emacs/lsp-ui/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">emacs-lsp/lsp-ui</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/lua-mode/Manifest b/app-emacs/lua-mode/Manifest
index 332dfca3c2f7..1dce5680fbc4 100644
--- a/app-emacs/lua-mode/Manifest
+++ b/app-emacs/lua-mode/Manifest
@@ -1,2 +1,2 @@
-DIST lua-mode-20151025.tar.gz 35319 BLAKE2B d84c79622793c51caf7262749d4648baa106f7a2d639706b495097d89fbe8f3ce09482ca12a0473e4a4eaf04cab83ee8b65d62e505b32b12302571efdd1881d4 SHA512 1b2877ba9ba24694b2a820a4e1408d0f475f04bdee424d346fc2248980863aaaf230f757365095304cda763addb32de7e6a2585218770f66d519455d1a32762d
DIST lua-mode-20201010.tar.gz 42458 BLAKE2B 7bdfd35a8cb2bd1abea477fc408ee1d36c482310764d95acc0e0032a316bba005c15be9b5b862f249d72a7f6bdb30e71d951182023686f5914f4ec5272eb03f1 SHA512 7df283c4a6445979b4ceb1e398d1b48e8967d2f631f33be3f58171758ceb613ea8a4c7a466975bbe77d2a361b70dc9f30b7a244be34a87de0e6434b61088a6a4
+DIST lua-mode-20210802.tar.gz 53708 BLAKE2B 59532423c87dc0a50401352151756f66cb757e3ffdd7bae066bfbe4e4d90a6ea52b90b106e998c5e2abe05bdd0be9a653b1d226127380b88c5c13def5292a622 SHA512 04a85b6911c295ac02534b812bcd90c8f0224634c77b1fdcff86a24315749af07d86a8b4f8c65caf853849d4a9af9e85af9506606d0e5193e37644130981ccc5
diff --git a/app-emacs/lua-mode/lua-mode-20151025.ebuild b/app-emacs/lua-mode/lua-mode-20151025.ebuild
deleted file mode 100644
index 3483cfa36926..000000000000
--- a/app-emacs/lua-mode/lua-mode-20151025.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="An Emacs major mode for editing Lua scripts"
-HOMEPAGE="http://lua-users.org/wiki/LuaEditorSupport
- http://immerrr.github.io/lua-mode/"
-SRC_URI="https://github.com/immerrr/${PN}/archive/rel-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-RESTRICT="test" # tests require cask which isn't packaged yet
-
-S="${WORKDIR}/${PN}-rel-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="NEWS README README.md TODO"
diff --git a/app-emacs/lua-mode/lua-mode-20201010.ebuild b/app-emacs/lua-mode/lua-mode-20201010.ebuild
index 78393cf9f299..6dd22aff231d 100644
--- a/app-emacs/lua-mode/lua-mode-20201010.ebuild
+++ b/app-emacs/lua-mode/lua-mode-20201010.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS=24.3
inherit elisp
@@ -13,7 +12,7 @@ SRC_URI="https://github.com/immerrr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
RESTRICT="test" # tests require cask which isn't packaged yet
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/lua-mode/lua-mode-20210802.ebuild b/app-emacs/lua-mode/lua-mode-20210802.ebuild
new file mode 100644
index 000000000000..5a164432d2c3
--- /dev/null
+++ b/app-emacs/lua-mode/lua-mode-20210802.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An Emacs major mode for editing Lua scripts"
+HOMEPAGE="http://lua-users.org/wiki/LuaEditorSupport
+ http://immerrr.github.io/lua-mode/"
+SRC_URI="https://github.com/immerrr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+RESTRICT="test" # tests require cask which isn't packaged yet
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="NEWS README README.md TODO"
diff --git a/app-emacs/lv/Manifest b/app-emacs/lv/Manifest
new file mode 100644
index 000000000000..69e3e6e5ea03
--- /dev/null
+++ b/app-emacs/lv/Manifest
@@ -0,0 +1 @@
+DIST lv-0.15.0.tar.gz 36150 BLAKE2B 6e7d1ed6501d5b0fb40f3545d61469e461363dc7ec8900c7c697116cb19704529acfd9e886a1fef09ae50dfd68666e6455c62447140f55b1f4651490855c2b3a SHA512 815a8c425aaeb4d2aeb5d9faa0f66a41e37420b8e9435d93b9e78913c0e0722d1e39cad2e8f4bc12cfe34dad2e3fc1290b23d816181b12fd093f9e4d9d37e814
diff --git a/app-emacs/lv/files/50lv-gentoo.el b/app-emacs/lv/files/50lv-gentoo.el
new file mode 100644
index 000000000000..5a5832d6fd30
--- /dev/null
+++ b/app-emacs/lv/files/50lv-gentoo.el
@@ -0,0 +1,4 @@
+;;; lvsite-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
diff --git a/app-emacs/lv/lv-0.15.0-r1.ebuild b/app-emacs/lv/lv-0.15.0-r1.ebuild
new file mode 100644
index 000000000000..cec213f0d313
--- /dev/null
+++ b/app-emacs/lv/lv-0.15.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Other echo area"
+HOMEPAGE="https://github.com/abo-abo/hydra/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/abo-abo/hydra.git"
+else
+ SRC_URI="https://github.com/abo-abo/hydra/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/hydra-${PV}"
+ KEYWORDS="amd64 ~arm64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile lv.el
+}
+
+src_install() {
+ elisp-install lv lv.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/lv/metadata.xml b/app-emacs/lv/metadata.xml
new file mode 100644
index 000000000000..99443dfe97b3
--- /dev/null
+++ b/app-emacs/lv/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">abo-abo/hydra</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/lyskom-elisp-client/Manifest b/app-emacs/lyskom-elisp-client/Manifest
index 595a1116f296..79a26635b2eb 100644
--- a/app-emacs/lyskom-elisp-client/Manifest
+++ b/app-emacs/lyskom-elisp-client/Manifest
@@ -1,2 +1 @@
-DIST lyskom-elisp-client-0.48_p20180410.tar.xz 889468 BLAKE2B b8a1766b6f6b1d4b01676792f45d66517cdc43d2e29ae6e5b0704b90e4dfc749f8e4155159fd28a25426d79502bcaf7f2cbded32b2e64e22b2b36f11cbdbd123 SHA512 efb04b2100d59fac971898a6db3e48cf45e3bdc4455f06a0cdd065a97db5441edd4eda2e838a5e88c0b0246387dba0e3f71777892b3a6889c51960f0259fbdfc
DIST lyskom-elisp-client-0.48_p20200226.tar.xz 896372 BLAKE2B e9d2c7db2cbce40fa48a788c09db052ff819db2cb00848c735646c8d6fc72ea808c03881295bf91d5cb37ce63ceebf6d4537674b9a87946c75a0a92c613eb37b SHA512 901257ef054e5700038cc59712d02e855920851782bf0d44090e1db500f545fee44e47c70c8036bb29a92056c2e72ff48ac518ccdb36ab84c18a6ac18e309529
diff --git a/app-emacs/lyskom-elisp-client/lyskom-elisp-client-0.48_p20180410.ebuild b/app-emacs/lyskom-elisp-client/lyskom-elisp-client-0.48_p20180410.ebuild
deleted file mode 100644
index 58460bf45b94..000000000000
--- a/app-emacs/lyskom-elisp-client/lyskom-elisp-client-0.48_p20180410.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Elisp client for the LysKOM conference system"
-HOMEPAGE="http://www.lysator.liu.se/lyskom/klienter/emacslisp/index.en.html"
-# snapshot of git://git.lysator.liu.se/${PN}/${PN}.git
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 sparc x86"
-IUSE="l10n_sv"
-
-S="${WORKDIR}/${PN}"
-ELISP_PATCHES="${PN}-0.48_p20161231-no-git.patch"
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- elisp_src_prepare
- local d=${PV#*_p}
- sed -i "s/@@DATE@@/${d:0:4}-${d:4:2}-${d:6:2}/" src/Makefile || die
-}
-
-src_compile() {
- emake -C src EMACS=emacs
- # Info page is in Swedish only
- use l10n_sv && emake -C doc elisp-client
-}
-
-src_install() {
- elisp-install ${PN} src/lyskom.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc src/{ChangeLog*,README,TODO} doc/NEWS*
- use l10n_sv && doinfo doc/elisp-client
-
- DOC_CONTENTS="If you prefer an English language environment, add the
- following line to your ~/.emacs file:
- \n\t(setq-default kom-default-language 'en)"
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/m-buffer/Manifest b/app-emacs/m-buffer/Manifest
new file mode 100644
index 000000000000..c24e00f91828
--- /dev/null
+++ b/app-emacs/m-buffer/Manifest
@@ -0,0 +1 @@
+DIST m-buffer-0.15.tar.gz 19211 BLAKE2B b4cbb7bdac9e68622db03acba07b5422181599e69e6d92740aa364684c998de9a24c8740cc2d7ec0dc40e9eee56f211a93bcfd734d30b9b44b8ca3b54ec4f39c SHA512 94465cbec24137d82498ce68d7e76f871e3986afae0bb419b8e65b740c54d6c65db8ab0dedf87392cbd2b383c7ca8eb96cf295139bb1322e7652e44ac41937ae
diff --git a/app-emacs/m-buffer/m-buffer-0.15.ebuild b/app-emacs/m-buffer/m-buffer-0.15.ebuild
new file mode 100644
index 000000000000..51c907f97f7e
--- /dev/null
+++ b/app-emacs/m-buffer/m-buffer-0.15.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="List Oriented Buffer Operations for Emacs"
+HOMEPAGE="https://github.com/phillord/m-buffer-el/"
+SRC_URI="https://github.com/phillord/${PN}-el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-el-${PV}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/load-relative )"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test \
+ -l dev/assess-discover -f assess-discover-run-and-exit-batch || die
+}
diff --git a/app-emacs/m-buffer/metadata.xml b/app-emacs/m-buffer/metadata.xml
new file mode 100644
index 000000000000..84e803c50139
--- /dev/null
+++ b/app-emacs/m-buffer/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package provides a set of list-orientated functions for operating over
+ the contents of Emacs buffers. Functions are generally purish: i.e. they
+ may change the state of one buffer by side-effect, but should not affect
+ point, current buffer, match data or so forth.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/phillord/m-buffer-el/issues/</bugs-to>
+ <remote-id type="github">phillord/m-buffer-el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/macrostep-geiser/Manifest b/app-emacs/macrostep-geiser/Manifest
new file mode 100644
index 000000000000..9bcf1ea97ec4
--- /dev/null
+++ b/app-emacs/macrostep-geiser/Manifest
@@ -0,0 +1 @@
+DIST macrostep-geiser-0.2.0_p20210717.tar.gz 14904 BLAKE2B d325ed79548b3a3d2ce64180953466b4e491867e1a6dad29caee08ef0066560aee89c9defbb5c2b2dcece4b0846c8865db8b7503aa253f0ac6a6d646942ffb47 SHA512 c8d97a1e9ce6664a283e0e299b96aa1ddac04c99dc3cfed328795e788f24d71d96587b480fc8cb07717755537bb72681b59f0c0c42ea67dbb06a907deedf5b83
diff --git a/app-emacs/macrostep-geiser/files/50macrostep-geiser-gentoo.el b/app-emacs/macrostep-geiser/files/50macrostep-geiser-gentoo.el
new file mode 100644
index 000000000000..79e76a43750e
--- /dev/null
+++ b/app-emacs/macrostep-geiser/files/50macrostep-geiser-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'macrostep-geiser-setup "macrostep-geiser"
+ "Set-up `macrostep' to use `geiser'." t)
diff --git a/app-emacs/macrostep-geiser/macrostep-geiser-0.2.0_p20210717.ebuild b/app-emacs/macrostep-geiser/macrostep-geiser-0.2.0_p20210717.ebuild
new file mode 100644
index 000000000000..2c103f31fcb0
--- /dev/null
+++ b/app-emacs/macrostep-geiser/macrostep-geiser-0.2.0_p20210717.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=f6a2d5bb96ade4f23df557649af87ebd0cc45125
+
+inherit elisp
+
+DESCRIPTION="Emacs macrostep back-end powered by geiser"
+HOMEPAGE="https://github.com/nbfalcon/macrostep-geiser/"
+SRC_URI="https://github.com/nbfalcon/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ app-emacs/geiser
+ app-emacs/macrostep
+"
+BDEPEND="${RDEPEND}"
diff --git a/app-emacs/macrostep-geiser/metadata.xml b/app-emacs/macrostep-geiser/metadata.xml
new file mode 100644
index 000000000000..efe36c01cce1
--- /dev/null
+++ b/app-emacs/macrostep-geiser/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This plug-in implements a macrostep back-end powered by geiser. geiser does
+ have built-in macro-expansion facilities, namely geiser-expand-*. However,
+ I find macrostep's in-place expansions to be more convenient than pop-up
+ buffers.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/nbfalcon/macrostep-geiser/issues/</bugs-to>
+ <remote-id type="github">nbfalcon/macrostep-geiser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/macrostep/Manifest b/app-emacs/macrostep/Manifest
new file mode 100644
index 000000000000..6b087d2e93e4
--- /dev/null
+++ b/app-emacs/macrostep/Manifest
@@ -0,0 +1 @@
+DIST macrostep-0.9.2.tar.gz 33067 BLAKE2B 0fd25c8ae8827032286890040dadc2f3f2ca20d2fb5366acfe0a6a319f4dc20e2ff17fb59355b2bab36a9cea418122f5c3ae1485bc2ea9989f9c7c5fe4e4b390 SHA512 55d4c0c09f184a3e2218dc484d3c0f57255d591db910082d466f835b084aaa5d795636d337fa1f642a9a97858eaef63b58771f5583c975488f07ed0f87bdbb32
diff --git a/app-emacs/macrostep/files/50macrostep-gentoo.el b/app-emacs/macrostep/files/50macrostep-gentoo.el
new file mode 100644
index 000000000000..ea9ea4709733
--- /dev/null
+++ b/app-emacs/macrostep/files/50macrostep-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'macrostep-mode "macrostep"
+ "Minor mode for inline expansion of macros in Emacs Lisp source buffers." t)
+(autoload 'macrostep-expand "macrostep"
+ "Expand the macro form following point by one step." t)
+(autoload 'macrostep-c-mode-hook "macrostep-c"
+ nil t)
diff --git a/app-emacs/macrostep/files/macrostep-test.patch b/app-emacs/macrostep/files/macrostep-test.patch
new file mode 100644
index 000000000000..ee683556eb90
--- /dev/null
+++ b/app-emacs/macrostep/files/macrostep-test.patch
@@ -0,0 +1,13 @@
+diff --git a/macrostep-test.el b/macrostep-test.el
+index 9de1fae..c49ac0a 100644
+--- a/macrostep-test.el
++++ b/macrostep-test.el
+@@ -410,7 +410,7 @@
+ (should (macrostep-lax-looking-at ,string))
+ (macrostep-collapse)))
+
+-(ert-deftest macrostep-expand-c-macros ()
++(defun macrostep-expand-c-macros ()
+ (with-temp-buffer
+ (insert
+ ;; A random example adapted from Emacs's src/lisp.h.
diff --git a/app-emacs/macrostep/macrostep-0.9.2.ebuild b/app-emacs/macrostep/macrostep-0.9.2.ebuild
new file mode 100644
index 000000000000..1101f1121e89
--- /dev/null
+++ b/app-emacs/macrostep/macrostep-0.9.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Interactive macro-expander for Emacs"
+HOMEPAGE="https://github.com/joddie/macrostep/
+ https://github.com/emacsorphanage/macrostep/"
+SRC_URI="https://github.com/emacsorphanage/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-test.patch )
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . --load ${PN}-test.el || die "test failed"
+}
+
+src_install() {
+ rm macrostep-test.el{,c} || die
+
+ elisp_src_install
+}
diff --git a/app-emacs/macrostep/metadata.xml b/app-emacs/macrostep/metadata.xml
new file mode 100644
index 000000000000..8a27a0a2c9bc
--- /dev/null
+++ b/app-emacs/macrostep/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ macrostep is an Emacs minor mode for interactively stepping through the
+ expansion of macros in Emacs Lisp source code. It lets you see exactly what
+ happens at each step of the expansion process by pretty-printing the
+ expanded forms inline in the source buffer, which is temporarily read-only
+ while macro expansions are visible. You can expand and collapse macro forms
+ one step at a time, and evaluate or instrument the expansions for debugging
+ with Edebug as normal. Single-stepping through the expansion is
+ particularly useful for debugging macros that expand into another macro
+ form. These can be difficult to debug with Emacs’ built-in macroexpand,
+ which continues expansion until the top-level form is no longer a macro
+ call.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/joddie/macrostep/issues/</bugs-to>
+ <remote-id type="github">joddie/macrostep</remote-id>
+ <remote-id type="github">emacsorphanage/macrostep</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/magit-popup/Manifest b/app-emacs/magit-popup/Manifest
index 84bf8f08c13f..89791578f606 100644
--- a/app-emacs/magit-popup/Manifest
+++ b/app-emacs/magit-popup/Manifest
@@ -1,3 +1 @@
-DIST magit-popup-2.13.0.tar.gz 40226 BLAKE2B 9b5a115de98440873eae51e23c51b19a426518d66d9c9bf9f4d3b2476aa1ad7829311bde7845d861fc8f63c38c87d2236274019456fd773a90880acf73bb1cfb SHA512 27d8c9268a9ccc682105c67ec5f6dbfdf62e527ca982f4f71781f571af5374a364d290abe60c84286563b1d73e000550796c7b1c8f2474f5df62e552afe2cefb
-DIST magit-popup-2.13.2.tar.gz 40411 BLAKE2B 3100eb93ce97cacde5734bce9e8582ccb2e3eb7521e7a751967da43faf9cb91fc1467e3282f0e21d761d1e61bd3308616de83255809f064237415e6705b97371 SHA512 2d02a934083b6517d0e1c3d177c4266fcd9110a6043bf8d25272a0308a2ae4389b38dd84289554c16a97823d4fc6f2ad580fbf52f80babf804f2c72263201ed9
DIST magit-popup-2.13.3.tar.gz 40419 BLAKE2B 6543c6c3f65cb392dad9cb60d577d792ca0ee416a0ec41037e80b1ce39a8587ec6b83f57c5914f4018b8e491a916f3a0fca0121044b8ccd695c6606eb14c6688 SHA512 4893ba23268bfd1e7f7fd0a65e23bc1c2a2fd0d9ac9ad2960d6214738350cd451d851f4165fd5cfe4d02bb281f776c0e5836b2f3738ddd453ae171232e48078c
diff --git a/app-emacs/magit-popup/files/50magit-popup-gentoo.el b/app-emacs/magit-popup/files/50magit-popup-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/magit-popup/files/50magit-popup-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/magit-popup/magit-popup-2.13.0.ebuild b/app-emacs/magit-popup/magit-popup-2.13.0.ebuild
deleted file mode 100644
index e2fd732e5f14..000000000000
--- a/app-emacs/magit-popup/magit-popup-2.13.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Define prefix-infix-suffix command combos"
-HOMEPAGE="https://magit.vc/manual/magit-popup"
-SRC_URI="https://github.com/magit/magit-popup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-CDEPEND=">=app-emacs/dash-2.13.0"
-DEPEND="${CDEPEND} sys-apps/texinfo"
-RDEPEND="!!<app-emacs/magit-2.12.1
- ${CDEPEND}"
diff --git a/app-emacs/magit-popup/magit-popup-2.13.2.ebuild b/app-emacs/magit-popup/magit-popup-2.13.2.ebuild
deleted file mode 100644
index f58ae4d2112b..000000000000
--- a/app-emacs/magit-popup/magit-popup-2.13.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Define prefix-infix-suffix command combos"
-HOMEPAGE="https://magit.vc/manual/magit-popup"
-SRC_URI="https://github.com/magit/magit-popup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md"
-
-CDEPEND=">=app-emacs/dash-2.13.0"
-DEPEND="${CDEPEND} sys-apps/texinfo"
-RDEPEND="!!<app-emacs/magit-2.12.1
- ${CDEPEND}"
diff --git a/app-emacs/magit-popup/magit-popup-2.13.3.ebuild b/app-emacs/magit-popup/magit-popup-2.13.3.ebuild
index f58ae4d2112b..50a096e997d5 100644
--- a/app-emacs/magit-popup/magit-popup-2.13.3.ebuild
+++ b/app-emacs/magit-popup/magit-popup-2.13.3.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS=24
inherit elisp
@@ -12,7 +11,7 @@ SRC_URI="https://github.com/magit/magit-popup/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
SITEFILE="50${PN}-gentoo.el"
ELISP_TEXINFO="*.texi"
diff --git a/app-emacs/magit/Manifest b/app-emacs/magit/Manifest
index 95371f51e1a3..0bab74cb042f 100644
--- a/app-emacs/magit/Manifest
+++ b/app-emacs/magit/Manifest
@@ -1,3 +1 @@
-DIST magit-2.90.1.tar.gz 544968 BLAKE2B d3a38cf8c4d8c15529463028c4f6718d65bff044f91f58f2027c62d584202835d17229ec1db93d2990b5bb59403eabf7f12e7e91e2de519149ad40c274da5f25 SHA512 57a81fc72276907009fd3d05abbaed930d089d3e4621d539abb6ce2b24fd594950533f47d60682e25f0bd1c9f1ab3a16ba6b2698d79c6980f250ffd335be7789
-DIST magit-3.2.0.tar.gz 618602 BLAKE2B c96226669bc5160460d24a1b9b36784d6764234e2e2690f059c362176e9a56fc742b961a0d4103049b33d958e44c092f4bbb75de3b3437ac178dae89e34028e0 SHA512 3b4bd5a13592814c0c638a26ba09c6e01a15db6af3555db41bc0adc53e8c08eaa2e7c58d8a105101fb46a8a04be0e09a0f2c86d365391430b42adee83df382f6
-DIST magit-3.3.0.tar.gz 629283 BLAKE2B b07a071682ac543ba4a94b9bb8d78cedca1dcc4a7140ad2972d65e014666a2fea078611a7fd98356747d02431e5aa2456801e7e9a12e2b08027666b437863535 SHA512 22fa7c41cb18746b33f64ef936f88dbf229f998e2d2a5d066771711450753c98430335040d0a9812832f3fa39f96f6e88133d5274964332bc899fa7ef19422eb
+DIST magit-3.3.0.50_p20230912.tar.gz 666150 BLAKE2B 52d0afa05fad68283c668810806a61e3df6494c8afecdceccf193c64eec5396fb5f45fad5c31d4cb601954c8abc27fcc4be240ffd72c4fc72531876657c4c157 SHA512 d6c8c32676b07253b661388e8db1602162f7012ff3bf5bc6bcc071507bb9c08633359043eb893b743e5f37d7474a17b1a2e96975cd64d0688e3c6337ca65470e
diff --git a/app-emacs/magit/magit-2.90.1.ebuild b/app-emacs/magit/magit-2.90.1.ebuild
deleted file mode 100644
index ded24c2c6690..000000000000
--- a/app-emacs/magit/magit-2.90.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="A Git porcelain inside Emacs"
-HOMEPAGE="https://magit.vc/"
-SRC_URI="https://github.com/magit/magit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-S="${WORKDIR}/${P}/lisp"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="../Documentation/*.texi"
-DOCS="../README.md ../Documentation/AUTHORS.md ../Documentation/RelNotes/*"
-
-DEPEND="
- >=app-emacs/dash-2.14.1
- >=app-emacs/ghub-3.0.0
- >=app-emacs/magit-popup-2.12.4
- >=app-emacs/with-editor-2.8.0
-"
-RDEPEND="${DEPEND} >=dev-vcs/git-2.0.0"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- default
- echo "(setq magit-version \"${PV}\")" > magit-version.el || die
-}
diff --git a/app-emacs/magit/magit-3.2.0.ebuild b/app-emacs/magit/magit-3.2.0.ebuild
deleted file mode 100644
index eec1091e376e..000000000000
--- a/app-emacs/magit/magit-3.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="A Git porcelain inside Emacs"
-HOMEPAGE="https://magit.vc/"
-SRC_URI="https://github.com/magit/magit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-S="${WORKDIR}/${P}/lisp"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="../Documentation/*.texi"
-DOCS="../README.md ../Documentation/AUTHORS.md ../Documentation/RelNotes/*"
-
-DEPEND="
- >=app-emacs/dash-2.18.1
- app-emacs/libegit2
- >=app-emacs/transient-0.3.6
- >=app-emacs/with-editor-3.0.4
-"
-RDEPEND="${DEPEND} >=dev-vcs/git-2.0.0"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- default
- echo "(setq magit-version \"${PV}\")" > magit-version.el || die
-}
diff --git a/app-emacs/magit/magit-3.3.0.50_p20230912.ebuild b/app-emacs/magit/magit-3.3.0.50_p20230912.ebuild
new file mode 100644
index 000000000000..2894d75d1d6f
--- /dev/null
+++ b/app-emacs/magit/magit-3.3.0.50_p20230912.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A Git porcelain inside Emacs"
+HOMEPAGE="https://magit.vc/
+ https://github.com/magit/magit/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/magit.git"
+ S="${WORKDIR}/${P}/lisp"
+else
+ [[ ${PV} == *_p20230912 ]] && COMMIT=141dd46798e5cae57617e941418ebbb3a2172f5e
+
+ SRC_URI="https://github.com/magit/magit/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}/lisp"
+
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="libgit"
+
+DOCS=( ../README.md ../docs/AUTHORS.md ../docs/RelNotes )
+ELISP_TEXINFO="../docs/*.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/dash-2.19.1
+ >=app-emacs/transient-0.3.6
+ >=app-emacs/with-editor-3.0.5
+ libgit? ( app-emacs/libegit2 )
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+RDEPEND+="
+ >=dev-vcs/git-2.0.0
+"
+
+src_prepare() {
+ default
+ use libgit || rm magit-libgit.el || die
+ echo "(setq magit-version \"${PV}\")" > magit-version.el || die
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ if ! use libgit; then
+ einfo "The dependency on app-emacs/libegit2 is optional"
+ einfo "since magit version 3.3.0. Enable the \"libgit\" flag"
+ einfo "if you need the libgit backend."
+ fi
+}
diff --git a/app-emacs/magit/magit-3.3.0.ebuild b/app-emacs/magit/magit-3.3.0.ebuild
deleted file mode 100644
index 5b015439899f..000000000000
--- a/app-emacs/magit/magit-3.3.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="A Git porcelain inside Emacs"
-HOMEPAGE="https://magit.vc/"
-SRC_URI="https://github.com/magit/magit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-S="${WORKDIR}/${P}/lisp"
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="../Documentation/*.texi"
-DOCS="../README.md ../Documentation/AUTHORS.md ../Documentation/RelNotes/*"
-
-DEPEND="
- >=app-emacs/dash-2.19.1
- app-emacs/libegit2
- >=app-emacs/transient-0.3.6
- >=app-emacs/with-editor-3.0.5
-"
-RDEPEND="${DEPEND} >=dev-vcs/git-2.0.0"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- default
- echo "(setq magit-version \"${PV}\")" > magit-version.el || die
-}
diff --git a/app-emacs/magit/magit-9999.ebuild b/app-emacs/magit/magit-9999.ebuild
new file mode 100644
index 000000000000..b4313fb02089
--- /dev/null
+++ b/app-emacs/magit/magit-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A Git porcelain inside Emacs"
+HOMEPAGE="https://magit.vc/
+ https://github.com/magit/magit/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/magit.git"
+else
+ SRC_URI="https://github.com/magit/magit/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+S="${WORKDIR}/${P}/lisp"
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="libgit"
+
+DOCS=( ../README.md ../docs/AUTHORS.md ../docs/RelNotes )
+ELISP_TEXINFO="../docs/*.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/dash-2.19.1
+ >=app-emacs/transient-0.3.6
+ >=app-emacs/with-editor-3.0.5
+ libgit? ( app-emacs/libegit2 )
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+RDEPEND+="
+ >=dev-vcs/git-2.0.0
+"
+
+src_prepare() {
+ default
+ use libgit || rm magit-libgit.el || die
+ echo "(setq magit-version \"${PV}\")" > magit-version.el || die
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ if ! use libgit; then
+ einfo "The dependency on app-emacs/libegit2 is optional"
+ einfo "since magit version 3.3.0. Enable the \"libgit\" flag"
+ einfo "if you need the libgit backend."
+ fi
+}
diff --git a/app-emacs/magit/metadata.xml b/app-emacs/magit/metadata.xml
index f81070d61ccb..6b01d379f24b 100644
--- a/app-emacs/magit/metadata.xml
+++ b/app-emacs/magit/metadata.xml
@@ -16,6 +16,9 @@
Git operations.
</longdescription>
<stabilize-allarches/>
+<use>
+ <flag name="libgit">Use libgit (<pkg>app-emacs/libegit2</pkg>)</flag>
+</use>
<upstream>
<remote-id type="github">magit/magit</remote-id>
</upstream>
diff --git a/app-emacs/mailcrypt/files/50mailcrypt-gentoo.el b/app-emacs/mailcrypt/files/50mailcrypt-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/mailcrypt/files/50mailcrypt-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/mailcrypt/mailcrypt-3.5.9-r3.ebuild b/app-emacs/mailcrypt/mailcrypt-3.5.9-r3.ebuild
index 3906d3b559fd..9cf69a729505 100644
--- a/app-emacs/mailcrypt/mailcrypt-3.5.9-r3.ebuild
+++ b/app-emacs/mailcrypt/mailcrypt-3.5.9-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit elisp readme.gentoo-r1
@@ -14,6 +14,7 @@ SLOT="0"
KEYWORDS="amd64 ppc sparc x86"
RESTRICT="test"
+BDEPEND="sys-apps/texinfo"
RDEPEND="app-crypt/gnupg"
ELISP_PATCHES="${P}-backquotes.patch"
diff --git a/app-emacs/marginalia/Manifest b/app-emacs/marginalia/Manifest
new file mode 100644
index 000000000000..9556a2afed4e
--- /dev/null
+++ b/app-emacs/marginalia/Manifest
@@ -0,0 +1,2 @@
+DIST marginalia-1.5.tar.gz 31360 BLAKE2B 79ea6180955f56edc4aa23d1798af655fb9702d7b3c48dabd7cbca3d091623427e977b21953c551c4cd04544a9d7fea89a78020aaa514d5fbe7d66f24fe22c2b SHA512 6e13b4f5a153ca47c800fd319465f78bb8920df24f448c5d312aaae247a6abcbd70346578fd3d1e39e20ac14cf8856aa2288c7ac456141fbb20ff5a0e47cf08b
+DIST marginalia-1.6.tar.gz 31570 BLAKE2B 991b3a0c0666ff76c7f1688d376e571c4c8d7910240695cac7d367562e3245dbebcf03a69ee4ebe2346f4ed20b2900962352075f7a661157d1588233130b4d82 SHA512 05ca055f15b4e4372b1131704f5309fc9dcff9530dffe4b99bd354f2912046af355c86e267e7edc0c19f4eb472ba5f529668ac93dda48b829a9d49faa324e3a8
diff --git a/app-emacs/marginalia/files/50marginalia-gentoo.el b/app-emacs/marginalia/files/50marginalia-gentoo.el
new file mode 100644
index 000000000000..343fb0383c63
--- /dev/null
+++ b/app-emacs/marginalia/files/50marginalia-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'marginalia-mode "marginalia" nil t)
+(autoload 'marginalia-cycle "marginalia" nil t)
diff --git a/app-emacs/marginalia/marginalia-1.5.ebuild b/app-emacs/marginalia/marginalia-1.5.ebuild
new file mode 100644
index 000000000000..94f2ac11d2f2
--- /dev/null
+++ b/app-emacs/marginalia/marginalia-1.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Marginalia in the minibuffer"
+HOMEPAGE="https://github.com/minad/marginalia"
+SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
diff --git a/app-emacs/marginalia/marginalia-1.6.ebuild b/app-emacs/marginalia/marginalia-1.6.ebuild
new file mode 100644
index 000000000000..9ec4e409b6c6
--- /dev/null
+++ b/app-emacs/marginalia/marginalia-1.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Marginalia in the minibuffer"
+HOMEPAGE="https://github.com/minad/marginalia"
+SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
diff --git a/app-emacs/marginalia/metadata.xml b/app-emacs/marginalia/metadata.xml
new file mode 100644
index 000000000000..28131840d642
--- /dev/null
+++ b/app-emacs/marginalia/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">minad/marginalia</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/markdown-mode/Manifest b/app-emacs/markdown-mode/Manifest
index 90217be7d132..ceeb193b9d34 100644
--- a/app-emacs/markdown-mode/Manifest
+++ b/app-emacs/markdown-mode/Manifest
@@ -1 +1 @@
-DIST markdown-mode-2.4.tar.gz 211229 BLAKE2B 49a369d1b418634449cdac3103e1b107b5dd839edba6a3329539b80cf21bfb0f01aa436ec6deb256bfb5f03ef73b716943730adc4a87b52262dfccbd7923556e SHA512 8bf2acd7f402c036c57521340d26cea150935964f04f1343c2e17147d63226c815150be62c0b79a2ba48e55b3155d94f38caf1ec43c21d4f32dee6e73cc261a0
+DIST markdown-mode-2.6.tar.gz 222181 BLAKE2B 173ba3e152bc4fa45548833bbf87e4e00a56fa2150874b8c3ef395e8364cabeebbe7ab1e582dd55bd531b2a130191b3e79db410b126b6edc8f0573f742b47a33 SHA512 fbfb7a98bb0c562d501d6b1c40987751233ccf386864db43296e02bcaf7d2b8c8d634f1411b91662947e90f33466728101ec0018d2abf46df936f7b19a79b371
diff --git a/app-emacs/markdown-mode/files/markdown-mode-2.4-markdown-command.patch b/app-emacs/markdown-mode/files/markdown-mode-2.4-markdown-command.patch
deleted file mode 100644
index 1ae481d6c094..000000000000
--- a/app-emacs/markdown-mode/files/markdown-mode-2.4-markdown-command.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-dev-python/markdown2 and dev-python/markdown install their commands
-as markdown2 and markdown_py, respectively.
-
---- markdown-mode-2.4-orig/markdown-mode.el
-+++ markdown-mode-2.4/markdown-mode.el
-@@ -90,7 +90,7 @@
- :group 'text
- :link '(url-link "https://jblevins.org/projects/markdown-mode/"))
-
--(defcustom markdown-command (let ((command (cl-loop for cmd in '("markdown" "pandoc")
-+(defcustom markdown-command (let ((command (cl-loop for cmd in '("markdown" "pandoc" "markdown2" "markdown_py")
- when (executable-find cmd)
- return (file-name-nondirectory it))))
- (or command "markdown"))
diff --git a/app-emacs/markdown-mode/files/markdown-mode-2.5-markdown-command.patch b/app-emacs/markdown-mode/files/markdown-mode-2.5-markdown-command.patch
new file mode 100644
index 000000000000..99ed3d2149b7
--- /dev/null
+++ b/app-emacs/markdown-mode/files/markdown-mode-2.5-markdown-command.patch
@@ -0,0 +1,13 @@
+dev-python/markdown2 installs its command as markdown2
+
+--- markdown-mode-2.5/markdown-mode.el
++++ markdown-mode-2.5/markdown-mode.el
+@@ -94,7 +94,7 @@
+ :group 'text
+ :link '(url-link "https://jblevins.org/projects/markdown-mode/"))
+
+-(defcustom markdown-command (let ((command (cl-loop for cmd in '("markdown" "pandoc" "markdown_py")
++(defcustom markdown-command (let ((command (cl-loop for cmd in '("markdown" "pandoc" "markdown2" "markdown_py")
+ when (executable-find cmd)
+ return (file-name-nondirectory it))))
+ (or command "markdown"))
diff --git a/app-emacs/markdown-mode/files/markdown-mode-2.5-test.patch b/app-emacs/markdown-mode/files/markdown-mode-2.5-test.patch
new file mode 100644
index 000000000000..0bd1e8b7f667
--- /dev/null
+++ b/app-emacs/markdown-mode/files/markdown-mode-2.5-test.patch
@@ -0,0 +1,30 @@
+This test seems to expect interactive input, therefore disable.
+
+--- markdown-mode-2.5/tests/markdown-test.el
++++ markdown-mode-2.5/tests/markdown-test.el
+@@ -6643,25 +6643,6 @@
+ (should (string= (markdown-wiki-link-link) "Zettel Markdown")))
+ (kill-buffer)))))
+
+-(ert-deftest test-markdown-ext/wiki-link-search-under-project ()
+- "Test that searching link under project root."
+- (let ((markdown-enable-wiki-links t)
+- (markdown-link-space-sub-char " ")
+- (markdown-wiki-link-search-type '(project))
+- (expected (expand-file-name "wiki/pr590/Guide/Zettel Markdown/math.md"
+- markdown-test-dir)))
+- (progn
+- (find-file (expand-file-name "wiki/pr590/Guide/Plugin/Link.md" markdown-test-dir))
+- (unwind-protect
+- (progn
+- (markdown-mode)
+- (re-search-forward "math")
+- (goto-char (match-beginning 0))
+- (markdown-wiki-link-p) ;; create match-data
+- (let ((link (markdown-convert-wiki-link-to-filename (markdown-wiki-link-link))))
+- (should (string= (expand-file-name link) expected))))
+- (kill-buffer)))))
+-
+ (ert-deftest test-markdown-ext/wiki-link-major-mode ()
+ "Test major-mode of linked page."
+ (let ((markdown-enable-wiki-links t)
diff --git a/app-emacs/markdown-mode/files/markdown-mode-2.6-remove-failing-tests.patch b/app-emacs/markdown-mode/files/markdown-mode-2.6-remove-failing-tests.patch
new file mode 100644
index 000000000000..4d1396dcb12e
--- /dev/null
+++ b/app-emacs/markdown-mode/files/markdown-mode-2.6-remove-failing-tests.patch
@@ -0,0 +1,91 @@
+--- a/tests/markdown-test.el
++++ b/tests/markdown-test.el
+@@ -6756,46 +6756,6 @@ x|"
+ (markdown-indent-region (line-beginning-position) (line-end-position) nil)
+ (should (string-equal (buffer-string) " #. abc\n def\n"))))
+
+-(ert-deftest test-markdown-ext/wiki-link-rules ()
+- "Test wiki link search rules and font lock for missing pages."
+- (let ((markdown-enable-wiki-links t)
+- (markdown-wiki-link-fontify-missing t)
+- (markdown-wiki-link-search-type '(project)))
+- (progn
+- (find-file (expand-file-name "wiki/root" markdown-test-dir))
+- (unwind-protect
+- (progn
+- (markdown-mode)
+- ;; search rules
+- (should (string-match-p
+- "/sub/foo$"
+- (markdown-convert-wiki-link-to-filename "foo")))
+- (should (string-equal
+- (markdown-convert-wiki-link-to-filename "doesnotexist")
+- "doesnotexist"))
+- ;; font lock
+- (markdown-test-range-has-property 1 11 'font-lock-face 'markdown-link-face)
+- (markdown-test-range-has-property 14 33 'font-lock-face 'markdown-missing-link-face)
+- (markdown-test-range-has-property 36 42 'font-lock-face 'markdown-link-face)
+- (markdown-test-range-has-property 45 60 'font-lock-face 'markdown-missing-link-face))
+- (kill-buffer)))
+- (progn
+- (find-file (expand-file-name "wiki/sub/foo" markdown-test-dir))
+- (unwind-protect
+- (progn
+- (markdown-mode)
+- ;; search rules
+- (should (string-match-p
+- "/wiki/root$"
+- (markdown-convert-wiki-link-to-filename "root")))
+- (should (string-equal
+- (markdown-convert-wiki-link-to-filename "doesnotexist")
+- "doesnotexist"))
+- ;; font lock
+- (markdown-test-range-has-property 1 16 'font-lock-face 'markdown-missing-link-face)
+- (markdown-test-range-has-property 19 26 'font-lock-face 'markdown-link-face))
+- (kill-buffer)))))
+-
+ (ert-deftest test-markdown-ext/wiki-link-keep-match-data ()
+ "Test that markdown-wiki-link-p keeps expected match data.
+ Detail: https://github.com/jrblevin/markdown-mode/pull/590"
+@@ -7185,41 +7145,6 @@ foo(bar=None)
+ (cl-loop for ov in (overlays-in (car bounds) (cdr bounds))
+ thereis (overlay-get ov 'flyspell-overlay))))
+
+-(ert-deftest test-markdown-flyspell/check-word-p ()
+- "Test for `flyspell'."
+- (skip-unless (executable-find ispell-program-name))
+- (markdown-test-string "aaa
+-
+-```
+-bbb
+-```
+-
+-ccc
+-
+-`ddd`
+-
+-eee
+-
+-<!-- fff -->
+-
+-@ref9999
+-"
+- (flyspell-buffer)
+- (search-forward "aaa")
+- (should (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "bbb") ;; in code block
+- (should-not (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "ccc")
+- (should (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "ddd") ;; in inline code
+- (should-not (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "eee")
+- (should (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "fff") ;; in comment
+- (should-not (markdown-test-flyspell-incorrect-word-p))
+- (search-forward "@ref") ;; pandoc reference
+- (should-not (markdown-test-flyspell-incorrect-word-p))))
+-
+ (ert-deftest test-markdown-flyspell/remove-overlay ()
+ "Test non-dictionary word in code block with `flyspell-mode'.
+ Details: https://github.com/jrblevin/markdown-mode/issues/311"
diff --git a/app-emacs/markdown-mode/markdown-mode-2.4.ebuild b/app-emacs/markdown-mode/markdown-mode-2.4.ebuild
deleted file mode 100644
index 79c7e94ef8f5..000000000000
--- a/app-emacs/markdown-mode/markdown-mode-2.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25.1
-
-inherit elisp
-
-DESCRIPTION="Major mode for editing Markdown-formatted text files"
-HOMEPAGE="https://jblevins.org/projects/markdown-mode/"
-SRC_URI="https://github.com/jrblevin/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="|| (
- app-text/pandoc
- dev-python/markdown2
- dev-python/markdown
- )"
-BDEPEND="test? ( app-text/pandoc )"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.4-markdown-command.patch )
-SITEFILE="50${PN}-gentoo.el"
-DOCS="CHANGES.md CONTRIBUTING.md README.md"
diff --git a/app-emacs/markdown-mode/markdown-mode-2.6.ebuild b/app-emacs/markdown-mode/markdown-mode-2.6.ebuild
new file mode 100644
index 000000000000..379c5c74a197
--- /dev/null
+++ b/app-emacs/markdown-mode/markdown-mode-2.6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp optfeature
+
+DESCRIPTION="Major mode for editing Markdown-formatted text files"
+HOMEPAGE="https://jblevins.org/projects/markdown-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jrblevin/${PN}.git"
+else
+ SRC_URI="https://github.com/jrblevin/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ dev-python/markdown2
+ dev-python/markdown
+ virtual/pandoc
+ )
+"
+BDEPEND="
+ test? (
+ virtual/pandoc
+ || (
+ app-text/aspell[l10n_en]
+ app-text/hunspell[l10n_en]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5-markdown-command.patch
+ "${FILESDIR}"/${PN}-2.5-test.patch
+ "${FILESDIR}"/${PN}-2.6-remove-failing-tests.patch
+)
+
+DOCS=( CHANGES.md CONTRIBUTING.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ optfeature "editing Markdown source code blocks" app-emacs/edit-indirect
+}
diff --git a/app-emacs/markdown-mode/metadata.xml b/app-emacs/markdown-mode/metadata.xml
index 2aaef65dfc99..b2e9a0fad2fd 100644
--- a/app-emacs/markdown-mode/metadata.xml
+++ b/app-emacs/markdown-mode/metadata.xml
@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
-<maintainer type="person">
- <email>naota@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="person">
+ <email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/jrblevin/markdown-mode/issues/</bugs-to>
+ <remote-id type="github">jrblevin/markdown-mode</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/mastodon/Manifest b/app-emacs/mastodon/Manifest
new file mode 100644
index 000000000000..9eff23327a72
--- /dev/null
+++ b/app-emacs/mastodon/Manifest
@@ -0,0 +1,2 @@
+DIST mastodon-1.0.18.tar.gz 160205 BLAKE2B 329d6192e129c6255bb212fe06061ff5623d16030b3f8b9b2aea33e1d0113fa09af934ead8b4695031a4dc0ddc734aa8674ca64bdad6216ee6e8006639f8131f SHA512 5e1162f30e2735a9a6d73b418369ba70476b2f45967c121e0ca9d741d029a8fc2e314fc8ea33cb09036b7b4e0f9d56b8002c4694fefbe0d6923ab8038ec7a192
+DIST mastodon-1.0.19.tar.gz 160533 BLAKE2B 4acf21f6b50296463c8083d237f2ab8f510f3372e0cd63437bc037dba8e3cdac9806ddf4a2e8727d2a39c0b0bef18688c0cce679019ac99cdf88b508830e25ef SHA512 27c56aa073c003b7063acd816230d1e5bf0f353b2d3c0a6cfa861130d4fbfd80bb5189d8bb1e036442f824d85bf96c0db21a927e4840057eaf17fff3114d3526
diff --git a/app-emacs/mastodon/files/50mastodon-gentoo.el b/app-emacs/mastodon/files/50mastodon-gentoo.el
new file mode 100644
index 000000000000..c4056b92a961
--- /dev/null
+++ b/app-emacs/mastodon/files/50mastodon-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'mastodon "mastodon"
+ "Connect Mastodon client to `mastodon-instance-url' instance." t)
diff --git a/app-emacs/mastodon/mastodon-1.0.18.ebuild b/app-emacs/mastodon/mastodon-1.0.18.ebuild
new file mode 100644
index 000000000000..2a79521adfed
--- /dev/null
+++ b/app-emacs/mastodon/mastodon-1.0.18.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
+HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
+ S="${WORKDIR}/${P}/lisp"
+else
+ SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}.el/lisp"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/persist
+ app-emacs/request
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( ../README.org )
+ELISP_TEXINFO="../${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mastodon/mastodon-1.0.19.ebuild b/app-emacs/mastodon/mastodon-1.0.19.ebuild
new file mode 100644
index 000000000000..2a79521adfed
--- /dev/null
+++ b/app-emacs/mastodon/mastodon-1.0.19.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
+HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
+ S="${WORKDIR}/${P}/lisp"
+else
+ SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}.el/lisp"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/persist
+ app-emacs/request
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( ../README.org )
+ELISP_TEXINFO="../${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mastodon/mastodon-9999.ebuild b/app-emacs/mastodon/mastodon-9999.ebuild
new file mode 100644
index 000000000000..2a79521adfed
--- /dev/null
+++ b/app-emacs/mastodon/mastodon-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs client for Mastodon, federated microblogging social network"
+HOMEPAGE="https://codeberg.org/martianh/mastodon.el/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://codeberg.org/martianh/mastodon.el.git"
+ S="${WORKDIR}/${P}/lisp"
+else
+ SRC_URI="https://codeberg.org/martianh/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}.el/lisp"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/persist
+ app-emacs/request
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( ../README.org )
+ELISP_TEXINFO="../${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mastodon/metadata.xml b/app-emacs/mastodon/metadata.xml
new file mode 100644
index 000000000000..2e247f944b94
--- /dev/null
+++ b/app-emacs/mastodon/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://codeberg.org/martianh/mastodon.el/releases/</changelog>
+ <bugs-to>https://codeberg.org/martianh/mastodon.el/issues/</bugs-to>
+ <remote-id type="codeberg">martianh/mastodon.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/math-symbol-lists/Manifest b/app-emacs/math-symbol-lists/Manifest
new file mode 100644
index 000000000000..0590e068388b
--- /dev/null
+++ b/app-emacs/math-symbol-lists/Manifest
@@ -0,0 +1 @@
+DIST math-symbol-lists-1.3.tar.gz 43132 BLAKE2B 0690b45a11f8ce65103261928a2ae61b64b04f6034df3e530507422546098e016f8cb5974997a061bcf08be8877b8f17bbe38528c999d011bd6b2e67600b15a1 SHA512 4dd71c2e73c5907e88c1b05f01e4ab1bc2b911243e5aed0d1dc3edc4c06e842de1c8ba59b15bb185f75d9b549042c17715b7502cbc5ded6da16bae427522976e
diff --git a/app-emacs/math-symbol-lists/math-symbol-lists-1.3.ebuild b/app-emacs/math-symbol-lists/math-symbol-lists-1.3.ebuild
new file mode 100644
index 000000000000..fa83d2156278
--- /dev/null
+++ b/app-emacs/math-symbol-lists/math-symbol-lists-1.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Lists of Unicode mathematical symbols and latex commands"
+HOMEPAGE="https://github.com/vspinu/math-symbol-lists/"
+SRC_URI="https://github.com/vspinu/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( readme.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/math-symbol-lists/metadata.xml b/app-emacs/math-symbol-lists/metadata.xml
new file mode 100644
index 000000000000..8cf72388d669
--- /dev/null
+++ b/app-emacs/math-symbol-lists/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/vspinu/math-symbol-lists/issues/</bugs-to>
+ <remote-id type="github">vspinu/math-symbol-lists</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/mediawiki/Manifest b/app-emacs/mediawiki/Manifest
index bd9c1ef7a409..0b350b4cddfe 100644
--- a/app-emacs/mediawiki/Manifest
+++ b/app-emacs/mediawiki/Manifest
@@ -1 +1,2 @@
DIST mediawiki-2.2.9.tar.gz 36595 BLAKE2B a044008115e545d043045e943762072981b5bcc7776e5f38480a2170168929989b990d90b225f3416a8ce9052d3a310bb77ac6ac1d273f112180ff2bddeb850c SHA512 7586558b953c3e2a41b792db55ba9b3520b07377a555c2dd38829c0be24f3388313dfaa049520c632d6fd3a471cb777ba662f723c56cd59c307b68faf9d8adb0
+DIST mediawiki-2.3.1.tar.gz 36613 BLAKE2B d37ff59fd2685445cc30f8faf26f95eafbdae682acee68a8f4061d9d042ff2bd7cfa85fd1999e4ddc31e659605bc244d10b4d2477991015c09840809f936e357 SHA512 d2fe0c76e3d856131a3876a062a333e75d3d2c84c9e88865b1cf9516f8888ad81b4d90d9fc576fe14e051390c1504349c9f3b7cac71a34b8d59ed4824a434efd
diff --git a/app-emacs/mediawiki/files/50mediawiki-gentoo.el b/app-emacs/mediawiki/files/50mediawiki-gentoo.el
deleted file mode 100644
index 25acf753f365..000000000000
--- a/app-emacs/mediawiki/files/50mediawiki-gentoo.el
+++ /dev/null
@@ -1,10 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'mediawiki-open "mediawiki"
- "Open a wiki page specified by NAME from the mediawiki engine" t)
-(autoload 'mediawiki-site "mediawiki"
- "Set up mediawiki.el for a site." t)
-(eval-after-load "mediawiki"
- '(add-to-list 'mediawiki-site-alist
- '("Gentoo" "http://wiki.gentoo.org/" "" "" "Main Page")
- nil
- (lambda (a b) (equal (car a) (car b)))))
diff --git a/app-emacs/mediawiki/mediawiki-2.3.1.ebuild b/app-emacs/mediawiki/mediawiki-2.3.1.ebuild
new file mode 100644
index 000000000000..21dab302a21f
--- /dev/null
+++ b/app-emacs/mediawiki/mediawiki-2.3.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_PN="${PN}-el"
+DESCRIPTION="MediaWiki client for Emacs"
+HOMEPAGE="https://github.com/hexmode/mediawiki-el"
+SRC_URI="https://github.com/hexmode/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo-2.2.9.el"
+DOCS="README.mediawiki"
diff --git a/app-emacs/meson-mode/meson-mode-0.3.ebuild b/app-emacs/meson-mode/meson-mode-0.3.ebuild
index 929dd3daee4b..7f9a90e2ec2e 100644
--- a/app-emacs/meson-mode/meson-mode-0.3.ebuild
+++ b/app-emacs/meson-mode/meson-mode-0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/wentasah/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+KEYWORDS="amd64 ~arm64 ~riscv"
DOCS=( README.md )
diff --git a/app-emacs/metamath-mode/Manifest b/app-emacs/metamath-mode/Manifest
new file mode 100644
index 000000000000..e77c15064768
--- /dev/null
+++ b/app-emacs/metamath-mode/Manifest
@@ -0,0 +1 @@
+DIST metamath-mode-0_p20221005.tar.gz 1490 BLAKE2B fabb0c6c69306e6998a144d19774d442c5803446218607f62c134d5912a891ffa09cedf06c19e16a05cf3790528ba4063054540834ecab42d6852068b88be682 SHA512 39b5dd4a3967ecdc29d7637fc592c9fd398d0fe3c12344e1930fc5082057f3cb78e564319655d063fce62bc4b9581fad7debb5cb4085e5cc642a7d9d7ccede45
diff --git a/app-emacs/metamath-mode/files/50metamath-mode-gentoo.el b/app-emacs/metamath-mode/files/50metamath-mode-gentoo.el
new file mode 100644
index 000000000000..fd0d03a31115
--- /dev/null
+++ b/app-emacs/metamath-mode/files/50metamath-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'metamath-mode "metamath-mode"
+ "Major mode for editing metamath files" t)
+(add-to-list 'auto-mode-alist '("\\.mm\\'" . metamath-mode))
diff --git a/app-emacs/metamath-mode/metadata.xml b/app-emacs/metamath-mode/metadata.xml
new file mode 100644
index 000000000000..946548fce536
--- /dev/null
+++ b/app-emacs/metamath-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/samrushing/metamath-mode/issues/</bugs-to>
+ <remote-id type="github">samrushing/metamath-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/metamath-mode/metamath-mode-0_p20221005.ebuild b/app-emacs/metamath-mode/metamath-mode-0_p20221005.ebuild
new file mode 100644
index 000000000000..0a6501916251
--- /dev/null
+++ b/app-emacs/metamath-mode/metamath-mode-0_p20221005.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=85bd63b88378e9f2dee2f7d5585ec6610bf098a6
+
+inherit elisp
+
+DESCRIPTION="Major GNU Emacs mode for metamath files"
+HOMEPAGE="https://github.com/samrushing/metamath-mode/"
+SRC_URI="https://github.com/samrushing/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mew/Manifest b/app-emacs/mew/Manifest
index 29b81aabb006..9346ee04addd 100644
--- a/app-emacs/mew/Manifest
+++ b/app-emacs/mew/Manifest
@@ -1 +1 @@
-DIST mew-6.8.tar.gz 991876 BLAKE2B 6055c30ac7f9286a2792fd3fb5fc53412ffed091594e64fa802cd4346fbd7ce542a930e3b38552dc39fa728898a68e1d71f0626f38ef8f815515af95fae0197d SHA512 e4713a4485fa31a95820100465728998b6d5b4822e2a522293754ab269fbfa625756417a55eccf400994a4cc6f6230b8142463ffe416917f321da5053abdb98c
+DIST mew-6.8_p20230203.tar.gz 997924 BLAKE2B 9ac10f7f0eebc7dcd3fbf998fbe867e39315227d3b7225b050e6886f9300359429279f0a8071931610c8f8fde43ae48c8178bf8565059d5cdb8093c6fc586562 SHA512 9620ab59df0f2b26b96aa00f4f6f43142716ca55fa9bbdf9b8d9d5a19ae9e0e647efa2a1ab29f77cda77307bbe55d8e74441258d84d09f5270c0f772ab3823bc
diff --git a/app-emacs/mew/metadata.xml b/app-emacs/mew/metadata.xml
index 93693356d691..f51d1d9113b0 100644
--- a/app-emacs/mew/metadata.xml
+++ b/app-emacs/mew/metadata.xml
@@ -5,4 +5,7 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">kazu-yamamoto/Mew</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/mew/mew-6.8.ebuild b/app-emacs/mew/mew-6.8.ebuild
deleted file mode 100644
index cf722cf27ad9..000000000000
--- a/app-emacs/mew/mew-6.8.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Great MIME mail reader for Emacs/XEmacs"
-HOMEPAGE="https://www.mew.org/"
-SRC_URI="https://www.mew.org/Release/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="ssl l10n_ja"
-RESTRICT="test"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}
- ssl? ( net-misc/stunnel )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- econf \
- --with-elispdir="${SITELISP}/${PN}" \
- --with-etcdir="${SITEETC}/${PN}"
-}
-
-src_compile() {
- emake
- use l10n_ja && emake jinfo
- rm -f info/*~ # remove spurious backup files
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- use l10n_ja && emake DESTDIR="${D}" install-jinfo
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc 00api 00changes* 00diff 00readme dot.*
-
- DOC_CONTENTS="Please refer to /usr/share/doc/${PF} for sample
- configuration files."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/mew/mew-6.8_p20230203.ebuild b/app-emacs/mew/mew-6.8_p20230203.ebuild
new file mode 100644
index 000000000000..17dbb51b518f
--- /dev/null
+++ b/app-emacs/mew/mew-6.8_p20230203.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+COMMIT="f96266240586898ea44256f6b24743a50e1113cb"
+DESCRIPTION="Great MIME mail reader for Emacs/XEmacs"
+HOMEPAGE="https://www.mew.org/"
+SRC_URI="https://github.com/kazu-yamamoto/${PN^}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN^}-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="ssl l10n_ja"
+RESTRICT="test"
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}
+ ssl? ( net-misc/stunnel )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ econf \
+ --with-elispdir="${SITELISP}/${PN}" \
+ --with-etcdir="${SITEETC}/${PN}"
+}
+
+src_compile() {
+ emake
+ use l10n_ja && emake jinfo
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ use l10n_ja && emake DESTDIR="${D}" install-jinfo
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc 00api 00changes* 00diff 00readme dot.*
+
+ DOC_CONTENTS="Please refer to /usr/share/doc/${PF} for sample
+ configuration files."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/mic-paren/Manifest b/app-emacs/mic-paren/Manifest
index d7595f0aeb3d..d77cc377bce8 100644
--- a/app-emacs/mic-paren/Manifest
+++ b/app-emacs/mic-paren/Manifest
@@ -1,2 +1 @@
-DIST mic-paren-3.13.el.xz 14056 BLAKE2B 9c49ec432ae99d1f5c4792d68544169fd1079e935c5a2bd9402e0c4144708fd3933de7a8fc1717b115a535ed49e4a58f2f5c037e989a066da50b0e0d83f36160 SHA512 d5a6edb537d922a5a71b3938df923963f782fdbe778d3ef7b7cf2c421bfb9eb49ac204843fb0100ddf3f05f6cb455fb2490a246577c89c6c86c47ef03c3abca9
DIST mic-paren-3.15.el.xz 14044 BLAKE2B 59d2897c390dd9b8b16eebb861a45aecf967f07e8b96c9438f6cda0f28dd56881fc0ae680b999f52f2b53ec5f160e605f252e27f5089647baf07b05f1a43b230 SHA512 2c1b71a9ccda8c799788942953962003c5aa142200bc2bee31c6d190fe5b22a9267ebf49b1ad57e2112092d90a62366b0d430e8eb29c27604e3310b2a597e085
diff --git a/app-emacs/mic-paren/files/mic-paren-3.15-cl-lib.patch b/app-emacs/mic-paren/files/mic-paren-3.15-cl-lib.patch
new file mode 100644
index 000000000000..a549531d7dc0
--- /dev/null
+++ b/app-emacs/mic-paren/files/mic-paren-3.15-cl-lib.patch
@@ -0,0 +1,11 @@
+--- a/mic-paren.el
++++ b/mic-paren.el
+@@ -332,6 +332,8 @@
+ (defvar mic-paren-version "3.15"
+ "Version of mic-paren.")
+
++(require 'cl-lib)
++
+ ;;; ======================================================================
+ ;; Compatibility stuff
+ ;; BLOB to make custom stuff work even without customize
diff --git a/app-emacs/mic-paren/files/mic-paren-3.15-quoting.patch b/app-emacs/mic-paren/files/mic-paren-3.15-quoting.patch
new file mode 100644
index 000000000000..98b14dfea26e
--- /dev/null
+++ b/app-emacs/mic-paren/files/mic-paren-3.15-quoting.patch
@@ -0,0 +1,29 @@
+--- a/mic-paren.el
++++ b/mic-paren.el
+@@ -619,7 +619,7 @@
+ Do NOT set this variable directly but use
+ `paren-toggle-matching-quoted-paren' to activate/deactivate/toggle this
+ feature! The best method is to do this in a mode hook, e.g.:
+-\(add-hook \'LaTeX-mode-hook
++\(add-hook \\='LaTeX-mode-hook
+ \(function \(lambda \(\)
+ \(paren-toggle-matching-quoted-paren 1\)\)\)\)")
+
+@@ -633,7 +633,7 @@
+ Do NOT set this variable directly but use
+ `paren-toggle-matching-paired-delimiter' to activate/deactivate/toggle
+ this feature! The best method is to do this in a mode hook, e.g.:
+-\(add-hook \'LaTeX-mode-hook
++\(add-hook \\='LaTeX-mode-hook
+ \(function \(lambda \(\)
+ \(paren-toggle-matching-paired-delimiter 1\)\)\)\)")
+
+@@ -666,7 +666,7 @@
+ Do NOT set this variable directly but use `paren-toggle-open-paren-context'
+ to change the value of this option! The best method is to do this in a
+ mode hook, e.g.:
+-\(add-hook \'c-common-mode-hook
++\(add-hook \\='c-common-mode-hook
+ \(function \(lambda \(\)
+ \(paren-toggle-open-paren-context 1\)\)\)\)")
+
diff --git a/app-emacs/mic-paren/mic-paren-3.13.ebuild b/app-emacs/mic-paren/mic-paren-3.13.ebuild
deleted file mode 100644
index 957d5048fb9e..000000000000
--- a/app-emacs/mic-paren/mic-paren-3.13.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Advanced highlighting of matching parentheses"
-HOMEPAGE="https://www.gnuvola.org/software/j/mic-paren/
- https://www.emacswiki.org/emacs/MicParen"
-# taken from http://www.gnuvola.org/software/j/mic-paren/mic-paren.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mic-paren/mic-paren-3.15-r1.ebuild b/app-emacs/mic-paren/mic-paren-3.15-r1.ebuild
new file mode 100644
index 000000000000..55a53a700654
--- /dev/null
+++ b/app-emacs/mic-paren/mic-paren-3.15-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Advanced highlighting of matching parentheses"
+HOMEPAGE="https://web.archive.org/web/20211016050703/https://www.gnuvola.org/software/j/mic-paren/
+ https://www.emacswiki.org/emacs/MicParen"
+# taken from http://www.gnuvola.org/software/j/mic-paren/mic-paren.el
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-quoting.patch
+ "${FILESDIR}"/${P}-cl-lib.patch
+)
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mic-paren/mic-paren-3.15.ebuild b/app-emacs/mic-paren/mic-paren-3.15.ebuild
deleted file mode 100644
index b596004d84c3..000000000000
--- a/app-emacs/mic-paren/mic-paren-3.15.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Advanced highlighting of matching parentheses"
-HOMEPAGE="https://www.gnuvola.org/software/j/mic-paren/
- https://www.emacswiki.org/emacs/MicParen"
-# taken from http://www.gnuvola.org/software/j/mic-paren/mic-paren.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mmm-mode/Manifest b/app-emacs/mmm-mode/Manifest
index 504498bd342e..2dedb08ec6d9 100644
--- a/app-emacs/mmm-mode/Manifest
+++ b/app-emacs/mmm-mode/Manifest
@@ -1 +1,2 @@
-DIST mmm-mode-0.5.7.tar.gz 176034 BLAKE2B 23fed0f260c9f46134d83d29e96b96ff331aa0fbe8d121663b74de944489d1a51948f6fba729129e47a34e1ef48cfb0f8bbc45f6ab8f548001bbe0e88a61aeca SHA512 3afb77b3351c8ea5844cd57bb873e6ebe91ce1e268d0d585581482f5039c64ea80fc7aa620e45330eca0eb7839223764164ccc09e932b54f23f3f37c9953cb39
+DIST mmm-mode-0.5.10.tar.gz 110491 BLAKE2B ea60a2ac871fbacbb358809f682ee174612401ee9e5bafb7f322891710ebcc833e7efeae1c3284e8a30fb95c3aac7c86ccad758b4d65bb9aee772ecc5c9a013d SHA512 c1caffe75d97950850a2c6d53554b17d63eba1a9ee653e469046dfd131ad840e8b9fa5114f6bf7967e3a4797fc7db0eab484d48017f1df6e043f935960b9d1df
+DIST mmm-mode-0.5.11.tar.gz 110809 BLAKE2B 4fd3cb383dc15fb78b47e8da5ec484783421d3101755a3967b2348ecb073cee9476de1597e75a48beb275e9ec25556dc43330337b5a69fe8b2aa986795fa8918 SHA512 077e0dc8846c411033713307d1db5fc7fdf0b25a283995f27c4cbf210fc972923cc9542ef24c10539d11fa0faf91cca6f397ac7ff701a305516105c86660da8e
diff --git a/app-emacs/mmm-mode/files/mmm-mode-0.5.7-texinfo-encoding.patch b/app-emacs/mmm-mode/files/mmm-mode-0.5.7-texinfo-encoding.patch
deleted file mode 100644
index f83d24dae131..000000000000
--- a/app-emacs/mmm-mode/files/mmm-mode-0.5.7-texinfo-encoding.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/695954
-
---- a/mmm.texinfo
-+++ b/mmm.texinfo
-@@ -1,5 +1,6 @@
- \input texinfo
- @c %**start of header
-+@documentencoding ISO-8859-1
- @setfilename mmm.info
- @settitle MMM Mode Manual
- @c %**end of header
diff --git a/app-emacs/mmm-mode/mmm-mode-0.5.10.ebuild b/app-emacs/mmm-mode/mmm-mode-0.5.10.ebuild
new file mode 100644
index 000000000000..ff1f2a71aad5
--- /dev/null
+++ b/app-emacs/mmm-mode/mmm-mode-0.5.10.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Enables the user to edit different parts of a file in different major modes"
+HOMEPAGE="http://mmm-mode.sourceforge.net/
+ https://github.com/dgutov/mmm-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/dgutov/${PN}.git"
+else
+ SRC_URI="https://github.com/dgutov/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2+ Texinfo-manual"
+SLOT="0"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS=( AUTHORS FAQ NEWS README README.Mason TODO )
+ELISP_TEXINFO="mmm.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mmm-mode/mmm-mode-0.5.11.ebuild b/app-emacs/mmm-mode/mmm-mode-0.5.11.ebuild
new file mode 100644
index 000000000000..0da9641d4ed6
--- /dev/null
+++ b/app-emacs/mmm-mode/mmm-mode-0.5.11.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Enables the user to edit different parts of a file in different major modes"
+HOMEPAGE="http://mmm-mode.sourceforge.net/
+ https://github.com/dgutov/mmm-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/dgutov/${PN}.git"
+else
+ SRC_URI="https://github.com/dgutov/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2+ Texinfo-manual"
+SLOT="0"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS=( AUTHORS FAQ NEWS README README.Mason TODO )
+ELISP_TEXINFO="mmm.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/mmm-mode/mmm-mode-0.5.7.ebuild b/app-emacs/mmm-mode/mmm-mode-0.5.7.ebuild
deleted file mode 100644
index b9a5768acc63..000000000000
--- a/app-emacs/mmm-mode/mmm-mode-0.5.7.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Enables the user to edit different parts of a file in different major modes"
-HOMEPAGE="http://mmm-mode.sourceforge.net/"
-SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+ Texinfo-manual"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-BDEPEND="sys-apps/texinfo"
-
-PATCHES=("${FILESDIR}"/${P}-texinfo-encoding.patch)
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="mmm.texinfo"
-DOCS="AUTHORS FAQ NEWS README README.Mason TODO"
diff --git a/app-emacs/mocker/Manifest b/app-emacs/mocker/Manifest
new file mode 100644
index 000000000000..216d990bd67e
--- /dev/null
+++ b/app-emacs/mocker/Manifest
@@ -0,0 +1 @@
+DIST mocker-0.5.0.tar.gz 7538 BLAKE2B 6998955dad68acf1a1dec8029dcaf0c5670e7594f77deb6d52873c2b9018ca329885120ee12f50c08d2a4014d94f3614f25d3f804df422b33f50cee74a46f935 SHA512 f649f8065734e8591b23f7887157ab0fadaca459a37761d8415e09957ad4a007f0896042511e842cd7d77294483d833552170cbdbb19b03638f7890e85605459
diff --git a/app-emacs/mocker/metadata.xml b/app-emacs/mocker/metadata.xml
new file mode 100644
index 000000000000..93a04ebb0d74
--- /dev/null
+++ b/app-emacs/mocker/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/sigma/mocker.el/issues/</bugs-to>
+ <remote-id type="github">sigma/mocker.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/mocker/mocker-0.5.0.ebuild b/app-emacs/mocker/mocker-0.5.0.ebuild
new file mode 100644
index 000000000000..dce0eae168d0
--- /dev/null
+++ b/app-emacs/mocker/mocker-0.5.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN}.el
+
+inherit elisp
+
+DESCRIPTION="Simple mocking framework for Emacs"
+HOMEPAGE="https://github.com/sigma/mocker.el/"
+SRC_URI="https://github.com/sigma/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.markdown )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
+ -L ./test -l ./test/mocker-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
diff --git a/app-emacs/modus-themes/Manifest b/app-emacs/modus-themes/Manifest
new file mode 100644
index 000000000000..39765f51c6c2
--- /dev/null
+++ b/app-emacs/modus-themes/Manifest
@@ -0,0 +1,2 @@
+DIST modus-themes-4.3.0.tar.gz 329115 BLAKE2B 343070beb66fece35000abe4ae2d4b38c4e06f40a79ed6b12586ed37d39d4c9b67f930869ea8dab51bba84936ed55a8280ea838c4f3be235f95b28d9ec89ffc2 SHA512 3fd24e1b94ec6f3391568f3b92c9224372729494d7edd3ca51167f1a410038f046aaa7fcc8bda8a46ac0a1da5f0509fa9c8dbe49ddfb1aa26b64dcc11ee7ee77
+DIST modus-themes-4.4.0.tar.gz 337719 BLAKE2B 32e189aae2c031a8f0588d241d42c4420120ee45d7a409e4019917f1bb268433d44362305150cba49c7f24a9620ad7208c85d355a383ed684b737e52518e164e SHA512 cf20de778f43225a9412aead302ed373ac078695ec06494a39046bb9ae9e1104408dc282e34582463cc8ea7a5ad389b1ed12b176561271292cc3b50528d71a0e
diff --git a/app-emacs/modus-themes/files/50modus-themes-gentoo.el b/app-emacs/modus-themes/files/50modus-themes-gentoo.el
new file mode 100644
index 000000000000..179a80678b0e
--- /dev/null
+++ b/app-emacs/modus-themes/files/50modus-themes-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "modus-themes-autoloads" nil t)
diff --git a/app-emacs/modus-themes/metadata.xml b/app-emacs/modus-themes/metadata.xml
new file mode 100644
index 000000000000..f521c07e9f63
--- /dev/null
+++ b/app-emacs/modus-themes/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Highly accessible themes, conforming with the highest standard for colour
+ contrast between background and foreground values (WCAG AAA). They also are
+ optimised for users with red-green colour deficiency.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/protesilaos/modus-themes/issues/</bugs-to>
+ <remote-id type="github">protesilaos/modus-themes</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/modus-themes/modus-themes-4.3.0.ebuild b/app-emacs/modus-themes/modus-themes-4.3.0.ebuild
new file mode 100644
index 000000000000..e3ecfc9b2f8f
--- /dev/null
+++ b/app-emacs/modus-themes/modus-themes-4.3.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highly accessible themes for GNU Emacs"
+HOMEPAGE="https://github.com/protesilaos/modus-themes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.org README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/modus-themes/modus-themes-4.4.0.ebuild b/app-emacs/modus-themes/modus-themes-4.4.0.ebuild
new file mode 100644
index 000000000000..e3ecfc9b2f8f
--- /dev/null
+++ b/app-emacs/modus-themes/modus-themes-4.4.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highly accessible themes for GNU Emacs"
+HOMEPAGE="https://github.com/protesilaos/modus-themes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.org README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/modus-themes/modus-themes-9999.ebuild b/app-emacs/modus-themes/modus-themes-9999.ebuild
new file mode 100644
index 000000000000..e3ecfc9b2f8f
--- /dev/null
+++ b/app-emacs/modus-themes/modus-themes-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Highly accessible themes for GNU Emacs"
+HOMEPAGE="https://github.com/protesilaos/modus-themes/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/protesilaos/${PN}.git"
+else
+ SRC_URI="https://github.com/protesilaos/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG.org README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/mpg123-el/Manifest b/app-emacs/mpg123-el/Manifest
index 8b78eca1007d..655133bd4014 100644
--- a/app-emacs/mpg123-el/Manifest
+++ b/app-emacs/mpg123-el/Manifest
@@ -1,2 +1 @@
-DIST mpg123-el-1.60.tar.xz 34104 BLAKE2B f48a0ce460ee382b261accaf2188bb1dde7b17b1b09766cda7ef69f92d3e022a4390a7c9e9a97085f1c1e87377d114bcbdb29de512438ee3652baa0be0b413a7 SHA512 5f4d7aefeaec6c5e94dcd5d15af7d0b89dc79274dce117309a70170cd0ec8cafac7c275518ea21d797d9251c31033b93c0581f26f83792c7b697094f4b194611
DIST mpg123-el-1.61.tar.xz 34216 BLAKE2B 3f0f85bbf0f5854b899aefb443f9b2b011dd5dd85c815fc8be723bade93be805b121e952cab3c56a3897bed41fa65988331c004537e565abcb660b6dd402a0c5 SHA512 96b50a8fc945c6811bce7b8cfa28fe235f2d2ddf9cbd1904c94f272f6df13a991761dbb4f186c1bda04720fb50115515361dbff4838e7623261719f2ecc6698e
diff --git a/app-emacs/mpg123-el/files/mpg123-el-1.61-stdlib.patch b/app-emacs/mpg123-el/files/mpg123-el-1.61-stdlib.patch
new file mode 100644
index 000000000000..467cd58f564f
--- /dev/null
+++ b/app-emacs/mpg123-el/files/mpg123-el-1.61-stdlib.patch
@@ -0,0 +1,10 @@
+https://bugs.gentoo.org/874954
+
+--- mpg123-el-1.61/id3put.c
++++ mpg123-el-1.61/id3put.c
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+
+ #define INLEN 30
diff --git a/app-emacs/mpg123-el/mpg123-el-1.60.ebuild b/app-emacs/mpg123-el/mpg123-el-1.60.ebuild
deleted file mode 100644
index 5b1431e2288d..000000000000
--- a/app-emacs/mpg123-el/mpg123-el-1.60.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp toolchain-funcs
-
-DESCRIPTION="Emacs front-end to mpg123 audio player and OggVorbis audio player"
-HOMEPAGE="http://www.gentei.org/~yuuji/software/mpg123el/"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="mpg123-el"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND="media-sound/mpg123
- media-sound/alsa-utils"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o tagput tagput.c || die
- $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o id3put id3put.c || die
- elisp-compile *.el
-}
-
-src_install() {
- dobin tagput id3put
- elisp-install ${PN} *.el *.elc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/mpg123-el/mpg123-el-1.61.ebuild b/app-emacs/mpg123-el/mpg123-el-1.61.ebuild
index 5be713b4ad46..77c5fde54e96 100644
--- a/app-emacs/mpg123-el/mpg123-el-1.61.ebuild
+++ b/app-emacs/mpg123-el/mpg123-el-1.61.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,6 +16,7 @@ KEYWORDS="amd64 ppc x86"
RDEPEND="media-sound/mpg123
media-sound/alsa-utils"
+PATCHES=( "${FILESDIR}/${P}-stdlib.patch" )
SITEFILE="50${PN}-gentoo.el"
src_compile() {
diff --git a/app-emacs/mu-cite/Manifest b/app-emacs/mu-cite/Manifest
index b83f4e04e5e8..761aea53765b 100644
--- a/app-emacs/mu-cite/Manifest
+++ b/app-emacs/mu-cite/Manifest
@@ -1 +1 @@
-DIST mu-cite-201808232348.tar.gz 20443 BLAKE2B 814ebbd3ab45af4af65fee54884a1960a0cecccd07e1e0e084e860fcab4884ca0d97f4042f14f530b8ead4ee4347d13dbde9ecc96f5e82121bad44e0b93855ac SHA512 5a30124041ea5a807f5d8ea8a1ef18afcc7020d3f2d2bee4dd163fa1098d37d27b43db81c1b538bf1d1b06720840fb5c3f95d999fddd624437dd251fa061f699
+DIST mu-cite-202011031127.tar.gz 21170 BLAKE2B 222aa03b42161d435d2aa09059d5b923fc4e336fce7a61e0a98535decdedb7c1a7c75129f3485118392acb569713b5ad8e0fd3b9be088a67ab15312ad4e94ba8 SHA512 d9fc6f7ad449506b6cd0f72f2e67e9f3c726b90fba39a3ff267aad25cc12a2b34a19c39371e7e58cb66bc9f9ed1b215e6b92f74e20aada4292441b6733ec73eb
diff --git a/app-emacs/mu-cite/mu-cite-8.1_p201808232348.ebuild b/app-emacs/mu-cite/mu-cite-8.1_p201808232348.ebuild
deleted file mode 100644
index b27d88c3a9c4..000000000000
--- a/app-emacs/mu-cite/mu-cite-8.1_p201808232348.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_P="${PN}-${PV#*_p}"
-DESCRIPTION="Message citation utilities for emacsen"
-HOMEPAGE="https://www.jpl.org/elips/mu/"
-SRC_URI="https://www.jpl.org/elips/mu/snapshots/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="bbdb"
-
-RDEPEND="app-emacs/apel
- app-emacs/flim
- bbdb? ( app-emacs/bbdb )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="ChangeLog NEWS README.en"
-
-src_prepare() {
- elisp_src_prepare
- use bbdb || rm mu-bbdb.el || die
-}
diff --git a/app-emacs/mu-cite/mu-cite-8.1_p202011031127.ebuild b/app-emacs/mu-cite/mu-cite-8.1_p202011031127.ebuild
new file mode 100644
index 000000000000..6849c76749ec
--- /dev/null
+++ b/app-emacs/mu-cite/mu-cite-8.1_p202011031127.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_P="${PN}-${PV#*_p}"
+DESCRIPTION="Message citation utilities for emacsen"
+HOMEPAGE="https://www.jpl.org/elips/mu/"
+SRC_URI="https://www.jpl.org/elips/mu/snapshots/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bbdb"
+
+RDEPEND="app-emacs/apel
+ app-emacs/flim
+ bbdb? ( app-emacs/bbdb )"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="ChangeLog NEWS README.en"
+
+src_prepare() {
+ elisp_src_prepare
+ use bbdb || rm mu-bbdb.el || die
+}
diff --git a/app-emacs/muse/Manifest b/app-emacs/muse/Manifest
index 0fac4647bc11..4f16e0d299d9 100644
--- a/app-emacs/muse/Manifest
+++ b/app-emacs/muse/Manifest
@@ -1 +1,2 @@
+DIST muse-3.20.2.tar.xz 143820 BLAKE2B 2e33ba2b0ab10bb390a640b1f8370a3689b6ed67e249dd966b606fc1f33ad2538f09bac2b2f8082c68c8d0133c7daccee665ca4e335976aeb1e069a827577c37 SHA512 d0fc59839ac2c907a3ea5814ae4d2d141bedde9ebadab36966bc4dee94b5532a98781a2af51d9aa3498634ac6036c2fc3eac76c5e908b3f9e93b2c0498d1b915
DIST muse-3.20.tar.gz 407054 BLAKE2B ff2babe2caf109c9de7504c4f82e04a7769b5e708455439e59faf96fa939423d6439e34f912cd79df420ec8498f7e91e5faa2e7410d4df236207fded66eff532 SHA512 864eca508d34f4c329ffd31cd3c169b67dff6d19c6695a85d8190511fa05d85f4a68f12e58c1679f91940ebcd823766e9f60309f2bfba17c985f811a3f342dda
diff --git a/app-emacs/muse/muse-3.20-r1.ebuild b/app-emacs/muse/muse-3.20-r1.ebuild
deleted file mode 100644
index c527c20ee472..000000000000
--- a/app-emacs/muse/muse-3.20-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="An authoring and publishing environment for Emacs"
-HOMEPAGE="https://www.gnu.org/software/emacs-muse/"
-SRC_URI="https://github.com/alexott/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-#IUSE="test"
-RESTRICT="test" #426546
-
-#DEPEND="test? ( app-emacs/htmlize )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake -j1
-}
-
-src_install() {
- elisp-install ${PN} lisp/*.el lisp/*.elc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- doinfo texi/muse.info
- dodoc AUTHORS NEWS README ChangeLog*
- dodoc -r contrib etc examples experimental scripts
-}
diff --git a/app-emacs/muse/muse-3.20-r2.ebuild b/app-emacs/muse/muse-3.20-r2.ebuild
new file mode 100644
index 000000000000..06bdc75d2f6f
--- /dev/null
+++ b/app-emacs/muse/muse-3.20-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An authoring and publishing environment for Emacs"
+HOMEPAGE="https://www.gnu.org/software/emacs-muse/"
+SRC_URI="https://github.com/alexott/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+#IUSE="test"
+RESTRICT="test" #426546
+
+#DEPEND="test? ( app-emacs/htmlize )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ elisp-install "${PN}" lisp/*.el lisp/*.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ doinfo texi/muse.info
+ dodoc AUTHORS NEWS README ChangeLog*
+ dodoc -r contrib etc examples experimental scripts
+}
diff --git a/app-emacs/muse/muse-3.20.2.ebuild b/app-emacs/muse/muse-3.20.2.ebuild
new file mode 100644
index 000000000000..75a603c12fbd
--- /dev/null
+++ b/app-emacs/muse/muse-3.20.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An authoring and publishing environment for Emacs"
+HOMEPAGE="https://www.gnu.org/software/emacs-muse/"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND="
+ app-emacs/htmlize
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( ChangeLog README )
+ELISP_TEXINFO="texi/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/nagios-mode/Manifest b/app-emacs/nagios-mode/Manifest
index 6fcff2ec8eeb..344d8353e0ab 100644
--- a/app-emacs/nagios-mode/Manifest
+++ b/app-emacs/nagios-mode/Manifest
@@ -1 +1 @@
-DIST nagios-mode-0.3.tar.gz 7917 BLAKE2B 17f69dd9736b5a3f94a69ef2af7827503d2ee87f97346e5ead44563d1e056457bb425f0145b58246dafebbb0fd346857e5fe9aa11a616c8e6608722013a73500 SHA512 e9ff6e0684ee0f9f1919ec9dd4c8e0dfa7faab347f56724f7fe69bc366cf8d81f98c4c4245ddde95bbf9a2b9f72fec80a100c22b6b0b9e3c28c999515d0b6a50
+DIST nagios-mode-0.4.tar.xz 8844 BLAKE2B 212f61a599b29bb2d213328f269adef0fa52dcf09e3424356faf3b7fa6b86adfbcdf7f68dcf17d16532eba8e1ed8e8065c50a860833ea9f05211abb15b2affb7 SHA512 d84bf11fae5722a9af985be39205258da6548b18b9e2a8691fad93ed6b66b8fdce6dd092490a9543e1ca281b1de81b3acc4ce5f3c5b4bbe8fd7589221db18127
diff --git a/app-emacs/nagios-mode/metadata.xml b/app-emacs/nagios-mode/metadata.xml
index 986088003fe1..53c506041584 100644
--- a/app-emacs/nagios-mode/metadata.xml
+++ b/app-emacs/nagios-mode/metadata.xml
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+<maintainer type="person">
+ <email>mjo@gentoo.org</email>
+</maintainer>
<maintainer type="project">
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
diff --git a/app-emacs/nagios-mode/nagios-mode-0.3-r1.ebuild b/app-emacs/nagios-mode/nagios-mode-0.3-r1.ebuild
deleted file mode 100644
index 817d4d75bed4..000000000000
--- a/app-emacs/nagios-mode/nagios-mode-0.3-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Major mode for editing Nagios configuration files"
-HOMEPAGE="http://michael.orlitzky.com/code/nagios-mode.php"
-SRC_URI="http://michael.orlitzky.com/code/releases/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="ChangeLog README test_suite.cfg"
diff --git a/app-emacs/nagios-mode/nagios-mode-0.4.ebuild b/app-emacs/nagios-mode/nagios-mode-0.4.ebuild
new file mode 100644
index 000000000000..406abc8bd8f1
--- /dev/null
+++ b/app-emacs/nagios-mode/nagios-mode-0.4.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing Nagios configuration files"
+HOMEPAGE="https://michael.orlitzky.com/code/nagios-mode.xhtml"
+SRC_URI="https://michael.orlitzky.com/code/releases/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="ChangeLog README test_suite.cfg"
diff --git a/app-emacs/navi2ch/navi2ch-1.8.4-r1.ebuild b/app-emacs/navi2ch/navi2ch-1.8.4-r1.ebuild
deleted file mode 100644
index c18d019a8908..000000000000
--- a/app-emacs/navi2ch/navi2ch-1.8.4-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="A navigator for the Japanese textboard 2ch"
-HOMEPAGE="http://navi2ch.sourceforge.net/"
-SRC_URI="mirror://sourceforge/navi2ch/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- econf \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-icondir="${EPREFIX}${SITEETC}/${PN}"
-}
-
-src_compile() {
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- elisp-install ${PN} contrib/*.el
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc ChangeLog* NEWS README TODO
- newdoc contrib/README README.contrib
-
- DOC_CONTENTS="Please add the following lines to your ~/.emacs file:
- \n\nIf you use mona-font:
- \n\t(setq navi2ch-mona-enable t)
- \nIf you use izonmoji-mode:
- \n\t(require 'izonmoji-mode)
- \n\t(add-hook 'navi2ch-bm-mode-hook 'izonmoji-mode-on)
- \n\t(add-hook 'navi2ch-article-mode-hook 'izonmoji-mode-on)
- \n\t(add-hook 'navi2ch-popup-article-mode-hook 'izonmoji-mode-on)"
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/navi2ch/navi2ch-1.8.4-r2.ebuild b/app-emacs/navi2ch/navi2ch-1.8.4-r2.ebuild
new file mode 100644
index 000000000000..b443b899c2af
--- /dev/null
+++ b/app-emacs/navi2ch/navi2ch-1.8.4-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="A navigator for the Japanese textboard 2ch"
+HOMEPAGE="http://navi2ch.sourceforge.net/"
+SRC_URI="mirror://sourceforge/navi2ch/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ econf \
+ --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ --with-icondir="${EPREFIX}${SITEETC}/${PN}"
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ elisp-install ${PN} contrib/*.el
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc ChangeLog* NEWS README TODO
+ newdoc contrib/README README.contrib
+
+ DOC_CONTENTS="Please add the following lines to your ~/.emacs file:
+ \n\nIf you use mona-font:
+ \n\t(setq navi2ch-mona-enable t)
+ \nIf you use izonmoji-mode:
+ \n\t(require 'izonmoji-mode)
+ \n\t(add-hook 'navi2ch-bm-mode-hook 'izonmoji-mode-on)
+ \n\t(add-hook 'navi2ch-article-mode-hook 'izonmoji-mode-on)
+ \n\t(add-hook 'navi2ch-popup-article-mode-hook 'izonmoji-mode-on)"
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/nerd-icons/Manifest b/app-emacs/nerd-icons/Manifest
new file mode 100644
index 000000000000..5542250732ed
--- /dev/null
+++ b/app-emacs/nerd-icons/Manifest
@@ -0,0 +1 @@
+DIST nerd-icons-0.1.0.tar.gz 1485030 BLAKE2B f70411118071cc360d6c335e7276cc27839c35fa35a015540649d9cc2624e1e32f2bac10a4afef40f0fb6cb4a7063919b4fd8f02d73941d7c055be999164340c SHA512 7d7e03f4aa85f8b16cf0eb5c272f22bbecbf54f51a5d52dfadc509743e5bf02397de5ca9f2946bb6cbdadd5aa4dc105b1245e7b86f8589211aff354f03b7aa0a
diff --git a/app-emacs/nerd-icons/files/50nerd-icons-gentoo.el b/app-emacs/nerd-icons/files/50nerd-icons-gentoo.el
new file mode 100644
index 000000000000..c8a2fe789c48
--- /dev/null
+++ b/app-emacs/nerd-icons/files/50nerd-icons-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "nerd-icons-autoloads" nil t)
diff --git a/app-emacs/nerd-icons/metadata.xml b/app-emacs/nerd-icons/metadata.xml
new file mode 100644
index 000000000000..b127ea8dc2c5
--- /dev/null
+++ b/app-emacs/nerd-icons/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/rainstormstudio/nerd-icons.el/issues/</bugs-to>
+ <remote-id type="github">rainstormstudio/nerd-icons.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/nerd-icons/nerd-icons-0.1.0.ebuild b/app-emacs/nerd-icons/nerd-icons-0.1.0.ebuild
new file mode 100644
index 000000000000..c2c85f163afd
--- /dev/null
+++ b/app-emacs/nerd-icons/nerd-icons-0.1.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp font readme.gentoo-r1
+
+DESCRIPTION="Emacs Nerd Font Icons Library"
+HOMEPAGE="https://github.com/rainstormstudio/nerd-icons.el/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rainstormstudio/${PN}.el.git"
+else
+ SRC_URI="https://github.com/rainstormstudio/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}.el-${PV}"
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+FONT_PN="NFM"
+FONT_S="${S}/fonts"
+FONT_SUFFIX="ttf"
+
+DOC_CONTENTS="You may need to install the required fonts by executing
+ the \"nerd-icons-install-fonts\" function."
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+ elisp_pkg_setup
+ font_pkg_setup
+}
+
+src_compile() {
+ elisp_src_compile
+
+ elisp-make-autoload-file
+ elisp-compile data/*.el
+}
+
+src_install() {
+ elisp_src_install
+ font_src_install
+
+ elisp-install "${PN}/data" data/*.el{,c}
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+ font_pkg_postinst
+}
+
+pkg_postrm() {
+ elisp_pkg_postrm
+ font_pkg_postrm
+}
diff --git a/app-emacs/nginx-mode/Manifest b/app-emacs/nginx-mode/Manifest
new file mode 100644
index 000000000000..68b5d4977076
--- /dev/null
+++ b/app-emacs/nginx-mode/Manifest
@@ -0,0 +1,2 @@
+DIST nginx-mode-1.1.10.tar.gz 3204 BLAKE2B e252c386d00e6c2a43ae4a8583189d4c06bf166e230b81b0f59449050376d539a7966f2e44a09ae70b42c5b51ea74fc8f84a1f15ebcb502f69001b2d564bd9e5 SHA512 93801701322afdbd6f02152108d69abd050bda9456b2016446d03c22ff1c886ec0d14da4be07f49c02ab2346b45480926c0ea4c00769233e4b32ad1a7cff4f00
+DIST nginx-mode-1.1.9.tar.gz 3290 BLAKE2B 7a20632ed860e1e4f0f379f8c489bdb3f6a1eb09cf790ca4124dd08b631a101796fb96efc73672cc59b812c0136015d955a9d6bab2ccb223d777f299dd1c04c7 SHA512 a209b83f39696ccea8d45b0d90a25b4cdb56f85f1288ca9a7bf83b24a7d69ae2a1caea5e71f7c62ef693f8aac3e74e5dce7761b69ded7da037904df1c9d43536
diff --git a/app-emacs/nginx-mode/files/50nginx-mode-gentoo.el b/app-emacs/nginx-mode/files/50nginx-mode-gentoo.el
new file mode 100644
index 000000000000..a31b9badce3c
--- /dev/null
+++ b/app-emacs/nginx-mode/files/50nginx-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "nginx-mode-autoloads" nil t)
diff --git a/app-emacs/nginx-mode/metadata.xml b/app-emacs/nginx-mode/metadata.xml
new file mode 100644
index 000000000000..6ccd7c7d3497
--- /dev/null
+++ b/app-emacs/nginx-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ajc/nginx-mode/issues/</bugs-to>
+ <remote-id type="github">ajc/nginx-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/nginx-mode/nginx-mode-1.1.10.ebuild b/app-emacs/nginx-mode/nginx-mode-1.1.10.ebuild
new file mode 100644
index 000000000000..272a59e9de15
--- /dev/null
+++ b/app-emacs/nginx-mode/nginx-mode-1.1.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs editing mode for Nginx config files"
+HOMEPAGE="http://github.com/ajc/nginx-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/ajc/${PN}.git"
+else
+ SRC_URI="https://github.com/ajc/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/nginx-mode/nginx-mode-1.1.9.ebuild b/app-emacs/nginx-mode/nginx-mode-1.1.9.ebuild
new file mode 100644
index 000000000000..e912f207e1e1
--- /dev/null
+++ b/app-emacs/nginx-mode/nginx-mode-1.1.9.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs editing mode for Nginx config files"
+HOMEPAGE="http://github.com/ajc/nginx-mode"
+SRC_URI="https://github.com/ajc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/nim-mode/Manifest b/app-emacs/nim-mode/Manifest
new file mode 100644
index 000000000000..749177a7462a
--- /dev/null
+++ b/app-emacs/nim-mode/Manifest
@@ -0,0 +1 @@
+DIST nim-mode-0.4.2_p20231101.tar.gz 77959 BLAKE2B 465bc1b904a212d0f16f06717cb40e9be7adacf4c9c1222b97923182b0ee3f9f785d9f85728351210cefb0902aa36d890d995ba417e925bb0691b4c1a6b71def SHA512 cb1e104ec552ce2f796a5e3984de8a5274bfe66638998671fa2155b2894f400f2e03523440c502ec9da0b1b589d567f6b1d66ae2aa6fa6e8c7b306345a2b7400
diff --git a/app-emacs/nim-mode/files/50nim-mode-gentoo.el b/app-emacs/nim-mode/files/50nim-mode-gentoo.el
new file mode 100644
index 000000000000..6c4e00cec245
--- /dev/null
+++ b/app-emacs/nim-mode/files/50nim-mode-gentoo.el
@@ -0,0 +1,13 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'nim-mode "nim-mode"
+ "A major mode for the Nim programming language." t)
+(autoload 'nimscript-mode "nim-mode"
+ "A major-mode for NimScript files." t)
+(autoload 'nimscript-mode-maybe "nim-mode"
+ "Most likely turn on β€˜nimscript-mode’." t)
+(autoload 'nimsuggest-mode "nim-suggest"
+ "Minor mode for nimsuggest." t)
+(add-to-list 'auto-mode-alist '("\\.nim\\'" . nim-mode))
+(add-to-list 'auto-mode-alist '("\\.nim\\(ble\\|s\\)\\'" . nimscript-mode-maybe))
+(add-hook 'nim-mode-hook 'nimsuggest-mode)
+(add-hook 'nimsuggest-mode-hook 'flycheck-mode)
diff --git a/app-emacs/nim-mode/metadata.xml b/app-emacs/nim-mode/metadata.xml
new file mode 100644
index 000000000000..13434a3dcb26
--- /dev/null
+++ b/app-emacs/nim-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/nim-lang/nim-mode/issues/</bugs-to>
+ <remote-id type="github">nim-lang/nim-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/nim-mode/nim-mode-0.4.2_p20231101.ebuild b/app-emacs/nim-mode/nim-mode-0.4.2_p20231101.ebuild
new file mode 100644
index 000000000000..d219e7218afa
--- /dev/null
+++ b/app-emacs/nim-mode/nim-mode-0.4.2_p20231101.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == *20231101 ]] && COMMIT=1338e5b0d5e111ad932efb77d3cad680cc3b86c9
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for the Nim programming language support"
+HOMEPAGE="https://github.com/nim-lang/nim-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/nim-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/nim-lang/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Some test are broken.
+
+RDEPEND="
+ app-emacs/commenter
+ app-emacs/epc
+"
+BDEPEND="
+ ${RDEPEND}
+"
+PDEPEND="
+ app-emacs/flycheck-nimsuggest
+"
+
+DOCS=( README.md starterKit.nims )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
diff --git a/app-emacs/ninja-mode/Manifest b/app-emacs/ninja-mode/Manifest
new file mode 100644
index 000000000000..5a84814e8171
--- /dev/null
+++ b/app-emacs/ninja-mode/Manifest
@@ -0,0 +1,2 @@
+DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403
+DIST ninja-1.12.0.tar.gz 240291 BLAKE2B e7d721ab62164574b076f7cbf6d40fd2ee950534d124a58f5fe9e09bdae5895c8dc9dd7636a9f2f2b79774d6d9ba5f831e2c8b370826029af060fdc80fdc207f SHA512 167cd838ad47815183b79302a6e19227d956e634ae9d4211f0895ea9f4d893932e1154a765a9d5a1a3167b1a48b398f255fb4f46eb1395a6da11070bda628875
diff --git a/app-emacs/ninja-mode/files/50ninja-mode-gentoo-r1.el b/app-emacs/ninja-mode/files/50ninja-mode-gentoo-r1.el
new file mode 100644
index 000000000000..30b88abef9be
--- /dev/null
+++ b/app-emacs/ninja-mode/files/50ninja-mode-gentoo-r1.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ninja-mode "ninja-mode" "ninja" t)
+(add-to-list 'auto-mode-alist '("\\.ninja$" . ninja-mode))
diff --git a/app-emacs/ninja-mode/metadata.xml b/app-emacs/ninja-mode/metadata.xml
new file mode 100644
index 000000000000..3a7c6d52ece0
--- /dev/null
+++ b/app-emacs/ninja-mode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/ninja-build/ninja/issues/</bugs-to>
+ <remote-id type="github">ninja-build/ninja</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ninja-mode/ninja-mode-1.11.1-r2.ebuild b/app-emacs/ninja-mode/ninja-mode-1.11.1-r2.ebuild
new file mode 100644
index 000000000000..d5d2446e447e
--- /dev/null
+++ b/app-emacs/ninja-mode/ninja-mode-1.11.1-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for handling Ninja build files"
+HOMEPAGE="https://github.com/ninja-build/ninja"
+SRC_URI="https://github.com/ninja-build/${PN/-mode}/archive/v${PV}.tar.gz -> ${P/-mode}.tar.gz"
+S="${WORKDIR}"/${P/-mode}/misc
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="!<dev-build/ninja-1.11.1-r4[emacs(-)]"
+
+DOCS=()
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ninja-mode/ninja-mode-1.12.0.ebuild b/app-emacs/ninja-mode/ninja-mode-1.12.0.ebuild
new file mode 100644
index 000000000000..5cbb51651d61
--- /dev/null
+++ b/app-emacs/ninja-mode/ninja-mode-1.12.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for handling Ninja build files"
+HOMEPAGE="https://github.com/ninja-build/ninja/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/ninja-build/${PN/-mode}.git"
+else
+ SRC_URI="https://github.com/ninja-build/${PN/-mode}/archive/v${PV}.tar.gz
+ -> ${P/-mode}.tar.gz"
+ S="${WORKDIR}/${P/-mode}/misc"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ !<dev-build/ninja-1.11.1-r4[emacs(-)]
+"
+
+DOCS=()
+SITEFILE="50${PN}-gentoo-r1.el"
diff --git a/app-emacs/nix-mode/Manifest b/app-emacs/nix-mode/Manifest
new file mode 100644
index 000000000000..a1f2f26b1e14
--- /dev/null
+++ b/app-emacs/nix-mode/Manifest
@@ -0,0 +1 @@
+DIST nix-mode-1.5.0.tar.gz 57584 BLAKE2B e7723d6667b979ce1dd018443ff331bf18f01cd973e2e3291b4c9b79634fb41758bcec772b9c8311f76d2f9e28566b9665be03796bc867530dda98e9c77a192a SHA512 308b7faa1a77e5afddec41d28b26804dc7ce1895007dbb6d7dd5495a8a0852fa2ced5aa60419517bf0e9f0fe183ff0de3b1a943ce8839eebfe09c9fd3c214035
diff --git a/app-emacs/nix-mode/files/50nix-mode-gentoo.el b/app-emacs/nix-mode/files/50nix-mode-gentoo.el
new file mode 100644
index 000000000000..41864935fafe
--- /dev/null
+++ b/app-emacs/nix-mode/files/50nix-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'nix-mode "nix-mode.el"
+ "Major mode for editing Nix expressions." t)
+(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode))
diff --git a/app-emacs/nix-mode/metadata.xml b/app-emacs/nix-mode/metadata.xml
new file mode 100644
index 000000000000..e0e8155064be
--- /dev/null
+++ b/app-emacs/nix-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/NixOS/nix-mode/issues/</bugs-to>
+ <remote-id type="github">NixOS/nix-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/nix-mode/nix-mode-1.5.0.ebuild b/app-emacs/nix-mode/nix-mode-1.5.0.ebuild
new file mode 100644
index 000000000000..100190d9037d
--- /dev/null
+++ b/app-emacs/nix-mode/nix-mode-1.5.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing Nix expressions"
+HOMEPAGE="https://github.com/NixOS/nix-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/NixOS/${PN}.git"
+else
+ SRC_URI="https://github.com/NixOS/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/magit
+ app-emacs/mmm-mode
+ app-emacs/transient
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/no-littering/Manifest b/app-emacs/no-littering/Manifest
new file mode 100644
index 000000000000..0cf6a4aabc17
--- /dev/null
+++ b/app-emacs/no-littering/Manifest
@@ -0,0 +1 @@
+DIST no-littering-1.5.0.tar.gz 25036 BLAKE2B af09461841e178944810f796049693ba191a6ee5197487741826285a1a8d4e3e22e425f27528f6c1ffa986203fd4151fe9d91d3b9882e5304c92ddfe721db205 SHA512 e9a0141429fbeee90aacd9bda9ce59c3077380d0f508ac39286520561f70238609dc5eb682ac7449af1313aa186c52ffe05b2c3c33ffced4347beaa216b957ac
diff --git a/app-emacs/no-littering/metadata.xml b/app-emacs/no-littering/metadata.xml
new file mode 100644
index 000000000000..903a899d5533
--- /dev/null
+++ b/app-emacs/no-littering/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Some packages put files directly in user-emacs-directory or $HOME or in a
+ subdirectory of either of the two or elsewhere. Furthermore sometimes file
+ names are used that don’t provide any insight into what package might have
+ created them. This package sets out to fix this by changing the values of
+ path variables to put configuration files in no-littering-etc-directory
+ (defaulting to β€œetc/” under user-emacs-directory, thus usually
+ β€œ$HOME/.config/emacs/etc/”) and persistent data files in
+ no-littering-var-directory (defaulting to β€œvar/” under
+ user-emacs-directory, thus usually β€œ$HOME/.config/emacs/var/”), and by
+ using descriptive file names and subdirectories when appropriate.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/emacscollective/no-littering/</bugs-to>
+ <remote-id type="github">emacscollective/no-littering</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/no-littering/no-littering-1.5.0.ebuild b/app-emacs/no-littering/no-littering-1.5.0.ebuild
new file mode 100644
index 000000000000..604af65ad8d7
--- /dev/null
+++ b/app-emacs/no-littering/no-littering-1.5.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="ELisp library that helps keeping Emacs configuration directory clean"
+HOMEPAGE="https://github.com/emacscollective/no-littering/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacscollective/${PN}.git"
+else
+ SRC_URI="https://github.com/emacscollective/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/compat
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( README.org migrate.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/noflet/Manifest b/app-emacs/noflet/Manifest
new file mode 100644
index 000000000000..dad4228ae88a
--- /dev/null
+++ b/app-emacs/noflet/Manifest
@@ -0,0 +1 @@
+DIST noflet-0.0.15_p20141102.tar.gz 3123 BLAKE2B 0886da1af599e8ca226fbbefa31b6130c76d704d62c5323803543c31e975c375c1cfc12a5a3cfb5e2491488a31fce5538ab80f826de43fa4c77bdc7e8bd84315 SHA512 7007cb09f3ceaba652042a1ba9ff669e73b0a01775de573f0cfab33eef963e7b9125bb16ce1cd809479ea3ec0277eeed757a716538b1ca1f5b559b1ecdf7ed73
diff --git a/app-emacs/noflet/files/noflet-fix-requires.patch b/app-emacs/noflet/files/noflet-fix-requires.patch
new file mode 100644
index 000000000000..142229d547e1
--- /dev/null
+++ b/app-emacs/noflet/files/noflet-fix-requires.patch
@@ -0,0 +1,28 @@
+index 58d3b8d..c003987 100644
+--- a/noflet.el
++++ b/noflet.el
+@@ -28,10 +28,8 @@
+
+ ;;; Code:
+
+-(eval-when-compile (require 'cl))
+-(if (version< emacs-version "24.4.1")
+- (load-library "cl-indent")
+- (require 'cl-indent))
++(require 'dash)
++(require 'cl-lib)
+
+ (defun noflet|base ()
+ "A base function."
+index 58d3b8d..73f0719 100644
+--- a/noflet.el
++++ b/noflet.el
+@@ -155,7 +155,7 @@ maintainers refuse to add the correct indentation spec to
+ (indent noflet-indent-func))
+ `(cl-flet ,bindings ,@body))
+
+-(defmacro* letn (tag bindings &rest body)
++(cl-defmacro letn (tag bindings &rest body)
+ (declare (debug (sexp sexp &rest form))
+ (indent 2))
+ `(cl-labels ((,tag ,(-map 'car bindings) ,@body))
diff --git a/app-emacs/noflet/metadata.xml b/app-emacs/noflet/metadata.xml
new file mode 100644
index 000000000000..09739af554d8
--- /dev/null
+++ b/app-emacs/noflet/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/nicferrier/emacs-noflet/issues/</bugs-to>
+ <remote-id type="github">nicferrier/emacs-noflet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/noflet/noflet-0.0.15_p20141102-r1.ebuild b/app-emacs/noflet/noflet-0.0.15_p20141102-r1.ebuild
new file mode 100644
index 000000000000..6f78f54c8541
--- /dev/null
+++ b/app-emacs/noflet/noflet-0.0.15_p20141102-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=7ae84dc3257637af7334101456dafe1759c6b68a
+
+inherit elisp
+
+DESCRIPTION="Dynamic, local advice for Emacs-Lisp code"
+HOMEPAGE="https://github.com/nicferrier/emacs-noflet/"
+SRC_URI="https://github.com/nicferrier/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/dash"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.creole )
+PATCHES=( "${FILESDIR}"/${PN}-fix-requires.patch )
+
+ELISP_REMOVE="let-while-tests.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/nxml-docbook5-schemas/Manifest b/app-emacs/nxml-docbook5-schemas/Manifest
index 1a93ea1bf37c..0d5031df62b7 100644
--- a/app-emacs/nxml-docbook5-schemas/Manifest
+++ b/app-emacs/nxml-docbook5-schemas/Manifest
@@ -1,2 +1 @@
-DIST docbookxi-5.0.rnc 292523 BLAKE2B 13ae2f3756485845e2fc6dca87bce5eb12c419c84b6edaab5051b075700387c32904f54286756c5fed2480c17af00e385845105a94b13ced9fe13ba959e22224 SHA512 13309beb2dbf76168889a962782d3dd1849fb254ebf1941ffd4fcfc272353ba0ddece509a9b74250462b3e1eff12f31fc408aa790e0efea01d527482b3fa3a48
DIST docbookxi-5.1.rnc 361312 BLAKE2B 374c622718b0c9969561a76874fe878570af4fd2a1288f79c8b51c1474ac75e7e98cddd2be7bedadf8271aefccd770cf70ac4499d45187b327c0a50e402b1a48 SHA512 28191653224a301a3ce7541ca1fcc5d526b76fcce00533adbdc16507ddaa768efedebe31b0fade6b8ea7b28d3d33e9656363dfc667eab227280bf6061673a31c
diff --git a/app-emacs/nxml-docbook5-schemas/nxml-docbook5-schemas-5.0.ebuild b/app-emacs/nxml-docbook5-schemas/nxml-docbook5-schemas-5.0.ebuild
deleted file mode 100644
index 946c21d0a832..000000000000
--- a/app-emacs/nxml-docbook5-schemas/nxml-docbook5-schemas-5.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Add support for DocBook 5 schemas to NXML"
-HOMEPAGE="https://docbook.org/schemas/5x.html"
-SRC_URI="https://docbook.org/xml/${PV}/rng/docbookxi.rnc -> docbookxi-${PV}.rnc"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-S="${WORKDIR}"
-SITEFILE="60${PN}-gentoo.el"
-
-src_unpack() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto ${SITEETC}/${PN}
- doins "${FILESDIR}"/schemas.xml
- newins "${DISTDIR}"/docbookxi-${PV}.rnc docbookxi.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/nxml-gentoo-schemas/Manifest b/app-emacs/nxml-gentoo-schemas/Manifest
index 493ae228d8e1..2bffde2227d1 100644
--- a/app-emacs/nxml-gentoo-schemas/Manifest
+++ b/app-emacs/nxml-gentoo-schemas/Manifest
@@ -1,2 +1 @@
-DIST nxml-gentoo-schemas-20210314.tar.xz 8512 BLAKE2B 9219644c1a0dbc7afc78c0c4f2623d9d71bbd4f62c387eb025e001e756262107d59f739d695c172ae4ef54049b98f4c3e92bc630be39bcf2f6727d8b0ea27247 SHA512 a092f48f3fe69df0bc51b3e5dd11a6ef09f4074589ffe9872f4936548caf14554fef8cd8ab42626f621c0163a23879698ad12a0818b52cc4b4a4f384a98afd6c
-DIST nxml-gentoo-schemas-20210907.tar.xz 8940 BLAKE2B e1965847d0723c453a11d2522436eb8bd017eb6147b50fe900105f05b74a47fbd91fe94c3a0af41de313480dd0a5a98d51b8b45be1bd27d160f32be8bbcd75f4 SHA512 4defdc0061940fc7dd285c958ec812a7110bb2d7370bd74ceef396e2873d488c78843395bb0e2c122b6ad959cffe5a555c9f96446aef90fc37b3db135477e8aa
+DIST nxml-gentoo-schemas-20240208.tar.xz 8888 BLAKE2B ed75bf44a481b4b252c859ea22b6f420a8e0bbc676f4705d8995462557bf4fee407cd35804eb539da169b95cc7581e66659681a3b51b3e92ea461a15090ebe6f SHA512 c8567b69ccc21d7f052e2402d486f638ea65b545cc6bb3c4e91e1384ec46a5eb9fec2bb8dc5087bf46e8835fa628b2ea2645659304d69d6ead3594c2e98a7122
diff --git a/app-emacs/nxml-gentoo-schemas/metadata.xml b/app-emacs/nxml-gentoo-schemas/metadata.xml
index 986088003fe1..76412474bf92 100644
--- a/app-emacs/nxml-gentoo-schemas/metadata.xml
+++ b/app-emacs/nxml-gentoo-schemas/metadata.xml
@@ -6,4 +6,7 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="gentoo">proj/nxml-gentoo-schemas</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210314.ebuild b/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210314.ebuild
deleted file mode 100644
index 949349df0449..000000000000
--- a/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210314.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Extension for nxml-mode with Gentoo-specific schemas"
-HOMEPAGE="https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="HPND MIT GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
-SITEFILE="60${PN}-gentoo.el"
-
-src_compile() { :; }
-
-src_install() {
- insinto "${SITEETC}/${PN}"
- doins schemas.xml *.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210907.ebuild b/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210907.ebuild
deleted file mode 100644
index e48ed43eeddb..000000000000
--- a/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20210907.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-DESCRIPTION="Extension for nxml-mode with Gentoo-specific schemas"
-HOMEPAGE="https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="HPND MIT GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-SITEFILE="60${PN}-gentoo.el"
-
-src_compile() { :; }
-
-src_install() {
- insinto "${SITEETC}/${PN}"
- doins schemas.xml *.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20240208.ebuild b/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20240208.ebuild
new file mode 100644
index 000000000000..d1180e2f71f3
--- /dev/null
+++ b/app-emacs/nxml-gentoo-schemas/nxml-gentoo-schemas-20240208.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Extension for nxml-mode with Gentoo-specific schemas"
+HOMEPAGE="https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="MIT GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() { :; }
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/nxml-libvirt-schemas/Manifest b/app-emacs/nxml-libvirt-schemas/Manifest
index fb427853a7b8..6b5978a0787f 100644
--- a/app-emacs/nxml-libvirt-schemas/Manifest
+++ b/app-emacs/nxml-libvirt-schemas/Manifest
@@ -1 +1,5 @@
-DIST libvirt-5.8.0.tar.xz 13129328 BLAKE2B ff49b0b6dca86f35c68edfb880677c88e0aed8021ed01ebd145922821914edd70c355ca777fe470e2b0e4baf36f2813c1100be9377344f81c9df374068307da1 SHA512 73d18fdf307b8029921a9f1a0c84ca31c50c662a3c0339e3850d6d2f31574168807a6f34943b286ed86a44031decbbc1339f27366da7269e29d38c7094503113
+DIST libvirt-10.0.0.tar.xz 9395076 BLAKE2B bfbea7805a949999481293a31e52a5511bcf86db2c96486cbc3b9cb776719ec973b1208cfcb4a8ae2c9220d1d68053980eaf68893f7919c3ef354efbd1abf642 SHA512 4ab28539ff0e9a78ac231b11b4ec88b91d76ff2607cabd0226f04aaece73b05cab4aa9cfcf05073cd257ea270a377cd5d2cb915971583dbec04dadf2cf7ad252
+DIST libvirt-10.1.0.tar.xz 9444244 BLAKE2B bfdce9d067e3a319b81d867d27f1a6b4e724ab6aaa25d19d7383c9be26ad7dc92b3c0aaa92894b772f09e20c3c2eb0ea0a8707feee4c63be58578fa22854305f SHA512 08e73ae15de5681430b62db85ec9901242dca5e9a4ca9685614f4a67092c6e28f27f9187144b3ceb18ad6b40e6eb1a90b1a4b056b0888724d04a62002ee2bc48
+DIST libvirt-10.2.0.tar.xz 9466588 BLAKE2B 7ee6f4bdbb6a22f1b3c5c0326d41e269e8a5a07e41bc4f9a17fd023f3e33e46735066656dffa3004e1f36d46324270351593c89f60106933042e8a19a2aa64e6 SHA512 65faf2346e66bdba606ba99b9e4da2be8bd94ef42ac49c2801f9e9253ceea10f5fe772d5c7ada59f48aa34ff528726719b690c3acfd3e63a5c3580db17b023ae
+DIST libvirt-9.8.0.tar.xz 9307064 BLAKE2B aae47e8d4eeaf97532a0356de23ed5a9eea71b369d025eda95b5fd74576779eb4b843d05df6c87b79a14f218c341953749e319ee7244846a2db410a74a746880 SHA512 0118725073de33eec3fa3e4616d3154707f9828fdb9ec973f503fe68f18eab72b9704da660f281152630ddc95e605c786673af9d23dc9bdfc0108422e0efbd41
+DIST libvirt-9.9.0.tar.xz 9321556 BLAKE2B 21eae5a95feaf7f5c6ba8dd48732c08212904882a11c48eccfa827d85ddc3df7e064503f21710dbe1b678670e02f003674de915a43a7403fbf85685c4832e21d SHA512 77cea28acf4f3e8c92fbd5bd72ad084be183c07f14e3a9ce35d6d9d62d36ee97a30cef55fb204b3e43f282890ecd7d5827a784a517e7f4ed8b22ee502c3f09d7
diff --git a/app-emacs/nxml-libvirt-schemas/files/Makefile-trang b/app-emacs/nxml-libvirt-schemas/files/Makefile-trang
deleted file mode 100644
index 699cf676ff45..000000000000
--- a/app-emacs/nxml-libvirt-schemas/files/Makefile-trang
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- makefile -*-
-
-all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
-
-%.rnc: %.rng
- trang -I rng -O rnc $< $@
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.0.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.0.0.ebuild
new file mode 100644
index 000000000000..16945cb9e2ff
--- /dev/null
+++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+inherit elisp
+
+MY_P="libvirt-${PV}"
+DESCRIPTION="Extension for nxml-mode with libvirt schemas"
+HOMEPAGE="https://www.libvirt.org/"
+SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
+
+# This is the license of the package, but the schema files are
+# provided without license, maybe it's bad.
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Yes this requires Java, but I'd rather not repackage this, if you
+# know something better in C, I'll be glad to use that.
+BDEPEND="app-text/trang"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ emake -f - <<'EOF'
+all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
+%.rnc: %.rng
+ trang -I rng -O rnc $< $@
+EOF
+}
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins "${FILESDIR}"/schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.1.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.1.0.ebuild
new file mode 100644
index 000000000000..16945cb9e2ff
--- /dev/null
+++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+inherit elisp
+
+MY_P="libvirt-${PV}"
+DESCRIPTION="Extension for nxml-mode with libvirt schemas"
+HOMEPAGE="https://www.libvirt.org/"
+SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
+
+# This is the license of the package, but the schema files are
+# provided without license, maybe it's bad.
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Yes this requires Java, but I'd rather not repackage this, if you
+# know something better in C, I'll be glad to use that.
+BDEPEND="app-text/trang"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ emake -f - <<'EOF'
+all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
+%.rnc: %.rng
+ trang -I rng -O rnc $< $@
+EOF
+}
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins "${FILESDIR}"/schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.2.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.2.0.ebuild
new file mode 100644
index 000000000000..16945cb9e2ff
--- /dev/null
+++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-10.2.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+inherit elisp
+
+MY_P="libvirt-${PV}"
+DESCRIPTION="Extension for nxml-mode with libvirt schemas"
+HOMEPAGE="https://www.libvirt.org/"
+SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
+
+# This is the license of the package, but the schema files are
+# provided without license, maybe it's bad.
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Yes this requires Java, but I'd rather not repackage this, if you
+# know something better in C, I'll be glad to use that.
+BDEPEND="app-text/trang"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ emake -f - <<'EOF'
+all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
+%.rnc: %.rng
+ trang -I rng -O rnc $< $@
+EOF
+}
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins "${FILESDIR}"/schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-5.8.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-5.8.0.ebuild
deleted file mode 100644
index ef9c1c674a74..000000000000
--- a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-5.8.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_P="libvirt-${PV}"
-DESCRIPTION="Extension for nxml-mode with libvirt schemas"
-HOMEPAGE="http://www.libvirt.org/"
-SRC_URI="http://libvirt.org/sources/${MY_P}.tar.xz"
-
-# This is the license of the package, but the schema files are
-# provided without license, maybe it's bad.
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-# Yes this requires Java, but I'd rather not repackage this, if you
-# know something better in C, I'll be glad to use that.
-BDEPEND="app-text/trang"
-
-SITEFILE="60${PN}-gentoo.el"
-S="${WORKDIR}/${MY_P%-rc*}"
-
-src_compile() {
- emake -C docs/schemas -f "${FILESDIR}"/Makefile-trang
-}
-
-src_install() {
- insinto "${SITEETC}/${PN}"
- doins "${FILESDIR}"/schemas.xml docs/schemas/*.rnc
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.8.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.8.0.ebuild
new file mode 100644
index 000000000000..cdedf3214219
--- /dev/null
+++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.8.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+inherit elisp
+
+MY_P="libvirt-${PV}"
+DESCRIPTION="Extension for nxml-mode with libvirt schemas"
+HOMEPAGE="https://www.libvirt.org/"
+SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
+
+# This is the license of the package, but the schema files are
+# provided without license, maybe it's bad.
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Yes this requires Java, but I'd rather not repackage this, if you
+# know something better in C, I'll be glad to use that.
+BDEPEND="app-text/trang"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ emake -f - <<'EOF'
+all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
+%.rnc: %.rng
+ trang -I rng -O rnc $< $@
+EOF
+}
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins "${FILESDIR}"/schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.9.0.ebuild b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.9.0.ebuild
new file mode 100644
index 000000000000..cdedf3214219
--- /dev/null
+++ b/app-emacs/nxml-libvirt-schemas/nxml-libvirt-schemas-9.9.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+inherit elisp
+
+MY_P="libvirt-${PV}"
+DESCRIPTION="Extension for nxml-mode with libvirt schemas"
+HOMEPAGE="https://www.libvirt.org/"
+SRC_URI="https://libvirt.org/sources/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P%-rc*}/src/conf/schemas"
+
+# This is the license of the package, but the schema files are
+# provided without license, maybe it's bad.
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Yes this requires Java, but I'd rather not repackage this, if you
+# know something better in C, I'll be glad to use that.
+BDEPEND="app-text/trang"
+
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ emake -f - <<'EOF'
+all: $(patsubst %.rng,%.rnc,$(wildcard *.rng))
+%.rnc: %.rng
+ trang -I rng -O rnc $< $@
+EOF
+}
+
+src_install() {
+ insinto "${SITEETC}/${PN}"
+ doins "${FILESDIR}"/schemas.xml *.rnc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/oauth2/Manifest b/app-emacs/oauth2/Manifest
new file mode 100644
index 000000000000..3f4fcbe3e32a
--- /dev/null
+++ b/app-emacs/oauth2/Manifest
@@ -0,0 +1 @@
+DIST oauth2-0.16.tar.gz 3527 BLAKE2B af5ea470267ada0efe7bb28c383576bdd737da1352fff1047f0a26ca133efbb96e2dcb9dd53ad6793b7a73a6fa42c002955ab751389a30f2200f6a00e6de646e SHA512 525408581c146e369df2e2a79c76bc06f631a55c0f42ed537bc05fdeb7d399e6308b3e99135b49e66366941722710340cd18c184c09d510444c765ad19b0eb6f
diff --git a/app-emacs/oauth2/metadata.xml b/app-emacs/oauth2/metadata.xml
new file mode 100644
index 000000000000..4e171f620ebe
--- /dev/null
+++ b/app-emacs/oauth2/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">emacsmirror/oauth2</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/oauth2/oauth2-0.16.ebuild b/app-emacs/oauth2/oauth2-0.16.ebuild
new file mode 100644
index 000000000000..9b4c11b62d64
--- /dev/null
+++ b/app-emacs/oauth2/oauth2-0.16.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="OAuth 2.0 authorization protocol"
+HOMEPAGE="https://elpa.gnu.org/packages/oauth2.html"
+GITHUB_SHA1="dc069550616fb0a72507489ea796d0e1bd8b48c9"
+SRC_URI="https://github.com/emacsmirror/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ocaml-mode/ocaml-mode-4.05.0.ebuild b/app-emacs/ocaml-mode/ocaml-mode-4.05.0.ebuild
index 2ee616fb4445..9e7ce51ec9b7 100644
--- a/app-emacs/ocaml-mode/ocaml-mode-4.05.0.ebuild
+++ b/app-emacs/ocaml-mode/ocaml-mode-4.05.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${MY_P}/emacs"
SITEFILE="50${PN}-gentoo-3.12.1.el"
diff --git a/app-emacs/orderless/Manifest b/app-emacs/orderless/Manifest
new file mode 100644
index 000000000000..18ff28e1be06
--- /dev/null
+++ b/app-emacs/orderless/Manifest
@@ -0,0 +1,2 @@
+DIST orderless-1.0.tar.gz 161589 BLAKE2B 57865985d53bd30be715f41dcdc941f54623d57f89321a58a08f28c59525a36364929c38dc8638850ab9cf9a980eb4e4c9b70160d2a0a220a169642899e4e2c7 SHA512 a1ba3645e28a3086e8b564886d8f8b0589dff10437084b1f9f1213b130ecbacf6b6bce85ffceab58ddc5bb447e340589036880f8d6d8d2cf8d35cf5a02133943
+DIST orderless-1.1.tar.gz 36066 BLAKE2B 5b40e662df6bcff0a69e560bcf164c7729877b7c5e46843ede48e1cd7cc52dadc8e5d1d9757809b412a21a6671e0a2b9a2bbbd4195b8d69b465bfa6b9c97709c SHA512 0de959a9a6da16922fa8ad55016d33a937fcdf1cba8359ad90bcb222cb23272f31ccc9e1f68ef2c074d257c692fc5d597248d9fb7f1d3e51d1958912a42c6b16
diff --git a/app-emacs/orderless/files/50orderless-gentoo.el b/app-emacs/orderless/files/50orderless-gentoo.el
new file mode 100644
index 000000000000..e8346a71c94e
--- /dev/null
+++ b/app-emacs/orderless/files/50orderless-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/orderless-autoloads" nil t)
diff --git a/app-emacs/orderless/metadata.xml b/app-emacs/orderless/metadata.xml
new file mode 100644
index 000000000000..a8900095a717
--- /dev/null
+++ b/app-emacs/orderless/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">oantolin/orderless</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/orderless/orderless-1.0.ebuild b/app-emacs/orderless/orderless-1.0.ebuild
new file mode 100644
index 000000000000..4e2b3347a81c
--- /dev/null
+++ b/app-emacs/orderless/orderless-1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+NEED_EMACS=26
+
+inherit readme.gentoo-r1 elisp
+
+DESCRIPTION="Completion style that matches multiple regexps in any order"
+HOMEPAGE="https://github.com/oantolin/orderless"
+SRC_URI="https://github.com/oantolin/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="sys-apps/texinfo"
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="Enable orderless completion by placing
+ \"(setq completion-styles '(orderless))\" in your .emacs file."
+ELISP_TEXTINFO="${PN}.texi"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/orderless/orderless-1.1.ebuild b/app-emacs/orderless/orderless-1.1.ebuild
new file mode 100644
index 000000000000..b83d5229ca69
--- /dev/null
+++ b/app-emacs/orderless/orderless-1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit readme.gentoo-r1 elisp
+
+DESCRIPTION="Completion style that matches multiple regexps in any order"
+HOMEPAGE="https://github.com/oantolin/orderless"
+SRC_URI="https://github.com/oantolin/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ sys-apps/texinfo
+"
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="Enable orderless completion by placing
+ \"(setq completion-styles '(orderless))\" in your .emacs file."
+ELISP_TEXTINFO="${PN}.texi"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/org-appear/Manifest b/app-emacs/org-appear/Manifest
new file mode 100644
index 000000000000..313ea306f9c2
--- /dev/null
+++ b/app-emacs/org-appear/Manifest
@@ -0,0 +1 @@
+DIST org-appear-0.3.0.tar.gz 95423 BLAKE2B 925e82f6b2757138d8e3b2f20a1c3bd64644aea463fa5b713e363b8cfe8ca1111a666d3a934c313032e5a8339bcab9962129c92a2b1a5bd454fcfb3aefc0ac1a SHA512 5500e838ddfd5a4000604a284a5a967ed2a42abfcb6f24cf86f60116c0a2afc7dd303f9be9b8b879fc8a0cad09e15e168212e6b6c6b3c18ec649b92c5a3ea2b0
diff --git a/app-emacs/org-appear/files/50org-appear-gentoo.el b/app-emacs/org-appear/files/50org-appear-gentoo.el
new file mode 100644
index 000000000000..7a2927fd2ebb
--- /dev/null
+++ b/app-emacs/org-appear/files/50org-appear-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'org-appear-mode "org-appear"
+ "A minor mode that automatically toggles elements in Org mode." t)
diff --git a/app-emacs/org-appear/metadata.xml b/app-emacs/org-appear/metadata.xml
new file mode 100644
index 000000000000..201bfe4d549c
--- /dev/null
+++ b/app-emacs/org-appear/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/awth13/org-appear/issues/</bugs-to>
+ <remote-id type="github">awth13/org-appear</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/org-appear/org-appear-0.3.0.ebuild b/app-emacs/org-appear/org-appear-0.3.0.ebuild
new file mode 100644
index 000000000000..dacc9db52be7
--- /dev/null
+++ b/app-emacs/org-appear/org-appear-0.3.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Toggle Org mode element visibility upon entering and leaving"
+HOMEPAGE="https://github.com/awth13/org-appear/"
+SRC_URI="https://github.com/awth13/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.org demo.gif )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-contrib/Manifest b/app-emacs/org-contrib/Manifest
index b27759027fc0..a7b467ece96e 100644
--- a/app-emacs/org-contrib/Manifest
+++ b/app-emacs/org-contrib/Manifest
@@ -1 +1,2 @@
-DIST org-contrib-0.2.tar.gz 231795 BLAKE2B e8ec122bc87a50ae9b718ab984418a73c6e6734920a208815cac11ecbc2a3897409f3f4d3c0bbbc04f2f4a1a5e657ef35b71e0342156e1b82e2057a6deffdcb8 SHA512 26ce845a9f845ceee2326bd006ff18ef35ba5b1af438d9d02e7f249bf45df293128b24f9f9ff15d7c87271618d1e4ee95d689a96e2104b6dee09ef7b78a6d581
+DIST org-contrib-0.4.1.tar.gz 177509 BLAKE2B 4aea73aa21f36d8e655feb78e34545ba962fe82e9516010c2f55c91009fc67ca9ce12c0309174704a2ace7f98401921571b927549bf8c134cdb020e1079898c7 SHA512 e582963ab65fd88cd01013733f497c19a724b9584ae7dec178604377f347f3f8d3aa1e7871ee1ab3903a0fc94baa4ff3ce0c0591c0d5c918aeda1a9a747f9d6b
+DIST org-contrib-0.4.2.tar.gz 175913 BLAKE2B 42e4bc473ec63775e77e402614309f85c9228094bf4a8c604df1c11988ea116327fb97f8d914509075d2e988521c525ba1ac7a5da30623a9a0e2591695c39e1c SHA512 dfa2982a279384d5f0b3fcbfb3b107116c78f364d76c86952a29db6e41a7229295b700b6451f7085eb75307d7f83d1a8dbcf7c268127d989270344328a574167
diff --git a/app-emacs/org-contrib/files/50org-contrib-gentoo.el b/app-emacs/org-contrib/files/50org-contrib-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/org-contrib/files/50org-contrib-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/org-contrib/metadata.xml b/app-emacs/org-contrib/metadata.xml
index 986088003fe1..daade8e3e6cb 100644
--- a/app-emacs/org-contrib/metadata.xml
+++ b/app-emacs/org-contrib/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="sourcehut">~bzg/org-contrib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/org-contrib/org-contrib-0.2.ebuild b/app-emacs/org-contrib/org-contrib-0.2.ebuild
deleted file mode 100644
index b3eb691a59b1..000000000000
--- a/app-emacs/org-contrib/org-contrib-0.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Contributed packages to Org"
-HOMEPAGE="https://www.orgmode.org/"
-SRC_URI="https://git.sr.ht/~bzg/${PN}/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-release_${PV}/lisp"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-RDEPEND=">=app-emacs/org-mode-9.5"
-
-DOCS="../README.org"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-contrib/org-contrib-0.4.1.ebuild b/app-emacs/org-contrib/org-contrib-0.4.1.ebuild
new file mode 100644
index 000000000000..85893537b110
--- /dev/null
+++ b/app-emacs/org-contrib/org-contrib-0.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Contributed packages to Org"
+HOMEPAGE="https://www.orgmode.org/"
+SRC_URI="https://git.sr.ht/~bzg/${PN}/archive/release_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-release_${PV}/lisp"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND=">=app-emacs/org-mode-9.5"
+
+DOCS="../README.org"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-contrib/org-contrib-0.4.2.ebuild b/app-emacs/org-contrib/org-contrib-0.4.2.ebuild
new file mode 100644
index 000000000000..5c5af7aa3af6
--- /dev/null
+++ b/app-emacs/org-contrib/org-contrib-0.4.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Contributed packages to Org"
+HOMEPAGE="https://www.orgmode.org/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.sr.ht/~bzg/${PN}"
+else
+ SRC_URI="https://git.sr.ht/~bzg/${PN}/archive/release_${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-release_${PV}/lisp"
+
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/org-mode-9.5"
+
+DOCS=( ../README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-mode/Manifest b/app-emacs/org-mode/Manifest
index 3035868e47a6..88d0186b52d7 100644
--- a/app-emacs/org-mode/Manifest
+++ b/app-emacs/org-mode/Manifest
@@ -1,3 +1,3 @@
-DIST org-9.4.4.tar.gz 4725983 BLAKE2B 69fcd15e13c55b71a2c0c6185a0b82dfd8f72ef2c68a8ccc5aa9d3e9f134233d7c7c3cb38f4957cc7d5d70a082067412b61be2111b484b6a91a8a2e5f077bb39 SHA512 ec857f9765a869371bd3425aaecdbe1c8bb8f605640d81efebd7ed13afcb05439cf3a5277457ed399bc501f95a6d823bda7f46b6991cd5f21cf53cf0e666d831
-DIST org-9.4.6.tar.gz 4729335 BLAKE2B b88edaf8098124b2048ce57d6005d2af0de34e9b8fa94c24eb041a42a6fca1fd6da7f242be89e6b0ca5e7b80d879096f9114dca0ba86b20a5d26d2a185baa537 SHA512 7e50d7e9e2073bc0f06d2c861f59d4c9b8af4cf63c98f730c810a3a8721e65829fe9ef7ba0ac99f49bf9da427a4d5ad1d028e05c1a8ab6a3bea2ff2020c0e61d
-DIST org-mode-release_9.5.tar.gz 2043985 BLAKE2B 7f8c45be0c3c873eb9dada8d637088aa0fac4d2b2e4ddd7523c305e0c1acdc10c58ed36646285cff2ecac78d5d862f08fcd113dcb4fa853db04e59a6252a1d7a SHA512 9f05ef6d4adb89224248299ca7c8120924b6ad4c2fa5d0804ac4985b35f87382e20e0c6fecfed59bd52917cd1b6e57830505d47fc80102390cbc6336029fe132
+DIST org-mode-release_9.6.23.tar.gz 2212912 BLAKE2B 50f387e72650561c0d76068d4c98c406560f3523e9680b4eebc8a2baa0c445a64eeb3934062f721325afe02ab0ec46d7cdff7bdf2f4f19740c130beee496d26f SHA512 60e9abdaa195a21707dbcb44cf0a30f330307455ecf63ea67db09e19efc171bb670dc31c70baca191c2a35890004871f6513fbeeff890bb18cf92b251dae8ec1
+DIST org-mode-release_9.6.24.tar.gz 2212983 BLAKE2B 3b780973b68853738b6d74162c100eff4ddb7777c13e9c2a927edbeabebf7763c6a32abc43f7e38fae986a9cbc20926d4b40b54131f0e4acd1fc16f5d62b4b5c SHA512 85696fb49a9764d8163316ae03db02a3324ac828fd11cfda509aaef4ff3af6c7c4aaad0857d225216bc7dd672cf89817b007b63ea78092804abf93475e56e171
+DIST org-mode-release_9.6.26.tar.gz 2213217 BLAKE2B a4972b4c9647fc816506cc8aebab8d21e0ef461dbf8a0dcaed789c6451ee54464eaa99f59581bc39256b68c8d66c133c60c3c523ac4a31725e7002ccdc6e51b5 SHA512 3b612b3af272c0633d8e11ed210c16218250c3f5b6be7f800659a767ebfc77ebb01bdaf649045ac9ab7edf1bb8a9c7386a8c04eaafe12d943bf48989670ca20d
diff --git a/app-emacs/org-mode/metadata.xml b/app-emacs/org-mode/metadata.xml
index 19cec1152498..ab6e8b67070e 100644
--- a/app-emacs/org-mode/metadata.xml
+++ b/app-emacs/org-mode/metadata.xml
@@ -22,7 +22,6 @@
</longdescription>
<stabilize-allarches/>
<use>
- <flag name="contrib">Install user-contributed files</flag>
<flag name="odt-schema">Install non-free schema files
for OpenDocument Text exporter</flag>
</use>
diff --git a/app-emacs/org-mode/org-mode-9.4.4.ebuild b/app-emacs/org-mode/org-mode-9.4.4.ebuild
deleted file mode 100644
index bffbcb8d7146..000000000000
--- a/app-emacs/org-mode/org-mode-9.4.4.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="An Emacs mode for notes and project planning"
-HOMEPAGE="https://www.orgmode.org/"
-SRC_URI="https://orgmode.org/org-${PV}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+ contrib? ( GPL-2+ MIT ) odt-schema? ( OASIS-Open )"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="contrib doc odt-schema"
-RESTRICT="test"
-
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-S="${WORKDIR}/org-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake datadir="${EPREFIX}${SITEETC}/${PN}"
- use doc && emake pdf card
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- ETCDIRS="styles $(use odt-schema && echo schema)" \
- lispdir="${EPREFIX}${SITELISP}/${PN}" \
- datadir="${EPREFIX}${SITEETC}/${PN}" \
- infodir="${EPREFIX}/usr/share/info" \
- install
-
- cp "${FILESDIR}/${SITEFILE}" "${T}/${SITEFILE}" || die
-
- if use contrib; then
- elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el
- ( docinto contrib; dodoc -r contrib/README contrib/scripts )
- find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \
- -exec rm -f '{}' '+'
- # add the contrib subdirectory to load-path
- sed -i -e 's:\(.*@SITELISP@\)\(.*\):&\n\1/contrib\2:' \
- "${T}/${SITEFILE}" || die
- fi
-
- elisp-site-file-install "${T}/${SITEFILE}"
- dodoc README etc/ORG-NEWS
- use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
-
- DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
- so you may have to install one or more additional packages.
- A non-exhaustive list of these dependencies may be found at
- <http://orgmode.org/worg/org-dependencies.html>."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/org-mode/org-mode-9.4.6.ebuild b/app-emacs/org-mode/org-mode-9.4.6.ebuild
deleted file mode 100644
index 9e5416d94789..000000000000
--- a/app-emacs/org-mode/org-mode-9.4.6.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=24
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="An Emacs mode for notes and project planning"
-HOMEPAGE="https://www.orgmode.org/"
-SRC_URI="https://orgmode.org/org-${PV}.tar.gz"
-
-LICENSE="GPL-3+ FDL-1.3+ contrib? ( GPL-2+ MIT ) odt-schema? ( OASIS-Open )"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="contrib doc odt-schema"
-RESTRICT="test"
-
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-S="${WORKDIR}/org-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake datadir="${EPREFIX}${SITEETC}/${PN}"
- use doc && emake pdf card
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- ETCDIRS="styles $(use odt-schema && echo schema)" \
- lispdir="${EPREFIX}${SITELISP}/${PN}" \
- datadir="${EPREFIX}${SITEETC}/${PN}" \
- infodir="${EPREFIX}/usr/share/info" \
- install
-
- cp "${FILESDIR}/${SITEFILE}" "${T}/${SITEFILE}" || die
-
- if use contrib; then
- elisp-install ${PN}/contrib contrib/lisp/{org,ob,ox}*.el
- ( docinto contrib; dodoc -r contrib/README contrib/scripts )
- find "${ED}/usr/share/doc/${PF}/contrib" -type f -name '.*' \
- -exec rm -f '{}' '+'
- # add the contrib subdirectory to load-path
- sed -i -e 's:\(.*@SITELISP@\)\(.*\):&\n\1/contrib\2:' \
- "${T}/${SITEFILE}" || die
- fi
-
- elisp-site-file-install "${T}/${SITEFILE}"
- dodoc README etc/ORG-NEWS
- use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
-
- DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
- so you may have to install one or more additional packages.
- A non-exhaustive list of these dependencies may be found at
- <http://orgmode.org/worg/org-dependencies.html>."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/org-mode/org-mode-9.5.ebuild b/app-emacs/org-mode/org-mode-9.5.ebuild
deleted file mode 100644
index d4f4644be22f..000000000000
--- a/app-emacs/org-mode/org-mode-9.5.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=24
-
-inherit elisp readme.gentoo-r1
-
-MY_P="${PN}-release_${PV}"
-DESCRIPTION="An Emacs mode for notes and project planning"
-HOMEPAGE="https://www.orgmode.org/"
-SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="doc odt-schema"
-RESTRICT="test"
-
-BDEPEND="doc? ( virtual/texi2dvi )"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- emake datadir="${EPREFIX}${SITEETC}/${PN}"
- use doc && emake pdf card
-}
-
-src_install() {
- emake \
- DESTDIR="${D}" \
- ETCDIRS="styles csl $(use odt-schema && echo schema)" \
- lispdir="${EPREFIX}${SITELISP}/${PN}" \
- datadir="${EPREFIX}${SITEETC}/${PN}" \
- infodir="${EPREFIX}/usr/share/info" \
- install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc README CONTRIBUTE etc/ORG-NEWS
- use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
-
- local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
- so you may have to install one or more additional packages.
- A non-exhaustive list of these dependencies may be found at
- <http://orgmode.org/worg/org-dependencies.html>."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/org-mode/org-mode-9.6.23.ebuild b/app-emacs/org-mode/org-mode-9.6.23.ebuild
new file mode 100644
index 000000000000..5acbbfad3f9e
--- /dev/null
+++ b/app-emacs/org-mode/org-mode-9.6.23.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+MY_P="${PN}-release_${PV}"
+DESCRIPTION="An Emacs mode for notes and project planning"
+HOMEPAGE="https://www.orgmode.org/"
+SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc odt-schema"
+RESTRICT="test"
+
+BDEPEND="doc? ( virtual/texi2dvi )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake -j1 \
+ ORGVERSION=${PV} \
+ datadir="${EPREFIX}${SITEETC}/${PN}"
+ use doc && emake -j1 pdf card
+}
+
+src_install() {
+ emake \
+ ORGVERSION=${PV} \
+ DESTDIR="${D}" \
+ ETCDIRS="styles csl $(use odt-schema && echo schema)" \
+ lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ datadir="${EPREFIX}${SITEETC}/${PN}" \
+ infodir="${EPREFIX}/usr/share/info" \
+ install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
+ use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
+
+ local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
+ so you may have to install one or more additional packages.
+ A non-exhaustive list of these dependencies may be found at
+ <http://orgmode.org/worg/org-dependencies.html>."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/org-mode/org-mode-9.6.24.ebuild b/app-emacs/org-mode/org-mode-9.6.24.ebuild
new file mode 100644
index 000000000000..e1d2e45fb768
--- /dev/null
+++ b/app-emacs/org-mode/org-mode-9.6.24.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-release_${PV}"
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="An Emacs mode for notes and project planning"
+HOMEPAGE="https://www.orgmode.org/"
+SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc odt-schema"
+RESTRICT="test"
+
+BDEPEND="
+ doc? ( virtual/texi2dvi )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake -j1 \
+ ORGVERSION=${PV} \
+ datadir="${EPREFIX}${SITEETC}/${PN}"
+ use doc && emake -j1 pdf card
+}
+
+src_install() {
+ emake \
+ ORGVERSION=${PV} \
+ DESTDIR="${D}" \
+ ETCDIRS="styles csl $(use odt-schema && echo schema)" \
+ lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ datadir="${EPREFIX}${SITEETC}/${PN}" \
+ infodir="${EPREFIX}/usr/share/info" \
+ install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
+ use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
+
+ local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
+ so you may have to install one or more additional packages.
+ A non-exhaustive list of these dependencies may be found at
+ <http://orgmode.org/worg/org-dependencies.html>."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/org-mode/org-mode-9.6.26.ebuild b/app-emacs/org-mode/org-mode-9.6.26.ebuild
new file mode 100644
index 000000000000..6a5fae66355f
--- /dev/null
+++ b/app-emacs/org-mode/org-mode-9.6.26.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="An Emacs mode for notes and project planning"
+HOMEPAGE="https://www.orgmode.org/"
+MY_P="${PN}-release_${PV}"
+SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc odt-schema"
+RESTRICT="test"
+
+BDEPEND="doc? ( virtual/texi2dvi )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake -j1 \
+ ORGVERSION=${PV} \
+ datadir="${EPREFIX}${SITEETC}/${PN}"
+ use doc && emake -j1 pdf card
+}
+
+src_install() {
+ emake \
+ ORGVERSION=${PV} \
+ DESTDIR="${D}" \
+ ETCDIRS="styles csl $(use odt-schema && echo schema)" \
+ lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ datadir="${EPREFIX}${SITEETC}/${PN}" \
+ infodir="${EPREFIX}/usr/share/info" \
+ install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
+ use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
+
+ local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
+ so you may have to install one or more additional packages.
+ A non-exhaustive list of these dependencies may be found at
+ <http://orgmode.org/worg/org-dependencies.html>."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/org-mode/org-mode-9999.ebuild b/app-emacs/org-mode/org-mode-9999.ebuild
new file mode 100644
index 000000000000..ac0cf59313b4
--- /dev/null
+++ b/app-emacs/org-mode/org-mode-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs/${PN}.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/org"
+ inherit git-r3
+ S="${WORKDIR}/org"
+else
+ MY_P="${PN}-release_${PV}"
+ SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+DESCRIPTION="An Emacs mode for notes and project planning"
+HOMEPAGE="https://www.orgmode.org/"
+
+LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
+SLOT="0"
+IUSE="doc odt-schema"
+RESTRICT="test"
+
+BDEPEND="doc? ( virtual/texi2dvi )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ emake datadir="${EPREFIX}${SITEETC}/${PN}"
+ use doc && emake pdf card
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ ETCDIRS="styles csl $(use odt-schema && echo schema)" \
+ lispdir="${EPREFIX}${SITELISP}/${PN}" \
+ datadir="${EPREFIX}${SITEETC}/${PN}" \
+ infodir="${EPREFIX}/usr/share/info" \
+ install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
+ use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
+
+ local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
+ so you may have to install one or more additional packages.
+ A non-exhaustive list of these dependencies may be found at
+ <http://orgmode.org/worg/org-dependencies.html>."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/org-modern/Manifest b/app-emacs/org-modern/Manifest
new file mode 100644
index 000000000000..416c95fe81b1
--- /dev/null
+++ b/app-emacs/org-modern/Manifest
@@ -0,0 +1,2 @@
+DIST org-modern-1.1.tar.gz 24267 BLAKE2B a556e58384b5cbb24f768778bd0e3f820b63fba0d63590d8943054e4bf2a6ae1137c145bf72282659a22ec4236de036105b82f5a288687dadf6463744c321f3a SHA512 722a9c30031400e060aa4af78fe16ddda362e7803927c8b2ab379ee43a0711cc35fb5c21c617389a1b3ecdfa8123ab6b200d5825e80cecf9b017488a24b376ed
+DIST org-modern-1.2.tar.gz 24466 BLAKE2B f7a0426e203078d048744532efc582a2ebf2ed66fd2ff88ea1f7696d442ced5ce00b124c0b57d1dc6a1f79aa5c1f732f4fb7399642cb2957878cc9fa8be903be SHA512 1d5f4bee037aa44433de33701c87273332cd351f9f52cb787f799de084421481cdf95785761c33caed0660a2c9ff6f00617b93be1b6f39a1e1ab70af8a64fd35
diff --git a/app-emacs/org-modern/files/50org-modern-gentoo.el b/app-emacs/org-modern/files/50org-modern-gentoo.el
new file mode 100644
index 000000000000..a10b355780f8
--- /dev/null
+++ b/app-emacs/org-modern/files/50org-modern-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'global-org-modern-mode "org-modern"
+ "Global org-modern-mode." t)
+(autoload 'org-modern-agenda "org-modern"
+ "Finalize Org agenda highlighting." t)
+(autoload 'org-modern-mode "org-modern"
+ "Modern looks for Org." t)
diff --git a/app-emacs/org-modern/metadata.xml b/app-emacs/org-modern/metadata.xml
new file mode 100644
index 000000000000..68e44f1c601a
--- /dev/null
+++ b/app-emacs/org-modern/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package implements a β€œmodern” style for your Org buffers using font
+ locking and text properties. The package styles headlines, keywords, tables
+ and source blocks. The styling is configurable, you can enable, disable or
+ modify the style of each syntax element individually via the org-modern
+ customization group.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/minad/org-modern/issues/</bugs-to>
+ <remote-id type="github">minad/org-modern</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/org-modern/org-modern-1.1.ebuild b/app-emacs/org-modern/org-modern-1.1.ebuild
new file mode 100644
index 000000000000..9fa99148a3ca
--- /dev/null
+++ b/app-emacs/org-modern/org-modern-1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Modern style for your GNU Emacs Org buffers"
+HOMEPAGE="https://github.com/minad/org-modern/"
+SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org example.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-modern/org-modern-1.2.ebuild b/app-emacs/org-modern/org-modern-1.2.ebuild
new file mode 100644
index 000000000000..9fa99148a3ca
--- /dev/null
+++ b/app-emacs/org-modern/org-modern-1.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Modern style for your GNU Emacs Org buffers"
+HOMEPAGE="https://github.com/minad/org-modern/"
+SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org example.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-roam/Manifest b/app-emacs/org-roam/Manifest
new file mode 100644
index 000000000000..ded5031c0590
--- /dev/null
+++ b/app-emacs/org-roam/Manifest
@@ -0,0 +1 @@
+DIST org-roam-2.2.2.tar.gz 37466184 BLAKE2B f929d765493a640f5df0417dfd37618049d7af24ac78fd1dc00ef79bc7576ca856d6cc926a30bcd0f69c27595bf1ce517e49fe9e592dd208f08b83d03544d80a SHA512 737baff1b3ab7a3008ed3bf1816f8cf1ce461dccfe8e195e8ac11ba50c2c983573d62c364c75a119facf3131f90764842bfe121cdad0a4c2add606aa806aef10
diff --git a/app-emacs/org-roam/files/50org-roam-gentoo.el b/app-emacs/org-roam/files/50org-roam-gentoo.el
new file mode 100644
index 000000000000..ac1c52bf5855
--- /dev/null
+++ b/app-emacs/org-roam/files/50org-roam-gentoo.el
@@ -0,0 +1,3 @@
+;;; app-emacs/org-roam site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/org-roam-autoloads.el" nil t)
diff --git a/app-emacs/org-roam/metadata.xml b/app-emacs/org-roam/metadata.xml
new file mode 100644
index 000000000000..a88691fba13b
--- /dev/null
+++ b/app-emacs/org-roam/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">org-roam/org-roam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/org-roam/org-roam-2.2.2-r1.ebuild b/app-emacs/org-roam/org-roam-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..d4214ed1928c
--- /dev/null
+++ b/app-emacs/org-roam/org-roam-2.2.2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+inherit elisp
+
+DESCRIPTION="Rudimentary Roam replica with Org-mode"
+HOMEPAGE="https://github.com/org-roam/org-roam"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ "
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/magit
+ app-emacs/emacsql[sqlite]
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+}
diff --git a/app-emacs/org-roam/org-roam-2.2.2-r2.ebuild b/app-emacs/org-roam/org-roam-2.2.2-r2.ebuild
new file mode 100644
index 000000000000..8432aafaa462
--- /dev/null
+++ b/app-emacs/org-roam/org-roam-2.2.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+inherit elisp
+
+DESCRIPTION="Rudimentary Roam replica with Org-mode"
+HOMEPAGE="https://github.com/org-roam/org-roam"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ "
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/magit
+ app-emacs/emacsql[sqlite]
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
+
+src_prepare() {
+ default
+ mv extensions/*.el . || die
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+}
diff --git a/app-emacs/org-roam/org-roam-9999.ebuild b/app-emacs/org-roam/org-roam-9999.ebuild
new file mode 100644
index 000000000000..8432aafaa462
--- /dev/null
+++ b/app-emacs/org-roam/org-roam-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+inherit elisp
+
+DESCRIPTION="Rudimentary Roam replica with Org-mode"
+HOMEPAGE="https://github.com/org-roam/org-roam"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="
+ https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ "
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/magit
+ app-emacs/emacsql[sqlite]
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
+
+src_prepare() {
+ default
+ mv extensions/*.el . || die
+}
+
+src_install() {
+ elisp-make-autoload-file
+ elisp_src_install
+}
diff --git a/app-emacs/org-static-blog/Manifest b/app-emacs/org-static-blog/Manifest
new file mode 100644
index 000000000000..3eb94d090e06
--- /dev/null
+++ b/app-emacs/org-static-blog/Manifest
@@ -0,0 +1,2 @@
+DIST org-static-blog-1.5.0.tar.gz 13504 BLAKE2B a6eaa2e92d715513d69d230863a744c46c4b621dca98b2164eef0ae6d63f0e34b942a0bff99ae197e84fbbb315a1f07f829e958674104aaf651d815c43d1e58c SHA512 6b7d7922b5a4eec4724fa0b3ac94c9f8de7d3a984ced85e938f3e96faf0387d37881abcc0cc159b21d2cfc3e3e62f113f51d5967fca6b07c60ade1d3fe290b6f
+DIST org-static-blog-1.6.0.tar.gz 15519 BLAKE2B 1ce2c33beb54be5ca9d0a82d5eaa53785f2feb3bfc7df7f236d6ed2a2a5cc2735f879aefe2f52038dd8f19d24f60704b0dda92e883d6911e130b65fb99786353 SHA512 1c7bb70faff38526e6d9072b8733c16fb3458a150ffee03e921fbed6fb23007eb23c25cb6379c473a4292c866883780c844e5f7e24f4cdf2e26563877d495f3a
diff --git a/app-emacs/org-static-blog/files/50org-static-blog-gentoo.el b/app-emacs/org-static-blog/files/50org-static-blog-gentoo.el
new file mode 100644
index 000000000000..19fa211bbbd4
--- /dev/null
+++ b/app-emacs/org-static-blog/files/50org-static-blog-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'org-static-blog-mode "org-static-blog"
+ "Blogging with org-mode and emacs." t)
diff --git a/app-emacs/org-static-blog/metadata.xml b/app-emacs/org-static-blog/metadata.xml
new file mode 100644
index 000000000000..22815e751aca
--- /dev/null
+++ b/app-emacs/org-static-blog/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/bastibe/org-static-blog/issues/</bugs-to>
+ <remote-id type="github">bastibe/org-static-blog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/org-static-blog/org-static-blog-1.5.0.ebuild b/app-emacs/org-static-blog/org-static-blog-1.5.0.ebuild
new file mode 100644
index 000000000000..c87a667f1522
--- /dev/null
+++ b/app-emacs/org-static-blog/org-static-blog-1.5.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Static site generator using Emacs's org-mode"
+HOMEPAGE="https://github.com/bastibe/org-static-blog/"
+SRC_URI="https://github.com/bastibe/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-static-blog/org-static-blog-1.6.0.ebuild b/app-emacs/org-static-blog/org-static-blog-1.6.0.ebuild
new file mode 100644
index 000000000000..c87a667f1522
--- /dev/null
+++ b/app-emacs/org-static-blog/org-static-blog-1.6.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Static site generator using Emacs's org-mode"
+HOMEPAGE="https://github.com/bastibe/org-static-blog/"
+SRC_URI="https://github.com/bastibe/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/org-superstar-mode/Manifest b/app-emacs/org-superstar-mode/Manifest
new file mode 100644
index 000000000000..cd929d6b7a55
--- /dev/null
+++ b/app-emacs/org-superstar-mode/Manifest
@@ -0,0 +1 @@
+DIST org-superstar-mode-1.5.0.tar.gz 622275 BLAKE2B 03c3b652d422d145e916dce02e3e0d7dc0583090803984da67c7e06aae6c3f3a7bfed43bb88fdc2891703cfca6adddf29135f6e93241b137a83d85c7ae165b03 SHA512 3c8f8168011c7f5df96620af6d12d3ab093f994c2875042e88b8f132ce7c44c42b86fd6502f050c0cf5375f986252bc5e45125f08a97db9b8ed0cd5bcd8548bd
diff --git a/app-emacs/org-superstar-mode/files/50org-superstar-mode-gentoo.el b/app-emacs/org-superstar-mode/files/50org-superstar-mode-gentoo.el
new file mode 100644
index 000000000000..0c65805a0407
--- /dev/null
+++ b/app-emacs/org-superstar-mode/files/50org-superstar-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'org-superstar-mode "org-superstar"
+ "Use UTF8 bullets for headlines and plain lists." t)
diff --git a/app-emacs/org-superstar-mode/metadata.xml b/app-emacs/org-superstar-mode/metadata.xml
new file mode 100644
index 000000000000..921a094acd19
--- /dev/null
+++ b/app-emacs/org-superstar-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/integral-dw/org-superstar-mode/issues/</bugs-to>
+ <remote-id type="github">integral-dw/org-superstar-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/org-superstar-mode/org-superstar-mode-1.5.0.ebuild b/app-emacs/org-superstar-mode/org-superstar-mode-1.5.0.ebuild
new file mode 100644
index 000000000000..89f453b5e044
--- /dev/null
+++ b/app-emacs/org-superstar-mode/org-superstar-mode-1.5.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Prettify headings and plain lists in Org mode (use UTF8 bullets)"
+HOMEPAGE="https://github.com/integral-dw/org-superstar-mode/"
+SRC_URI="https://github.com/integral-dw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( DEMO.org README.org demos )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake EMACS="${EMACS}" EFLAGS="${EMACSFLAGS}" -C tests
+}
diff --git a/app-emacs/osm/Manifest b/app-emacs/osm/Manifest
new file mode 100644
index 000000000000..784a3a45ddce
--- /dev/null
+++ b/app-emacs/osm/Manifest
@@ -0,0 +1,2 @@
+DIST osm-1.2.tar.gz 34920 BLAKE2B f550ef298818a1ca4270cd3ac02b8c21f2860ba39c685e8ea4198f364277d072f6bd8a83e08d6912b07bce80927d706bd52814a8f78511d12cdf08cc2f622eea SHA512 a480330462de292e6acd3781b02abc51c28ced77d02f3ac91a6daa11e6bc1a1233142b002bcd2303e2686e0e29feacd32bcdef4c5360144dcb45b15b743b5743
+DIST osm-1.3.tar.gz 35272 BLAKE2B 4cf6f5cc81f0cb710c2b33902373fe8102dc91c66242bf7b179ad8019ad91a3c91216d5f90ada9f00acde57f92722538c4803a6e891b11eb1b18fbdfec110c89 SHA512 221c8d236819aa7fd00350e20127a9b9eb87f8d9cbf319f1f319dae5d5c5580357e76409521e0921cb70e3cadee46e37580a454a206b67357e1ed6c727acc8ed
diff --git a/app-emacs/osm/files/50osm-gentoo.el b/app-emacs/osm/files/50osm-gentoo.el
new file mode 100644
index 000000000000..41333f4b1a0c
--- /dev/null
+++ b/app-emacs/osm/files/50osm-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "osm-autoloads" nil t)
diff --git a/app-emacs/osm/metadata.xml b/app-emacs/osm/metadata.xml
new file mode 100644
index 000000000000..69b999da8796
--- /dev/null
+++ b/app-emacs/osm/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Osm.el is a tile-based map viewer, with a responsive movable and zoomable
+ display. The map can be controlled with the keyboard or with the mouse. The
+ viewer fetches the map tiles in parallel from tile servers via the curl
+ program. The package comes with a list of multiple preconfigured tile
+ servers. You can bookmark your favorite locations using regular Emacs
+ bookmarks or create links from Org files to locations. Furthermore the
+ package provides commands to search for locations by name and to open and
+ display GPX tracks.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/minad/osm/issues/</bugs-to>
+ <remote-id type="github">minad/osm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/osm/osm-1.2.ebuild b/app-emacs/osm/osm-1.2.ebuild
new file mode 100644
index 000000000000..d690692e0ba7
--- /dev/null
+++ b/app-emacs/osm/osm-1.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="OpenStreetMap tile-based viewer for GNU Emacs"
+HOMEPAGE="https://github.com/minad/osm/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}:*[jpeg,json(+),libxml2,png,svg]
+ >=app-emacs/compat-29.1.4.0
+"
+RDEPEND="
+ ${BDEPEND}
+ net-misc/curl[ssl]
+"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/osm/osm-1.3.ebuild b/app-emacs/osm/osm-1.3.ebuild
new file mode 100644
index 000000000000..d690692e0ba7
--- /dev/null
+++ b/app-emacs/osm/osm-1.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="OpenStreetMap tile-based viewer for GNU Emacs"
+HOMEPAGE="https://github.com/minad/osm/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}:*[jpeg,json(+),libxml2,png,svg]
+ >=app-emacs/compat-29.1.4.0
+"
+RDEPEND="
+ ${BDEPEND}
+ net-misc/curl[ssl]
+"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/osm/osm-9999.ebuild b/app-emacs/osm/osm-9999.ebuild
new file mode 100644
index 000000000000..73c6ce8e6554
--- /dev/null
+++ b/app-emacs/osm/osm-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="OpenStreetMap tile-based viewer for GNU Emacs"
+HOMEPAGE="https://github.com/minad/osm/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}:*[jpeg,json(+),libxml2,png,svg]
+ >=app-emacs/compat-29.1.4.0
+"
+RDEPEND="
+ ${BDEPEND}
+ net-misc/curl[ssl]
+"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/outline-magic/files/50outline-magic-gentoo.el b/app-emacs/outline-magic/files/50outline-magic-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/outline-magic/files/50outline-magic-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/package-build/Manifest b/app-emacs/package-build/Manifest
new file mode 100644
index 000000000000..47e1b0b943be
--- /dev/null
+++ b/app-emacs/package-build/Manifest
@@ -0,0 +1 @@
+DIST package-build-4.0.0.tar.gz 18055 BLAKE2B 52a328448f5865b2c35d6bdf2a0b5300d15d4031b5bb6938161b470ea7aa3c7df723a12c5ee39d1b81600306776338458a7a7def3d926847d4c91aced8ce8a8f SHA512 45c85eb0d938c2c69ad767a263f1154d140c8f9325b9152bd3faf4e4c083c9b4876fbe73adc055d7edb15cee435d982c927fcddfffa2dfb1b53755b7ad61c0c7
diff --git a/app-emacs/package-build/metadata.xml b/app-emacs/package-build/metadata.xml
new file mode 100644
index 000000000000..4cbe6bac7b4a
--- /dev/null
+++ b/app-emacs/package-build/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/melpa/package-build/issues/</bugs-to>
+ <remote-id type="github">melpa/package-build</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/package-build/package-build-4.0.0.ebuild b/app-emacs/package-build/package-build-4.0.0.ebuild
new file mode 100644
index 000000000000..e7c96d42e3a3
--- /dev/null
+++ b/app-emacs/package-build/package-build-4.0.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Tools for assembling a package archive"
+HOMEPAGE="https://github.com/melpa/package-build/"
+SRC_URI="https://github.com/melpa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/package-lint/Manifest b/app-emacs/package-lint/Manifest
new file mode 100644
index 000000000000..4de619d2c113
--- /dev/null
+++ b/app-emacs/package-lint/Manifest
@@ -0,0 +1,2 @@
+DIST package-lint-0.22.tar.gz 322207 BLAKE2B 4605bd733ac46c5d1535c5c27c3921006e9641342f2fc42500b225146384e193c719e73c246ec9fc8a9db811d6c9b70b979647b9581a135e78b4cb7f4f4dfd8a SHA512 3924d8a0daaf2bf08c3128aff9776b3b5629d1bc6beeeef6355b07cb14f04769a24458eb81f38a27a7fa3db235fe5eca7a1cdf1a1ae222dd67e8d53e7955647b
+DIST package-lint-0.23.tar.gz 322339 BLAKE2B c3c0a866d46863248fdcf914049859e9dccf0f921a71cc44f4c386e50f5bafac58ba3d1e04b6dcbd58c650fa1386574b2bb3e014cde972416ca3af7f1158b1a1 SHA512 b6d52dd8edb730c77afdadcde48e3235ce90c0e435faf28f220108d9f5994c4a07e8e9b08f765628a7591c11f8e96cfe1ea25606a1d081bede0923528fbf47e3
diff --git a/app-emacs/package-lint/files/package-lint-0.22-load-data-directory.patch b/app-emacs/package-lint/files/package-lint-0.22-load-data-directory.patch
new file mode 100644
index 000000000000..c4846cf9b6f8
--- /dev/null
+++ b/app-emacs/package-lint/files/package-lint-0.22-load-data-directory.patch
@@ -0,0 +1,17 @@
+--- a/package-lint.el
++++ b/package-lint.el
+@@ -113,11 +113,9 @@ optional minimum version containing the feature.")
+ (defun package-lint--load-data (file)
+ "Load sexp data from FILE."
+ (with-temp-buffer
+- (insert-file-contents
+- (expand-file-name file
+- (if load-file-name
+- (file-name-directory load-file-name)
+- default-directory)))
++ (let ((ef (expand-file-name file "@SITEETC@")))
++ (insert-file-contents
++ (if (file-exists-p ef) ef file)))
+ (read (current-buffer))))
+
+ (defconst package-lint-symbol-info
diff --git a/app-emacs/package-lint/metadata.xml b/app-emacs/package-lint/metadata.xml
new file mode 100644
index 000000000000..ddaf53faef36
--- /dev/null
+++ b/app-emacs/package-lint/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/purcell/package-lint/issues/</bugs-to>
+ <remote-id type="github">purcell/package-lint</remote-id>
+ </upstream>
+ <longdescription>
+ This library provides a linter for the metadata in Emacs Lisp files which
+ are intended to be packages. You can integrate it into your build process.
+ package-lint detects various issues that may make your package
+ uninstallable or unusable for some users, and it warns about significant
+ deviations from the Elisp coding conventions, such as non-compliant symbol
+ naming, and use of reserved keybindings. Among other community uses,
+ package-lint is a prerequisite for submission of packages to MELPA.
+ package-lint can be used standalone, but see also the flycheck-package and
+ package-lint-flymake packages, which both use package-lint to conveniently
+ display packaging errors directly in the buffer while writing elisp
+ packages.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/package-lint/package-lint-0.22.ebuild b/app-emacs/package-lint/package-lint-0.22.ebuild
new file mode 100644
index 000000000000..4014aa033f64
--- /dev/null
+++ b/app-emacs/package-lint/package-lint-0.22.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Linting library for Emacs Lisp package metadata"
+HOMEPAGE="https://github.com/purcell/package-lint/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/purcell/${PN}.git"
+else
+ SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/compat
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22-load-data-directory.patch"
+)
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i "${PN}.el" || die
+}
+
+src_install() {
+ elisp-install "${PN}" ${PN}{,-flymake}.el{,c}
+ elisp-make-site-file "${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r data
+
+ einstalldocs
+}
diff --git a/app-emacs/package-lint/package-lint-0.23.ebuild b/app-emacs/package-lint/package-lint-0.23.ebuild
new file mode 100644
index 000000000000..dce074db0877
--- /dev/null
+++ b/app-emacs/package-lint/package-lint-0.23.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Linting library for Emacs Lisp package metadata"
+HOMEPAGE="https://github.com/purcell/package-lint/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/purcell/${PN}.git"
+else
+ SRC_URI="https://github.com/purcell/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/compat
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22-load-data-directory.patch"
+)
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i "${PN}.el" || die
+}
+
+src_install() {
+ elisp-install "${PN}" ${PN}{,-flymake}.el{,c}
+ elisp-make-site-file "${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r data
+
+ einstalldocs
+}
diff --git a/app-emacs/pandoc-mode/Manifest b/app-emacs/pandoc-mode/Manifest
new file mode 100644
index 000000000000..e3e76e674447
--- /dev/null
+++ b/app-emacs/pandoc-mode/Manifest
@@ -0,0 +1 @@
+DIST pandoc-mode-2.32.tar.gz 97596 BLAKE2B 2a1c8a6080fbba1cf278d78f9dbe4e6824daed52ad6422378d6b5c00fd4ec9466391474fdbaad5f1cd96d89080c24968b33c0911cb5f834ddd64dc1339b78c01 SHA512 6717bf238a9f71acce8135d5fa0542c23f2b48d78415f92dda2ef58aa0355ca0fe900e1015d0da674abf7780ed614bd7d4414519bf6d0d7f5aee7e3b7a7f447f
diff --git a/app-emacs/pandoc-mode/files/50pandoc-mode-gentoo.el b/app-emacs/pandoc-mode/files/50pandoc-mode-gentoo.el
new file mode 100644
index 000000000000..7b5175907861
--- /dev/null
+++ b/app-emacs/pandoc-mode/files/50pandoc-mode-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'conditionally-turn-on-pandoc "pandoc-mode"
+ "Turn on pandoc-mode if a pandoc settings file exists.") ; non-interactive
+(autoload 'pandoc-mode "pandoc-mode"
+ "Minor mode for interacting with Pandoc." t)
diff --git a/app-emacs/pandoc-mode/metadata.xml b/app-emacs/pandoc-mode/metadata.xml
new file mode 100644
index 000000000000..2836a8a3bb27
--- /dev/null
+++ b/app-emacs/pandoc-mode/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ pandoc-mode is an Emacs mode for interacting with Pandoc. pandoc-mode is
+ implemented as a minor mode that can be activated alongside the major mode
+ for any of Pandoc's supported input formats. It provides facilities to set
+ the various options that Pandoc accepts and to run Pandoc on the input
+ file.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/joostkremers/pandoc-mode/issues/</bugs-to>
+ <remote-id type="github">joostkremers/pandoc-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/pandoc-mode/pandoc-mode-2.32-r1.ebuild b/app-emacs/pandoc-mode/pandoc-mode-2.32-r1.ebuild
new file mode 100644
index 000000000000..5ae75c305754
--- /dev/null
+++ b/app-emacs/pandoc-mode/pandoc-mode-2.32-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs minor mode for interacting with Pandoc"
+HOMEPAGE="https://joostkremers.github.io/pandoc-mode/
+ https://github.com/joostkremers/pandoc-mode/"
+SRC_URI="https://github.com/joostkremers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0"
+
+BDEPEND="
+ app-emacs/dash
+ app-emacs/hydra
+"
+RDEPEND="
+ ${BDEPEND}
+ virtual/pandoc
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+ doinfo ${PN}.info
+}
diff --git a/app-emacs/paredit/Manifest b/app-emacs/paredit/Manifest
index 504ade03cf7c..38410fe9380f 100644
--- a/app-emacs/paredit/Manifest
+++ b/app-emacs/paredit/Manifest
@@ -1,2 +1 @@
-DIST paredit-23.html.xz 1920 BLAKE2B 029c09848bb162c135c882ca17e6d5da9c3c17ba3937a809dcd03edb4b1841a0069a72dbd6676003cdf1a9de60a1f88eefa1de050210a37b52a005d28892ab14 SHA512 0ef584787b6094f1d0720aeb4d3a8c106605be62ffaa240d27a190ed9a6dd83d6d1ce68c2d184e84539a0e0658dcbed068335b69f4b1905ae9bf3d9968d5fb9b
-DIST paredit-24.el.xz 24332 BLAKE2B 5243810cfcc40ebfd62ce3f833afa214defe9b91affbeb142ddad308e1fcff3f54a0ed19029a5ebd31f374868abc34f160d2efac65a609e783483ba2c92194d2 SHA512 76d9d2694473aeaab573964d79418fba20bfecef7f3771682f769ef05fb9385f9ef6dda1a5c7edec5d0a6f919d2eca5e75d595bd8cd5220c5179bfcac5f20f94
+DIST paredit-26.tar.gz 63322 BLAKE2B 6259b17655d0c1ebaa30fad2e46639f1e84e5aaee18980131d9e2cad9711ab469efc75a3ed264213bf3fbe18cddc9c69c0bb3907a3acfcc896aa2070cf00f44a SHA512 1f0a712d6b99740e559208451a3292e52b110a5f40224fdd30e390c4eb63f3b01790d8cc0a3fb0f0681a7739ca26763df6afbb4c2e00b6560dccb29950f70a70
diff --git a/app-emacs/paredit/metadata.xml b/app-emacs/paredit/metadata.xml
index 986088003fe1..5e20d8694796 100644
--- a/app-emacs/paredit/metadata.xml
+++ b/app-emacs/paredit/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <remote-id type="github">emacsmirror/paredit</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/paredit/paredit-24.ebuild b/app-emacs/paredit/paredit-24.ebuild
deleted file mode 100644
index da8b0fce3b6d..000000000000
--- a/app-emacs/paredit/paredit-24.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Minor mode for performing structured editing of S-expressions"
-HOMEPAGE="https://mumble.net/~campbell/emacs/
- https://www.emacswiki.org/emacs/ParEdit"
-# No documentation available for paredit-24, so take previous version
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz
- https://dev.gentoo.org/~ulm/distfiles/${PN}-23.html.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_unpack() {
- elisp_src_unpack
- mv ${PN}-23.html ${PN}.html || die
-}
-
-src_install() {
- elisp_src_install
- docinto html
- dodoc *.html
-}
diff --git a/app-emacs/paredit/paredit-26.ebuild b/app-emacs/paredit/paredit-26.ebuild
new file mode 100644
index 000000000000..130788d7d6b8
--- /dev/null
+++ b/app-emacs/paredit/paredit-26.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Minor mode for performing structured editing of S-expressions"
+HOMEPAGE="https://paredit.org/
+ https://www.emacswiki.org/emacs/ParEdit/
+ https://github.com/emacsmirror/paredit/"
+SRC_URI="https://github.com/emacsmirror/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DOCS=( CREDITS NEWS ${PN}.html )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ sh ./genhtml.sh || die "the script genhtml.sh failed"
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -l ${PN}.el -l test.el || die "tests failed"
+}
+
+src_install() {
+ rm test.el* || die
+
+ elisp_src_install
+}
diff --git a/app-emacs/pariemacs/pariemacs-3.14-r1.ebuild b/app-emacs/pariemacs/pariemacs-3.14-r1.ebuild
new file mode 100644
index 000000000000..e94c56789e55
--- /dev/null
+++ b/app-emacs/pariemacs/pariemacs-3.14-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="sci-mathematics/pari emacs mode"
+HOMEPAGE="http://iml.univ-mrs.fr/~ramare/ServeurPerso/GP-PARI/"
+SRC_URI="http://iml.univ-mrs.fr/~ramare/ServeurPerso/GP-PARI/latest-pari-distrib/${P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sci-mathematics/pari"
+DEPEND="${RDEPEND}"
+
+SITEFILE="64${PN}-gentoo.el"
+DOCS="README CHANGES"
+PATCHES=( "${FILESDIR}/${P}-makefile.patch" )
+
+src_prepare() {
+ default
+ if [ -f /usr/share/pari/pari.cfg ]; then
+ cp /usr/share/pari/pari.cfg . || die
+ elif [ -f /usr/share/pari/pari.cfg.bz2 ]; then
+ cp /usr/share/pari/pari.cfg.bz2 . || die
+ bunzip2 pari.cfg.bz2 || die
+ else
+ die "pari.cfg not found"
+ fi
+}
+
+src_compile() {
+ emake pari-conf.el
+ emake elc
+}
diff --git a/app-emacs/pariemacs/pariemacs-3.14.ebuild b/app-emacs/pariemacs/pariemacs-3.14.ebuild
deleted file mode 100644
index aa608c9b7eaa..000000000000
--- a/app-emacs/pariemacs/pariemacs-3.14.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="sci-mathematics/pari emacs mode"
-HOMEPAGE="http://iml.univ-mrs.fr/~ramare/ServeurPerso/GP-PARI/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-SRC_URI="http://iml.univ-mrs.fr/~ramare/ServeurPerso/GP-PARI/latest-pari-distrib/${P}.tar.gz"
-
-RDEPEND="sci-mathematics/pari"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}"
-SITEFILE="64${PN}-gentoo.el"
-DOCS="README CHANGES"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-makefile.patch
- eapply_user
- if [ -f /usr/share/doc/pari-*/pari.cfg ]; then
- cp /usr/share/doc/pari-*/pari.cfg .
- elif [ -f /usr/share/doc/pari-*/pari.cfg.bz2 ]; then
- cp /usr/share/doc/pari-*/pari.cfg.bz2 .
- bunzip2 pari.cfg.bz2
- else die "pari.cfg not found"
- fi
-}
-
-src_compile() {
- make pari-conf.el
- make elc
-}
diff --git a/app-emacs/parsebib/Manifest b/app-emacs/parsebib/Manifest
new file mode 100644
index 000000000000..fa2fac30bfad
--- /dev/null
+++ b/app-emacs/parsebib/Manifest
@@ -0,0 +1 @@
+DIST parsebib-4.3.tar.gz 25195 BLAKE2B 9b3031f7f6b8d69b026d1301c95fde6279eedb4cb55a975294d9f32a57508ac14c33c5874da14da7e14de5c58fd7915d9a9132859fb46cf4910d37d963876929 SHA512 b036ff496d4d435cdb6fbcd57b1844601417d94faf34294b593ec7947e40a8f4807de12e17c659e8cc6b0a5a17f62d45c51671b5568cf27f1af9890298324215
diff --git a/app-emacs/parsebib/metadata.xml b/app-emacs/parsebib/metadata.xml
new file mode 100644
index 000000000000..0892b478df27
--- /dev/null
+++ b/app-emacs/parsebib/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/joostkremers/parsebib/issues/</bugs-to>
+ <remote-id type="github">joostkremers/parsebib</remote-id>
+ </upstream>
+ <longdescription>
+ Parsebib is an Elisp library for reading bibliographic database files. It
+ supports both BibTeX / biblatex (.bib) files and CSL-JSON (.json) files.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/parsebib/parsebib-4.3.ebuild b/app-emacs/parsebib/parsebib-4.3.ebuild
new file mode 100644
index 000000000000..86b48a11e4ab
--- /dev/null
+++ b/app-emacs/parsebib/parsebib-4.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp library for reading .bib files"
+HOMEPAGE="https://github.com/joostkremers/parsebib/"
+SRC_URI="https://github.com/joostkremers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/ert-runner )"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/parseclj/Manifest b/app-emacs/parseclj/Manifest
new file mode 100644
index 000000000000..20f2aa5fa3b1
--- /dev/null
+++ b/app-emacs/parseclj/Manifest
@@ -0,0 +1 @@
+DIST parseclj-1.1.1.tar.gz 39388 BLAKE2B cd0303a9bbec275123389308332bb2f5edaae359d67f50c87a90b20ffe544a32e43b6b3160f16535aff820c6029554ab94029047bc4fd21e1dccf20830b09621 SHA512 b28c91a1d9d649cda041a89d1d6ccddc7aa0d6018e7ed45928a7ecebd59a3c1de8559347e695a64d2385477991280db9451a915868d54e272125ecaab951d6d4
diff --git a/app-emacs/parseclj/metadata.xml b/app-emacs/parseclj/metadata.xml
new file mode 100644
index 000000000000..c7ad27b76ae9
--- /dev/null
+++ b/app-emacs/parseclj/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ parseclj is an Emacs Lisp library for parsing Clojure code and EDN data. It
+ supports several input and output formats, all powered by the same
+ shift-reduce parser function.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/clojure-emacs/parseclj/issues/</bugs-to>
+ <remote-id type="github">clojure-emacs/parseclj</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/parseclj/parseclj-1.1.1.ebuild b/app-emacs/parseclj/parseclj-1.1.1.ebuild
new file mode 100644
index 000000000000..093bb113f3b6
--- /dev/null
+++ b/app-emacs/parseclj/parseclj-1.1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Clojure Parser for Emacs Lisp"
+HOMEPAGE="https://github.com/clojure-emacs/parseclj/"
+SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/ert-runner )"
+
+DOCS=( CHANGELOG.md DESIGN.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/parseedn/Manifest b/app-emacs/parseedn/Manifest
new file mode 100644
index 000000000000..054fd7e24272
--- /dev/null
+++ b/app-emacs/parseedn/Manifest
@@ -0,0 +1 @@
+DIST parseedn-1.2.1.tar.gz 12172 BLAKE2B 54e6f74811190b7773dbeae8d2555f292de293c8158031fc767c58e6515cb759eda1e7ae4d6b53ac42fde79943da7084b48c688e83fbe46d7c5cdb582ecadf7f SHA512 d5251c5af0aa66c43037499d52e227d8ee558482756900af0a3932c599c88a0c69db2077d33b58bdb151d4bb2eba5312ca867483072c32d8ac246d0e28cdadca
diff --git a/app-emacs/parseedn/metadata.xml b/app-emacs/parseedn/metadata.xml
new file mode 100644
index 000000000000..0df1d0d9b4e9
--- /dev/null
+++ b/app-emacs/parseedn/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ parseedn is an Emacs Lisp library for parsing EDN data. It uses parseclj's
+ shift-reduce parser internally. EDN and Emacs Lisp have some important
+ differences that make translation from one to the other not transparent
+ (think representing an EDN map into Elisp, or being able to differentiate
+ between false and nil in Elisp). Because of this, parseedn takes certain
+ decisions when parsing and transforming EDN data into Elisp data types.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/clojure-emacs/parseedn/issues/</bugs-to>
+ <remote-id type="github">clojure-emacs/parseedn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/parseedn/parseedn-1.2.1.ebuild b/app-emacs/parseedn/parseedn-1.2.1.ebuild
new file mode 100644
index 000000000000..4d4b7b12cefa
--- /dev/null
+++ b/app-emacs/parseedn/parseedn-1.2.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="EDN parser for Emacs Lisp"
+HOMEPAGE="https://github.com/clojure-emacs/parseedn/"
+SRC_URI="https://github.com/clojure-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-emacs/parseclj"
+BDEPEND="
+ ${RDEPEND}
+ test? ( app-emacs/ert-runner )
+"
+
+ELISP_REMOVE="test/${PN}-test.el" # Remove bad tests.
+DOCS=( CHANGELOG.md README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/pdf-tools/Manifest b/app-emacs/pdf-tools/Manifest
new file mode 100644
index 000000000000..16c2b5d602df
--- /dev/null
+++ b/app-emacs/pdf-tools/Manifest
@@ -0,0 +1,2 @@
+DIST pdf-tools-1.0.0.tar.gz 459584 BLAKE2B 54e6f48e593552135c9264baa8040aed6a543e361f5ee951f925ef72d8c62db9e15f97de52eaa4b6013a17dce6170f73e16f1e9d25c9cde33ac8eba1f71ebb7a SHA512 dcf44a45865061c191dcfc03504c707f2170224167d3ec493465c789d8c1433f17c706c5f15dac4fab65e3da45ca3c194aad9b7c599209a7a10b72c17dbbeb77
+DIST pdf-tools-1.1.0.tar.gz 464021 BLAKE2B e09aca137d12bc99e4b7348f2b8d81b34e43a6d9b17ae08d7891146874fc74c671bc8026f4975fbcb6e68c678ead8aae503ba8cbf1f51a5ec6b9515de7335645 SHA512 7208b36b9074388f0e208dcf3730f2641d9a0d966e408885f932e1a495059dcf78355276df2edcb956ef1c34b85b3b2d6ab7d1c03369dc02a7a0c09e2cb1b919
diff --git a/app-emacs/pdf-tools/files/50pdf-tools-gentoo.el b/app-emacs/pdf-tools/files/50pdf-tools-gentoo.el
new file mode 100644
index 000000000000..bab875d73af9
--- /dev/null
+++ b/app-emacs/pdf-tools/files/50pdf-tools-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/pdf-tools-autoloads" nil t)
diff --git a/app-emacs/pdf-tools/metadata.xml b/app-emacs/pdf-tools/metadata.xml
new file mode 100644
index 000000000000..daf7018f9de6
--- /dev/null
+++ b/app-emacs/pdf-tools/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ PDF Tools is, among other things, a replacement of DocView for PDF files.
+ The key difference is that pages are not pre-rendered by e.g. ghostscript
+ and stored in the file-system, but rather created on-demand and stored in
+ memory. This rendering is performed by a special library named, for
+ whatever reason, poppler, running inside a server program. This program is
+ called epdfinfo and its job is to successively read requests from Emacs and
+ produce the proper results, i.e. the PNG image of a PDF page. Actually,
+ displaying PDF files is just one part of pdf-tools. Since poppler can
+ provide us with all kinds of information about a document and is also able
+ to modify it, there is a lot more we can do with it.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/vedang/pdf-tools/issues/</bugs-to>
+ <remote-id type="github">vedang/pdf-tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/pdf-tools/pdf-tools-1.0.0.ebuild b/app-emacs/pdf-tools/pdf-tools-1.0.0.ebuild
new file mode 100644
index 000000000000..e2a64f5d79f4
--- /dev/null
+++ b/app-emacs/pdf-tools/pdf-tools-1.0.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.3
+
+inherit autotools elisp
+
+DESCRIPTION="Emacs Lisp support library for PDF documents"
+HOMEPAGE="https://github.com/vedang/pdf-tools/"
+SRC_URI="https://github.com/vedang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+# Cask is a hard dependency for tests; it is ran by helper functions too.
+RESTRICT="test"
+
+BDEPEND="app-emacs/tablist"
+DEPEND="
+ app-text/poppler:=[cairo,png]
+ dev-libs/glib:2=
+ media-libs/freetype:2=
+ media-libs/harfbuzz:=
+ media-libs/libpng:=
+ x11-libs/cairo:=
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+DOCS=( NEWS README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ cd server || die
+ eautoreconf
+}
+
+src_configure() {
+ cd server || die
+ econf
+}
+
+src_compile() {
+ BYTECOMPFLAGS="-L lisp" elisp-compile lisp/*.el
+ elisp-make-autoload-file lisp/${PN}-autoloads.el lisp
+
+ emake -C server
+}
+
+src_install() {
+ elisp-install ${PN} lisp/*.el*
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+
+ emake -C server DESTDIR="${D}" install
+
+ einstalldocs
+}
diff --git a/app-emacs/pdf-tools/pdf-tools-1.1.0.ebuild b/app-emacs/pdf-tools/pdf-tools-1.1.0.ebuild
new file mode 100644
index 000000000000..3bd790d94a7d
--- /dev/null
+++ b/app-emacs/pdf-tools/pdf-tools-1.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.3
+
+inherit autotools elisp
+
+DESCRIPTION="Emacs Lisp support library for PDF documents"
+HOMEPAGE="https://github.com/vedang/pdf-tools/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vedang/${PN}.git"
+else
+ SRC_URI="https://github.com/vedang/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+# Cask is a hard dependency for tests; it is ran by helper functions too.
+RESTRICT="test"
+
+BDEPEND="app-emacs/tablist"
+DEPEND="
+ app-text/poppler:=[cairo,png]
+ dev-libs/glib:2=
+ media-libs/freetype:2=
+ media-libs/harfbuzz:=
+ media-libs/libpng:=
+ x11-libs/cairo:=
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+DOCS=( NEWS README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ cd server || die
+ eautoreconf
+}
+
+src_configure() {
+ cd server || die
+ econf
+}
+
+src_compile() {
+ BYTECOMPFLAGS="-L lisp" elisp-compile lisp/*.el
+ elisp-make-autoload-file lisp/${PN}-autoloads.el lisp
+
+ emake -C server
+}
+
+src_install() {
+ elisp-install ${PN} lisp/*.el*
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+
+ emake -C server DESTDIR="${D}" install
+
+ einstalldocs
+}
diff --git a/app-emacs/persist/Manifest b/app-emacs/persist/Manifest
new file mode 100644
index 000000000000..00da2e2db9a4
--- /dev/null
+++ b/app-emacs/persist/Manifest
@@ -0,0 +1,2 @@
+DIST persist-0.5.tar.xz 5140 BLAKE2B efc8af5102e4661507784aa54fdc0f890b916b37bc2bfc08e51173c1bbc7e7602bf01c0fa14d06d85f15371336531f4211c2802065497aae1a0e4f40b6051eb2 SHA512 560560a18b252f0bd6c15fd530e77a9501427f9b66fbdbfab4b83dde24c2d9070d75e78038f307ccc5db70d48f539b0472c6a644e8f3255e3817cdc077006989
+DIST persist-0.6.tar.xz 5852 BLAKE2B 4cee1485109e3215ce739c0c286e2076c19cf86eb23305adc9203f40ac1d08ed1de19def3ffe4361d062bae75ba38ef380636bbf5fbe58f4aa7127771198e378 SHA512 280a1a26a61f1ee7b1e2186917e7b414b14886ef32fa1b63c0416267991ae65f5c46feaaa384a6c15d2f7975841a6bb9901353420db4d6f308cf72c5035bfd66
diff --git a/app-emacs/persist/metadata.xml b/app-emacs/persist/metadata.xml
new file mode 100644
index 000000000000..717a115d639c
--- /dev/null
+++ b/app-emacs/persist/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emacs/persist/persist-0.5.ebuild b/app-emacs/persist/persist-0.5.ebuild
new file mode 100644
index 000000000000..cf61dd9057c7
--- /dev/null
+++ b/app-emacs/persist/persist-0.5.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Persist variables between Emacs sessions"
+HOMEPAGE="https://elpa.gnu.org/packages/persist.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# ELISP_TEXINFO="${PN}.texi" # Broken.
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/persist/persist-0.6.ebuild b/app-emacs/persist/persist-0.6.ebuild
new file mode 100644
index 000000000000..73e64e7bf592
--- /dev/null
+++ b/app-emacs/persist/persist-0.6.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Persist variables between Emacs sessions"
+HOMEPAGE="https://elpa.gnu.org/packages/persist.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# ELISP_TEXINFO="${PN}.texi" # Broken.
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert test -l test/persist-tests.el
diff --git a/app-emacs/pfuture/Manifest b/app-emacs/pfuture/Manifest
new file mode 100644
index 000000000000..d02447d045a1
--- /dev/null
+++ b/app-emacs/pfuture/Manifest
@@ -0,0 +1 @@
+DIST pfuture-1.10.3.tar.gz 6187 BLAKE2B e00c7226239c08802d548f03d08aea628ea28dbab9bb22209979d9d7bdee7927485a929979534ae68d9ad28bfc1318e26c6c2e8fedcb4303a802d3bc6b6adc1f SHA512 1dbb0e4f168c36617f8c6890894bb618c4e13b667fae32a00ddfc01b7ccdb5c1742e7f93ddcc2e61e24fd69236debb32107c7a34efe9c19d66796c044d9ea1d5
diff --git a/app-emacs/pfuture/metadata.xml b/app-emacs/pfuture/metadata.xml
new file mode 100644
index 000000000000..5757b6106d73
--- /dev/null
+++ b/app-emacs/pfuture/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Alexander-Miller/pfuture/issues/</bugs-to>
+ <remote-id type="github">Alexander-Miller/pfuture</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/pfuture/pfuture-1.10.3.ebuild b/app-emacs/pfuture/pfuture-1.10.3.ebuild
new file mode 100644
index 000000000000..d524605ba3b8
--- /dev/null
+++ b/app-emacs/pfuture/pfuture-1.10.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Simple wrapper around asynchronous processes"
+HOMEPAGE="https://github.com/Alexander-Miller/pfuture/"
+SRC_URI="https://github.com/Alexander-Miller/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/php-mode/Manifest b/app-emacs/php-mode/Manifest
index c7ec56da6391..9668562fe164 100644
--- a/app-emacs/php-mode/Manifest
+++ b/app-emacs/php-mode/Manifest
@@ -1,2 +1 @@
-DIST php-mode-1.22.1.tar.gz 90539 BLAKE2B 3cf2f282cbf87d7dc0ef15d81341de851ad95b7f5426ab6495e55729774fa9d1a32bbc36dff40869c219c71e0ff5d55642f99782a18722c94abeda78b45e0023 SHA512 482f07bec5f8ce21396cd4d39b14dbfe47d73f4e06b7b178b3e01c2dc51f89f1693a032384e4ad812c46a344e531a4a626c4f8eb414fe22dfadd9f1a71c55238
-DIST php-mode-1.23.0.tar.gz 94451 BLAKE2B 324eda995ba8d93ca9bec691c88b05caac3d6786b2d1caac39dc34f513e8a026b3803ad3712729b147a8ee839fe337bf11ebaa1b718cb4c741997a9e1c9279a3 SHA512 051adf317ac1dc4ae14b3aaad9aa15ef650a74c7c1ff134ff9a26664cc7494b522957d9cbed981ec398e9bdc6ccae4437c628b2fe3535e8f2a95da34363ec88a
+DIST php-mode-1.25.1.tar.gz 131105 BLAKE2B 9672d3e71ead28cc7db78ca5c148340b1e1e2552804c172ac14003384c72c3eccf56f5c258da8f0b6e218976100a374af8f2f0c68595ee6b4a2a90d965b60644 SHA512 4e1acf92a95b7e836893160ae3a3bd7a510d7fa0af5f7a6eb3cc8141c6a90b803a339b5d49527ace4f6ec06364ca794f4b834b7391617420a3219dc95fbf61cc
diff --git a/app-emacs/php-mode/metadata.xml b/app-emacs/php-mode/metadata.xml
index ff7307665377..60878cd590df 100644
--- a/app-emacs/php-mode/metadata.xml
+++ b/app-emacs/php-mode/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="sourceforge">php-mode</remote-id>
+ <bugs-to>https://github.com/emacs-php/php-mode/issues/</bugs-to>
+ <remote-id type="github">emacs-php/php-mode</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/php-mode/php-mode-1.22.1.ebuild b/app-emacs/php-mode/php-mode-1.22.1.ebuild
deleted file mode 100644
index 2924a48fb04d..000000000000
--- a/app-emacs/php-mode/php-mode-1.22.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="GNU Emacs major mode for editing PHP code"
-HOMEPAGE="https://github.com/ejmr/php-mode"
-SRC_URI="https://github.com/ejmr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README*.md CHANGELOG.md CONTRIBUTING.md"
diff --git a/app-emacs/php-mode/php-mode-1.23.0.ebuild b/app-emacs/php-mode/php-mode-1.23.0.ebuild
deleted file mode 100644
index 2924a48fb04d..000000000000
--- a/app-emacs/php-mode/php-mode-1.23.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="GNU Emacs major mode for editing PHP code"
-HOMEPAGE="https://github.com/ejmr/php-mode"
-SRC_URI="https://github.com/ejmr/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README*.md CHANGELOG.md CONTRIBUTING.md"
diff --git a/app-emacs/php-mode/php-mode-1.25.1.ebuild b/app-emacs/php-mode/php-mode-1.25.1.ebuild
new file mode 100644
index 000000000000..8b2fd8c1e115
--- /dev/null
+++ b/app-emacs/php-mode/php-mode-1.25.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing PHP code"
+HOMEPAGE="https://github.com/emacs-php/php-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-php/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-php/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+S="${WORKDIR}"/${P}/lisp
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( ../AUTHORS.md ../CHANGELOG.md ../CONTRIBUTING.md ../README{,.ja}.md ../docs )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -L ../tests -l ../tests/php-mode-test.el
+
+src_test() {
+ touch ../tests/project/1/.git || die
+
+ elisp_src_test
+}
diff --git a/app-emacs/php-mode/php-mode-9999.ebuild b/app-emacs/php-mode/php-mode-9999.ebuild
new file mode 100644
index 000000000000..a4c5626eb7ec
--- /dev/null
+++ b/app-emacs/php-mode/php-mode-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for editing PHP code"
+HOMEPAGE="https://github.com/emacs-php/php-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-php/${PN}.git"
+else
+ SRC_URI="https://github.com/emacs-php/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+S="${WORKDIR}"/${P}/lisp
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( ../AUTHORS.md ../CHANGELOG.md ../CONTRIBUTING.md ../README{,.ja}.md ../docs )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -L ../tests -l ../tests/php-mode-test.el
+
+src_test() {
+ touch ../tests/project/1/.git || die
+
+ elisp_src_test
+}
diff --git a/app-emacs/pinentry/Manifest b/app-emacs/pinentry/Manifest
new file mode 100644
index 000000000000..79e620bb4672
--- /dev/null
+++ b/app-emacs/pinentry/Manifest
@@ -0,0 +1 @@
+DIST pinentry-0.1_p20231126.tar.gz 5247 BLAKE2B cfc47b8444b211053148476dbfceb9c151323a5dec23f783f18aed85c7e248ac551a63f723dc69ee2929a76fed19a7cfe2cc721eb64a7115674d46f0d0c03f00 SHA512 bdb3ab192800ef817fd07cab77f7fccfd699165224e6df5b7d7099e712a1beca99c5d20388ff6b16edd1217c35da9a0f8ef2be4e1f8e72bbd8fd9b360c68e584
diff --git a/app-emacs/pinentry/files/50pinentry-gentoo.el b/app-emacs/pinentry/files/50pinentry-gentoo.el
new file mode 100644
index 000000000000..7d62354a886f
--- /dev/null
+++ b/app-emacs/pinentry/files/50pinentry-gentoo.el
@@ -0,0 +1,11 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'pinentry-start "pinentry"
+ "Start a Pinentry service.
+
+Once the environment is properly set, subsequent invocations of
+the gpg command will interact with Emacs for passphrase input.
+
+If the optional QUIET argument is non-nil, messages at startup
+will not be shown.
+
+\(fn &optional QUIET)" t)
diff --git a/app-emacs/pinentry/files/README.gentoo b/app-emacs/pinentry/files/README.gentoo
new file mode 100644
index 000000000000..30eff9ad23c0
--- /dev/null
+++ b/app-emacs/pinentry/files/README.gentoo
@@ -0,0 +1,14 @@
+This package (and corresponding support in app-crypt/pinentry)
+provides a way to input a passphrase through the Emacs minibuffer.
+
+To use it, add the line
+
+ allow-emacs-pinentry
+
+to your gpg-agent.conf configuration file, which can usually be found
+in the ~/.gnupg/ directory.
+
+The pinentry server can be started with the command "pinentry-start".
+You may add the following line to your Emacs configuration file:
+
+ (pinentry-start 'quiet)
diff --git a/app-emacs/pinentry/metadata.xml b/app-emacs/pinentry/metadata.xml
new file mode 100644
index 000000000000..86802d71992a
--- /dev/null
+++ b/app-emacs/pinentry/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">ueno/pinentry-el</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/pinentry/pinentry-0.1_p20231126.ebuild b/app-emacs/pinentry/pinentry-0.1_p20231126.ebuild
new file mode 100644
index 000000000000..c0ef7e9ac882
--- /dev/null
+++ b/app-emacs/pinentry/pinentry-0.1_p20231126.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+COMMIT="a6441224da04656370e993e2616185cc31afaff9"
+DESCRIPTION="GnuPG Pinentry server implementation for Emacs"
+HOMEPAGE="https://github.com/ueno/pinentry-el
+ https://www.emacswiki.org/emacs/EasyPG"
+SRC_URI="https://github.com/ueno/${PN}-el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-el-${COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="app-crypt/pinentry[emacs]"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/pkg-info/metadata.xml b/app-emacs/pkg-info/metadata.xml
index 8ff3d9d5f463..fa605d0161df 100644
--- a/app-emacs/pkg-info/metadata.xml
+++ b/app-emacs/pkg-info/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
<upstream>
<remote-id type="github">emacsorphanage/pkg-info</remote-id>
<doc>https://github.com/emacsorphanage/pkg-info/blob/master/README.md</doc>
diff --git a/app-emacs/pkg-info/pkg-info-0.6.ebuild b/app-emacs/pkg-info/pkg-info-0.6.ebuild
index a9a870f2370a..48776ddb11d1 100644
--- a/app-emacs/pkg-info/pkg-info-0.6.ebuild
+++ b/app-emacs/pkg-info/pkg-info-0.6.ebuild
@@ -1,10 +1,8 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS="24.1"
-
inherit elisp
DESCRIPTION="Provide information about Emacs packages"
@@ -13,8 +11,8 @@ SRC_URI="https://github.com/emacsorphanage/pkg-info/archive/refs/tags/${PV}.tar.
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # test requires cask and ert-runner which are not packaged
+KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+RESTRICT="test" # Tests fail
RDEPEND=">=app-emacs/epl-0.8"
diff --git a/app-emacs/plz/Manifest b/app-emacs/plz/Manifest
new file mode 100644
index 000000000000..3ebbf19d58ec
--- /dev/null
+++ b/app-emacs/plz/Manifest
@@ -0,0 +1 @@
+DIST plz-0.7.2.tar.gz 105864 BLAKE2B b876f69a61452ca932c70e87d35e4442f1ddae4c74c3e124056ff0adae9923d0a374c047a1c1dade705713a9b2aaa5bbfbb73368fde9564b53ce638f90f08ff0 SHA512 01951bbb0e59d6196338a806b4bab030538c411d185acf5462bc1eb4d3130b1da5d78a436e84163dd8167b3705edb6dcafdeef8d4611973521566d34f2ca5654
diff --git a/app-emacs/plz/metadata.xml b/app-emacs/plz/metadata.xml
new file mode 100644
index 000000000000..312ec018bd3c
--- /dev/null
+++ b/app-emacs/plz/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
+ some of the issues with using Emacs's built-in url library. It supports
+ both synchronous and asynchronous requests. Its API is intended to be
+ simple, natural, and expressive. Its code is intended to be simple and
+ well-organized. Every feature is tested against httpbin.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/alphapapa/plz.el/issues/</bugs-to>
+ <remote-id type="github">alphapapa/plz.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/plz/plz-0.7.2.ebuild b/app-emacs/plz/plz-0.7.2.ebuild
new file mode 100644
index 000000000000..7397ae367c6f
--- /dev/null
+++ b/app-emacs/plz/plz-0.7.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="HTTP library with curl backend for GNU Emacs"
+HOMEPAGE="https://github.com/alphapapa/plz.el/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/alphapapa/plz.el.git"
+else
+ SRC_URI="https://github.com/alphapapa/plz.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/plz.el-${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+PROPERTIES="test_network" # Tests require network access.
+RESTRICT="test"
+
+RDEPEND="net-misc/curl"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert tests -l tests/test-plz.el
+
+src_install() {
+ elisp_src_install
+
+ doinfo ${PN}.info
+}
diff --git a/app-emacs/po-mode/Manifest b/app-emacs/po-mode/Manifest
index 570020ffd17c..20716a657376 100644
--- a/app-emacs/po-mode/Manifest
+++ b/app-emacs/po-mode/Manifest
@@ -1 +1,3 @@
-DIST gettext-0.20.1.tar.gz 23267473 BLAKE2B 34e776b985c7db105f8029e0f3400aa645ff6843cd35f778d48450368a31218ddcf590fbc7fd2d10f716b63094d6a15bf40b358e8a6f498d450d2420e7e7a5f2 SHA512 af6d74986da285df0bdd59524bdf01bb12db448e5ea659dda3b60b660c4a9063c80e8c74cc8751334e065e98348ee0db0079e43c67d485a15e86ae236115fe06
+DIST gettext-0.20.1.tar.xz 9346544 BLAKE2B 6541715b82399b7fac390ccbec82d2878228a19db9a37642b3eb65eb139cf4a5d74f17f876be4946771143b5897d5b4e4ca7948e06bb3edd79f125d1d3954a84 SHA512 82ffa5a28068272d0587262f8d9269f9629c601da5d122b6645c9c4cf98bfe4149df01bb58522ccf8fe25b931672e18551d7fb34de1cbf6a0463a87f9f8ee221
+DIST gettext-0.21.1.tar.xz 10054564 BLAKE2B e994924284b3fd5b3e3bf59d4bf43eb30c9b21cc213dc3b98616b4a9fc321c90911d94d314f323cfffd0d2c3e9371b5b8f7985b9a785adc61617dd042b6f4df5 SHA512 61e93bc9876effd3ca1c4e64ff6ba5bd84b24951ec2cc6f40a0e3248410e60f887552f29ca1f70541fb5524f6a4e8191fed288713c3e280e18922dd5bff1a2c9
+DIST gettext-0.22.tar.xz 10008808 BLAKE2B e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 SHA512 c6368344aa4e0f6fd7c4a93023a5f7b377c7bb97b8ea688fd54f4c385c069d9ff27611d8763b1aed6328b6d3c4db7b34bd89bfbf6525ecaef11eb58434a4d4fa
diff --git a/app-emacs/po-mode/metadata.xml b/app-emacs/po-mode/metadata.xml
index 986088003fe1..89003aa4c750 100644
--- a/app-emacs/po-mode/metadata.xml
+++ b/app-emacs/po-mode/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="savannah">gettext</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/po-mode/po-mode-0.20.1.ebuild b/app-emacs/po-mode/po-mode-0.20.1.ebuild
index dcfcff10a2c2..496b107d7844 100644
--- a/app-emacs/po-mode/po-mode-0.20.1.ebuild
+++ b/app-emacs/po-mode/po-mode-0.20.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,11 +7,11 @@ inherit elisp
DESCRIPTION="Major mode for GNU gettext PO files"
HOMEPAGE="https://www.gnu.org/software/gettext/"
-SRC_URI="mirror://gnu/gettext/gettext-${PV}.tar.gz"
+SRC_URI="mirror://gnu/gettext/gettext-${PV}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
S="${WORKDIR}/gettext-${PV}/gettext-tools/emacs"
ELISP_REMOVE="start-po.el"
diff --git a/app-emacs/po-mode/po-mode-0.21.1.ebuild b/app-emacs/po-mode/po-mode-0.21.1.ebuild
new file mode 100644
index 000000000000..2fd5f0a26fab
--- /dev/null
+++ b/app-emacs/po-mode/po-mode-0.21.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="Major mode for GNU gettext PO files"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="mirror://gnu/gettext/gettext-${PV}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+S="${WORKDIR}/gettext-${PV}/gettext-tools/emacs"
+ELISP_REMOVE="start-po.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/po-mode/po-mode-0.22.ebuild b/app-emacs/po-mode/po-mode-0.22.ebuild
new file mode 100644
index 000000000000..4814191c75d7
--- /dev/null
+++ b/app-emacs/po-mode/po-mode-0.22.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="Major mode for GNU gettext PO files"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="mirror://gnu/gettext/gettext-${PV}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+S="${WORKDIR}/gettext-${PV}/gettext-tools/emacs"
+ELISP_REMOVE="start-po.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/poke-mode/Manifest b/app-emacs/poke-mode/Manifest
new file mode 100644
index 000000000000..7f70137a8c38
--- /dev/null
+++ b/app-emacs/poke-mode/Manifest
@@ -0,0 +1 @@
+DIST poke-mode-3.0.tar.gz 4534 BLAKE2B 54b29f61d53280ed80be0d499c75ca2317295ae2dc5c40b2e22e3985a1ccd93f0ecf8f881ab4b0a24285cfd79e53b6cade6a2421f78cc743fa7eac5e066adedc SHA512 05a6c5a083cb8022b6ca3f0cd0f5e5b4b6ddd1dad629efaf213bb7b0b36ca48cb94c7e15ecb4303aa6805837f4925f291b071c63c48021e48e378d1cb58bae01
diff --git a/app-emacs/poke-mode/files/50poke-mode-gentoo.el b/app-emacs/poke-mode/files/50poke-mode-gentoo.el
new file mode 100644
index 000000000000..53fd87c88d6d
--- /dev/null
+++ b/app-emacs/poke-mode/files/50poke-mode-gentoo.el
@@ -0,0 +1,7 @@
+;;; poke-mode site configuration
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'poke-mode "poke-mode"
+ "Poke PK (pickle) editing mode." t)
+
+(add-to-list 'auto-mode-alist '(".*\\.pk" . poke-mode))
diff --git a/app-emacs/poke-mode/metadata.xml b/app-emacs/poke-mode/metadata.xml
new file mode 100644
index 000000000000..bdc4a010d142
--- /dev/null
+++ b/app-emacs/poke-mode/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emacs/poke-mode/poke-mode-3.0.ebuild b/app-emacs/poke-mode/poke-mode-3.0.ebuild
new file mode 100644
index 000000000000..40e60f38cae0
--- /dev/null
+++ b/app-emacs/poke-mode/poke-mode-3.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing Poke programs"
+HOMEPAGE="https://elpa.gnu.org/packages/poke-mode.html"
+# Rehosted ELPA tarballs for compression.
+SRC_URI="https://dev.gentoo.org/~arsen/poke-mode-${PV}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+ELISP_REMOVE="poke-mode-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/poke/Manifest b/app-emacs/poke/Manifest
new file mode 100644
index 000000000000..92caa56d2c63
--- /dev/null
+++ b/app-emacs/poke/Manifest
@@ -0,0 +1,2 @@
+DIST poke-3.0-el.tar.gz 17015 BLAKE2B 27dc499b128231ed2ce39018fc872c60ec0b675db85588157d9dede7829ed51f5a90dcc9e940e5863ec4c7dfe76b82b092db203cae74342ef53c462be64d8b1c SHA512 c4376ac4dbd9b6b751e5f3265150810d51ba66a80ee4a15d1d2d8c02d24798dfd9b7c3e4344f1ea90f2ca16e98521c8c0006e6cf0e6cb3230fa17071713c9bc3
+DIST poke-3.2-el.tar.xz 15424 BLAKE2B 97e44f3515041d7bc632de261fe5ec349e0b53f2504e693243017ca2aa37ae0d7ef149829b3e2621cae838f10afb64e33688eb30636a653601ca9f9158099e81 SHA512 b94d39bd03e55ebaaefce020c1fd652dae4ee3e6079765f89e19235842f894654a483885ba80487a89bf73b12ea2955035c095669c01e4ea55a20d3eff5c1add
diff --git a/app-emacs/poke/files/50poke-el-gentoo.el b/app-emacs/poke/files/50poke-el-gentoo.el
new file mode 100644
index 000000000000..55cd5c14a628
--- /dev/null
+++ b/app-emacs/poke/files/50poke-el-gentoo.el
@@ -0,0 +1,5 @@
+;;; The GNU Emacs poke frontend site-list configuration
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'poke "poke"
+ "Emacs meets GNU poke!" t)
diff --git a/app-emacs/poke/metadata.xml b/app-emacs/poke/metadata.xml
new file mode 100644
index 000000000000..e2185014fbab
--- /dev/null
+++ b/app-emacs/poke/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <description>Arsen Arsenović</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ poke.el is an Emacs interface for GNU poke, the extensible editor
+ for structured binary data.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/poke/poke-3.0.ebuild b/app-emacs/poke/poke-3.0.ebuild
new file mode 100644
index 000000000000..10563c3d68a3
--- /dev/null
+++ b/app-emacs/poke/poke-3.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs meets GNU poke!"
+HOMEPAGE="https://elpa.gnu.org/packages/poke.html"
+# Rehosted ELPA tarballs for compression.
+SRC_URI="https://dev.gentoo.org/~arsen/poke-${PV}.tar.gz -> ${P}-el.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="app-emacs/poke-mode"
+RDEPEND="
+ ${DEPEND}
+ >=dev-util/poke-3.0
+"
+
+ELISP_REMOVE="poke-pkg.el"
+ELISP_TEXINFO="poke-el.texi"
+# -el here used to disambiguate with the dev-util/poke package, which
+# ships two more editing modes (for .map files and .pks files)
+SITEFILE="50${PN}-el-gentoo.el"
diff --git a/app-emacs/poke/poke-3.2.ebuild b/app-emacs/poke/poke-3.2.ebuild
new file mode 100644
index 000000000000..2b3e82699b0f
--- /dev/null
+++ b/app-emacs/poke/poke-3.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=25
+inherit elisp
+
+DESCRIPTION="Emacs meets GNU poke!"
+HOMEPAGE="https://elpa.gnu.org/packages/poke.html"
+# Rehosted ELPA tarballs for compression.
+SRC_URI="https://dev.gentoo.org/~arsen/poke-${PV}.tar.xz -> ${P}-el.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="app-emacs/poke-mode"
+RDEPEND="
+ ${DEPEND}
+ >=dev-util/poke-3.0
+"
+
+ELISP_REMOVE="poke-pkg.el"
+ELISP_TEXINFO="poke-el.texi"
+# -el here used to disambiguate with the dev-util/poke package, which
+# ships two more editing modes (for .map files and .pks files)
+SITEFILE="50${PN}-el-gentoo.el"
diff --git a/app-emacs/polymode/Manifest b/app-emacs/polymode/Manifest
new file mode 100644
index 000000000000..913ddcd3f944
--- /dev/null
+++ b/app-emacs/polymode/Manifest
@@ -0,0 +1 @@
+DIST polymode-0.2.2_p20220322.tar.gz 417218 BLAKE2B 7f2846a6fed751f7fb0e7d6b50ca2bb40232007e7f8cef801b22b252ca39a65658d0059ddb8ba384ed2f6b1bdbddaf39fcaa09d91787b8523f9872162156f25a SHA512 2e1d49cd3086cb7a8551a4c48cd6655e1c41155f1e518b1cfae5493ac382d566bc7a8969a167063c0384978b70d79f2d2557fc9a6d12e54a985fdbf24315bf0b
diff --git a/app-emacs/polymode/metadata.xml b/app-emacs/polymode/metadata.xml
new file mode 100644
index 000000000000..f362d712f750
--- /dev/null
+++ b/app-emacs/polymode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/polymode/polymode/issues/</bugs-to>
+ <remote-id type="github">polymode/polymode</remote-id>
+ </upstream>
+ <longdescription>
+ Polymode is a framework for multiple major modes (MMM) inside a single
+ Emacs buffer. It is fast and has a simple but flexible object oriented
+ design. Creating new polymodes normally takes a few lines of code.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/polymode/polymode-0.2.2_p20220322.ebuild b/app-emacs/polymode/polymode-0.2.2_p20220322.ebuild
new file mode 100644
index 000000000000..4b29818b0b7d
--- /dev/null
+++ b/app-emacs/polymode/polymode-0.2.2_p20220322.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=2094c92403fe395dfb2b8b2521da1012a966e9ab
+
+inherit elisp
+
+DESCRIPTION="Framework for Multiple Major Modes in Emacs"
+HOMEPAGE="https://github.com/polymode/polymode/"
+SRC_URI="https://github.com/polymode/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( readme.md )
+# The "compat-tests" downloads resources from network and "define-tests" fails
+ELISP_REMOVE="tests/compat-tests.el tests/define-tests.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . --load targets/test.el
+}
+
+src_install() {
+ elisp_src_install
+
+ dodoc -r samples
+}
diff --git a/app-emacs/popup/Manifest b/app-emacs/popup/Manifest
index 2b55d379564e..11e054ca0ac0 100644
--- a/app-emacs/popup/Manifest
+++ b/app-emacs/popup/Manifest
@@ -1 +1 @@
-DIST popup-el-0.5.3.tar.gz 25785 BLAKE2B e0104a382730203a86c9ce4e1957c652c0e4b0ee84dfa465a94eddf942a249ccf83493bc04f8503e483f14cfeff3649f5264475531c10fe1a9cb1a08376b4499 SHA512 ad67e5d1e4d969151359a54759ae74b2f1107b25b56e7bcedf15995ff6bc0188916fcf5af64ee6ee2b5046e831ebb49c521724e224d7ddb473d3229f3094f5d5
+DIST popup-el-0.5.9.tar.gz 38412 BLAKE2B 142b1b01e852a386caa2088d332918cd82945ca3ca6237890a2f286245c23b831020f8f20c17d1892ff0e5f180f13e37ff694ce4a4f321fc101c7a2167bda38f SHA512 1a8c5ecb56e695f7a37915063d4e105cee92f8ae5a21e2e39ffe556dfdcf03c056b69f5e36c6ff3643713a914bb531adabcfbc525c531821e1520f7b3e93dc0b
diff --git a/app-emacs/popup/popup-0.5.3.ebuild b/app-emacs/popup/popup-0.5.3.ebuild
deleted file mode 100644
index 4a8fdc4f8bf5..000000000000
--- a/app-emacs/popup/popup-0.5.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-MY_P="${PN}-el-${PV}"
-DESCRIPTION="Visual popup interface library for Emacs"
-HOMEPAGE="https://github.com/auto-complete/popup-el"
-SRC_URI="https://github.com/auto-complete/popup-el/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P}"
-DOCS="README.md"
diff --git a/app-emacs/popup/popup-0.5.9.ebuild b/app-emacs/popup/popup-0.5.9.ebuild
new file mode 100644
index 000000000000..9c476e8b28e5
--- /dev/null
+++ b/app-emacs/popup/popup-0.5.9.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P=${PN}-el-${PV}
+
+inherit elisp
+
+DESCRIPTION="Visual popup interface library for Emacs"
+HOMEPAGE="https://github.com/auto-complete/popup-el/"
+SRC_URI="https://github.com/auto-complete/popup-el/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+RESTRICT="test"
+
+DOCS=( README.md )
diff --git a/app-emacs/popwin/Manifest b/app-emacs/popwin/Manifest
index 52dbafe04363..eef2cb4f52de 100644
--- a/app-emacs/popwin/Manifest
+++ b/app-emacs/popwin/Manifest
@@ -1 +1,2 @@
DIST popwin-1.0.0.tar.gz 69319 BLAKE2B 2dea34f002a97ac58848abaecfb9b591ceeb58539f581918101604a485b6d45b9dd078dc89b3020bbe38e99646127a784582c51ffaa3a76de5b6ccaa365b22d6 SHA512 5b3ba489e747ec80d80e516024ca8bdafdb17a56df3f89c20053765d551173f448fbc10db348c6ec0e6efc5557eec672da3477980fb41f1fbbbf220f757f98e6
+DIST popwin-1.0.2.tar.gz 70340 BLAKE2B bcaf86386968a55c80eae9545b69e41be97255ac25dc06696a2f473a85c02a372b7e9bc5fc08a139e5bed2d15d0da295a256713e755536569dbf706161727404 SHA512 9a5c655ec0be45de8293f4e2059d774dbbf831291ca7c2489df06d71a8c6a1402ddde5b9ccbc84e210918b5aec2bd792c8685dbd1fca40522d8cfde334097fc8
diff --git a/app-emacs/popwin/metadata.xml b/app-emacs/popwin/metadata.xml
index c7f69c2a528d..f7a9f0712e1a 100644
--- a/app-emacs/popwin/metadata.xml
+++ b/app-emacs/popwin/metadata.xml
@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>naota@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
-<upstream>
- <remote-id type="github">m2ym/popwin-el</remote-id>
-</upstream>
+ <maintainer type="person">
+ <email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">m2ym/popwin-el</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/popwin/popwin-1.0.2.ebuild b/app-emacs/popwin/popwin-1.0.2.ebuild
new file mode 100644
index 000000000000..3b31914ef9d9
--- /dev/null
+++ b/app-emacs/popwin/popwin-1.0.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Popup window manager for Emacs"
+HOMEPAGE="https://github.com/emacsorphanage/popwin"
+SRC_URI="https://github.com/emacsorphanage/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test" # "make test" starts Emacs in non-batch mode
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
diff --git a/app-emacs/pos-tip/Manifest b/app-emacs/pos-tip/Manifest
new file mode 100644
index 000000000000..a920ecdc0be8
--- /dev/null
+++ b/app-emacs/pos-tip/Manifest
@@ -0,0 +1 @@
+DIST pos-tip-0.4.7.tar.gz 9808 BLAKE2B c600894fc5e1d104fba83a3211580ccf0c50ff2041d3f5f1f8678bfa21593454d8be75b58aa94ca28d17e18af06fd191da3b509e1a072c429c9646377ead7b84 SHA512 3ded096d91b56091143e89b3aecc4803df2a5bd263226003c36a9ad84347055318a3860be4c2bfeb68cc29bbf4fbe89235967578b1dbca58bb9e0325eb7986c5
diff --git a/app-emacs/pos-tip/metadata.xml b/app-emacs/pos-tip/metadata.xml
new file mode 100644
index 000000000000..273d8d46e4f9
--- /dev/null
+++ b/app-emacs/pos-tip/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/pitkali/pos-tip/issues/</bugs-to>
+ <remote-id type="github">pitkali/pos-tip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/pos-tip/pos-tip-0.4.7.ebuild b/app-emacs/pos-tip/pos-tip-0.4.7.ebuild
new file mode 100644
index 000000000000..46f902b74646
--- /dev/null
+++ b/app-emacs/pos-tip/pos-tip-0.4.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Show tooltip at point"
+HOMEPAGE="https://github.com/pitkali/pos-tip/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pitkali/${PN}.git"
+else
+ SRC_URI="https://github.com/pitkali/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/posframe/Manifest b/app-emacs/posframe/Manifest
new file mode 100644
index 000000000000..3f6a079f64fe
--- /dev/null
+++ b/app-emacs/posframe/Manifest
@@ -0,0 +1 @@
+DIST posframe-1.4.2.tar.gz 79173 BLAKE2B 3f1d4d414e1677118676a4ad3b5739602ccd49a9233027b9bbeebfbeab9ef23e30370a43891f57902b9212245c6415aa238245860f46e84f79fc7d7ec250ace2 SHA512 e11109d3a85ccaca53995473940aa0a4bd80d333b3001865ba2c9d2b4af647d71b279a70e3e086c14c853896a8c2d74eb54cbc4e129a1face9f186c126c41f7f
diff --git a/app-emacs/posframe/metadata.xml b/app-emacs/posframe/metadata.xml
new file mode 100644
index 000000000000..0d737d94d3d1
--- /dev/null
+++ b/app-emacs/posframe/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/tumashu/posframe/issues/</bugs-to>
+ <remote-id type="github">tumashu/posframe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/posframe/posframe-1.4.2.ebuild b/app-emacs/posframe/posframe-1.4.2.ebuild
new file mode 100644
index 000000000000..e29471f195d4
--- /dev/null
+++ b/app-emacs/posframe/posframe-1.4.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Pop up a frame at point"
+HOMEPAGE="https://github.com/tumashu/posframe/"
+SRC_URI="https://github.com/tumashu/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.org snapshots )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/pov-mode/metadata.xml b/app-emacs/pov-mode/metadata.xml
index 986088003fe1..d1b4c09f7f13 100644
--- a/app-emacs/pov-mode/metadata.xml
+++ b/app-emacs/pov-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">melmothx/pov-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/powerline/Manifest b/app-emacs/powerline/Manifest
new file mode 100644
index 000000000000..de26a4195700
--- /dev/null
+++ b/app-emacs/powerline/Manifest
@@ -0,0 +1 @@
+DIST powerline-2.5_p20221110.tar.gz 25649 BLAKE2B 9ffe42a0edbe620a77272636ed7426dcfb35388a20dcbe7905a95a6e0971d4e249ffc4af70061e61fdb4ea98fcef982d7da7617e81f5db0e2df425dfe31ea097 SHA512 be0eedd1b79e37b80f0520706af11b36d0775aced51f08239d240fc19c1c54124bc736009cb2eb1332b9a9a064221885dcaebfac5595211afe9939409256d92b
diff --git a/app-emacs/powerline/files/50powerline-gentoo.el b/app-emacs/powerline/files/50powerline-gentoo.el
new file mode 100644
index 000000000000..bc3d2514cd23
--- /dev/null
+++ b/app-emacs/powerline/files/50powerline-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "powerline-autoloads" nil t)
diff --git a/app-emacs/powerline/metadata.xml b/app-emacs/powerline/metadata.xml
new file mode 100644
index 000000000000..9565b18c1a6e
--- /dev/null
+++ b/app-emacs/powerline/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Powerline is a library for customizing the mode-line that is based on the
+ Vim Powerline. A collection of predefined themes comes with the package.
+ This version has utf-8 support enabled. The utf-8 separators will display a
+ unicode character properly under mintty for example - as long as you have
+ patched fonts installed. By default, any terminal mode emacs will use the
+ utf-8 separators.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/milkypostman/powerline/issues/</bugs-to>
+ <remote-id type="github">milkypostman/powerline</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/powerline/powerline-2.5_p20221110.ebuild b/app-emacs/powerline/powerline-2.5_p20221110.ebuild
new file mode 100644
index 000000000000..ad42fcd4eb8b
--- /dev/null
+++ b/app-emacs/powerline/powerline-2.5_p20221110.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} = *_p20221110 ]] && COMMIT=c35c35bdf5ce2d992882c1f06f0f078058870d4a
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs version of the Vim powerline"
+HOMEPAGE="https://github.com/milkypostman/powerline/"
+SRC_URI="https://github.com/milkypostman/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/powershell/Manifest b/app-emacs/powershell/Manifest
new file mode 100644
index 000000000000..20d10605dcd7
--- /dev/null
+++ b/app-emacs/powershell/Manifest
@@ -0,0 +1,2 @@
+DIST powershell-0.3_pre20220402.tar.gz 17009 BLAKE2B c369993bc4ac0e681dde514c4303f6c131198e77f6aa3b293ecedefa552e8f2b94e8ab77978ff2f8d999a4b620fa4e013023a283e0a2c30f6578428bc54fe52d SHA512 2d38f1a968119a2022e1f3eceb8150947559e5e7943d184fec3b8075cc2dc8d97b5a897bc1ac97b14d69d9424b72ca20f01d24589403936b1ca2bc7becc2ea0f
+DIST powershell-0.3_pre20220805.tar.gz 17010 BLAKE2B 7bc942ecdba9141c666f34116ef619176fa08309e35ad7f51a6a1003633851001e2dcab3c115af2fd14fa781f8818c2b0e4ea3591ff30cb644cb1cad5ddf0473 SHA512 5e511d9b2106888509b388a4ada26f4b581c5fb32334ddb6ef50dfd57ab20d28ee84ac999a373ade9be85b5444fb2903cfea0cf229775fd78839b0372ecf9ac6
diff --git a/app-emacs/powershell/files/50powershell-gentoo.el b/app-emacs/powershell/files/50powershell-gentoo.el
new file mode 100644
index 000000000000..e97cc3554edc
--- /dev/null
+++ b/app-emacs/powershell/files/50powershell-gentoo.el
@@ -0,0 +1,6 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'powershell "powershell"
+ "Run an inferior PowerShell." t)
+(autoload 'powershell-mode "powershell"
+ "Major mode for editing PowerShell scripts." t)
+(add-to-list 'auto-mode-alist '("\\.ps[dm]?1\\'" . powershell-mode))
diff --git a/app-emacs/powershell/metadata.xml b/app-emacs/powershell/metadata.xml
new file mode 100644
index 000000000000..ed7371a06f5f
--- /dev/null
+++ b/app-emacs/powershell/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://github.com/jschaf/powershell.el/issues/</bugs-to>
+ <remote-id type="github">jschaf/powershell.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/powershell/powershell-0.3_pre20220402.ebuild b/app-emacs/powershell/powershell-0.3_pre20220402.ebuild
new file mode 100644
index 000000000000..e655c5108c75
--- /dev/null
+++ b/app-emacs/powershell/powershell-0.3_pre20220402.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=77b27faf8a292f1dc9f54c872241dc53b6791bf1
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for editing and running PowerShell code"
+HOMEPAGE="https://github.com/jschaf/powershell.el/"
+SRC_URI="https://github.com/jschaf/${PN}.el/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/powershell/powershell-0.3_pre20220805.ebuild b/app-emacs/powershell/powershell-0.3_pre20220805.ebuild
new file mode 100644
index 000000000000..ef23378c37c5
--- /dev/null
+++ b/app-emacs/powershell/powershell-0.3_pre20220805.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs mode for editing and running PowerShell code"
+HOMEPAGE="https://github.com/jschaf/powershell.el/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jschaf/${PN}.el.git"
+else
+ if [[ ${PV} == *_pre20220805 ]] ; then
+ COMMIT=f2da15857e430206e215a3c65289b4058ae3c976
+ SRC_URI="https://github.com/jschaf/${PN}.el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${COMMIT}
+ else
+ SRC_URI="https://github.com/jschaf/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}.el-${PV}
+ fi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/projectile/Manifest b/app-emacs/projectile/Manifest
new file mode 100644
index 000000000000..90a4af7f1d03
--- /dev/null
+++ b/app-emacs/projectile/Manifest
@@ -0,0 +1 @@
+DIST projectile-2.8.0.tar.gz 1929750 BLAKE2B c1dff407a12eddd513d0611d5b182da198c20bfaca7810937e5e0829ba3b2124b58139cbfd2e536571be59cd9e1d99ced0a7473ac77f4fd16ac17b7e28f00901 SHA512 492fa5f70af480ec964335c2bead05a23b7ed2b749390e6d3cb8dfa78b8cfe534c1fadfa01360a0b226a044158d3f7365da398825a1986208f25b41493e19f19
diff --git a/app-emacs/projectile/files/50projectile-gentoo.el b/app-emacs/projectile/files/50projectile-gentoo.el
new file mode 100644
index 000000000000..8b3f91f32ec4
--- /dev/null
+++ b/app-emacs/projectile/files/50projectile-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'projectile-mode "projectile"
+ "Minor mode to assist project management and navigation." t)
diff --git a/app-emacs/projectile/metadata.xml b/app-emacs/projectile/metadata.xml
new file mode 100644
index 000000000000..ceef2a0125e6
--- /dev/null
+++ b/app-emacs/projectile/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jturner.usa+gentoo@gmail.com</email>
+ <name>John Turner</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">bbatsov/projectile</remote-id>
+ <doc>https://github.com/bbatsov/projectile/blob/master/README.md</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/projectile/projectile-2.8.0-r1.ebuild b/app-emacs/projectile/projectile-2.8.0-r1.ebuild
new file mode 100644
index 000000000000..de02a64c2bf5
--- /dev/null
+++ b/app-emacs/projectile/projectile-2.8.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp optfeature
+
+DESCRIPTION="A project interaction library for Emacs"
+HOMEPAGE="https://docs.projectile.mx
+ https://github.com/bbatsov/projectile/"
+SRC_URI="https://github.com/bbatsov/projectile/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+SITEFILE="50projectile-gentoo.el"
+DOCS=( README.md )
+
+elisp-enable-tests buttercup test
+
+src_test() {
+ mkdir -p "${HOME}"/.emacs.d || die # For "projectile--directory-p" test
+
+ elisp-test
+}
+
+pkg_postinst() {
+ #Descriptions for this packages' purpose were taken from Projectile's
+ #home page https://docs.projectile.mx/projectile/usage.html
+ optfeature_header "Install the following packages for improved performance:"
+ optfeature "super-fast alternative to find" sys-apps/fd
+ optfeature "powerful alternative to grep" sys-apps/ripgrep
+}
diff --git a/app-emacs/proofgeneral/Manifest b/app-emacs/proofgeneral/Manifest
index b9395d6adccb..1f4f7e2da28c 100644
--- a/app-emacs/proofgeneral/Manifest
+++ b/app-emacs/proofgeneral/Manifest
@@ -1 +1 @@
-DIST proofgeneral-4.4.tar.gz 14105056 BLAKE2B 8d45218cde620411d14ab3c703fea37f0482c0e1f6fc8d104b4de7506140d4d0491b5e23ddbf458bfa3aeb683b71f6e4deea31c2a46b902342fc686c2945162a SHA512 8be7f78b61a225fa4770698bbbb251424a0afe093efc3229f74f3a764317dc8cc00a72cb29e751f755dc5fdab59983906c9185f7828a1644a87d160265f12061
+DIST proofgeneral-4.5.tar.gz 1198535 BLAKE2B 24f93200d01752fb358ac88531b4b34392b7b968c7dbd7a7b3dcedfe71fa985ca893465bff503e3fc0efd267faeb3f5d8bd3d35f68847a4c90252e3a0bdd456b SHA512 ab2eed43053e3b6749e840a8d742058eaa91bfff7edbe12ea67bc492ffab07e1d77cf6a7772cb8c42ac73cae2cce65b48898b1cd10a77b906089768f8055b366
diff --git a/app-emacs/proofgeneral/files/proofgeneral-4.4-images-dir.patch b/app-emacs/proofgeneral/files/proofgeneral-4.4-images-dir.patch
deleted file mode 100644
index 555837deda0d..000000000000
--- a/app-emacs/proofgeneral/files/proofgeneral-4.4-images-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- PG-4.4-orig/generic/proof-site.el
-+++ PG-4.4/generic/proof-site.el
-@@ -127,7 +127,7 @@
- :group 'proof-general-internals)
-
- (defcustom proof-images-directory
-- (concat proof-home-directory "images/")
-+ "@SITEETC@/images/"
- "Where Proof General image files are installed. Ends with slash."
- :type 'directory
- :group 'proof-general-internals)
diff --git a/app-emacs/proofgeneral/files/proofgeneral-4.5-paths.patch b/app-emacs/proofgeneral/files/proofgeneral-4.5-paths.patch
new file mode 100644
index 000000000000..f6213dfdc865
--- /dev/null
+++ b/app-emacs/proofgeneral/files/proofgeneral-4.5-paths.patch
@@ -0,0 +1,19 @@
+index 85819882..f69d5f6d 100644
+--- a/generic/proof-site.el
++++ b/generic/proof-site.el
+@@ -118,13 +118,13 @@ Falls back to consulting the environment variable `PROOFGENERAL_HOME' if
+ proof-site.el couldn't know where it was executed from.")
+
+ (defcustom proof-images-directory
+- (expand-file-name "images/" proof-home-directory)
++ (expand-file-name "@SITEETC@/images/")
+ "Where Proof General image files are installed. Ends with slash."
+ :type 'directory
+ :group 'proof-general-internals)
+
+ (defcustom proof-info-directory
+- (expand-file-name "doc/" proof-home-directory)
++ (expand-file-name "@EPREFIX@/usr/share/info/")
+ "Where Proof General Info files are installed. Ends with slash."
+ :type 'directory
+ :group 'proof-general-internals)
diff --git a/app-emacs/proofgeneral/metadata.xml b/app-emacs/proofgeneral/metadata.xml
index 986088003fe1..8cf3eae5dcc1 100644
--- a/app-emacs/proofgeneral/metadata.xml
+++ b/app-emacs/proofgeneral/metadata.xml
@@ -5,5 +5,14 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<longdescription>
+ Proof General is a generic Emacs interface for proof assistants. The aim of
+ the Proof General project is to provide a powerful, generic environment for
+ using interactive proof assistants.
+</longdescription>
<stabilize-allarches/>
+<upstream>
+ <bugs-to>https://github.com/ProofGeneral/PG/issues/</bugs-to>
+ <remote-id type="github">ProofGeneral/PG</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/proofgeneral/proofgeneral-4.4.ebuild b/app-emacs/proofgeneral/proofgeneral-4.4.ebuild
deleted file mode 100644
index 4580a379c0a5..000000000000
--- a/app-emacs/proofgeneral/proofgeneral-4.4.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A generic interface for proof assistants"
-HOMEPAGE="https://proofgeneral.github.io/"
-SRC_URI="https://github.com/ProofGeneral/PG/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+ GPL-2 GPL-3+ HPND CC-BY-SA-3.0"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND=">=app-emacs/mmm-mode-0.4.8-r2"
-BDEPEND="${RDEPEND}"
-
-S="${WORKDIR}/PG-${PV}"
-ELISP_PATCHES="${P}-images-dir.patch
- ${P}-desktop.patch"
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- elisp_src_prepare
- sed -i -e "s:@SITEETC@:${EPREFIX}${SITEETC}/${PN}:" \
- generic/proof-site.el || die
- sed -i -e '/^OTHER_ELISP/s:contrib/mmm::' Makefile || die
-}
-
-src_compile() {
- #emake clean # remove precompiled lisp files
- emake -j1 compile doc.info EMACS=emacs
-}
-
-src_install() {
- emake -j1 install-elisp install-bin install-desktop \
- EMACS=emacs \
- PREFIX="${ED}"/usr \
- ELISP="${ED}${SITELISP}"/${PN} \
- DEST_ELISP="${EPREFIX}${SITELISP}"/${PN}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- # move images out of elisp dir
- mkdir -p "${ED}${SITEETC}"/${PN}/ || die
- mv "${ED}${SITELISP}"/${PN}/images "${ED}${SITEETC}"/${PN}/ || die
-
- doinfo doc/*.info*
- doman doc/proofgeneral.1
- dodoc AUTHORS BUGS CHANGES COMPATIBILITY FAQ.md INSTALL README.md REGISTER
-}
-
-pkg_postinst() {
- elisp-site-regen
- # Already in REGISTER, so no need to install README.gentoo
- elog "Please register your use of Proof General on the web at:"
- elog " http://proofgeneral.inf.ed.ac.uk/register"
- elog "(see the REGISTER file for more information)"
-}
diff --git a/app-emacs/proofgeneral/proofgeneral-4.5.ebuild b/app-emacs/proofgeneral/proofgeneral-4.5.ebuild
new file mode 100644
index 000000000000..021c56340c58
--- /dev/null
+++ b/app-emacs/proofgeneral/proofgeneral-4.5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit wrapper elisp
+
+DESCRIPTION="A generic interface for proof assistants"
+HOMEPAGE="https://proofgeneral.github.io/"
+SRC_URI="https://github.com/ProofGeneral/PG/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/PG-${PV}
+
+LICENSE="GPL-2+ GPL-2 GPL-3+ HPND CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4-desktop.patch
+ "${FILESDIR}"/${PN}-4.5-paths.patch
+)
+DOCS=( AUTHORS BUGS CHANGES COMPATIBILITY FAQ.md INSTALL README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -e "s|@EPREFIX@|${EPREFIX}|" \
+ -e "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" \
+ -i generic/proof-site.el || die
+}
+
+src_compile() {
+ emake compile doc.info
+}
+
+src_install() {
+ emake install-elisp install-bin install-desktop \
+ PREFIX="${ED}"/usr \
+ ELISP="${ED}${SITELISP}"/${PN} \
+ DEST_ELISP="${EPREFIX}${SITELISP}"/${PN}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ # move images out of elisp dir
+ mkdir -p "${ED}${SITEETC}"/${PN}/ || die
+ mv "${ED}${SITELISP}"/${PN}/images "${ED}${SITEETC}"/${PN}/ || die
+
+ # Create missing script, loosely translated from 4.4 version
+ make_wrapper ${PN} "${EMACS} \
+ -eval '(load \"${SITELISP}/${PN}/generic/proof-site.el\")' \
+ -f proofgeneral \
+ -f proof-splash-display-screen"
+
+ doinfo doc/*.info*
+ doman doc/${PN}.1
+ einstalldocs
+}
diff --git a/app-emacs/puppet-mode/Manifest b/app-emacs/puppet-mode/Manifest
index 1fff7c5c0c89..dbf3f7db97c3 100644
--- a/app-emacs/puppet-mode/Manifest
+++ b/app-emacs/puppet-mode/Manifest
@@ -1,2 +1 @@
-DIST puppet-mode-0.3.20180813.tar.gz 36999 BLAKE2B 1ba96a5bbe193c88e96e51973e0d742e611c2ffe0264bae998ce07d5e4f78d37e532dcedf578a801c8e6442ce35385b5c5915837da1073895ceeddeff99b65b3 SHA512 27aeb5a3029208180bd94d7f3f762d9a88863f963824636fdb688ccb79a3c41b9370c13a536e3438c94720e04d5a02c2f64f75d5c594fc7bca32d9738dd3b756
DIST puppet-mode-0.4.tar.gz 37731 BLAKE2B ac32c32941cad23508e0bad51536a6cc4187185cfd2141fda02f82770abb73327758e0ecd3f3789ff48d3d5f986730e51f48784ea6da502cb860c185d06ddd82 SHA512 c1ef464199df1166c09febc4a99572d00eb7e23656d3c09f3f6773450023e364c305ce19fa351f0a1a5f3e9594f5ef5ffa3a595c7ac66227c2a59918bacd161c
diff --git a/app-emacs/puppet-mode/metadata.xml b/app-emacs/puppet-mode/metadata.xml
index 986088003fe1..ccdaeebc4735 100644
--- a/app-emacs/puppet-mode/metadata.xml
+++ b/app-emacs/puppet-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">voxpupuli/puppet-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/puppet-mode/puppet-mode-0.3.20180813.ebuild b/app-emacs/puppet-mode/puppet-mode-0.3.20180813.ebuild
deleted file mode 100644
index 5226b5ed4c8e..000000000000
--- a/app-emacs/puppet-mode/puppet-mode-0.3.20180813.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-COMMIT=7dee1b5a5debac6e56f9107492a413b6c0edb94d
-
-DESCRIPTION="Emacs major mode for editing Puppet manifests"
-HOMEPAGE="https://github.com/voxpupuli/puppet-mode"
-SRC_URI="https://github.com/voxpupuli/puppet-mode/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
-
-DOCS="CHANGES.md README.md"
-SITEFILE="50${PN}-1-gentoo.el"
-
-# Tests require unpackaged ert-runner
-RESTRICT="test"
-
-src_prepare() {
- elisp_src_prepare
-
- sed -i -e 's/@VERSION@/'${PV}'/' puppet-mode.el || die
-}
diff --git a/app-emacs/puppet-mode/puppet-mode-0.4.ebuild b/app-emacs/puppet-mode/puppet-mode-0.4.ebuild
index 4f99ae64d690..275c2c1214b1 100644
--- a/app-emacs/puppet-mode/puppet-mode-0.4.ebuild
+++ b/app-emacs/puppet-mode/puppet-mode-0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/voxpupuli/puppet-mode/archive/${PV}.tar.gz -> ${P}.t
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
DOCS="CHANGES.md README.md"
SITEFILE="50${PN}-1-gentoo.el"
diff --git a/app-emacs/pymacs/files/pymacs-0.26-setup.patch b/app-emacs/pymacs/files/pymacs-0.26-setup.patch
new file mode 100644
index 000000000000..5d774b7d4dfb
--- /dev/null
+++ b/app-emacs/pymacs/files/pymacs-0.26-setup.patch
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -70,7 +70,7 @@ def cfg_to_args(path='setup.cfg'):
+ config = RawConfigParser()
+ f = codecs.open(path, encoding='utf-8')
+ try:
+- config.readfp(f)
++ config.read_file(f)
+ finally:
+ f.close()
+
diff --git a/app-emacs/pymacs/pymacs-0.26-r2.ebuild b/app-emacs/pymacs/pymacs-0.26-r2.ebuild
deleted file mode 100644
index 55d247626659..000000000000
--- a/app-emacs/pymacs/pymacs-0.26-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_IN_SOURCE_BUILD=1
-DISTUTILS_USE_SETUPTOOLS="no"
-
-inherit elisp distutils-r1
-
-DESCRIPTION="A tool that allows both-side communication beetween Python and Emacs Lisp"
-HOMEPAGE="https://www.emacswiki.org/emacs/PyMacs"
-SRC_URI="https://github.com/dgentry/${PN^}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc"
-
-BDEPEND="doc? (
- >=dev-python/docutils-0.7
- virtual/latex-base
- )"
-
-S="${WORKDIR}/${P^}"
-
-SITEFILE="50${PN}-gentoo.el"
-
-# called by distutils-r1 for every python implementation
-python_configure() {
- # pre-process the files but don't run distutils
- emake PYSETUP=: PYTHON=${EPYTHON}
-}
-
-# called once
-python_compile_all() {
- elisp_src_compile
- if use doc; then
- VARTEXFONTS="${T}"/fonts emake RST2LATEX=rst2latex.py pymacs.pdf
- fi
-}
-
-python_install_all() {
- elisp_src_install
- distutils-r1_python_install_all
- dodoc pymacs.rst
- use doc && dodoc pymacs.pdf
-}
diff --git a/app-emacs/pymacs/pymacs-0.26-r5.ebuild b/app-emacs/pymacs/pymacs-0.26-r5.ebuild
new file mode 100644
index 000000000000..5d51948e9238
--- /dev/null
+++ b/app-emacs/pymacs/pymacs-0.26-r5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit elisp distutils-r1
+
+DESCRIPTION="A tool that allows both-side communication between Python and Emacs Lisp"
+HOMEPAGE="https://www.emacswiki.org/emacs/PyMacs
+ https://github.com/dgentry/Pymacs/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/dgentry/${PN^}.git"
+else
+ SRC_URI="https://github.com/dgentry/${PN^}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc"
+
+BDEPEND="
+ doc? (
+ >=dev-python/docutils-0.7
+ virtual/latex-base
+ )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.26-setup.patch" )
+
+DOCS=( "${PN}.rst" )
+SITEFILE="50${PN}-gentoo.el"
+
+python_configure() {
+ emake PYSETUP=":" PYTHON="${EPYTHON}" prepare
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ elisp_src_compile
+
+ if use doc; then
+ # docutils 0.21.1 renamed rst2latex.py to rst2latex
+ local r2l=$(command -v rst2latex || command -v rst2latex.py || die)
+ VARTEXFONTS="${T}"/fonts emake RST2LATEX="${r2l}" ${PN}.pdf
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+ elisp_src_install
+
+ use doc && dodoc ${PN}.pdf
+}
diff --git a/app-emacs/python-mode/Manifest b/app-emacs/python-mode/Manifest
index e6c906b16ebe..aa8391d19dca 100644
--- a/app-emacs/python-mode/Manifest
+++ b/app-emacs/python-mode/Manifest
@@ -1,2 +1 @@
DIST python-mode-6.3.0.tar.bz2 377148 BLAKE2B f55620dcda63bb074116ad622d0ac2431839277a9f525be857bb4245a6b5b9f7daaefd538e166efb327333bb2186f2998541f3a1816bff76c65a726e78265c01 SHA512 cc4a9e67ec3d751040a1ee453360f7aad127688db9c67385b669aa76ad7504dfea1b15408f4ff130a5103f5266ee4eeb920e66b1c1fd1f2dcbfe6302cc8f847a
-DIST python-mode.el-6.2.3.tar.gz 314461 BLAKE2B 3bd71b47de1284d59db61f829e3419f2fb10e226900392d903256f31ad90f47317b7bde4cde1cf7d86518f9c706d9c844b208a9e2469a41037252a63f7bc1ba6 SHA512 4aeb33d4054d582cd2a3f4834472c7d0cb3fe5e12e10f5117dcbcd90ec2ca490964c774918c83697f283c68e57766c3c67d3853ddbaa3408777fdafc7f2674f2
diff --git a/app-emacs/python-mode/metadata.xml b/app-emacs/python-mode/metadata.xml
index 8bd2f53703bd..0eb103cda77f 100644
--- a/app-emacs/python-mode/metadata.xml
+++ b/app-emacs/python-mode/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="launchpad">python-mode</remote-id>
+ <remote-id type="gitlab">python-mode-devs/python-mode</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/python-mode/python-mode-6.2.3.ebuild b/app-emacs/python-mode/python-mode-6.2.3.ebuild
deleted file mode 100644
index e1512ee495f9..000000000000
--- a/app-emacs/python-mode/python-mode-6.2.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp readme.gentoo-r1
-
-MY_P="${PN}.el-${PV}"
-DESCRIPTION="An Emacs major mode for editing Python source"
-HOMEPAGE="https://launchpad.net/python-mode"
-SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${MY_P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${MY_P}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="NEWS README_DEVEL.org"
-DOC_CONTENTS="Note that doctest and pymacs are in their own packages,
- app-emacs/doctest-mode and app-emacs/pymacs, respectively."
diff --git a/app-emacs/python-mode/python-mode-6.3.0.ebuild b/app-emacs/python-mode/python-mode-6.3.0.ebuild
index 2dd18ba0b96c..235068449147 100644
--- a/app-emacs/python-mode/python-mode-6.3.0.ebuild
+++ b/app-emacs/python-mode/python-mode-6.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://gitlab.com/python-mode-devs/${PN}/-/archive/${PV}/${P}.tar.bz2"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm ~hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
ELISP_REMOVE="python-mode-pkg.el"
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/pyvenv/Manifest b/app-emacs/pyvenv/Manifest
new file mode 100644
index 000000000000..9a2e91286a4d
--- /dev/null
+++ b/app-emacs/pyvenv/Manifest
@@ -0,0 +1 @@
+DIST pyvenv-1.21.tar.gz 9187 BLAKE2B 59d3eee5f0c3da44c48d6fad8fc6803e6080e54696dd5071d05a716916a2f469f0b6c812bae68eb5f1ab4a99cefae7d7128fe7a0bb2a9ccce68cdc710e02632e SHA512 5b9bf67c2882a6a4b6ff8ec2c2485a21085882c66a265f3eb3ff9650e1e7a19642acd066767c049edf61f8514799c6d24420f68a467c79498223e92cd5be8c66
diff --git a/app-emacs/pyvenv/metadata.xml b/app-emacs/pyvenv/metadata.xml
new file mode 100644
index 000000000000..b763ca453b21
--- /dev/null
+++ b/app-emacs/pyvenv/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jorgenschaefer/pyvenv/issues/</bugs-to>
+ <remote-id type="github">jorgenschaefer/pyvenv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/pyvenv/pyvenv-1.21.ebuild b/app-emacs/pyvenv/pyvenv-1.21.ebuild
new file mode 100644
index 000000000000..c16f57b1102b
--- /dev/null
+++ b/app-emacs/pyvenv/pyvenv-1.21.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Python virtual environment interface for Emacs"
+HOMEPAGE="https://github.com/jorgenschaefer/pyvenv/"
+SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/mocker )"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ # Other tests require special Python Venv setup
+ ${EMACS} ${EMACSFLAGS} -L . -l ./${PN}.el -L ./test \
+ -l ./test/pyvenv-mode-test.el -l ./test/pyvenv-hook-dir-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
diff --git a/app-emacs/queue/Manifest b/app-emacs/queue/Manifest
new file mode 100644
index 000000000000..5713634b317b
--- /dev/null
+++ b/app-emacs/queue/Manifest
@@ -0,0 +1 @@
+DIST queue-0.2.el.xz 2168 BLAKE2B 4c6c89ffa66d1bc5da11b78b6965077922384090327360c5b787508d9248051a6e3371b1e6ae5dd0fc8337d4623cbcb07d44d0f6147b29f14da8a3900868bd94 SHA512 62e43482db9828fe6f6d58c95389cd93642a6019211b190dd8f862efa6011708ad8e9a6c025ddb2e663effe0a8aec2f72f42f1afcaaf4c7d64fe698c274eef39
diff --git a/app-emacs/queue/metadata.xml b/app-emacs/queue/metadata.xml
new file mode 100644
index 000000000000..3ac8e09b5ce7
--- /dev/null
+++ b/app-emacs/queue/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Provides queues can be used both as a first-in last-out (FILO) and
+ as a first-in first-out (FIFO) stack, i.e. elements can be added to
+ the front or back of the queue, and can be removed from the
+ front. (This type of data structure is sometimes called an
+ "output-restricted deque".)
+ </longdescription>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/app-emacs/queue/queue-0.2.ebuild b/app-emacs/queue/queue-0.2.ebuild
new file mode 100644
index 000000000000..ce7394d79517
--- /dev/null
+++ b/app-emacs/queue/queue-0.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Queue data structure"
+HOMEPAGE="https://elpa.gnu.org/packages/queue.html"
+SRC_URI="https://dev.gentoo.org/~matthew/distfiles/${P}.el.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/quilt-el/files/50quilt-el-gentoo.el b/app-emacs/quilt-el/files/50quilt-el-gentoo.el
index ccdd69d19ab9..e5b51e318d73 100644
--- a/app-emacs/quilt-el/files/50quilt-el-gentoo.el
+++ b/app-emacs/quilt-el/files/50quilt-el-gentoo.el
@@ -3,5 +3,5 @@
"Toggle quilt-mode. With positive arg, enable quilt-mode." t)
(autoload 'quilt-hook "quilt"
"Enable quilt mode for quilt-controlled files.")
-(add-hook 'find-file-hooks 'quilt-hook)
+(add-hook 'find-file-hook 'quilt-hook)
(add-hook 'after-revert-hook 'quilt-hook)
diff --git a/app-emacs/quilt-el/metadata.xml b/app-emacs/quilt-el/metadata.xml
index 48e768fb5660..1adcbf2c04d4 100644
--- a/app-emacs/quilt-el/metadata.xml
+++ b/app-emacs/quilt-el/metadata.xml
@@ -14,4 +14,7 @@
* Some handy shortcut keys of quilt commands.
</longdescription>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="savannah-nongnu">quilt</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/quilt-el/quilt-el-0.66.ebuild b/app-emacs/quilt-el/quilt-el-0.66.ebuild
index cc5b4eed807b..3c0c9cb8f10f 100644
--- a/app-emacs/quilt-el/quilt-el-0.66.ebuild
+++ b/app-emacs/quilt-el/quilt-el-0.66.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="mirror://nongnu/quilt/${MY_P}.tar.gz"
LICENSE="GPL-1+"
SLOT="0"
-KEYWORDS="amd64 arm ~mips ppc ppc64 sparc x86"
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
RDEPEND="dev-util/quilt"
diff --git a/app-emacs/racket-mode/Manifest b/app-emacs/racket-mode/Manifest
new file mode 100644
index 000000000000..bb81f89c00aa
--- /dev/null
+++ b/app-emacs/racket-mode/Manifest
@@ -0,0 +1,2 @@
+DIST racket-mode-1_p20231214.tar.gz 372054 BLAKE2B 8ce9db064038780e5e8bcff3f3b71d00c19cac385e4afec22437e1d5d1fa751d050b887f4a22bbe35961c852d98b5894ed8eef99d52b7764fe9a741247730ead SHA512 74c7e588799e0dc34501a575c10474d071bebd8773f44df388bcb4ab9be452610f7263a7393794dd8288362d852e12d3e57a54fd389eededeaab98a28f24ffdd
+DIST racket-mode-1_p20240130.tar.gz 373342 BLAKE2B 20ad54d6c64cb52d3c81004131e957c1d4ae8eb32128cb99ba043337832c7398c27d070035440efc2b2debf0324495cc1b15d45169c15da2c5efcb43ad98a71d SHA512 3bf87a0de204db58e1781899d2e1fc70d10f5493e1ae35338b8c92fa0b8ce0c5a953d05c4de60628a057d43aaa22d0d13e6f33cc8ac8073dce8e0fc3c3954bcb
diff --git a/app-emacs/racket-mode/files/50racket-mode-gentoo.el b/app-emacs/racket-mode/files/50racket-mode-gentoo.el
new file mode 100644
index 000000000000..eccbdd83a2b2
--- /dev/null
+++ b/app-emacs/racket-mode/files/50racket-mode-gentoo.el
@@ -0,0 +1,14 @@
+(add-to-list 'load-path "@SITELISP@")
+
+(autoload 'racket-bug-report "racket-bug-report"
+ "Fill a buffer with data to make a racket-mode bug report." t)
+(autoload 'racket-mode "racket-mode"
+ "Major mode for editing Racket source files." t)
+(autoload 'racket-repl "racket-repl"
+ "Run the Racket REPL and display its buffer in some window." t)
+(autoload 'racket-unicode-input-method-enable "racket-unicode-input-method"
+ "Set input method to `racket-unicode`." t)
+
+(add-to-list 'auto-mode-alist '("\\.rkt\\'" . racket-mode))
+(add-to-list 'auto-mode-alist '("\\.rktd\\'" . racket-mode))
+(add-to-list 'auto-mode-alist '("\\.rktl\\'" . racket-mode))
diff --git a/app-emacs/racket-mode/files/racket-mode-rkt-source-dir.patch b/app-emacs/racket-mode/files/racket-mode-rkt-source-dir.patch
new file mode 100644
index 000000000000..0dbc7acb2366
--- /dev/null
+++ b/app-emacs/racket-mode/files/racket-mode-rkt-source-dir.patch
@@ -0,0 +1,11 @@
+--- a/racket-util.el
++++ b/racket-util.el
+@@ -90,7 +90,7 @@ When installed as a package, this can be found from the variable
+ .el buffer file name.")
+
+ (defvar racket--rkt-source-dir
+- (expand-file-name "./racket/" racket--el-source-dir)
++ (expand-file-name "./racket/" "@SITEETC@")
+ "Path to dir of our Racket source files. ")
+
+ (defun racket--restoring-current-buffer (proc)
diff --git a/app-emacs/racket-mode/metadata.xml b/app-emacs/racket-mode/metadata.xml
new file mode 100644
index 000000000000..b087f4f1e0c4
--- /dev/null
+++ b/app-emacs/racket-mode/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Emacs major and minor modes for Racket: edit, REPL, check-syntax, debug,
+ profile, and more.
+ Racket Mode uses a "back end server" written in Racket, which is
+ responsible for running files and implementing commands that cannot be
+ implemented in Emacs Lisp.
+ Details: https://github.com/greghendershott/racket-mode
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/greghendershott/racket-mode/issues</bugs-to>
+ <remote-id type="github">greghendershott/racket-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/racket-mode/racket-mode-1_p20231214.ebuild b/app-emacs/racket-mode/racket-mode-1_p20231214.ebuild
new file mode 100644
index 000000000000..39debe52a835
--- /dev/null
+++ b/app-emacs/racket-mode/racket-mode-1_p20231214.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == *_p20231214 ]] && COMMIT=e6c2906316861e151fac9f7c0fa4ce443a1ba1fa
+
+inherit elisp # virtualx
+
+DESCRIPTION="Emacs modes for Racket: edit, REPL, check-syntax, debug, profile, and more"
+HOMEPAGE="https://www.racket-mode.com/
+ https://github.com/greghendershott/racket-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/greghendershott/${PN}.git"
+else
+ SRC_URI="https://github.com/greghendershott/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-scheme/racket:=[-minimal]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+ELISP_REMOVE="test/racket/hash-lang-test.rkt"
+PATCHES=( "${FILESDIR}/${PN}-rkt-source-dir.patch" )
+
+DOCS=( CONTRIBUTING.org README.org THANKS.org )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i "${S}/racket-util.el" || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ # Equivalent to compiling from Emacs with "racket-mode-start-faster",
+ # because this is installed globally we have to compile it now.
+ ebegin "Compiling Racket source files"
+ find "${S}/racket" -type f -name "*.rkt" -exec raco make -v {} +
+ eend $? "failed to compile Racket source files" || die
+}
+
+src_test() {
+ # Set "PLTUSERHOME" to a safe temp directory to prevent writing to "~".
+ PLTUSERHOME="${T}/racket-mode/test-racket" emake test-racket
+}
+
+src_install() {
+ elisp_src_install
+
+ # Install Racket files to "${SITEETC}".
+ insinto "${SITEETC}/${PN}"
+ doins -r racket
+}
diff --git a/app-emacs/racket-mode/racket-mode-1_p20240130.ebuild b/app-emacs/racket-mode/racket-mode-1_p20240130.ebuild
new file mode 100644
index 000000000000..f2ad2ef65308
--- /dev/null
+++ b/app-emacs/racket-mode/racket-mode-1_p20240130.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == *p20240130 ]] && COMMIT=d3ab936af10909874443cadb2e6c952faf2f536f
+
+inherit elisp # virtualx
+
+DESCRIPTION="Emacs modes for Racket: edit, REPL, check-syntax, debug, profile, and more"
+HOMEPAGE="https://www.racket-mode.com/
+ https://github.com/greghendershott/racket-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/greghendershott/${PN}.git"
+else
+ SRC_URI="https://github.com/greghendershott/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-scheme/racket:=[-minimal]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+ELISP_REMOVE="
+ test/racket/hash-lang-test.rkt
+"
+PATCHES=( "${FILESDIR}/${PN}-rkt-source-dir.patch" )
+
+DOCS=( CONTRIBUTING.org README.org THANKS.org )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i "${S}/racket-util.el" || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ # Equivalent to compiling from Emacs with "racket-mode-start-faster",
+ # because this is installed globally we have to compile it now.
+ ebegin "Compiling Racket source files"
+ find "${S}/racket" -type f -name "*.rkt" -exec raco make -v {} +
+ eend $? "failed to compile Racket source files" || die
+}
+
+src_test() {
+ # Set "PLTUSERHOME" to a safe temp directory to prevent writing to "~".
+ PLTUSERHOME="${T}/racket-mode/test-racket" emake test-racket
+}
+
+src_install() {
+ elisp_src_install
+
+ # Install Racket files to "${SITEETC}".
+ insinto "${SITEETC}/${PN}"
+ doins -r racket
+}
diff --git a/app-emacs/racket-mode/racket-mode-9999.ebuild b/app-emacs/racket-mode/racket-mode-9999.ebuild
new file mode 100644
index 000000000000..d343ca431fd0
--- /dev/null
+++ b/app-emacs/racket-mode/racket-mode-9999.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs modes for Racket: edit, REPL, check-syntax, debug, profile, and more"
+HOMEPAGE="https://www.racket-mode.com/
+ https://github.com/greghendershott/racket-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/greghendershott/${PN}.git"
+else
+ [[ ${PV} == *_p20230905 ]] && COMMIT=bfe5a8fc418e9710e474db3e6dcbe66f6b177ecb
+
+ SRC_URI="https://github.com/greghendershott/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT}
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="dev-scheme/racket:=[-minimal]"
+BDEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-rkt-source-dir.patch )
+
+DOCS=( CONTRIBUTING.org README.org THANKS.org )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i "${S}"/racket-util.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ # Equivalent to compiling from Emacs with "racket-mode-start-faster",
+ # because this is installed globally we have to compile it now.
+ ebegin "Compiling Racket source files"
+ find "${S}"/racket -type f -name "*.rkt" -exec raco make -v {} +
+ eend $? "failed to compile Racket source files" || die
+}
+
+src_test() {
+ # Set "PLTUSERHOME" to a safe temp directory to prevent writing to "~".
+ PLTUSERHOME="${T}"/racket-mode/test-racket emake test-racket
+}
+
+src_install() {
+ elisp_src_install
+
+ # Install Racket files to "${SITEETC}".
+ insinto "${SITEETC}/${PN}"
+ doins -r racket
+}
diff --git a/app-emacs/rainbow-delimiters/Manifest b/app-emacs/rainbow-delimiters/Manifest
new file mode 100644
index 000000000000..dc3c8f2bfe15
--- /dev/null
+++ b/app-emacs/rainbow-delimiters/Manifest
@@ -0,0 +1 @@
+DIST rainbow-delimiters-2.1.5.tar.gz 8201 BLAKE2B 61b3f33cdacf87bcef26c42cfde2d5cdae0c2958b73bd181aae11fe774f8b29efce8ceaf8b28df24626a76e81f5f20ee3ceb9f1f565c988fa7729160104ee113 SHA512 e7d734ad255bbcab17d14dbe0af8430df3ccb094415d19721eb08969b168773e58834f654948bd776215c6c62209d3ccb800cd410a739d35f9f720103f4ed076
diff --git a/app-emacs/rainbow-delimiters/files/50rainbow-delimiters-gentoo.el b/app-emacs/rainbow-delimiters/files/50rainbow-delimiters-gentoo.el
new file mode 100644
index 000000000000..b92fdc1fd114
--- /dev/null
+++ b/app-emacs/rainbow-delimiters/files/50rainbow-delimiters-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'rainbow-delimiters-mode "rainbow-delimiters"
+ "Highlight nested parentheses, brackets, and braces according to their depth." t)
diff --git a/app-emacs/rainbow-delimiters/files/rainbow-delimiters-2.1.5-test.patch b/app-emacs/rainbow-delimiters/files/rainbow-delimiters-2.1.5-test.patch
new file mode 100644
index 000000000000..43f1cd566f2e
--- /dev/null
+++ b/app-emacs/rainbow-delimiters/files/rainbow-delimiters-2.1.5-test.patch
@@ -0,0 +1,26 @@
+diff --git a/rainbow-delimiters-test.el.orig b/rainbow-delimiters-test.el
+index 4683a9e..6a6f677 100644
+--- a/rainbow-delimiters-test.el.orig
++++ b/rainbow-delimiters-test.el
+@@ -141,21 +141,6 @@
+ 9 10 (face (rainbow-delimiters-depth-2-face))
+ 10 11 (face (rainbow-delimiters-depth-1-face))))))))
+
+-(ert-deftest highlights-all-delimiters ()
+- (with-temp-buffer-in-mode 'c++-mode
+- (with-string (str "foo<int> x;")
+- (should (ert-equal-including-properties
+- (progn
+- (remove-list-of-text-properties
+- (point-min) (point-max) '(category c-type syntax-table))
+- (buffer-string))
+- #("foo<int> x;"
+- 0 3 (face font-lock-type-face)
+- 3 4 (face (rainbow-delimiters-depth-1-face))
+- 4 7 (face font-lock-type-face)
+- 7 8 (face (rainbow-delimiters-depth-1-face))
+- 9 10 (face font-lock-variable-name-face)))))))
+-
+ (ert-deftest doesnt-higlight-nondelimiters-1 ()
+ (should-do-nothing 'text-mode "foo"))
+
diff --git a/app-emacs/rainbow-delimiters/metadata.xml b/app-emacs/rainbow-delimiters/metadata.xml
new file mode 100644
index 000000000000..c17cfa3dd429
--- /dev/null
+++ b/app-emacs/rainbow-delimiters/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Fanael/rainbow-delimiters/issues/</bugs-to>
+ <remote-id type="github">Fanael/rainbow-delimiters</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/rainbow-delimiters/rainbow-delimiters-2.1.5.ebuild b/app-emacs/rainbow-delimiters/rainbow-delimiters-2.1.5.ebuild
new file mode 100644
index 000000000000..de3e3f172a3c
--- /dev/null
+++ b/app-emacs/rainbow-delimiters/rainbow-delimiters-2.1.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Highlight nested parentheses, brackets, and braces according to their depth"
+HOMEPAGE="https://github.com/Fanael/rainbow-delimiters/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/Fanael/${PN}.git"
+else
+ SRC_URI="https://github.com/Fanael/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+PATCHES=( "${FILESDIR}/${PN}-2.1.5-test.patch" )
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="To start the mode automatically in foo-mode,
+ add the following to your init file:
+ \n\t(add-hook 'foo-mode-hook #'rainbow-delimiters-mode)
+ \nTo start the mode automatically in most programming modes
+ (Emacs 24 and above):
+ \n\t(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)"
+
+elisp-enable-tests ert .
+
+src_install() {
+ elisp-install "${PN}" ${PN}.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/rainbow-mode/Manifest b/app-emacs/rainbow-mode/Manifest
new file mode 100644
index 000000000000..5d727eda46e0
--- /dev/null
+++ b/app-emacs/rainbow-mode/Manifest
@@ -0,0 +1 @@
+DIST rainbow-mode-1.0.6.tar 51200 BLAKE2B 950da4039eb392d42281d301de05cb669255b95a4382e582258676082516208980540eeb8b69293e2cd73fda3b0438256def408a2804a58bdb745cd72eeef604 SHA512 a7a3f18239dac7e63d022f513e028718552efc13da9589901a0e64377a00d9f3f56a0b708c55eacaf7b438fd29f7bbdb69fafcc4ba65dd6f9e72a82e3ce7efa7
diff --git a/app-emacs/rainbow-mode/files/50rainbow-mode-gentoo.el b/app-emacs/rainbow-mode/files/50rainbow-mode-gentoo.el
new file mode 100644
index 000000000000..624fcb4663ea
--- /dev/null
+++ b/app-emacs/rainbow-mode/files/50rainbow-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'rainbow-mode "rainbow-mode"
+ "Colorize strings that represent colors." t)
diff --git a/app-emacs/rainbow-mode/metadata.xml b/app-emacs/rainbow-mode/metadata.xml
new file mode 100644
index 000000000000..76127bfcf698
--- /dev/null
+++ b/app-emacs/rainbow-mode/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">emacsmirror/rainbow-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/rainbow-mode/rainbow-mode-1.0.6.ebuild b/app-emacs/rainbow-mode/rainbow-mode-1.0.6.ebuild
new file mode 100644
index 000000000000..45cd81aa2215
--- /dev/null
+++ b/app-emacs/rainbow-mode/rainbow-mode-1.0.6.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Colorize strings that represent colors inside Emacs buffers"
+HOMEPAGE="https://elpa.gnu.org/packages/rainbow-mode.html"
+SRC_URI="https://elpa.gnu.org/packages/${P}.tar"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/raku-mode/Manifest b/app-emacs/raku-mode/Manifest
new file mode 100644
index 000000000000..14ec5f78bbd8
--- /dev/null
+++ b/app-emacs/raku-mode/Manifest
@@ -0,0 +1 @@
+DIST raku-mode-0.2.1_p20211121.tar.gz 31506 BLAKE2B 7faa69740ea882482bf8462b4fa1da497bcce1ab46f19b7c54520d53c5e7e8f29f55204fc6f41b6ba4059503efe3057b3b901ec41d4d635975f81e6d90e2ba9a SHA512 ee2bce5ce585d2cdb7c3ca8f387dfa5acc774a5923d53567d655f9a15cefe322f486ba32e9ae4ff9105116a15cc948bc0eb9e7a30fd1b2e57ab90cd741386526
diff --git a/app-emacs/raku-mode/files/50raku-mode-gentoo.el b/app-emacs/raku-mode/files/50raku-mode-gentoo.el
new file mode 100644
index 000000000000..49f659e0ab11
--- /dev/null
+++ b/app-emacs/raku-mode/files/50raku-mode-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'raku-mode "raku-mode"
+ "Major mode for editing Raku code." t)
+(add-to-list 'auto-mode-alist '("\\.nqp\\'" . raku-mode))
+(add-to-list 'auto-mode-alist '("\\.p[lm]?6\\'" . raku-mode))
+(add-to-list 'auto-mode-alist '("\\.raku\\(?:mod\\|test\\)?\\'" . raku-mode))
+(add-to-list 'interpreter-mode-alist '("perl6\\|raku" . raku-mode))
diff --git a/app-emacs/raku-mode/metadata.xml b/app-emacs/raku-mode/metadata.xml
new file mode 100644
index 000000000000..8835f758ecaa
--- /dev/null
+++ b/app-emacs/raku-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Raku/raku-mode/issues/</bugs-to>
+ <remote-id type="github">Raku/raku-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/raku-mode/raku-mode-0.2.1_p20211121.ebuild b/app-emacs/raku-mode/raku-mode-0.2.1_p20211121.ebuild
new file mode 100644
index 000000000000..b551d291f2d8
--- /dev/null
+++ b/app-emacs/raku-mode/raku-mode-0.2.1_p20211121.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=977b14a7c1295ebf2aad2f807d3f8e7c27aeb47f
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing Raku code"
+HOMEPAGE="https://github.com/Raku/raku-mode/"
+SRC_URI="https://github.com/Raku/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/ert-runner )"
+
+DOCS=( CHANGELOG.md README.md README.tmp-imenu-notes )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/reazon/Manifest b/app-emacs/reazon/Manifest
new file mode 100644
index 000000000000..9bfd387c63c3
--- /dev/null
+++ b/app-emacs/reazon/Manifest
@@ -0,0 +1 @@
+DIST reazon-0.4.1.tar.gz 38654 BLAKE2B 1e2cc22c58b030bb504c47d5526b01a2f8d64f0e1fc95456313199defc847c0066aee3931d57c27592919a57633905951d3ab67cfa4a61035946609c772cf685 SHA512 fda8cda62bdf0818990a3a9bb5893b75bd4e875ecb6e6a280a1992e1d9b4b621e8ee7eac8e1d3ec0e06bf9bc8a37414695702247e5782e2859e4d8126906bf5f
diff --git a/app-emacs/reazon/metadata.xml b/app-emacs/reazon/metadata.xml
new file mode 100644
index 000000000000..8b0170cd063f
--- /dev/null
+++ b/app-emacs/reazon/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Reazon is an Emacs implementation of miniKanren, a small domain-specific
+ logic programming language. Whereas languages like Elisp deal with
+ functions that take inputs and yield outputs, miniKanren deals with sets of
+ values that satisfy relations. Every function is a relation, but not vice
+ versa, since a relation might include the output of a function but not its
+ inputs. In such a case, miniKanren would attempt to find inputs yielding
+ the output, effectively running the function backwards.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/nickdrozd/reazon/issues/</bugs-to>
+ <remote-id type="github">nickdrozd/reazon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/reazon/reazon-0.4.1.ebuild b/app-emacs/reazon/reazon-0.4.1.ebuild
new file mode 100644
index 000000000000..e86dc1835a0b
--- /dev/null
+++ b/app-emacs/reazon/reazon-0.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs implementation of miniKanren, logic programming language"
+HOMEPAGE="https://github.com/nickdrozd/reazon/"
+SRC_URI="https://github.com/nickdrozd/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( CHANGELOG.org README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/redo+/files/50redo+-gentoo.el b/app-emacs/redo+/files/50redo+-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/redo+/files/50redo+-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/reformatter/Manifest b/app-emacs/reformatter/Manifest
new file mode 100644
index 000000000000..f3a169ee3b6d
--- /dev/null
+++ b/app-emacs/reformatter/Manifest
@@ -0,0 +1,2 @@
+DIST reformatter-0.6.tar.gz 7943 BLAKE2B 72f34b873aacef5ee1dd0edd06effed83dad490f5d57ac3390dbd0d6fb7172adb1b7a3e19c0e90740b300cad8d2a1df60ab1bbfaa660c79621066d402f01b923 SHA512 ff1ad88b3a0a3ca1e70a5e0d7fe6f2264981d88ae64f0fa412d52721fb43991a483f31fb72193f7d67be71f39110051c0dda39e4ed87b4339aa156fa256e013a
+DIST reformatter-0.7.tar.gz 8294 BLAKE2B 52e516d9c56798d924c30b0ff68e0441229aa7644fa3944fabaacd2452da03810deacd3e363504c99de6777149da72606397a6d28822d34335250cd341d69082 SHA512 2b45dfc1440dbbb4f8ec0ab6a2e69b2686ad6983a074bb9bf1863347186ced197e2f5b23baf2fccd382e113d1813211a0173c246af1ef47447722b3c33fb4207
diff --git a/app-emacs/reformatter/metadata.xml b/app-emacs/reformatter/metadata.xml
new file mode 100644
index 000000000000..7cdcedd7a960
--- /dev/null
+++ b/app-emacs/reformatter/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/purcell/emacs-reformatter/issues/</bugs-to>
+ <remote-id type="github">purcell/emacs-reformatter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/reformatter/reformatter-0.6.ebuild b/app-emacs/reformatter/reformatter-0.6.ebuild
new file mode 100644
index 000000000000..f932f87ee31f
--- /dev/null
+++ b/app-emacs/reformatter/reformatter-0.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Define commands which run reformatters on the Emacs buffers"
+HOMEPAGE="https://github.com/purcell/emacs-reformatter/"
+SRC_URI="https://github.com/purcell/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test" # Tests need "shfmt"
+
+DOCS=( README.md )
+ELISP_REMOVE="Makefile ${PN}-tests.el" # Makefile downloads pkgs from net
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/reformatter/reformatter-0.7.ebuild b/app-emacs/reformatter/reformatter-0.7.ebuild
new file mode 100644
index 000000000000..8b7a89a41ef4
--- /dev/null
+++ b/app-emacs/reformatter/reformatter-0.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Define commands which run reformatters on the Emacs buffers"
+HOMEPAGE="https://github.com/purcell/emacs-reformatter/"
+SRC_URI="https://github.com/purcell/emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test" # Tests need "shfmt"
+
+DOCS=( README.md )
+ELISP_REMOVE="Makefile ${PN}-tests.el" # Makefile downloads pkgs from net
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/remember/files/remember-2.0-emacs-28.patch b/app-emacs/remember/files/remember-2.0-emacs-28.patch
new file mode 100644
index 000000000000..16ebe30e2cd7
--- /dev/null
+++ b/app-emacs/remember/files/remember-2.0-emacs-28.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/836772
+
+--- remember-2.0/remember.el
++++ remember-2.0/remember.el
+@@ -462,7 +462,7 @@
+
+ ;; Org needs this
+ (if (fboundp 'define-obsolete-function-alias)
+- (define-obsolete-function-alias 'remember-buffer 'remember-finalize)
++ (define-obsolete-function-alias 'remember-buffer 'remember-finalize "")
+ (defalias 'remember-buffer 'remember-finalize))
+
+ (defun remember-destroy ()
diff --git a/app-emacs/remember/remember-2.0-r1.ebuild b/app-emacs/remember/remember-2.0-r1.ebuild
index 3b709e07e6cd..7ab0145e2f17 100644
--- a/app-emacs/remember/remember-2.0-r1.ebuild
+++ b/app-emacs/remember/remember-2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,7 +21,10 @@ RDEPEND="bbdb? ( app-emacs/bbdb )
BDEPEND="${RDEPEND}
sys-apps/texinfo"
-ELISP_PATCHES="${PN}-1.9-make-elc.patch"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9-make-elc.patch
+ "${FILESDIR}"/${P}-emacs-28.patch
+)
SITEFILE="50${PN}-gentoo.el"
ELISP_TEXINFO="remember.texi remember-extra.texi"
DOCS="ChangeLog* NEWS"
diff --git a/app-emacs/repology/Manifest b/app-emacs/repology/Manifest
new file mode 100644
index 000000000000..090d7ff5ae58
--- /dev/null
+++ b/app-emacs/repology/Manifest
@@ -0,0 +1,2 @@
+DIST repology-1.2.3.tar.xz 18632 BLAKE2B 952398f43cc20120b30f692d1aee9b7ebeefa9d7d655bbbb1ff059a728816d4091bb754674dd145517c4d29a208d486327eb7e9987750155708425061bf09292 SHA512 2773b03237d7cd5615bf3c081b8dd20a683c94fffe8ac710713c9185f11e490c7f782d3bc41f318ef33614d760cbb2896a19cd69b3f37352542200fa0e2a4e74
+DIST repology-1.2.4.tar.xz 18664 BLAKE2B 13d4ed74649be52604b56018c958f5682264ddb88c8fad8a3666f58544ffe42ee428606298f17d933bcd8824a53342d40ec0de7821899f79ca24e4f7110392e0 SHA512 4556f8573e1d1237610ffcb2eb976b53c7134bce3f3304128574fb1d137e43df28cf7d30dcd47a91c9df3d98b3896cf69c6a2a8ec7ded86a7fc00786de1e7ccf
diff --git a/app-emacs/repology/files/50repology-gentoo.el b/app-emacs/repology/files/50repology-gentoo.el
new file mode 100644
index 000000000000..273b33e72922
--- /dev/null
+++ b/app-emacs/repology/files/50repology-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "repology-autoloads" nil t)
diff --git a/app-emacs/repology/metadata.xml b/app-emacs/repology/metadata.xml
new file mode 100644
index 000000000000..13f32c8c0e47
--- /dev/null
+++ b/app-emacs/repology/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package provides tools to query Repology API, process results, and
+ display them. The results of a query revolve around three types of objects:
+ projects, packages and problems. Using this library, you can find projects
+ matching certain criteria, packages in a given project, and possible
+ problems in some repository.
+ </longdescription>
+</pkgmetadata>
diff --git a/app-emacs/repology/repology-1.2.3.ebuild b/app-emacs/repology/repology-1.2.3.ebuild
new file mode 100644
index 000000000000..9702d3439d24
--- /dev/null
+++ b/app-emacs/repology/repology-1.2.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Repology API access via Emacs Lisp"
+HOMEPAGE="https://elpa.gnu.org/packages/repology.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -l ${PN}-tests.el
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/repology/repology-1.2.4.ebuild b/app-emacs/repology/repology-1.2.4.ebuild
new file mode 100644
index 000000000000..8823a165fbca
--- /dev/null
+++ b/app-emacs/repology/repology-1.2.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Repology API access via Emacs Lisp"
+HOMEPAGE="https://elpa.gnu.org/packages/repology.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -l ${PN}-tests.el
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/request/Manifest b/app-emacs/request/Manifest
new file mode 100644
index 000000000000..878fc78da96c
--- /dev/null
+++ b/app-emacs/request/Manifest
@@ -0,0 +1 @@
+DIST request-0.3.3_p20220318.tar.gz 50821 BLAKE2B f3ee754e43ba6b37fc3218acd8e7472a396949528d5fbdd2ff42af7b5bb18e549a8b159ec794f0d40595ddbf9b9bd3f28f7a66d5549d21dbe706d386ecdcb617 SHA512 fef12c27c37ba735b0fd2df4be83e4101895fbed1ca90a3ad96d3ad6879d24ab49b36222c3124ddbb7ad67f7b571b2a95171635dfe6662a5476c5ab4fc677c09
diff --git a/app-emacs/request/metadata.xml b/app-emacs/request/metadata.xml
new file mode 100644
index 000000000000..4397e5c9d019
--- /dev/null
+++ b/app-emacs/request/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/tkf/emacs-request/issues/</bugs-to>
+ <remote-id type="github">tkf/emacs-request</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/request/request-0.3.3_p20220318.ebuild b/app-emacs/request/request-0.3.3_p20220318.ebuild
new file mode 100644
index 000000000000..79ba520374ff
--- /dev/null
+++ b/app-emacs/request/request-0.3.3_p20220318.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=c769cf33f2ac0a1a9798b508935c4b260e856ab5
+
+inherit elisp
+
+DESCRIPTION="Compatible layer for URL request"
+HOMEPAGE="https://github.com/tkf/emacs-request/"
+SRC_URI="https://github.com/tkf/emacs-${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+RESTRICT="test"
+
+RDEPEND="app-emacs/deferred"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.rst )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/rescript-mode/Manifest b/app-emacs/rescript-mode/Manifest
new file mode 100644
index 000000000000..14c343aa6c95
--- /dev/null
+++ b/app-emacs/rescript-mode/Manifest
@@ -0,0 +1 @@
+DIST rescript-mode-0.1.0_p20220613.tar.gz 111284 BLAKE2B 9c10024ebb5a46be418576d37eb39401ea99be42993add431a4628e64c27d34f1a801a79a3fb64635cdcdb9b2d20346d5ffa71968cadb6ee239099e5bcc39dd0 SHA512 93da6da0abf9bb537c6bc441e350a2b5047726b460083aaccdb1cfb0efd8a845f46d30e7ad85901ffded9d9e5f15846ba181009012ab3dc9c1a7e8982f50e385
diff --git a/app-emacs/rescript-mode/files/50rescript-mode-gentoo.el b/app-emacs/rescript-mode/files/50rescript-mode-gentoo.el
new file mode 100644
index 000000000000..dde7c87052d9
--- /dev/null
+++ b/app-emacs/rescript-mode/files/50rescript-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'rescript-mode "rescript-mode"
+ "Major mode for ReScript code." t)
+(add-to-list 'auto-mode-alist '("\\.resi?\\'" . rescript-mode))
diff --git a/app-emacs/rescript-mode/metadata.xml b/app-emacs/rescript-mode/metadata.xml
new file mode 100644
index 000000000000..6f223c0b4058
--- /dev/null
+++ b/app-emacs/rescript-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jjlee/rescript-mode/issues/</bugs-to>
+ <remote-id type="github">jjlee/rescript-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/rescript-mode/rescript-mode-0.1.0_p20220613.ebuild b/app-emacs/rescript-mode/rescript-mode-0.1.0_p20220613.ebuild
new file mode 100644
index 000000000000..4dd5a9ee9e0c
--- /dev/null
+++ b/app-emacs/rescript-mode/rescript-mode-0.1.0_p20220613.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=2aae2fbd4971dff965c758ec19688780ed7bff21
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for ReScript"
+HOMEPAGE="https://github.com/jjlee/rescript-mode/"
+SRC_URI="https://github.com/jjlee/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/ert-runner )"
+
+DOCS=( README.md error.png typeinfo.png )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
diff --git a/app-emacs/restclient/Manifest b/app-emacs/restclient/Manifest
new file mode 100644
index 000000000000..b5ff3087022a
--- /dev/null
+++ b/app-emacs/restclient/Manifest
@@ -0,0 +1 @@
+DIST restclient-0_p20220426.tar.gz 14762 BLAKE2B ff11d592cd81fa3bf59b577c18f2060a098a446ca1d103df746a1c1f46b4eb950cfad296cae2219c58bc59c52e287b7f7bc2d28264288cff8fdee5be0a2b868c SHA512 343e1b8761842b85e790a42367bc12e302ccbe2953fd0008c2a20d96444038fdabfdd0fca2e8b664c9d0e835ced252afa35ac67cfc992add47bec131c6badd1c
diff --git a/app-emacs/restclient/files/50restclient-gentoo.el b/app-emacs/restclient/files/50restclient-gentoo.el
new file mode 100644
index 000000000000..195168b5bf70
--- /dev/null
+++ b/app-emacs/restclient/files/50restclient-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'restclient-mode "restclient"
+ "Turn on restclient mode." t)
+(autoload 'helm-restclient "restclient-helm"
+ "Helm for Restclient." t)
diff --git a/app-emacs/restclient/metadata.xml b/app-emacs/restclient/metadata.xml
new file mode 100644
index 000000000000..dbc894047887
--- /dev/null
+++ b/app-emacs/restclient/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This is a tool to manually explore and test HTTP REST webservices. Runs
+ queries from a plain-text query sheet, displays results as a pretty-printed
+ XML, JSON and even images.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/pashky/restclient.el/issues/</bugs-to>
+ <remote-id type="github">pashky/restclient.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/restclient/restclient-0_p20220426.ebuild b/app-emacs/restclient/restclient-0_p20220426.ebuild
new file mode 100644
index 000000000000..58632e21dc59
--- /dev/null
+++ b/app-emacs/restclient/restclient-0_p20220426.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=ae79e7dd283890072da69b8f48aeec1afd0d9442
+
+inherit elisp
+
+DESCRIPTION="HTTP REST client tool for GNU Emacs"
+HOMEPAGE="https://github.com/pashky/restclient.el/"
+SRC_URI="https://github.com/pashky/${PN}.el/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${COMMIT}
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ app-emacs/helm
+ app-emacs/jq-mode
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md examples )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/revive/Manifest b/app-emacs/revive/Manifest
index 13fde4fa0dc5..cc87676c0129 100644
--- a/app-emacs/revive/Manifest
+++ b/app-emacs/revive/Manifest
@@ -1 +1 @@
-DIST revive-2.24.el.xz 10028 BLAKE2B 4def70bce879e5efc42e6e7ce77353b86bd74c6c17b40c29add3af16af114b8c6f414b1a74758a4b5d856a6cf37590ec6fd4181ba5c95b176a36716bee9a810d SHA512 ce8b0860594420ae1270a5ec8b3d21b58f630206707d08e56aa3c22d1ad41b8b25cb96b1e5cff93cb44b250e687a6d8f96cf1cbf3d75bf5cfc2c2892d0ab8562
+DIST revive-2.25.el.xz 10056 BLAKE2B 5000ff409ec0cd20401f3c8f7140e5b2badbfa24774410146797c925ffbc51087e6a366fb6db068b88094d3302f50421338206fe3621e2df01469930772b979b SHA512 d2a2e39742723ef19abbe2e47863f437d9dcefcd2b853464ae44eba8a1c02c8b227869676ac2a4b71ffa582913315790fc966e8ba887ced71689fba8486c3a7d
diff --git a/app-emacs/revive/revive-2.24.ebuild b/app-emacs/revive/revive-2.24.ebuild
deleted file mode 100644
index 304e89edf214..000000000000
--- a/app-emacs/revive/revive-2.24.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Resume Emacs"
-HOMEPAGE="https://www.gentei.org/~yuuji/software/"
-# taken from https://www.gentei.org/~yuuji/software/euc/revive.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo-${PV}.el"
diff --git a/app-emacs/revive/revive-2.25.ebuild b/app-emacs/revive/revive-2.25.ebuild
new file mode 100644
index 000000000000..419a2908bdc9
--- /dev/null
+++ b/app-emacs/revive/revive-2.25.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Resume Emacs"
+HOMEPAGE="https://www.gentei.org/~yuuji/software/"
+# taken from https://www.gentei.org/~yuuji/software/euc/revive.el
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo-2.24.el"
diff --git a/app-emacs/rg/Manifest b/app-emacs/rg/Manifest
new file mode 100644
index 000000000000..2dad57180392
--- /dev/null
+++ b/app-emacs/rg/Manifest
@@ -0,0 +1 @@
+DIST rg-2.3.0.tar.gz 204996 BLAKE2B cc233f90a4bd56928053ebace2aa166c0210ddc9720b37b4e67e10e1082ed0ff744bef6d502666a8094d9c57c0afa2b9a32967b290443cc467f2865ea7b95330 SHA512 343626c35bdb26f2a300bac258af112230cf502900852456362f1adaa6bf6551d42d07ced59b8f864cab0663b559262f2e6f982f5b95cfffe1d04218fe6ebbbe
diff --git a/app-emacs/rg/files/50rg-gentoo.el b/app-emacs/rg/files/50rg-gentoo.el
new file mode 100644
index 000000000000..df981fef423f
--- /dev/null
+++ b/app-emacs/rg/files/50rg-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "rg-autoloads" nil t)
diff --git a/app-emacs/rg/metadata.xml b/app-emacs/rg/metadata.xml
new file mode 100644
index 000000000000..f479f7c94178
--- /dev/null
+++ b/app-emacs/rg/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ A search package based on the ripgrep command line tool. It allows you to
+ interactively create searches, doing automatic searches based on the
+ editing context, refining and modifying search results and much more. It is
+ also highly configurable to be able to fit different users' needs. If you
+ are used to built-in Emacs rgrep command, transitioning to rg should be
+ simple. rg provides a lot of extra features but the basics are similar. The
+ big benefit of using ripgrep instead of grep as a backend is speed.
+ Especially when searching large source code repositories where ripgrep
+ really shines.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/dajva/rg.el/issues/</bugs-to>
+ <remote-id type="github">dajva/rg.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/rg/rg-2.3.0.ebuild b/app-emacs/rg/rg-2.3.0.ebuild
new file mode 100644
index 000000000000..e3cadd443056
--- /dev/null
+++ b/app-emacs/rg/rg-2.3.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs search tool based on ripgrep"
+HOMEPAGE="https://rgel.readthedocs.io/
+ https://github.com/dajva/rg.el/"
+SRC_URI="https://github.com/dajva/rg.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/rg.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ app-emacs/transient
+ app-emacs/wgrep
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ sys-apps/ripgrep
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ app-emacs/ert-runner
+ app-emacs/s
+ app-emacs/undercover
+ )
+"
+
+DOCS=( README.md )
+ELISP_REMOVE="test/rg.el-test.el test/rg-isearch.el-test.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ ert-runner -L . -L test --reporter ert+duration --script test || die
+}
+
+src_install() {
+ elisp_src_install
+ doinfo rgel.info
+}
diff --git a/app-emacs/rnc-mode/metadata.xml b/app-emacs/rnc-mode/metadata.xml
index 986088003fe1..33b00f2077e9 100644
--- a/app-emacs/rnc-mode/metadata.xml
+++ b/app-emacs/rnc-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">TreeRex/rnc-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/rpm-spec-mode/Manifest b/app-emacs/rpm-spec-mode/Manifest
index 1b6a5932c6ce..97417795d6f8 100644
--- a/app-emacs/rpm-spec-mode/Manifest
+++ b/app-emacs/rpm-spec-mode/Manifest
@@ -1 +1,2 @@
DIST rpm-spec-mode-0.15.el.xz 11176 BLAKE2B 209720693ab1d749187ce923534db18ecc57daabf83bd9051988a2ae660df8482370f33aae3730152f99c1267ad366848ba6b7df72ad9a8c7b195ea94313b224 SHA512 cd2f1dc1d3b7bc18512d14bdbc8b73183b0d917e93911aa5c88bd847cbf24f090480cdac46f9f8a82336085ea801abbbed567fce19498cc70661d051dfa287dc
+DIST rpm-spec-mode-0.16.tar.gz 18748 BLAKE2B eff5c15c097a1cfa1e4efdfaebcb5a7189498468e7e2fe3302f400bf0bcf6849c0cbac19b50a46a61784efc5290ff23653743a96fab48d689b7f8da87ca66542 SHA512 98ff3e993505fa77cea9637a49c22d8bbf1ca03e7f7e88b970ce10410a153834e0f8ce931427479e3bd75ad3fe9f3840bc8aab7c63ed3119962db13341461cd0
diff --git a/app-emacs/rpm-spec-mode/files/rpm-spec-mode-0.15-emacs-28.patch b/app-emacs/rpm-spec-mode/files/rpm-spec-mode-0.15-emacs-28.patch
new file mode 100644
index 000000000000..7f13f78dc9dd
--- /dev/null
+++ b/app-emacs/rpm-spec-mode/files/rpm-spec-mode-0.15-emacs-28.patch
@@ -0,0 +1,38 @@
+--- a/rpm-spec-mode.el
++++ b/rpm-spec-mode.el
+@@ -112,7 +112,7 @@
+ :group 'rpm-spec)
+
+ (define-obsolete-variable-alias
+- 'rpm-completion-ignore-case 'rpm-spec-completion-ignore-case)
++ 'rpm-completion-ignore-case 'rpm-spec-completion-ignore-case "")
+
+ (defcustom rpm-spec-completion-ignore-case t
+ "*Non-nil means that case differences are ignored during completion.
+@@ -132,7 +132,7 @@
+ :group 'rpm-spec)
+
+ (define-obsolete-variable-alias
+- 'rpm-spec-test 'rpm-spec-nobuild)
++ 'rpm-spec-test 'rpm-spec-nobuild "")
+
+ (defcustom rpm-spec-nobuild nil
+ "Do not execute any build stages. Useful for testing out spec files."
+@@ -158,7 +158,7 @@
+ :group 'rpm-spec)
+
+ (define-obsolete-variable-alias
+- 'rpm-initialize-sections 'rpm-spec-initialize-sections)
++ 'rpm-initialize-sections 'rpm-spec-initialize-sections "")
+
+ (defcustom rpm-spec-initialize-sections t
+ "Automatically add empty section headings to new spec files."
+@@ -166,7 +166,7 @@
+ :group 'rpm-spec)
+
+ (define-obsolete-variable-alias
+- 'rpm-insert-version 'rpm-spec-insert-changelog-version)
++ 'rpm-insert-version 'rpm-spec-insert-changelog-version "")
+
+ (defcustom rpm-spec-insert-changelog-version t
+ "Automatically add version in a new change log entry."
diff --git a/app-emacs/rpm-spec-mode/metadata.xml b/app-emacs/rpm-spec-mode/metadata.xml
index 986088003fe1..f52accb68209 100644
--- a/app-emacs/rpm-spec-mode/metadata.xml
+++ b/app-emacs/rpm-spec-mode/metadata.xml
@@ -6,4 +6,8 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<upstream>
+ <bugs-to>https://github.com/stigbjorlykke/rpm-spec-mode/issues/</bugs-to>
+ <remote-id type="github">stigbjorlykke/rpm-spec-mode</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/rpm-spec-mode/rpm-spec-mode-0.15.ebuild b/app-emacs/rpm-spec-mode/rpm-spec-mode-0.15.ebuild
index 0086ffe7ae34..a7f24a7b33d1 100644
--- a/app-emacs/rpm-spec-mode/rpm-spec-mode-0.15.ebuild
+++ b/app-emacs/rpm-spec-mode/rpm-spec-mode-0.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,4 +14,5 @@ LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+PATCHES=( "${FILESDIR}"/${P}-emacs-28.patch )
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/rpm-spec-mode/rpm-spec-mode-0.16.ebuild b/app-emacs/rpm-spec-mode/rpm-spec-mode-0.16.ebuild
new file mode 100644
index 000000000000..bccd84822897
--- /dev/null
+++ b/app-emacs/rpm-spec-mode/rpm-spec-mode-0.16.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == 0.16 ]] && COMMIT=7d06d19a31e888b932da6c8202ff2c73f42703a1
+
+inherit elisp
+
+DESCRIPTION="Emacs mode to ease editing of RPM spec files"
+HOMEPAGE="https://www.emacswiki.org/emacs/RpmSpecMode
+ https://github.com/stigbjorlykke/rpm-spec-mode/"
+SRC_URI="https://github.com/stigbjorlykke/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.15-emacs-28.patch )
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ruby-mode/Manifest b/app-emacs/ruby-mode/Manifest
deleted file mode 100644
index 800f9644f515..000000000000
--- a/app-emacs/ruby-mode/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST ruby-2.5.5.tar.xz 11459832 BLAKE2B ced1105a87e7df8f82a65ca8d1d329d5a9d110d2f3f88b27a79262c4ac1484dda16d8646c0c03f18c1bb25f8b154075eb03a0614355ec62f677c2fa56ab3c956 SHA512 06b1d58536ebfacb7b56c1e6ed4b8ab816fadc4f48c845a452554cd262e7908199a30e5793f3cbaec2db56a8803aa5c6089abf7bf06c8fc47867e97870b7dfec
-DIST ruby-mode-2.6.3.tar.gz 28460 BLAKE2B 15ab0115cc669f31d656a6af03c061699cfd872130ed51240ecbf80fae413b1d2d8ed87ea1515584f276d15ee164a3c14f9138bf5054418419f6c09b2a72e8e4 SHA512 bbeaa3ae788ea3a536715dc8dc0b4c82803d0a21ce44ae048a5a1c1e331f8c571980feaf38f42455e2de099210bbd4d6f3e8dc2984d6318a70fe04aa6c0d9520
-DIST ruby-mode-2.7.0.tar.gz 28533 BLAKE2B a41bdd88ab6ee56b81d1fefd923967fe7b7219429a2727f62bbff5a76b294c18ec5fa941428dd6b8cd76687e1f362752e598cc8ad9fb8b8813143b0d1cfa25ce SHA512 17644db69d3ea5674d8bf48a87db5e2f396a7d032428e9e8b63dac2a45fafbe506440af7429c440e82d194df670d6dec5e3d6908b49654300493dba1be5450d8
-DIST ruby-mode-3.0.0.tar.gz 17748 BLAKE2B c0fc06ed11be0fa2fe82f1557ab4e55013abe53137557afcc3a8737ee73aa009d0f2b6069e2d8267afbd3d3d60442911c5e0328d7ec76d493719e7dce5c928e4 SHA512 6d1ef6adeff8de90705c25a726491d35476c6c7841f0ec016e9580f8781403a785da6083e76d14b699c054c1eed1cf52572284932797fdeb318426d76d328029
diff --git a/app-emacs/ruby-mode/files/50ruby-mode-gentoo-2.5.0.el b/app-emacs/ruby-mode/files/50ruby-mode-gentoo-2.5.0.el
deleted file mode 100644
index 691abdfdaf99..000000000000
--- a/app-emacs/ruby-mode/files/50ruby-mode-gentoo-2.5.0.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-
-(autoload 'ruby-mode "ruby-mode" "Major mode to edit ruby files." t)
-
-(add-to-list 'auto-mode-alist '("Rakefile\\'" . ruby-mode))
-(add-to-list 'auto-mode-alist '("\\.\\(rake\\|rb\\)\\'" . ruby-mode))
-(add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
-
-(autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process" t)
-(autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode")
-
-(add-hook 'ruby-mode-hook 'inf-ruby-keys)
diff --git a/app-emacs/ruby-mode/metadata.xml b/app-emacs/ruby-mode/metadata.xml
deleted file mode 100644
index 986088003fe1..000000000000
--- a/app-emacs/ruby-mode/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
-</pkgmetadata>
diff --git a/app-emacs/ruby-mode/ruby-mode-2.5.5.ebuild b/app-emacs/ruby-mode/ruby-mode-2.5.5.ebuild
deleted file mode 100644
index 0f0f570ac6b7..000000000000
--- a/app-emacs/ruby-mode/ruby-mode-2.5.5.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="Emacs major mode for editing Ruby code"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://cache.ruby-lang.org/pub/ruby/ruby-${PV}.tar.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-S="${WORKDIR}/ruby-${PV}/misc"
-DOCS="README"
-SITEFILE="50${PN}-gentoo-2.5.0.el"
diff --git a/app-emacs/ruby-mode/ruby-mode-2.6.3.ebuild b/app-emacs/ruby-mode/ruby-mode-2.6.3.ebuild
deleted file mode 100644
index 6cd7b2e93633..000000000000
--- a/app-emacs/ruby-mode/ruby-mode-2.6.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-COMMIT=75bccbb384e6907df47ab69acdccb4536806c890
-
-DESCRIPTION="Emacs major mode for editing Ruby code"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://github.com/ruby/elisp/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-S="${WORKDIR}/elisp-${COMMIT}"
-DOCS="README"
-SITEFILE="50${PN}-gentoo-2.5.0.el"
diff --git a/app-emacs/ruby-mode/ruby-mode-2.7.0.ebuild b/app-emacs/ruby-mode/ruby-mode-2.7.0.ebuild
deleted file mode 100644
index 0a4a6b7023f5..000000000000
--- a/app-emacs/ruby-mode/ruby-mode-2.7.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-COMMIT=defe0b586b2a888706507a7bbcdf1201d924cc2d
-
-DESCRIPTION="Emacs major mode for editing Ruby code"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://github.com/ruby/elisp/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-S="${WORKDIR}/elisp-${COMMIT}"
-DOCS="README"
-SITEFILE="50${PN}-gentoo-2.5.0.el"
diff --git a/app-emacs/ruby-mode/ruby-mode-3.0.0.ebuild b/app-emacs/ruby-mode/ruby-mode-3.0.0.ebuild
deleted file mode 100644
index 2424af40dc80..000000000000
--- a/app-emacs/ruby-mode/ruby-mode-3.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-COMMIT=586b679b4ae9685a24003502249920e7721c6e24
-
-DESCRIPTION="Emacs major mode for editing Ruby code"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://github.com/ruby/elisp/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-
-S="${WORKDIR}/elisp-${COMMIT}"
-DOCS="README"
-SITEFILE="50${PN}-gentoo-2.5.0.el"
diff --git a/app-emacs/rudel/Manifest b/app-emacs/rudel/Manifest
index a599e10ac881..41b818b87a55 100644
--- a/app-emacs/rudel/Manifest
+++ b/app-emacs/rudel/Manifest
@@ -1 +1,2 @@
DIST rudel-0.3.1.tar.xz 418076 BLAKE2B e4a85abba24c3241cf5f8b468c6953662584256998c28cea6b1df59bcc943b364b9b1564787758c2d2c55ce61cbddf1e10c22714dc99c4b705831000eb5835f8 SHA512 b006745af5d5f607da78e910d226abfdd51343e806a14f1fbe340fc7b92503dba6b5d43668967da346bdf534b983d0de4b83d9039f5c5940b6b0d1c0fad3ad6b
+DIST rudel-0.3.2.tar.xz 418588 BLAKE2B 25b1d1607ea22ed35e9bff613ccc5043eb7e83d0ed98a37097ba3ae61242be8181cc9cd35066129526534f98b60c59114f8384e1a4e6de060884761cccde6baf SHA512 cb98f9e881a9c89224ed50870f9cb2201171c97f9dd79c932b385299f34fce053b2573713a8cc84593e0c370ac0012df20fbaccbff590a0067d166803dc17bc6
diff --git a/app-emacs/rudel/files/60rudel-gentoo.el b/app-emacs/rudel/files/60rudel-gentoo.el
deleted file mode 100644
index 2383074cfe17..000000000000
--- a/app-emacs/rudel/files/60rudel-gentoo.el
+++ /dev/null
@@ -1,13 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'rudel-join-session "rudel-loaddefs"
- "Start a collaborative Rudel session" t)
-(autoload 'rudel-host-session "rudel-loaddefs"
- "Host a collaborative Rudel session" t)
-(autoload 'rudel-speedbar "rudel-loaddefs"
- "Show connected users and documents for the Rudel session in speedbar" t)
-(autoload 'global-rudel-minor-mode "rudel-loaddefs"
- "Bindings for rudel session-level commands" t)
-
-;;(global-set-key (kbd "C-c c j") 'rudel-join-session)
-
-(setq rudel-icons-directory "@SITEETC@/icons/")
diff --git a/app-emacs/rudel/rudel-0.3.1.ebuild b/app-emacs/rudel/rudel-0.3.1.ebuild
index 6eefe4af2530..d37bacb2faa6 100644
--- a/app-emacs/rudel/rudel-0.3.1.ebuild
+++ b/app-emacs/rudel/rudel-0.3.1.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS=24
inherit readme.gentoo-r1 elisp
diff --git a/app-emacs/rudel/rudel-0.3.2.ebuild b/app-emacs/rudel/rudel-0.3.2.ebuild
new file mode 100644
index 000000000000..79048ebdd49e
--- /dev/null
+++ b/app-emacs/rudel/rudel-0.3.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Collaborative editing environment for GNU Emacs"
+HOMEPAGE="http://rudel.sourceforge.net/
+ https://www.emacswiki.org/emacs/Rudel"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz" # from GNU ELPA
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="60${PN}-gentoo-0.3.1.el"
+
+src_install() {
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+
+ dodoc README INSTALL ChangeLog TODO doc/card.pdf
+
+ DOC_CONTENTS="Connections to Gobby servers require the gnutls-cli program
+ (net-libs/gnutls[tools]).
+ \\n\\nThe Avahi daemon (net-dns/avahi) is required for automatic
+ session discovery and advertising."
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/rust-mode/Manifest b/app-emacs/rust-mode/Manifest
index f8615128ca7d..bcb4cf28b0b1 100644
--- a/app-emacs/rust-mode/Manifest
+++ b/app-emacs/rust-mode/Manifest
@@ -1,2 +1 @@
-DIST rust-mode-0.3.0_p20190125.tar.xz 37580 BLAKE2B d4d3ae9dac452ba3e2966d5036bd5f4edb4066ca65954b7f18a99c56ad6a8848fd80ef799c7c266c77a844839d87ab9641c77afc089a17e4e459fea27b6af982 SHA512 303d7f183006769b3fdf7a7118b36d29d785c2a29cf88ae286cb86180f84a4e50e66597d3bc984979e2509b872632d750fba96ff522081df5351d8d9511a3272
-DIST rust-mode-0.4.0.tar.gz 41774 BLAKE2B c0263f9fa839dcf5ee74706d8d13c10161d024114fda161dbd5235036eb322d273e8624a23f5e848e9246500d1da0c272420cb89f250f8d1852c7552eb7d0939 SHA512 fe0e1d667ba9595f9cbed22e0f88096508e49ffe8e3c86349cb3319eefea38a1dd86c2b55aef1415ae0cfc3b65ac6807f1863eb0e6eaa9ff49aea989a46e5edc
+DIST rust-mode-1.0.5.tar.gz 52665 BLAKE2B 3b61372223637b7950ec7a15a80abd3b74972ecda0677f730f3ebc8e574b50985a7427b4531766b1dfd20225f7b718497aa4437dadfa041c5a9cde9413d3cb5c SHA512 7b76384adf7281866fbef0ab507098084a96fe562d1dbd5dd99e03fda2a91c23392c8667c21aa5800b188cd09f5349a7394b0a7215826b9bc668cc36ac902999
diff --git a/app-emacs/rust-mode/files/rust-mode-1.0.5-tests.patch b/app-emacs/rust-mode/files/rust-mode-1.0.5-tests.patch
new file mode 100644
index 000000000000..a7cbe494438e
--- /dev/null
+++ b/app-emacs/rust-mode/files/rust-mode-1.0.5-tests.patch
@@ -0,0 +1,36 @@
+From 8e85850cdba5cbe265d974e63b84b54a9bc9133e Mon Sep 17 00:00:00 2001
+From: Philipp Stephani <phst@google.com>
+Date: Wed, 26 Apr 2023 10:27:30 +0200
+Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20duplicate=20test=20name.?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Emacs 29 will signal an error in this case in batch mode, and in any case the
+first test in the duplicate series will never run.
+---
+ rust-mode-tests.el | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/rust-mode-tests.el b/rust-mode-tests.el
+index c1d0501..3b23046 100644
+--- a/rust-mode-tests.el
++++ b/rust-mode-tests.el
+@@ -2797,7 +2797,7 @@ fn foo<T:Fn() -> X<Y>>() -> Z {
+ )
+ ))
+
+-(ert-deftest rust-test-paren-matching-lt-ops-in-fn-params ()
++(ert-deftest rust-test-paren-matching-lt-ops-in-fn-params-1 ()
+ (rust-test-matching-parens
+ "
+ fn foo(x:i32) {
+@@ -2809,7 +2809,7 @@ fn foo(x:i32) {
+ )
+ ))
+
+-(ert-deftest rust-test-paren-matching-lt-ops-in-fn-params ()
++(ert-deftest rust-test-paren-matching-lt-ops-in-fn-params-2 ()
+ (rust-test-matching-parens
+ "
+ fn foo(x:i32) -> bool {
diff --git a/app-emacs/rust-mode/metadata.xml b/app-emacs/rust-mode/metadata.xml
index 986088003fe1..bfd68daacfa7 100644
--- a/app-emacs/rust-mode/metadata.xml
+++ b/app-emacs/rust-mode/metadata.xml
@@ -5,5 +5,8 @@
<email>gnu-emacs@gentoo.org</email>
<name>Gentoo GNU Emacs project</name>
</maintainer>
+<upstream>
+ <remote-id type="github">rust-lang/rust-mode</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/rust-mode/rust-mode-0.3.0_p20190125.ebuild b/app-emacs/rust-mode/rust-mode-0.3.0_p20190125.ebuild
deleted file mode 100644
index 08710c7798e1..000000000000
--- a/app-emacs/rust-mode/rust-mode-0.3.0_p20190125.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A major emacs mode for editing Rust source code"
-HOMEPAGE="https://github.com/rust-lang/rust-mode"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_test() {
- ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
- -l rust-mode.el -l rust-mode-tests.el \
- -f ert-run-tests-batch-and-exit || die "tests failed"
-}
-
-src_install() {
- elisp-install ${PN} rust-mode.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/rust-mode/rust-mode-0.4.0.ebuild b/app-emacs/rust-mode/rust-mode-0.4.0.ebuild
deleted file mode 100644
index d071ded4dca4..000000000000
--- a/app-emacs/rust-mode/rust-mode-0.4.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A major emacs mode for editing Rust source code"
-HOMEPAGE="https://github.com/rust-lang/rust-mode"
-SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-src_test() {
- ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \
- -l rust-mode.el -l rust-mode-tests.el \
- -f ert-run-tests-batch-and-exit || die "tests failed"
-}
-
-src_install() {
- elisp-install ${PN} rust-mode.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-}
diff --git a/app-emacs/rust-mode/rust-mode-1.0.5.ebuild b/app-emacs/rust-mode/rust-mode-1.0.5.ebuild
new file mode 100644
index 000000000000..ad4ba5f74a17
--- /dev/null
+++ b/app-emacs/rust-mode/rust-mode-1.0.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A major emacs mode for editing Rust source code"
+HOMEPAGE="https://github.com/rust-lang/rust-mode"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="0"
+
+PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -l ${PN}-tests.el
diff --git a/app-emacs/s/Manifest b/app-emacs/s/Manifest
index 12ab2a8aeb7e..e24406530477 100644
--- a/app-emacs/s/Manifest
+++ b/app-emacs/s/Manifest
@@ -1 +1,2 @@
DIST s-1.12.0.tar.gz 59193 BLAKE2B 89e4c453b6590116a4cc08fc1be73519e6c95586c1e80b37f37d7273232aa707cd030cf74106fdd7eb7f05fe8ebd04253592076573472c3927cc1428b4c029f8 SHA512 036369011295dfde7567ae8bd479be9635de479e8821c3fe117a6c3827bc83492bb91e6ac64d4b20b061da95690f5585ed58f116a2b8c877dceee22153c8c990
+DIST s-1.13.0.tar.gz 60783 BLAKE2B 87f15341053924bf82e5b84f53a9f0ffb4713946974fb338f114ff25cb0c54ee6a4cdd6c2283eb089eb6ee85d268717dc2534a2de2bad0c7584f7e3ed941e42b SHA512 537e270256e7187ef470c03a3824f133bd0f3951b8470685cd865b4894710c6659efbdacbe347dcaac8de73d4e3a638cdb0cebdad8da6bf7f9a2f5d106bff1c6
diff --git a/app-emacs/s/files/50s-gentoo.el b/app-emacs/s/files/50s-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/s/files/50s-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/s/s-1.12.0-r1.ebuild b/app-emacs/s/s-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..7c91889d847b
--- /dev/null
+++ b/app-emacs/s/s-1.12.0-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="The long lost Emacs string manipulation library"
+HOMEPAGE="https://github.com/magnars/s.el"
+SRC_URI="https://github.com/magnars/s.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/s.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ sh run-tests.sh || die
+}
diff --git a/app-emacs/s/s-1.12.0.ebuild b/app-emacs/s/s-1.12.0.ebuild
deleted file mode 100644
index 1d0ca0aa37d0..000000000000
--- a/app-emacs/s/s-1.12.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="The long lost Emacs string manipulation library"
-HOMEPAGE="https://github.com/magnars/s.el"
-SRC_URI="https://github.com/magnars/s.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-S="${WORKDIR}/s.el-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/s/s-1.13.0.ebuild b/app-emacs/s/s-1.13.0.ebuild
new file mode 100644
index 000000000000..405923755f4f
--- /dev/null
+++ b/app-emacs/s/s-1.13.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="The long lost Emacs string manipulation library"
+HOMEPAGE="https://github.com/magnars/s.el"
+SRC_URI="https://github.com/magnars/s.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/s.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ppc64 ~riscv ~sparc x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ sh run-tests.sh || die
+}
diff --git a/app-emacs/scad-mode/Manifest b/app-emacs/scad-mode/Manifest
new file mode 100644
index 000000000000..7965bbdba325
--- /dev/null
+++ b/app-emacs/scad-mode/Manifest
@@ -0,0 +1 @@
+DIST scad-mode-93.2.tar.gz 18854 BLAKE2B 6f8753fbb636cd670027cc757fd85f9662cc2f0f8c40413609f223c4c28cacca9de1e02f05245587677a07013693080d37176e7c8736cbb191c0806f3cd8fd44 SHA512 53d761204d66aa9c2d6a680fa541fa1ba47362f1f792571773bbe8a7bcfcc437efa558ae689729cfad8def360f0ffcd2d7d163f350394b797e9f7584ddd53ac6
diff --git a/app-emacs/scad-mode/files/50scad-mode-gentoo.el b/app-emacs/scad-mode/files/50scad-mode-gentoo.el
new file mode 100644
index 000000000000..3cc7c1a7c46f
--- /dev/null
+++ b/app-emacs/scad-mode/files/50scad-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'scad-mode "scad-mode" "Major mode for editing SCAD code." t)
+(add-to-list 'auto-mode-alist '("\\.scad$" . scad-mode))
diff --git a/app-emacs/scad-mode/metadata.xml b/app-emacs/scad-mode/metadata.xml
new file mode 100644
index 000000000000..adfaf3c76f97
--- /dev/null
+++ b/app-emacs/scad-mode/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Gentoo Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/openscad/emacs-scad-mode/issues/</bugs-to>
+ <remote-id type="github">openscad/emacs-scad-mode</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/scad-mode/scad-mode-93.2-r1.ebuild b/app-emacs/scad-mode/scad-mode-93.2-r1.ebuild
new file mode 100644
index 000000000000..cc7e383ee958
--- /dev/null
+++ b/app-emacs/scad-mode/scad-mode-93.2-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Emacs mode to edit OpenSCAD files"
+HOMEPAGE="https://github.com/openscad/emacs-scad-mode"
+SRC_URI="https://github.com/openscad/emacs-scad-mode/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/emacs-${P}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/scala-mode/scala-mode-2.10.3.ebuild b/app-emacs/scala-mode/scala-mode-2.10.3.ebuild
index 5d191a5e3386..d116a89c8012 100644
--- a/app-emacs/scala-mode/scala-mode-2.10.3.ebuild
+++ b/app-emacs/scala-mode/scala-mode-2.10.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://www.scala-lang.org/files/archive/${MY_P}.tgz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND="dev-lang/scala"
diff --git a/app-emacs/scala-ts-mode/Manifest b/app-emacs/scala-ts-mode/Manifest
new file mode 100644
index 000000000000..135433dd008d
--- /dev/null
+++ b/app-emacs/scala-ts-mode/Manifest
@@ -0,0 +1 @@
+DIST scala-ts-mode-1.0.0_p20240316.tar.gz 18330 BLAKE2B aedcfa91563421673435def9dc2679d5c9f1feb1dde6214e8e7650ca8d72e6165253140bc506ba67cbc00b4e54d9edbb34db47089438b6de2e42699bf15ebfa7 SHA512 544622840cfefbab79ddae06d48cc5a9a6fb1802fd18f7c2b425b921713392e6d84b287dcdb3fa65d08d59f5af28ec2b23711685764affaf854238d3583b0cd3
diff --git a/app-emacs/scala-ts-mode/files/50scala-ts-mode-gentoo.el b/app-emacs/scala-ts-mode/files/50scala-ts-mode-gentoo.el
new file mode 100644
index 000000000000..47898c79b2cb
--- /dev/null
+++ b/app-emacs/scala-ts-mode/files/50scala-ts-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/scala-ts-mode-autoloads" nil t)
diff --git a/app-emacs/scala-ts-mode/metadata.xml b/app-emacs/scala-ts-mode/metadata.xml
new file mode 100644
index 000000000000..6dac1c0f961b
--- /dev/null
+++ b/app-emacs/scala-ts-mode/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KaranAhlawat/scala-ts-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/scala-ts-mode/scala-ts-mode-1.0.0_p20240316.ebuild b/app-emacs/scala-ts-mode/scala-ts-mode-1.0.0_p20240316.ebuild
new file mode 100644
index 000000000000..f7cfef4ef361
--- /dev/null
+++ b/app-emacs/scala-ts-mode/scala-ts-mode-1.0.0_p20240316.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_COMMIT="11a01d726ac4fafb8a6688459ac79b41333bd6c8"
+DESCRIPTION="Emacs Scala Mode via Tree-Sitter"
+HOMEPAGE="https://github.com/KaranAhlawat/scala-ts-mode"
+SRC_URI="
+ https://codeload.github.com/KaranAhlawat/scala-ts-mode/tar.gz/${MY_COMMIT}
+ -> ${P}.tar.gz
+"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=app-editors/emacs-29[tree-sitter]
+ dev-libs/tree-sitter-scala
+"
+
+DOCS="README.org"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/scheme-complete/Manifest b/app-emacs/scheme-complete/Manifest
index 580add1bc334..15cf993dc578 100644
--- a/app-emacs/scheme-complete/Manifest
+++ b/app-emacs/scheme-complete/Manifest
@@ -1 +1,2 @@
DIST scheme-complete-0.9.8.el.gz 39923 BLAKE2B a7f08917823145db0b79a0d0dd2987c98eb6711acc861fa840759c6377045f7ae3edb9973bc285e468c4a20fff02ade6f638a340ba8694007ab37000f3870cd4 SHA512 b162d7766184e8e58d25b93c8e4154848963fa1c29e59f90a4741c6cfb44c217d9ae655d1106d05eb53cefab0c91bf7800b9387143268490d5f8f0685a9a2483
+DIST scheme-complete-0.9.9.el.gz 40235 BLAKE2B b569c3c466ceeb2e00f5d20efc1c5321fb9a0b2c0f5cdcb7196c12c1c4e36788ed241ada03f16143606d06d2ec5f7574dcb4f013ad13871fc920569fee413150 SHA512 2f5dd8ea2cbdbb33d3167984769c40e6ee9580de6fa28e45aa03574ac41ac2dff1b48670ef075febfc2d9d1eebcbe8e71dad019b2505628b20d70245a6b1eb5f
diff --git a/app-emacs/scheme-complete/scheme-complete-0.9.9.ebuild b/app-emacs/scheme-complete/scheme-complete-0.9.9.ebuild
new file mode 100644
index 000000000000..849221e2fd60
--- /dev/null
+++ b/app-emacs/scheme-complete/scheme-complete-0.9.9.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Scheme tab-completion and word-completion for Emacs"
+HOMEPAGE="http://synthcode.com/"
+SRC_URI="http://synthcode.com/emacs/${P}.el.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+SITEFILE="60${PN}-gentoo.el"
diff --git a/app-emacs/semi/Manifest b/app-emacs/semi/Manifest
index 035e623e2b32..2b6e6c886ec1 100644
--- a/app-emacs/semi/Manifest
+++ b/app-emacs/semi/Manifest
@@ -1,2 +1,2 @@
-DIST semi-1.14.7_p20190517.tar.gz 152636 BLAKE2B a22b1f9a5de0a695de2d8e342ca313af05c12a1c0b597890d926496e9ce240e3329365700f91e6268cf399976ec067163ac8197c7a643e499d70851501f63798 SHA512 d25c940fdd0a048d21079d905ae91521a1f1247b8f78145baeba24c994c0d5b30985a76c909a793f82f6253b323fb4699bbf059ea48037bb49ae92505b0c6d18
DIST semi-1.14.7_p20210613.tar.gz 150809 BLAKE2B 6e91f3c28fbadd3ad0ac7856305d7acb5354df33cfb182924712023e5c7b5dce14176af9a5e5f44e345c60d5ec014e813151ee185a5115d6d4faa8d93d9e63b7 SHA512 aa89900f7f06d76301e109c267e7e3c4d97c7f1e1f075db147fa0a9e91aadef93a58522c7a35f5cca2fb5ba4c05397b98cbb4791f3a8e72242b3dbe7f03c29ad
+DIST semi-1.14.7_p20230811.tar.gz 150833 BLAKE2B b621cff7e987a7841175f68e0188f6c4d0b82b66b091d6a325a64aa0ce13d7fddac958f71ab211661a5f13740e406fe4ad038b7cc4e315742aa36905c311fca2 SHA512 09d9d8f4a6d0d046edf8738af8d0f479515f5164e663759e6dcd8451727e2905be6fcc403a974a2c39066221e9672a7408e66bc9dc3e4b0d81e365c9de5d6a49
diff --git a/app-emacs/semi/files/semi-info.patch b/app-emacs/semi/files/semi-info.patch
deleted file mode 100644
index 7a585bcab35b..000000000000
--- a/app-emacs/semi/files/semi-info.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -urN semi-1.14.6.orig/mime-ui-en.texi semi-1.14.6/mime-ui-en.texi
---- semi-1.14.6.orig/mime-ui-en.texi 2002-10-15 15:59:21.000000000 +0900
-+++ semi-1.14.6/mime-ui-en.texi 2004-08-21 02:31:44.479200664 +0900
-@@ -6,6 +6,11 @@
- @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
- @subtitle 1998/07/03
- @end titlepage
-+@dircategory GNU Emacs Lisp
-+@direntry
-+* Semi-en: (mime-ui-en). MIME user interface for GNU Emacs.
-+@end direntry
-+
- @node Top, Introduction, (dir), (dir)
- @top SEMI 1.14 Manual
-
-diff -urN semi-1.14.6.orig/mime-ui-ja.texi semi-1.14.6/mime-ui-ja.texi
---- semi-1.14.6.orig/mime-ui-ja.texi 2002-10-15 15:59:21.000000000 +0900
-+++ semi-1.14.6/mime-ui-ja.texi 2004-08-21 02:31:33.727835120 +0900
-@@ -6,6 +6,11 @@
- @author $B<i2,(B $BCNI'(B <morioka@@jaist.ac.jp>
- @subtitle 1998/07/03
- @end titlepage
-+@dircategory GNU Emacs Lisp
-+@direntry
-+* Semi-ja: (mime-ui-ja). MIME user interface for GNU Emacs.
-+@end direntry
-+
- @node Top, Introduction, (dir), (dir)
- @top SEMI 1.14 $B@bL@=q(B
-
diff --git a/app-emacs/semi/metadata.xml b/app-emacs/semi/metadata.xml
index 986088003fe1..f673b94f1fb9 100644
--- a/app-emacs/semi/metadata.xml
+++ b/app-emacs/semi/metadata.xml
@@ -6,4 +6,7 @@
<name>Gentoo GNU Emacs project</name>
</maintainer>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">wanderlust/semi</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/semi/semi-1.14.7_p20190517.ebuild b/app-emacs/semi/semi-1.14.7_p20190517.ebuild
deleted file mode 100644
index cc9296844af8..000000000000
--- a/app-emacs/semi/semi-1.14.7_p20190517.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A library to provide MIME feature for GNU Emacs"
-HOMEPAGE="https://github.com/wanderlust/semi"
-GITHUB_SHA1="4cf114c95fb49ad75eb6916f678b45b04bad8122"
-SRC_URI="https://github.com/wanderlust/semi/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="l10n_ja"
-
-DEPEND=">=app-emacs/apel-10.8
- >=app-emacs/flim-1.14.9"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
-ELISP_PATCHES="${PN}-info.patch"
-SITEFILE="65${PN}-gentoo.el"
-
-src_compile() {
- emake
-
- ${EMACS} ${EMACSFLAGS} --visit mime-ui-en.texi -f texi2info || die
- if use l10n_ja; then
- ${EMACS} ${EMACSFLAGS} \
- --eval "(set-default-coding-systems 'iso-2022-jp)" \
- --visit mime-ui-ja.texi -f texi2info || die
- fi
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" \
- LISPDIR="${ED}/${SITELISP}" \
- VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- doinfo mime-ui-en.info
- dodoc README.en ChangeLog VERSION NEWS
- if use l10n_ja; then
- doinfo mime-ui-ja.info
- dodoc README.ja
- fi
-}
diff --git a/app-emacs/semi/semi-1.14.7_p20210613.ebuild b/app-emacs/semi/semi-1.14.7_p20210613.ebuild
index 00a4e3958888..7c6744a6440f 100644
--- a/app-emacs/semi/semi-1.14.7_p20210613.ebuild
+++ b/app-emacs/semi/semi-1.14.7_p20210613.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-NEED_EMACS=24.5
inherit elisp
diff --git a/app-emacs/semi/semi-1.14.7_p20230811.ebuild b/app-emacs/semi/semi-1.14.7_p20230811.ebuild
new file mode 100644
index 000000000000..26f90e96c6fc
--- /dev/null
+++ b/app-emacs/semi/semi-1.14.7_p20230811.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A library to provide MIME feature for GNU Emacs"
+HOMEPAGE="https://github.com/wanderlust/semi"
+GITHUB_SHA1="9370961ddcee78e389e44b36d38c3d93f8351619"
+SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="l10n_ja"
+
+RDEPEND=">=app-emacs/apel-10.8
+ >=app-emacs/flim-1.14.9"
+DEPEND="${RDEPEND}"
+
+PATCHES="${FILESDIR}/${PN}-1.14.7_p20210613-info.patch"
+SITEFILE="65${PN}-gentoo.el"
+
+src_compile() {
+ emake PACKAGE_LISPDIR="NONE"
+
+ ${EMACS} ${EMACSFLAGS} --visit mime-ui-en.texi -f texi2info || die
+ if use l10n_ja; then
+ ${EMACS} ${EMACSFLAGS} \
+ --eval "(set-default-coding-systems 'iso-2022-jp)" \
+ --visit mime-ui-ja.texi -f texi2info || die
+ fi
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" \
+ LISPDIR="${ED}/${SITELISP}" \
+ PACKAGE_LISPDIR="NONE" \
+ VERSION_SPECIFIC_LISPDIR="${ED}/${SITELISP}" install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ doinfo mime-ui-en.info
+ dodoc README.en ChangeLog* VERSION NEWS
+ if use l10n_ja; then
+ doinfo mime-ui-ja.info
+ dodoc README.ja
+ fi
+}
diff --git a/app-emacs/servant/Manifest b/app-emacs/servant/Manifest
new file mode 100644
index 000000000000..2f1ee608320d
--- /dev/null
+++ b/app-emacs/servant/Manifest
@@ -0,0 +1 @@
+DIST servant-0.3.0.tar.gz 5440 BLAKE2B 8ff804f01dc60daa5134c3a7bd872ba36508fc6bc94641acb5b10662cccdd808453d4a26ca23198291919ac7fafbfb5dcb727b9091a15ce7c98f7b54bd03caee SHA512 7c7dd448bc1164bb76f7b17c109ee7e1e489b7ef80d7b0cc04257fdcc99158500f9bfb3a733d1b6d879b69dc3a752165ea743044996993ed76fb02d71a6db44a
diff --git a/app-emacs/servant/files/servant-bin-launcher-fix.patch b/app-emacs/servant/files/servant-bin-launcher-fix.patch
new file mode 100644
index 000000000000..33f33ef928e8
--- /dev/null
+++ b/app-emacs/servant/files/servant-bin-launcher-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/bin/servant b/bin/servant
+index dc8fabe..0cfc72c 100755
+--- a/bin/servant
++++ b/bin/servant
+@@ -6,6 +6,6 @@ else
+ SERVANT_EMACS="${EMACS:-emacs}"
+ fi
+
+-SERVANT_HOME="$(dirname $(dirname $0))"
++SERVANT_HOME="@SITELISP@"
+
+-${SERVANT_EMACS} -Q --script "${SERVANT_HOME}/servant-cli.el" -- "$@"
++${SERVANT_EMACS} -q --script "${SERVANT_HOME}/servant-cli.el" -- "$@"
diff --git a/app-emacs/servant/metadata.xml b/app-emacs/servant/metadata.xml
new file mode 100644
index 000000000000..27e367f4079f
--- /dev/null
+++ b/app-emacs/servant/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/cask/servant/issues/</bugs-to>
+ <remote-id type="github">cask/servant</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/servant/servant-0.3.0.ebuild b/app-emacs/servant/servant-0.3.0.ebuild
new file mode 100644
index 000000000000..1da96f816007
--- /dev/null
+++ b/app-emacs/servant/servant-0.3.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="ELPA server written in Emacs Lisp"
+HOMEPAGE="https://github.com/cask/servant/"
+SRC_URI="https://github.com/cask/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # Tests fail
+
+RDEPEND="
+ app-emacs/ansi
+ app-emacs/commander
+ app-emacs/dash
+ app-emacs/epl
+ app-emacs/f
+ app-emacs/s
+ app-emacs/shut-up
+ app-emacs/web-server
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+PATCHES=( "${FILESDIR}"/${PN}-bin-launcher-fix.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITELISP@|${EPREFIX}${SITELISP}/${PN}|" -i bin/${PN} || die
+}
+
+src_install() {
+ elisp_src_install
+
+ dobin bin/${PN}
+}
diff --git a/app-emacs/sesman/Manifest b/app-emacs/sesman/Manifest
new file mode 100644
index 000000000000..33c5f021ded8
--- /dev/null
+++ b/app-emacs/sesman/Manifest
@@ -0,0 +1 @@
+DIST sesman-0.3.4.tar.gz 18256 BLAKE2B 3d7eca5bb5df1778053cf9e37a9d02f16fd98e3c42163c19ae8bf04815ed7e1a7e17b5a050ad5b3f7258764c0a2d71c06de820b6023df100e4a2d3aa263ced2d SHA512 e9478ca4a3cbe1cc357b983c14d94fbe20b95cc8ac1789136700016ce749febcbf3ce28879e9fc02373fbf1a828c0786b35a6e808baf8a607aa34292838a49bf
diff --git a/app-emacs/sesman/files/50sesman-gentoo.el b/app-emacs/sesman/files/50sesman-gentoo.el
new file mode 100644
index 000000000000..fa3dffc96c2e
--- /dev/null
+++ b/app-emacs/sesman/files/50sesman-gentoo.el
@@ -0,0 +1,5 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'sesman-browser "sesman-browser"
+ "Display an interactive session browser." t)
+(autoload 'sesman-start "sesman"
+ "Start a Sesman session." t)
diff --git a/app-emacs/sesman/metadata.xml b/app-emacs/sesman/metadata.xml
new file mode 100644
index 000000000000..017fcd7db750
--- /dev/null
+++ b/app-emacs/sesman/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Sesman provides facilities for session management and interactive session
+ association with the current contexts (e.g. project, directory, buffers).
+ While sesman can be used to manage arbitrary "sessions", it primary targets
+ the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.) For Emacs based
+ IDEs, session are commonly composed of one or more physical processes
+ (sub-processes, sockets, websockets etc). For example in the current
+ implementation of CIDER a session would be composed of one or more sesman
+ connections (Clojure or ClojureScript). Each CIDER connection consists of
+ user REPL buffer and two sub-processes, one for user eval communication and
+ another for tooling (completion, inspector etc).
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/vspinu/sesman/issues/</bugs-to>
+ <remote-id type="github">vspinu/sesman</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/sesman/sesman-0.3.4.ebuild b/app-emacs/sesman/sesman-0.3.4.ebuild
new file mode 100644
index 000000000000..6dbea7576a93
--- /dev/null
+++ b/app-emacs/sesman/sesman-0.3.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Generic session manager for Emacs based IDEs"
+HOMEPAGE="https://github.com/vspinu/sesman/"
+SRC_URI="https://github.com/vspinu/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l ${PN}-test.el \
+ -f ert-run-tests-batch-and-exit || die
+}
+
+src_install() {
+ rm sesman-test.el* || die
+
+ elisp_src_install
+}
diff --git a/app-emacs/session/files/50session-gentoo.el b/app-emacs/session/files/50session-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/session/files/50session-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/setup/Manifest b/app-emacs/setup/Manifest
new file mode 100644
index 000000000000..7cd4c2ad3839
--- /dev/null
+++ b/app-emacs/setup/Manifest
@@ -0,0 +1 @@
+DIST setup-1.3.2.tar.gz 19985 BLAKE2B d2166d22d13bfd4e01fef9ca25372dab30af237394abc3d55e78c50d5fa26aa09fa82b4f0940b73f27012e0fce1e3b76c802dc271463c89f9ab5e664023c0722 SHA512 14eebda45b713f657be391d71f51d86642a1d36155c1bc914fca170fe5718b136da726685559531cc8e738cc9cbc823f02eb231339b75eeb19e4e02085455120
diff --git a/app-emacs/setup/files/50setup-gentoo.el b/app-emacs/setup/files/50setup-gentoo.el
new file mode 100644
index 000000000000..be25af07cd53
--- /dev/null
+++ b/app-emacs/setup/files/50setup-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/setup-autoloads" nil t)
diff --git a/app-emacs/setup/metadata.xml b/app-emacs/setup/metadata.xml
new file mode 100644
index 000000000000..fa7b60b1d3c5
--- /dev/null
+++ b/app-emacs/setup/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="sourcehut">~pkal/setup</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/setup/setup-1.3.2.ebuild b/app-emacs/setup/setup-1.3.2.ebuild
new file mode 100644
index 000000000000..8d1afc8e3210
--- /dev/null
+++ b/app-emacs/setup/setup-1.3.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+# The upstream does not create git tags for releases.
+MY_HASH=28926bd11eef6118f4e169d10c1c36b8c4e545ae
+
+inherit elisp
+
+DESCRIPTION="Macro to simplify repetitive configuration patterns"
+HOMEPAGE="https://git.sr.ht/~pkal/setup"
+SRC_URI="https://git.sr.ht/~pkal/${PN}/archive/${MY_HASH}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_HASH}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/sharper/Manifest b/app-emacs/sharper/Manifest
new file mode 100644
index 000000000000..8dd2fbbe2d82
--- /dev/null
+++ b/app-emacs/sharper/Manifest
@@ -0,0 +1 @@
+DIST sharper-1.0_p20230129.tar.gz 288565 BLAKE2B aef8d9a0af0b41b92fb85e760cd449ee81fbbb7a161885b1e783e83e4b2ca553ae12d7c5f954c4ddb842d934b6da2f93d87f50d62c6e79a8aaabfeabfdf5bdad SHA512 c2adfeccb77e96bb681061dbb1276373159e97374a6b30f1e1e2cc343340b4ab1083d9c2f67f02ecc0061cd37a36b03831a2f4320b0b0b1e2d4617cfa0a8a68e
diff --git a/app-emacs/sharper/files/50sharper-gentoo.el b/app-emacs/sharper/files/50sharper-gentoo.el
new file mode 100644
index 000000000000..ee56842736b9
--- /dev/null
+++ b/app-emacs/sharper/files/50sharper-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'sharper-main-transient "@SITELISP@/sharper.el" nil t)
diff --git a/app-emacs/sharper/metadata.xml b/app-emacs/sharper/metadata.xml
new file mode 100644
index 000000000000..7674f06c6c81
--- /dev/null
+++ b/app-emacs/sharper/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+This is a Transient-based menu for the dotnet CLI. It aims to cover the most common scenarios, but I expect eventually all of the dotnet commands will be implemented.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/sebasmonia/sharper/issues/</bugs-to>
+ <remote-id type="github">sebasmonia/sharper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/sharper/sharper-1.0_p20230129-r1.ebuild b/app-emacs/sharper/sharper-1.0_p20230129-r1.ebuild
new file mode 100644
index 000000000000..3e8c6095ed9e
--- /dev/null
+++ b/app-emacs/sharper/sharper-1.0_p20230129-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION=".NET SDK CLI wrapper for GNU Emacs using Transient"
+HOMEPAGE="https://github.com/sebasmonia/sharper/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/sebasmonia/${PN}.git"
+else
+ [[ "${PV}" == *_p20230129 ]] && COMMIT=496e90e337cb09329d85a6d171c0953a85e918fe
+
+ SRC_URI="https://github.com/sebasmonia/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/transient
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/shell-split-string/Manifest b/app-emacs/shell-split-string/Manifest
new file mode 100644
index 000000000000..cd0fd64bb78c
--- /dev/null
+++ b/app-emacs/shell-split-string/Manifest
@@ -0,0 +1 @@
+DIST shell-split-string-0.1.tar.gz 3453 BLAKE2B 3907501aff6aeee821050980b0c65612e0b76bfc3dc98735d70b2bdabd4bd19d1225d4e5c85bc2910e795e53715d2dfc49b900c24f8ed6bb63751e8e25e41c89 SHA512 55b76a4664cecb1c894559efd8270a567868f1e758b55ea23480cfdb550009af0042d69302b7ac7b73eef54e01c01e9978bfb5421d2db3806a4054e3b7e8f893
diff --git a/app-emacs/shell-split-string/metadata.xml b/app-emacs/shell-split-string/metadata.xml
new file mode 100644
index 000000000000..76ba7d6b2ab5
--- /dev/null
+++ b/app-emacs/shell-split-string/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/10sr/shell-split-string-el/issues/</bugs-to>
+ <remote-id type="github">10sr/shell-split-string-el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/shell-split-string/shell-split-string-0.1.ebuild b/app-emacs/shell-split-string/shell-split-string-0.1.ebuild
new file mode 100644
index 000000000000..1538d8985c5d
--- /dev/null
+++ b/app-emacs/shell-split-string/shell-split-string-0.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Split Strings Using Shell-Like Syntax"
+HOMEPAGE="https://github.com/10sr/shell-split-string-el/"
+SRC_URI="https://github.com/10sr/${PN}-el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-el-${PV}
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ emake emacs=${EMACS} test
+}
diff --git a/app-emacs/shrink-path/Manifest b/app-emacs/shrink-path/Manifest
new file mode 100644
index 000000000000..1c0a8a217da4
--- /dev/null
+++ b/app-emacs/shrink-path/Manifest
@@ -0,0 +1 @@
+DIST shrink-path.el-v0.3.1.tar.bz2 15743 BLAKE2B 8f5db089737f2d31c9f5852265f1b33679de3cc72989bf04b8d50871b3b8fa356da6823177759561b99ee5b032fb10ba1c51f49cdd7d74daafb1d6cac44ba2b7 SHA512 f4cc191186c2a2e706ff08fbcd43f24dd67297a368c42da72626d70e3522d5b24ceba45a2e17821f6288576f10e0208e3d643946108edd6180502dd1bad019ed
diff --git a/app-emacs/shrink-path/metadata.xml b/app-emacs/shrink-path/metadata.xml
new file mode 100644
index 000000000000..153a3a2b8efb
--- /dev/null
+++ b/app-emacs/shrink-path/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/bennya/shrink-path.el/-/issues/</bugs-to>
+ <remote-id type="gitlab">bennya/shrink-path.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/shrink-path/shrink-path-0.3.1.ebuild b/app-emacs/shrink-path/shrink-path-0.3.1.ebuild
new file mode 100644
index 000000000000..e049b13afcca
--- /dev/null
+++ b/app-emacs/shrink-path/shrink-path-0.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Fish-style path truncation for GNU Emacs"
+HOMEPAGE="https://gitlab.com/bennya/shrink-path.el/"
+SRC_URI="https://gitlab.com/bennya/${PN}.el/-/archive/v${PV}/${PN}.el-v${PV}.tar.bz2"
+S="${WORKDIR}"/${PN}.el-v${PV}
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ app-emacs/s
+ app-emacs/dash
+ app-emacs/f
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
+
+src_prepare() {
+ sed -i 's|it "same as shrink-path"|xit "same as shrink-path"|' \
+ "${S}"/test/shrink-path-test.el || die
+
+ default
+}
diff --git a/app-emacs/shut-up/Manifest b/app-emacs/shut-up/Manifest
new file mode 100644
index 000000000000..e8adbe6988e5
--- /dev/null
+++ b/app-emacs/shut-up/Manifest
@@ -0,0 +1 @@
+DIST shut-up-0.3.3.tar.gz 4479 BLAKE2B 0cb9ee028386ceb9b80385a6893c203481a79619f8780c641ca76a8878bece3944973ba78a41e1a554d4c9402ec2227d1234a9b6862b01d489dba30db021b731 SHA512 b14110022bd1512985fe40194c419f06cc8f5f6c819f02e681a89c2f80a32140e20eea6e3bb659b1abee85021b01bdc0b48d3ff12d6fac6072635fbdcb808484
diff --git a/app-emacs/shut-up/metadata.xml b/app-emacs/shut-up/metadata.xml
new file mode 100644
index 000000000000..4faa9fa90905
--- /dev/null
+++ b/app-emacs/shut-up/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/cask/shut-up/issues/</bugs-to>
+ <remote-id type="github">cask/shut-up</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/shut-up/shut-up-0.3.3.ebuild b/app-emacs/shut-up/shut-up-0.3.3.ebuild
new file mode 100644
index 000000000000..2ec39fef42d5
--- /dev/null
+++ b/app-emacs/shut-up/shut-up-0.3.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Reduce Emacs output of messages"
+HOMEPAGE="https://github.com/cask/shut-up/"
+SRC_URI="https://github.com/cask/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/f
+ app-emacs/s
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -L test -l test/${PN}-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
diff --git a/app-emacs/slime/Manifest b/app-emacs/slime/Manifest
index b378c5c5b9cf..c0e2784cd300 100644
--- a/app-emacs/slime/Manifest
+++ b/app-emacs/slime/Manifest
@@ -1 +1,3 @@
-DIST slime-2.21.tar.gz 810610 BLAKE2B d5126e60fb04af2c712426dc9b701cfcabb04a16ab4df6ee138c9f77280fa892e608a04f1af1154b42f7063cc85464146e9a9b10f2a223b5d8015ed49eb1ee1c SHA512 6cc0d865bda2b1a4d806564e4e7d0c9cff739aba16d21ffd47c6a7353e45d332506014ba54f6a0fcfbc97d4c2d3d864f02c2d144cd4d8d06b9b19dafa8f8be3c
+DIST slime-2.28.tar.gz 826876 BLAKE2B 9e93af7a7f9e1ef1aed7b513a0b83f426186582bcd43dabad5fe962afe77803bf237d92e79ccabb93b419a7f678168e89584b4f5bb8423918abcac8915411283 SHA512 4184765048302ac568ddb89bfc0ac9fd3af4f0e3c8c39e81e27e58c9342f48332ac365edfd876e6e69e8e13db137d3e14c84cf4608158c4528bb34b0d7313991
+DIST slime-2.29.1.tar.gz 828475 BLAKE2B 90ad92b34e8bc90fb549f4dec00dde18a50edee95f4cb77db2ccdb024c70cc03ae6b8942c8a2200b14e9db1cf3e2a6cda52f847443552efac33c30130a04534e SHA512 5e93a13814584c4c02b2fe4f5703212312ef9f6c810030045602dc8b38b1374193cd2f9739f791808b29e27b33e295c79c6d34b9ed864798961f12ce075cef74
+DIST slime-2.29.tar.gz 828359 BLAKE2B 07834a9a80e49f0a08f054cf7a4b00e7d1520159633e4d35ca5b386a1a35b4d8c4a24033919bfbc23475cc9f8486003c1be6dadf45c88db9a759582474eed146 SHA512 2f9b2f16f802c9a7efcc1c27a7bf6a2b7257336060bb7346fd16719daccd874b9731e2fde57e49bd700b93eb4daef548f615b40133436f7ab6c3ab23886f7377
diff --git a/app-emacs/slime/slime-2.21.ebuild b/app-emacs/slime/slime-2.21.ebuild
deleted file mode 100644
index b2215036ccc9..000000000000
--- a/app-emacs/slime/slime-2.21.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
-HOMEPAGE="http://common-lisp.net/project/slime/"
-SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2 xref? ( xref.lisp )"
-SLOT="0"
-KEYWORDS="amd64 ppc ~sparc x86"
-IUSE="doc xref"
-RESTRICT=test # tests fail to contact sbcl
-
-RDEPEND="virtual/commonlisp
- dev-lisp/asdf"
-DEPEND="${RDEPEND}
- >=sys-apps/texinfo-5.1
- doc? ( virtual/texi2dvi )"
-
-CLPACKAGE=swank
-CLSYSTEMS=swank
-SITEFILE=70${PN}-gentoo.el
-
-src_prepare() {
- default
- # Remove xref.lisp (which is non-free) unless USE flag is set
- use xref || rm -f xref.lisp
-}
-
-src_compile() {
- elisp-compile *.el
- BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
- elisp-compile contrib/*.el lib/*.el
-
- emake -C doc slime.info
- if use doc ; then
- VARTEXFONTS="${T}"/fonts \
- emake -C doc all
- fi
-}
-
-src_install() {
- # Install core
- elisp-install ${PN} *.{el,elc,lisp}
-
- # Install contribs
- elisp-install ${PN}/contrib/ contrib/*.{el,elc,lisp,scm,goo}
-
- # Install lib
- elisp-install ${PN}/lib/ lib/*.{el,elc}
-
- # Install swank
- elisp-install ${PN}/swank/ swank/*.lisp
-
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
- # Install docs
- dodoc README.md CONTRIBUTING.md NEWS PROBLEMS
- newdoc contrib/README.md README-contrib.md
- doinfo doc/slime.info
- use doc && dodoc doc/*.pdf
-
- # Bug #656760
- touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die
-}
diff --git a/app-emacs/slime/slime-2.28.ebuild b/app-emacs/slime/slime-2.28.ebuild
new file mode 100644
index 000000000000..c3f5a834a225
--- /dev/null
+++ b/app-emacs/slime/slime-2.28.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
+HOMEPAGE="https://slime.common-lisp.dev/"
+SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain GPL-2+ GPL-3+ LLGPL-2.1 ZLIB xref? ( xref.lisp )"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="doc xref"
+RESTRICT="test" # tests fail to contact sbcl
+
+RDEPEND="virtual/commonlisp
+ dev-lisp/asdf"
+DEPEND="${RDEPEND}"
+BDEPEND=">=sys-apps/texinfo-5.1
+ doc? ( virtual/texi2dvi )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ # Remove xref.lisp (which is non-free) unless USE flag is set
+ use xref || rm xref.lisp || die
+}
+
+src_compile() {
+ elisp-compile *.el
+ BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
+ elisp-compile contrib/*.el lib/*.el
+
+ emake -C doc slime.info
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C doc all
+ fi
+}
+
+src_install() {
+ # Install core
+ elisp-install ${PN} *.{el,elc,lisp}
+
+ # Install contribs
+ elisp-install ${PN}/contrib/ contrib/*.{el,elc} contrib/swank*
+
+ # Install lib
+ elisp-install ${PN}/lib/ lib/*.{el,elc}
+
+ # Install swank
+ elisp-install ${PN}/swank/ swank/*.lisp
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ # Install docs
+ dodoc README.md CONTRIBUTING.md NEWS PROBLEMS
+ newdoc contrib/README.md README-contrib.md
+ doinfo doc/slime.info
+ use doc && dodoc doc/*.pdf
+
+ # Bug #656760
+ touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die
+}
diff --git a/app-emacs/slime/slime-2.29.1.ebuild b/app-emacs/slime/slime-2.29.1.ebuild
new file mode 100644
index 000000000000..a807cef74475
--- /dev/null
+++ b/app-emacs/slime/slime-2.29.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
+HOMEPAGE="https://slime.common-lisp.dev/
+ https://github.com/slime/slime/"
+SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain GPL-2+ GPL-3+ LLGPL-2.1 ZLIB xref? ( xref.lisp )"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="doc xref"
+RESTRICT="test" # tests fail to contact sbcl
+
+RDEPEND="
+ virtual/commonlisp
+ dev-lisp/asdf
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ >=sys-apps/texinfo-5.1
+ doc? (
+ virtual/texi2dvi
+ )
+"
+
+SITEFILE="70${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ # Remove xref.lisp (which is non-free) unless USE flag is set
+ use xref || rm xref.lisp || die
+}
+
+src_compile() {
+ elisp-compile *.el
+ BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
+ elisp-compile contrib/*.el lib/*.el
+
+ emake -C doc slime.info
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C doc all
+ fi
+}
+
+src_install() {
+ # Install core
+ elisp-install ${PN} *.{el,elc,lisp}
+
+ # Install contribs
+ elisp-install ${PN}/contrib/ contrib/*.{el,elc} contrib/swank*
+
+ # Install lib
+ elisp-install ${PN}/lib/ lib/*.{el,elc}
+
+ # Install swank
+ elisp-install ${PN}/swank/ swank/*.lisp
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ # Install docs
+ dodoc README.md CONTRIBUTING.md NEWS PROBLEMS
+ newdoc contrib/README.md README-contrib.md
+ doinfo doc/slime.info
+ use doc && dodoc doc/*.pdf
+
+ # Bug #656760
+ touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die
+}
diff --git a/app-emacs/slime/slime-2.29.ebuild b/app-emacs/slime/slime-2.29.ebuild
new file mode 100644
index 000000000000..faeafd09686d
--- /dev/null
+++ b/app-emacs/slime/slime-2.29.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="SLIME, the Superior Lisp Interaction Mode (Extended)"
+HOMEPAGE="https://slime.common-lisp.dev/
+ https://github.com/slime/slime/"
+SRC_URI="https://github.com/slime/slime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain GPL-2+ GPL-3+ LLGPL-2.1 ZLIB xref? ( xref.lisp )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="doc xref"
+RESTRICT="test" # tests fail to contact sbcl
+
+RDEPEND="
+ virtual/commonlisp
+ dev-lisp/asdf
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ >=sys-apps/texinfo-5.1
+ doc? (
+ virtual/texi2dvi
+ )
+"
+
+SITEFILE="70${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ # Remove xref.lisp (which is non-free) unless USE flag is set
+ use xref || rm xref.lisp || die
+}
+
+src_compile() {
+ elisp-compile *.el
+ BYTECOMPFLAGS="${BYTECOMPFLAGS} -L contrib -l slime" \
+ elisp-compile contrib/*.el lib/*.el
+
+ emake -C doc slime.info
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C doc all
+ fi
+}
+
+src_install() {
+ # Install core
+ elisp-install ${PN} *.{el,elc,lisp}
+
+ # Install contribs
+ elisp-install ${PN}/contrib/ contrib/*.{el,elc} contrib/swank*
+
+ # Install lib
+ elisp-install ${PN}/lib/ lib/*.{el,elc}
+
+ # Install swank
+ elisp-install ${PN}/swank/ swank/*.lisp
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ # Install docs
+ dodoc README.md CONTRIBUTING.md NEWS PROBLEMS
+ newdoc contrib/README.md README-contrib.md
+ doinfo doc/slime.info
+ use doc && dodoc doc/*.pdf
+
+ # Bug #656760
+ touch "${ED}${SITELISP}/${PN}/lib/.nosearch" || die
+}
diff --git a/app-emacs/sly/Manifest b/app-emacs/sly/Manifest
new file mode 100644
index 000000000000..b29638518d9b
--- /dev/null
+++ b/app-emacs/sly/Manifest
@@ -0,0 +1 @@
+DIST sly-1.0.43.tar.gz 1835404 BLAKE2B ab6868f3ee29d3d98d80984de4dd1ba39076279b86d86de49ce4e95323c419cbd6a16da81d9cbdff8bc8d12fb2d868096ecffd681b276e35a192feb723f99baf SHA512 e2785a34cabc3537efb06cd2ce9da05aef02ce7077ef73e2d82ace4e3534c00d9269969319294207759e11e2682111ca4d150f1d3d8e02b8f682752394640447
diff --git a/app-emacs/sly/files/50sly-gentoo.el b/app-emacs/sly/files/50sly-gentoo.el
new file mode 100644
index 000000000000..c69b93515bcb
--- /dev/null
+++ b/app-emacs/sly/files/50sly-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@SITELISP@/contrib")
+(require 'sly-autoloads)
diff --git a/app-emacs/sly/metadata.xml b/app-emacs/sly/metadata.xml
new file mode 100644
index 000000000000..1f4866127cad
--- /dev/null
+++ b/app-emacs/sly/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ SLY is Sylvester the Cat's Common Lisp IDE for Emacs.
+ SLY is a fork of SLIME. All SLIME's familar features (debugger, inspector,
+ xref, etc...) are still available, with improved overall UX. SLY's
+ highlights are:
+ A full-featured REPL based on Emacs's comint.el. Everything can be copied
+ to the REPL;
+ Stickers, or live code annotations that record values as code traverses
+ them.
+ Flex-style completion out-of-the-box, using Emacs's completion API.
+ Company, Helm, and other supported natively, no plugin required;
+ An interactive Trace Dialog;
+ Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box;
+ Multiple inspectors and multiple REPLs;
+ "Presentations" replaced by interactive backreferences which highlight the
+ object and remain stable throughout the REPL session;
+ Support for NAMED-READTABLES, macrostep.el and quicklisp.
+ A portable, annotation-based stepper in early but functional prototype
+ stage.
+ </longdescription>
+ <use>
+ <flag name="xref">Install xref.lisp cross-referencing tool</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/joaotavora/sly/issues/</bugs-to>
+ <remote-id type="github">joaotavora/sly</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/sly/sly-1.0.43.ebuild b/app-emacs/sly/sly-1.0.43.ebuild
new file mode 100644
index 000000000000..ebec756037f0
--- /dev/null
+++ b/app-emacs/sly/sly-1.0.43.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Sylvester the Cat's Common Lisp IDE for GNU Emacs"
+HOMEPAGE="https://github.com/joaotavora/sly/"
+SRC_URI="https://github.com/joaotavora/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain GPL-2+ GPL-3+ LLGPL-2.1 ZLIB xref? ( xref.lisp )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc xref"
+
+RDEPEND="
+ dev-lisp/asdf
+ dev-lisp/sbcl
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-apps/texinfo
+ doc? ( virtual/texi2dvi )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ # Remove failing tests (sly-fontifying-fu-tests is a part of "check-fancy")
+ rm test/sly-fontifying-fu-tests.el || die
+
+ # Remove xref.lisp (which is non-free) unless USE flag is set
+ use xref || rm slynk/xref.lisp || die
+}
+
+src_compile() {
+ emake EMACS="${EMACS}" compile compile-contrib
+
+ emake -C doc ${PN}.info
+
+ if use doc ; then
+ VARTEXFONTS="${T}"/fonts emake -C doc all
+ fi
+}
+
+src_test() {
+ # NOTICE: "check-core" has some failing tests under root/portage user
+ emake check-fancy
+}
+
+src_install() {
+ elisp-install ${PN} *el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ elisp-install ${PN}/contrib/ contrib/*
+ elisp-install ${PN}/lib/ lib/* lib/.nosearch
+ elisp-install ${PN}/slynk/ slynk/*
+ elisp-install ${PN}/slynk/backend/ slynk/backend/*
+
+ doinfo doc/${PN}.info
+ dodoc CONTRIBUTING.md NEWS.md PROBLEMS.md README.md
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/app-emacs/sml-mode/Manifest b/app-emacs/sml-mode/Manifest
index 7284b51912f5..ffc32c72a967 100644
--- a/app-emacs/sml-mode/Manifest
+++ b/app-emacs/sml-mode/Manifest
@@ -1 +1 @@
-DIST sml-mode-6.9.el.xz 20368 BLAKE2B 5b97c6620d97a60f29e21e8d69179e33f56b7410bf975238e23ef10d4c9e8d7dc250cb60d1799224ac6c81285f539cbb7f69b616763b347ed7140b9652b9add7 SHA512 e04143e1017317d6c6fb3ad7a26cd812bb45dd406a5fb679be21ae936ab57739bcf692585d5710a8e08c469a07728a20cb71ff1b53661c4040eb16df55c8be0b
+DIST sml-mode-6.12.tar.xz 36156 BLAKE2B 795a525bbd95f8656e4b7634618e04243644c47d36783d20d289a746bc1af2f2c2b9975259635acef3172bdee291653962bd20ba1a0c37031fdd7c31b5d6cd14 SHA512 abf23dc1232777ab2f7a7d6bd5adfbd2e34ec9831369ff136901fb67e82d3ce30841e89f91ab7b24ae80ac74c742b665c2274f937c9340a2379403fac3824817
diff --git a/app-emacs/sml-mode/sml-mode-6.12.ebuild b/app-emacs/sml-mode/sml-mode-6.12.ebuild
new file mode 100644
index 000000000000..01193640b61e
--- /dev/null
+++ b/app-emacs/sml-mode/sml-mode-6.12.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs major mode for editing Standard ML"
+HOMEPAGE="http://www.iro.umontreal.ca/~monnier/elisp/
+ https://elpa.gnu.org/packages/sml-mode.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc x86"
+
+DOCS=( README TODO )
+ELISP_REMOVE="${PN}-pkg.el"
+SITEFILE="50${PN}-gentoo-6.1.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/sml-mode/sml-mode-6.9.ebuild b/app-emacs/sml-mode/sml-mode-6.9.ebuild
deleted file mode 100644
index 3794892ce978..000000000000
--- a/app-emacs/sml-mode/sml-mode-6.9.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Emacs major mode for editing Standard ML"
-HOMEPAGE="https://elpa.gnu.org/packages/sml-mode.html
- http://www.iro.umontreal.ca/~monnier/elisp/"
-# taken from https://elpa.gnu.org/packages/${P}.el
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ppc x86"
-
-SITEFILE="50${PN}-gentoo-6.1.el"
-
-src_compile() {
- elisp-compile *.el
- elisp-make-autoload-file
-}
diff --git a/app-emacs/sokoban/Manifest b/app-emacs/sokoban/Manifest
index 4ec51f2c4162..f24ec4684191 100644
--- a/app-emacs/sokoban/Manifest
+++ b/app-emacs/sokoban/Manifest
@@ -1 +1 @@
-DIST sokoban-1.4.8.tar 71680 BLAKE2B faf7218dc4d1a629008b1d7fa79a9f747eeda056a89cf9e677f0b20a3dae1dad468a4f968da89be6a1daee0188ea36eb64e02c8a54f6948a89f5dcd039038c39 SHA512 bca8ba4c6357768bd3ec84d8093697acb0fcc84a565290f9517e844bc39301e9ebe7a0e8d3a2c9ef2304387ff539366048a2d2334990f1b7e3895ea1b113e613
+DIST sokoban-1.4.9.tar 61440 BLAKE2B 9a7c742a53d08e91026620ad64752057acd49bd7f1013752be939a53a3b0cfb583982acbc11e335bc22ac4a7ace9e11eaa5369a8a1645c622d82150edd3440ba SHA512 a38265aa3e6a973c388c3d03ed7ce245e1b4c46b141a1c14e271002bc48a24175c46bf42ab6645514e2a9e3466f0b19646a5e795adfb7d92cf3d71a7bfca993e
diff --git a/app-emacs/sokoban/sokoban-1.4.8.ebuild b/app-emacs/sokoban/sokoban-1.4.8.ebuild
deleted file mode 100644
index 65e15131a5bc..000000000000
--- a/app-emacs/sokoban/sokoban-1.4.8.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Implementation of Sokoban for Emacs"
-HOMEPAGE="https://elpa.gnu.org/packages/sokoban.html"
-SRC_URI="https://elpa.gnu.org/packages/${P}.tar"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-ELISP_REMOVE="sokoban-pkg.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="ChangeLog"
-
-src_install() {
- elisp_src_install
- insinto "${SITEETC}/${PN}"
- doins sokoban.levels
-}
diff --git a/app-emacs/sokoban/sokoban-1.4.9.ebuild b/app-emacs/sokoban/sokoban-1.4.9.ebuild
new file mode 100644
index 000000000000..8f16cdf1ba67
--- /dev/null
+++ b/app-emacs/sokoban/sokoban-1.4.9.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Implementation of Sokoban for Emacs"
+HOMEPAGE="https://elpa.gnu.org/packages/sokoban.html"
+SRC_URI="https://elpa.gnu.org/packages/${P}.tar"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+ELISP_REMOVE="sokoban-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins sokoban.levels
+}
diff --git a/app-emacs/spacemacs-theme/Manifest b/app-emacs/spacemacs-theme/Manifest
new file mode 100644
index 000000000000..d6b1910997f3
--- /dev/null
+++ b/app-emacs/spacemacs-theme/Manifest
@@ -0,0 +1,2 @@
+DIST spacemacs-theme-0.2.tar.gz 688604 BLAKE2B 1806fbe9b2b1b9a625778415aa6df74e4acc62279d811ff782620a7bb18e6a1327b16dacc174267c61fd959191f2ccaecaaf08f30ae5bb2844652bf92919cda2 SHA512 250f15e11c38e16930107bc2bf0c265876ba74383743714c0aa6bdb270f55cb14ee41c1f2c4d1008a6d90d3c361f44f363d36af0fb0e92087df8d320e0a888a0
+DIST spacemacs-theme-0.3.tar.gz 688782 BLAKE2B 5df23e5c98396d824e0b6d6a2f29f83966dfa935371266449cfa6e4b8522ffcd4e0719617a0e13722ed7cb5f8df5329e0603b2c21ab30b0b21a8a4bfff1ccf7c SHA512 ea11248299fbf3be85fd96b2be28d1ec2b770e53d138d36a0ece9e519d8c186dfe6e454d69bc9e5d5d5a3a5d8d03452fff3d452927fe6655356db856657c212d
diff --git a/app-emacs/spacemacs-theme/files/50spacemacs-theme-gentoo.el b/app-emacs/spacemacs-theme/files/50spacemacs-theme-gentoo.el
new file mode 100644
index 000000000000..14e3d2142040
--- /dev/null
+++ b/app-emacs/spacemacs-theme/files/50spacemacs-theme-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'custom-theme-load-path (file-name-as-directory "@SITELISP@"))
diff --git a/app-emacs/spacemacs-theme/metadata.xml b/app-emacs/spacemacs-theme/metadata.xml
new file mode 100644
index 000000000000..d71447de900c
--- /dev/null
+++ b/app-emacs/spacemacs-theme/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/nashamri/spacemacs-theme/issues/</bugs-to>
+ <remote-id type="github">nashamri/spacemacs-theme</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/spacemacs-theme/spacemacs-theme-0.2.ebuild b/app-emacs/spacemacs-theme/spacemacs-theme-0.2.ebuild
new file mode 100644
index 000000000000..7dbee1f5068b
--- /dev/null
+++ b/app-emacs/spacemacs-theme/spacemacs-theme-0.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs color theme that started as a theme for Spacemacs"
+HOMEPAGE="https://github.com/nashamri/spacemacs-theme/"
+SRC_URI="https://github.com/nashamri/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md img )
+ELISP_REMOVE="spacemacs-theme-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/spacemacs-theme/spacemacs-theme-0.3.ebuild b/app-emacs/spacemacs-theme/spacemacs-theme-0.3.ebuild
new file mode 100644
index 000000000000..5b28ba56e70f
--- /dev/null
+++ b/app-emacs/spacemacs-theme/spacemacs-theme-0.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs color theme that started as a theme for Spacemacs"
+HOMEPAGE="https://github.com/nashamri/spacemacs-theme/"
+SRC_URI="https://github.com/nashamri/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md img )
+ELISP_REMOVE="spacemacs-theme-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/speed-type/Manifest b/app-emacs/speed-type/Manifest
new file mode 100644
index 000000000000..839ca84533aa
--- /dev/null
+++ b/app-emacs/speed-type/Manifest
@@ -0,0 +1 @@
+DIST speed-type-20230206.tar.gz 99344 BLAKE2B 5d7545b062d8058e5713095627cb534111fce3b1ab3f7c7f1c862020826d37cb555344b6807ecacf72eb812961220eb828d5dc36c8da6273dcd68541b909804a SHA512 39cd3039e1490bff277fc6e6396e75fa119694833085090a6753204e282eac611676c8acb210c4c054c872000d809a7fe30e91267f1eb3d6e42a1d5e38c96d09
diff --git a/app-emacs/speed-type/files/50-speed-type-gentoo.el b/app-emacs/speed-type/files/50-speed-type-gentoo.el
new file mode 100644
index 000000000000..03fd426bd853
--- /dev/null
+++ b/app-emacs/speed-type/files/50-speed-type-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "speed-type-autoloads" nil t)
diff --git a/app-emacs/speed-type/metadata.xml b/app-emacs/speed-type/metadata.xml
new file mode 100644
index 000000000000..9f764d515915
--- /dev/null
+++ b/app-emacs/speed-type/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dakra/speed-type</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/speed-type/speed-type-20230206.ebuild b/app-emacs/speed-type/speed-type-20230206.ebuild
new file mode 100644
index 000000000000..90272f9b7952
--- /dev/null
+++ b/app-emacs/speed-type/speed-type-20230206.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+MY_COMMIT=4f8553632d71e827b4da6e091143779d2ad970a8
+DESCRIPTION="Practice touch and speed typing"
+HOMEPAGE="https://github.com/dakra/speed-type"
+SRC_URI="https://github.com/dakra/speed-type/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=app-emacs/compat-29.1"
+DEPEND="${RDEPEND}"
+
+SITEFILE=50${PN}-gentoo.el
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/spinner/Manifest b/app-emacs/spinner/Manifest
new file mode 100644
index 000000000000..b63c0d115caa
--- /dev/null
+++ b/app-emacs/spinner/Manifest
@@ -0,0 +1 @@
+DIST spinner-1.7.4.tar.gz 1794009 BLAKE2B 87e7f311ccd14f6d5f56a27388ef497efece75a2529a7c534e216990a916a5d8804a9dfc4697b9b2988476a3e3fd82a5673bec73c092dd7f84208fb0a82885fa SHA512 45648beef41123600b5dcaa09ab65a9f3d0b8364f011fcbe177b060ef2b417a83ee002393582060eb3465d4e86d0af2ab5fa2999a13be4e6b5de4cb8487c9f80
diff --git a/app-emacs/spinner/files/50spinner-gentoo.el b/app-emacs/spinner/files/50spinner-gentoo.el
new file mode 100644
index 000000000000..df8b78bdd476
--- /dev/null
+++ b/app-emacs/spinner/files/50spinner-gentoo.el
@@ -0,0 +1,4 @@
+;;; spinner site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
diff --git a/app-emacs/spinner/metadata.xml b/app-emacs/spinner/metadata.xml
new file mode 100644
index 000000000000..64004674bd37
--- /dev/null
+++ b/app-emacs/spinner/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">Malabarba/spinner.el</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/spinner/spinner-1.7.4.ebuild b/app-emacs/spinner/spinner-1.7.4.ebuild
new file mode 100644
index 000000000000..ee77682fffa5
--- /dev/null
+++ b/app-emacs/spinner/spinner-1.7.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+IUSE=""
+
+DESCRIPTION="Emacs mode-line spinner for operations in progress"
+HOMEPAGE="https://github.com/Malabarba/spinner.el"
+SRC_URI="https://github.com/Malabarba/spinner.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+SITEFILE="50${PN}-gentoo.el"
+
+S="${WORKDIR}/spinner.el-${PV}"
+DOCS="README.org"
diff --git a/app-emacs/ssass-mode/Manifest b/app-emacs/ssass-mode/Manifest
new file mode 100644
index 000000000000..6803fd7de76b
--- /dev/null
+++ b/app-emacs/ssass-mode/Manifest
@@ -0,0 +1 @@
+DIST ssass-mode-0.2_p20200211.tar.gz 15364 BLAKE2B cdf2b48c3cbb861d89b29673ba3bbcfc2149850086227d58b8d6919f0d7d77914942fe8318e77e96f29e6fea5aeeba9e93c1fd3afbf6e669017e93e0c8de646b SHA512 5e3f2effc4ffb7534811f263cae970c2c7f6d96706cbd11f628f4267acca89550b2ced37f1968c76e32b55cd2dfea9976a11901817de8d5af965ffe4df436a4b
diff --git a/app-emacs/ssass-mode/files/50ssass-mode-gentoo.el b/app-emacs/ssass-mode/files/50ssass-mode-gentoo.el
new file mode 100644
index 000000000000..cb9781f2f567
--- /dev/null
+++ b/app-emacs/ssass-mode/files/50ssass-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ssass-mode "ssass-mode"
+ "Major mode for Sass" t)
diff --git a/app-emacs/ssass-mode/metadata.xml b/app-emacs/ssass-mode/metadata.xml
new file mode 100644
index 000000000000..2b6d61246ac1
--- /dev/null
+++ b/app-emacs/ssass-mode/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This mode is a clean-room clone of Natalie Weizenbaum's sass-mode, with a
+ few compromises to support mmm-mode. If sass-mode doesn't break for you,
+ use that.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/AdamNiederer/ssass-mode/issues/</bugs-to>
+ <remote-id type="github">AdamNiederer/ssass-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ssass-mode/ssass-mode-0.2_p20200211.ebuild b/app-emacs/ssass-mode/ssass-mode-0.2_p20200211.ebuild
new file mode 100644
index 000000000000..01080890d2c0
--- /dev/null
+++ b/app-emacs/ssass-mode/ssass-mode-0.2_p20200211.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20200211 ]] && COMMIT=96f557887ad97a0066a60c54f92b7234b8407016
+
+inherit elisp
+
+DESCRIPTION="Write Sass in Emacs without a Turing Machine"
+HOMEPAGE="https://github.com/AdamNiederer/ssass-mode/"
+SRC_URI="https://github.com/AdamNiederer/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/string-inflection/Manifest b/app-emacs/string-inflection/Manifest
new file mode 100644
index 000000000000..cd0edf95606c
--- /dev/null
+++ b/app-emacs/string-inflection/Manifest
@@ -0,0 +1 @@
+DIST string-inflection-1.0.16.tar.gz 6238 BLAKE2B 2a8db2786f9a744329e6e298308a5bec00e6872ed350ab867ff2d2d5176cbb1532d3dec5e09573228808fd5ba3e3214cda063cf01cd52f862043718e8e664bec SHA512 7bd575c02e1917d9f52f49c4409150dbc9d097968304e687eb1145520ed88dee0bc359bbc85883dd1c167e8918440c91d1f362983f0a35f99feff61c85a08ca8
diff --git a/app-emacs/string-inflection/files/50string-inflection-gentoo.el b/app-emacs/string-inflection/files/50string-inflection-gentoo.el
new file mode 100644
index 000000000000..df8f2cee5137
--- /dev/null
+++ b/app-emacs/string-inflection/files/50string-inflection-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "string-inflection-autoloads" nil t)
diff --git a/app-emacs/string-inflection/metadata.xml b/app-emacs/string-inflection/metadata.xml
new file mode 100644
index 000000000000..7ff1c418a973
--- /dev/null
+++ b/app-emacs/string-inflection/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This Emacs package provides convenient methods for manipulating the naming
+ style of a symbol. It supports different naming conventions such as: camel
+ case, Pascal case, all upper case, lower case separated by underscore.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/akicho8/string-inflection/issues/</bugs-to>
+ <remote-id type="github">akicho8/string-inflection</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/string-inflection/string-inflection-1.0.16.ebuild b/app-emacs/string-inflection/string-inflection-1.0.16.ebuild
new file mode 100644
index 000000000000..46079f0f3b51
--- /dev/null
+++ b/app-emacs/string-inflection/string-inflection-1.0.16.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Convert symbol names between different naming conventions"
+HOMEPAGE="https://github.com/akicho8/string-inflection/"
+SRC_URI="https://github.com/akicho8/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.org HISTORY.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_test() {
+ # "test/string-inflection-test.el" calls "(ert-run-tests-batch t)"
+ ${EMACS} ${EMACSFLAGS} -L . -L test -l test/${PN}-test.el || die
+}
diff --git a/app-emacs/stripes/Manifest b/app-emacs/stripes/Manifest
index eb6e484602e3..8d8713385f16 100644
--- a/app-emacs/stripes/Manifest
+++ b/app-emacs/stripes/Manifest
@@ -1 +1,2 @@
DIST stripes-0.2.tar.gz 2203 BLAKE2B 4daec93d681bd2cb7187b427c13b27990e03bdb34b6131cda3b8d88bd48cdece57d53dd9f124c0f65e2869045e69ca8c98e39cc03b3a6c75f5b1ca359a12582f SHA512 c0e0d7c16f6d593221573268e8ec30f30374a6c4ad6e34458139de90f5cde12cdb02b81e91f40176ea10a9e411921bdeb324eb0bc6aa5f2874602bf38bdf9521
+DIST stripes-el-0.3.1.1.tar.bz2 1867 BLAKE2B ebaf7d9fb8769764222e755f54061ac3d8d75bb679a72c823d714af233e4d123f93a584e00119ce78676aec473e6a2fe432a91b6d219d39c9a6b20003959347f SHA512 87fca70165bb4f76470b4bd707d3e3aea7a265e9742ae0b53175a18d128d74ffa2e9a15417549f9ead0cc0ae7b1d9a4e8c4eb88d64a7deb49dc1eb8932010a51
diff --git a/app-emacs/stripes/metadata.xml b/app-emacs/stripes/metadata.xml
index 19c8d2da4804..42e7489791b6 100644
--- a/app-emacs/stripes/metadata.xml
+++ b/app-emacs/stripes/metadata.xml
@@ -10,5 +10,8 @@
Useful for buffers that display lists of any kind - as a guide for
your eyes to follow these lines.
</longdescription>
+<upstream>
+ <remote-id type="gitlab">stepnem/stripes-el</remote-id>
+</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/app-emacs/stripes/stripes-0.3.1.1.ebuild b/app-emacs/stripes/stripes-0.3.1.1.ebuild
new file mode 100644
index 000000000000..1657f722aef7
--- /dev/null
+++ b/app-emacs/stripes/stripes-0.3.1.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An Emacs mode that alternates the background color of lines"
+HOMEPAGE="https://www.emacswiki.org/emacs/StripesMode
+ https://gitlab.com/stepnem/stripes-el/"
+SRC_URI="https://gitlab.com/stepnem/${PN}-el/-/archive/${PV}/${PN}-el-${PV}.tar.bz2"
+S="${WORKDIR}"/${PN}-el-${PV}
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/sumibi/metadata.xml b/app-emacs/sumibi/metadata.xml
index 46d4419e7a87..a9232ab47149 100644
--- a/app-emacs/sumibi/metadata.xml
+++ b/app-emacs/sumibi/metadata.xml
@@ -11,6 +11,6 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="sourceforge-jp">sumibi</remote-id>
+ <remote-id type="osdn">sumibi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/sunrise-commander/Manifest b/app-emacs/sunrise-commander/Manifest
new file mode 100644
index 000000000000..e62388c2f775
--- /dev/null
+++ b/app-emacs/sunrise-commander/Manifest
@@ -0,0 +1 @@
+DIST sunrise-commander-6_p20210927.tar.gz 109761 BLAKE2B f4996bc15243e0064c9acf5418d25c52a3f5aba2de86d256688aac31565a70e882ab1df04946bc8bd92bd379302f3362fd8e14dedcb531b249d971bee8a16e23 SHA512 60fb59f90235277d123ce9a62a2433b2300f0e0c6545802f8bb235e5a34666d9760f2c968f83067cb66259527cbf69213e60f788dd455f097b21e5f913fe949f
diff --git a/app-emacs/sunrise-commander/files/50sunrise-commander-gentoo.el b/app-emacs/sunrise-commander/files/50sunrise-commander-gentoo.el
new file mode 100644
index 000000000000..4a1369b59d67
--- /dev/null
+++ b/app-emacs/sunrise-commander/files/50sunrise-commander-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'sunrise-toggle "sunrise"
+ "Show or hide the Sunrise Commander." t)
+(defalias 'sunrise 'sunrise-toggle)
diff --git a/app-emacs/sunrise-commander/metadata.xml b/app-emacs/sunrise-commander/metadata.xml
new file mode 100644
index 000000000000..94cb76216849
--- /dev/null
+++ b/app-emacs/sunrise-commander/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/sunrise-commander/sunrise-commander/issues/</bugs-to>
+ <remote-id type="github">sunrise-commander/sunrise-commander</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/sunrise-commander/sunrise-commander-6_p20210927.ebuild b/app-emacs/sunrise-commander/sunrise-commander-6_p20210927.ebuild
new file mode 100644
index 000000000000..22c18a821598
--- /dev/null
+++ b/app-emacs/sunrise-commander/sunrise-commander-6_p20210927.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: Check version of sunrise-commander in it's "Cask" & "sunrise.el".
+
+EAPI=8
+
+COMMIT=16e6df7e86c7a383fb4400fae94af32baf9cb24e
+
+inherit elisp
+
+DESCRIPTION="Twin-pane file manager for Emacs inspired by Midnight Commander"
+HOMEPAGE="https://www.emacswiki.org/emacs/Sunrise_Commander/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/svg-lib/Manifest b/app-emacs/svg-lib/Manifest
new file mode 100644
index 000000000000..d7aaf5a57bd1
--- /dev/null
+++ b/app-emacs/svg-lib/Manifest
@@ -0,0 +1 @@
+DIST svg-lib-0.2.8.tar.xz 881624 BLAKE2B dd80758a05f930db1d1bf9c7f55ee4b83527982bd901bca7f65402680f6a789d9aba29237f8a6c2b6ea593f7ebd3a3d5930d3376bdc2fd111f00131329f21d3a SHA512 092ee253f7d5240dc8ef1b3dcbaa12fa107f5af15184e3505862d039eabf300fe997885de8e70110b4b771cd958418be64a1da8fe59459a82f36c6e70c018173
diff --git a/app-emacs/svg-lib/files/50svg-lib-gentoo.el b/app-emacs/svg-lib/files/50svg-lib-gentoo.el
new file mode 100644
index 000000000000..3fcdfc9d180c
--- /dev/null
+++ b/app-emacs/svg-lib/files/50svg-lib-gentoo.el
@@ -0,0 +1,2 @@
+;;; app-emacs/svg-lib site configuration -*- lexical-binding: t; -*-
+(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/svg-lib/metadata.xml b/app-emacs/svg-lib/metadata.xml
new file mode 100644
index 000000000000..2a9db088749f
--- /dev/null
+++ b/app-emacs/svg-lib/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">rougier/svg-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/svg-lib/svg-lib-0.2.8.ebuild b/app-emacs/svg-lib/svg-lib-0.2.8.ebuild
new file mode 100644
index 000000000000..73cededd0943
--- /dev/null
+++ b/app-emacs/svg-lib/svg-lib-0.2.8.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS="27.1"
+inherit elisp
+
+DESCRIPTION="SVG tags, progress bars & icons"
+HOMEPAGE="https://github.com/rougier/svg-lib"
+SRC_URI="https://dev.gentoo.org/~arsen/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/swift-mode/Manifest b/app-emacs/swift-mode/Manifest
new file mode 100644
index 000000000000..e6fceecbe5f8
--- /dev/null
+++ b/app-emacs/swift-mode/Manifest
@@ -0,0 +1,2 @@
+DIST swift-mode-9.0.0.tar.gz 227995 BLAKE2B ac60f1dbf03f37a9e95372702f43eceeab2463d579c0e69110921851dc3d549ad32496648bfdca288003e17821dbc92b226d9581ebac8eb7d3e2e07ca4bd2f91 SHA512 affc7606456d44fdd82f7b5b47536e8822c1efb2f1dc49efb09451975b6c95dc9c9445e742a8c1f8038a9799e5cfd73b424ff56f50d9190c3f057bd34fb21f1c
+DIST swift-mode-9.1.0.tar.gz 228848 BLAKE2B 8da59aacc7b2f49b3156c5c22b92c7574df96657aeb95154b82551008f883f676935cabc3ddca86da8ab6c0364ab6ab9c963025f0fb361652179ab655076cf24 SHA512 ba06f67695cf10a3b78b29d5e375d8c76fb2f19cb2b6420d63332502062a461cc5e836f54dcc56f10cef3e6f3ed38c8803332c94372f2fbbdc681dc7a0fafbe9
diff --git a/app-emacs/swift-mode/files/50swift-mode-gentoo.el b/app-emacs/swift-mode/files/50swift-mode-gentoo.el
new file mode 100644
index 000000000000..fa55ed725c57
--- /dev/null
+++ b/app-emacs/swift-mode/files/50swift-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'swift-mode "swift-mode"
+ "Major mode for editing Swift code." t)
+(add-to-list 'auto-mode-alist '("\\.swift\\'" . swift-mode))
diff --git a/app-emacs/swift-mode/metadata.xml b/app-emacs/swift-mode/metadata.xml
new file mode 100644
index 000000000000..431933b41555
--- /dev/null
+++ b/app-emacs/swift-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/swift-emacs/swift-mode/issues/</bugs-to>
+ <remote-id type="github">swift-emacs/swift-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/swift-mode/swift-mode-9.0.0.ebuild b/app-emacs/swift-mode/swift-mode-9.0.0.ebuild
new file mode 100644
index 000000000000..3c78d0b5123e
--- /dev/null
+++ b/app-emacs/swift-mode/swift-mode-9.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs support for Apple's Swift programming language"
+HOMEPAGE="https://github.com/swift-emacs/swift-mode/"
+SRC_URI="https://github.com/swift-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md CONTRIBUTING.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} \
+ -L . -L test \
+ -l test/swift-mode-test.el \
+ -f swift-mode:run-test || die "tests failed"
+}
diff --git a/app-emacs/swift-mode/swift-mode-9.1.0.ebuild b/app-emacs/swift-mode/swift-mode-9.1.0.ebuild
new file mode 100644
index 000000000000..c996fb0680cb
--- /dev/null
+++ b/app-emacs/swift-mode/swift-mode-9.1.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs support for Apple's Swift programming language"
+HOMEPAGE="https://github.com/swift-emacs/swift-mode/"
+SRC_URI="https://github.com/swift-emacs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DOCS=( README.md CONTRIBUTING.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} \
+ -L . -L test \
+ -l test/swift-mode-test.el \
+ -f swift-mode:run-test || die "tests failed"
+}
diff --git a/app-emacs/swiper/Manifest b/app-emacs/swiper/Manifest
new file mode 100644
index 000000000000..74a1b19737be
--- /dev/null
+++ b/app-emacs/swiper/Manifest
@@ -0,0 +1 @@
+DIST swiper-0.14.2.tar.gz 250059 BLAKE2B 8a5437726c729398a689266d138f271f5f7329f9c58613c4e0cfabd16b99421035c4b522d0ea4c60c0369362cb076bcae05ff4155d33d186172fd0ac2258495d SHA512 e125a3747abc4e6ecc98f539cf5dde11851d6c8a58b8988e165300bce7822fc91257cae09c973bd43435fb08dc24af9a1bd4b3e51083b45654b1605d80973d74
diff --git a/app-emacs/swiper/files/50swiper-gentoo.el b/app-emacs/swiper/files/50swiper-gentoo.el
new file mode 100644
index 000000000000..321a3b779ff1
--- /dev/null
+++ b/app-emacs/swiper/files/50swiper-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'swiper "swiper"
+ "`isearch-forward' with an overview." t)
diff --git a/app-emacs/swiper/metadata.xml b/app-emacs/swiper/metadata.xml
new file mode 100644
index 000000000000..a545a2598b22
--- /dev/null
+++ b/app-emacs/swiper/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://raw.githubusercontent.com/abo-abo/swiper/master/doc/Changelog.org</changelog>
+ <bugs-to>https://github.com/abo-abo/swiper/issues/</bugs-to>
+ <remote-id type="github">abo-abo/swiper</remote-id>
+ <doc lang="en">https://oremacs.com/swiper/</doc>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/swiper/swiper-0.14.2.ebuild b/app-emacs/swiper/swiper-0.14.2.ebuild
new file mode 100644
index 000000000000..9198ac401176
--- /dev/null
+++ b/app-emacs/swiper/swiper-0.14.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Alternative to isearch that uses ivy to show overview of all matches"
+HOMEPAGE="https://github.com/abo-abo/swiper/"
+SRC_URI="https://github.com/abo-abo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+RESTRICT="test" # Ivy, Swiper and Counsel tests are performed in app-emacs/ivy
+
+RDEPEND=">=app-emacs/ivy-${PV}"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-install ${PN} ${PN}.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+}
diff --git a/app-emacs/switch-window/Manifest b/app-emacs/switch-window/Manifest
new file mode 100644
index 000000000000..ba2bc2a2e1f9
--- /dev/null
+++ b/app-emacs/switch-window/Manifest
@@ -0,0 +1 @@
+DIST switch-window-1.6.2_p20210808.tar.gz 159948 BLAKE2B 844c4ae1c1d3a71f9ae2667e20a6e47978b0426b68439a9e0ec667884265cbf2291aba8d838c3d4f3292f4820a2f9f6e369095867a06e70a024830a9477fcf95 SHA512 ee9bd40aedbb505ff702d472b9b3888400a65b3d6f4253f4489828accab1b9ace772995be7cd7fd38815e4a87983bf0b9cb7fd394180de255eec9a08ef786648
diff --git a/app-emacs/switch-window/files/50switch-window-gentoo.el b/app-emacs/switch-window/files/50switch-window-gentoo.el
new file mode 100644
index 000000000000..07dcb8b4eeee
--- /dev/null
+++ b/app-emacs/switch-window/files/50switch-window-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'switch-window "switch-window"
+ "Display an overlay in each window showing a unique key." t)
diff --git a/app-emacs/switch-window/metadata.xml b/app-emacs/switch-window/metadata.xml
new file mode 100644
index 000000000000..3e60dd1437af
--- /dev/null
+++ b/app-emacs/switch-window/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/dimitri/switch-window/issues/</bugs-to>
+ <remote-id type="github">dimitri/switch-window</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/switch-window/switch-window-1.6.2_p20210808.ebuild b/app-emacs/switch-window/switch-window-1.6.2_p20210808.ebuild
new file mode 100644
index 000000000000..9062f0c50288
--- /dev/null
+++ b/app-emacs/switch-window/switch-window-1.6.2_p20210808.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=8d9fe251d8d38b223d643df975876356ddfc1b98
+
+inherit elisp
+
+DESCRIPTION="Offer a customizable visual way to choose a window to switch to"
+HOMEPAGE="https://github.com/dimitri/switch-window/"
+SRC_URI="https://github.com/dimitri/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md snapshots )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/system-packages/Manifest b/app-emacs/system-packages/Manifest
new file mode 100644
index 000000000000..4debdcfcaa8a
--- /dev/null
+++ b/app-emacs/system-packages/Manifest
@@ -0,0 +1 @@
+DIST system-packages-1.1.0.tar.gz 18634 BLAKE2B ec32510435507bf64c77d7952094eb9fe72d3f7f098335c756fc7d80ce267e02a253fecb406986ec4e09b601868b448b4c9379c29cd5810b634bb07c5f686e5a SHA512 58ecaa8649c086995f68db6abc3bf9cbb012b39b51c553b661368aaed116835984425a6b19d68f8ffad44ecf1818a6281758c56e62ac5230783408e73f9ff776
diff --git a/app-emacs/system-packages/metadata.xml b/app-emacs/system-packages/metadata.xml
new file mode 100644
index 000000000000..9e1db88b663a
--- /dev/null
+++ b/app-emacs/system-packages/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://gitlab.com/jabranham/system-packages/-/issues/</bugs-to>
+ <remote-id type="gitlab">jabranham/system-packages</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/system-packages/system-packages-1.1.0.ebuild b/app-emacs/system-packages/system-packages-1.1.0.ebuild
new file mode 100644
index 000000000000..5ef2ab649008
--- /dev/null
+++ b/app-emacs/system-packages/system-packages-1.1.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Manage your installed packages with Emacs"
+HOMEPAGE="https://gitlab.com/jabranham/system-packages/"
+SRC_URI="https://gitlab.com/jabranham/${PN}/-/archive/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+
+DOCS=( README.org )
+ELISP_REMOVE=".dir-locals.el"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/systemd-mode/Manifest b/app-emacs/systemd-mode/Manifest
new file mode 100644
index 000000000000..db06291b1510
--- /dev/null
+++ b/app-emacs/systemd-mode/Manifest
@@ -0,0 +1 @@
+DIST systemd-mode-1.6.tar.gz 21986 BLAKE2B 05278d86a6df9b5e95c75c1d1ebee182653f760e12639d4a260cf757fee3236988d5f8de671fe9a4724bc0338e08d6f10c405a1d42691f5d83c0efdc516da178 SHA512 2461e07287c1dbe5990eaae83484e98f4e8f2e89ece4b2f5f53f3c9174fc20a0cdf2e930c356bfb6a84587595d66ac353f4f85b5a96507c5344a615d4516f646
diff --git a/app-emacs/systemd-mode/files/50systemd-mode-gentoo.el b/app-emacs/systemd-mode/files/50systemd-mode-gentoo.el
new file mode 100644
index 000000000000..01b8ef7e6e34
--- /dev/null
+++ b/app-emacs/systemd-mode/files/50systemd-mode-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "systemd-mode-autoloads" nil t)
diff --git a/app-emacs/systemd-mode/files/systemd-mode-1.6-directive-txt-files.patch b/app-emacs/systemd-mode/files/systemd-mode-1.6-directive-txt-files.patch
new file mode 100644
index 000000000000..c85d78a10200
--- /dev/null
+++ b/app-emacs/systemd-mode/files/systemd-mode-1.6-directive-txt-files.patch
@@ -0,0 +1,29 @@
+--- a/systemd.el
++++ b/systemd.el
+@@ -89,7 +89,7 @@
+ (insert-file-contents
+ (let ((f "unit-directives.txt"))
+ (if (null load-file-name) f
+- (expand-file-name f (file-name-directory load-file-name)))))
++ (expand-file-name f (file-name-directory "@SITEETC@")))))
+ (split-string (buffer-string))))
+ "Configuration directives for systemd.")
+
+@@ -105,7 +105,7 @@
+ (insert-file-contents
+ (let ((f "network-directives.txt"))
+ (if (null load-file-name) f
+- (expand-file-name f (file-name-directory load-file-name)))))
++ (expand-file-name f (file-name-directory "@SITEETC@")))))
+ (split-string (buffer-string))))
+ "Network configuration directives for systemd.")
+
+@@ -119,7 +119,7 @@
+ (insert-file-contents
+ (let ((f "nspawn-directives.txt"))
+ (if (null load-file-name) f
+- (expand-file-name f (file-name-directory load-file-name)))))
++ (expand-file-name f (file-name-directory "@SITEETC@")))))
+ (split-string (buffer-string))))
+ "Namespace container configuration directives for systemd.")
+
diff --git a/app-emacs/systemd-mode/metadata.xml b/app-emacs/systemd-mode/metadata.xml
new file mode 100644
index 000000000000..eca5f77b895f
--- /dev/null
+++ b/app-emacs/systemd-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/holomorph/systemd-mode/issues/</bugs-to>
+ <remote-id type="github">holomorph/systemd-mode</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/systemd-mode/systemd-mode-1.6.ebuild b/app-emacs/systemd-mode/systemd-mode-1.6.ebuild
new file mode 100644
index 000000000000..4606e95d1602
--- /dev/null
+++ b/app-emacs/systemd-mode/systemd-mode-1.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major mode for editing systemd units in GNU Emacs"
+HOMEPAGE="https://github.com/holomorph/systemd-mode/"
+SRC_URI="https://github.com/holomorph/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${P}-directive-txt-files.patch )
+
+DOCS=( README )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i systemd.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins "${S}"/*.txt
+}
diff --git a/app-emacs/tablist/Manifest b/app-emacs/tablist/Manifest
new file mode 100644
index 000000000000..d656f7ee9615
--- /dev/null
+++ b/app-emacs/tablist/Manifest
@@ -0,0 +1 @@
+DIST tablist-1.1.tar.gz 32064 BLAKE2B 0aceea5784d2b2c0778821a59e9bf4fb6b1d619a85f30603d5878fbb43b763d9b20a8962c3aafaafd50f41f824bcb9612de68010fefe4f8e2a84b5fdca31645c SHA512 8f74c7fcd682024011aade568a1bb0f2e5e0813eeefc94efc24d4cdf0aac34818c545f8f85adb5bd85bc62dc41c30979be908dc9a6d22537abc35daf036bdf72
diff --git a/app-emacs/tablist/metadata.xml b/app-emacs/tablist/metadata.xml
new file mode 100644
index 000000000000..06ca23f7f9c4
--- /dev/null
+++ b/app-emacs/tablist/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package adds marks and filters to tabulated-list-mode. It also puts a
+ dired face on tabulated list buffers. It can be used by deriving from
+ tablist-mode, or with more limited features by enabling tablist-minor-mode
+ inside a tabulated-list-mode buffer.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/politza/tablist/issues/</bugs-to>
+ <remote-id type="github">politza/tablist</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/tablist/tablist-1.1.ebuild b/app-emacs/tablist/tablist-1.1.ebuild
new file mode 100644
index 000000000000..9dca1d070b4f
--- /dev/null
+++ b/app-emacs/tablist/tablist-1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Extended tabulated-list mode fro Emacs"
+HOMEPAGE="https://github.com/emacsorphanage/tablist/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacsorphanage/${PN}.git"
+else
+ SRC_URI="https://github.com/emacsorphanage/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/teco/teco-7-r2.ebuild b/app-emacs/teco/teco-7-r2.ebuild
index 3fedca3d015a..a478bab4d972 100644
--- a/app-emacs/teco/teco-7-r2.ebuild
+++ b/app-emacs/teco/teco-7-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,7 @@ inherit elisp readme.gentoo-r1
DESCRIPTION="TECO interpreter for GNU Emacs"
HOMEPAGE="https://www.emacswiki.org/emacs/TECO"
# taken from: https://www.emacswiki.org/emacs/teco.el
-SRC_URI="mirror://gentoo/${P}.el.bz2"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.bz2"
LICENSE="public-domain"
SLOT="0"
diff --git a/app-emacs/tempel/Manifest b/app-emacs/tempel/Manifest
new file mode 100644
index 000000000000..f40044845e1a
--- /dev/null
+++ b/app-emacs/tempel/Manifest
@@ -0,0 +1,2 @@
+DIST tempel-1.0.tar.gz 27311 BLAKE2B 65ae51725e3022a9b893bd2cd4d592186c647e04b6bd28af06af1e3a501165dc9d53ff5758292330ffa8120b3e128abfb27fe275bdd8eb69d549dc0f06a9e512 SHA512 f07ea90098181d7331ac5ace2f53defa8b10be72c5962848c3738f69fbf3f56a8faeaf8de3a542eba1f88d63bc489cca653363b9aab4085d11464e59e3f0bbeb
+DIST tempel-1.1.tar.gz 27540 BLAKE2B ad1d9855de623bde330f380c0fcdcd9f33633d0f346d2b9ffa91f34ccd1bb2e65f83dff8678257f2cd06d3da97851146b88cf93d7d44cd1d32ebeec98615a755 SHA512 f5e86625febe04bbd66fe3475736a59e096a7a117934481230b5d416f52711009a738523ad6c715c0927372fe73523cf18ec82511b463712f4bfa5c8fba650c2
diff --git a/app-emacs/tempel/files/50tempel-gentoo.el b/app-emacs/tempel/files/50tempel-gentoo.el
new file mode 100644
index 000000000000..4dd9e924962a
--- /dev/null
+++ b/app-emacs/tempel/files/50tempel-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "tempel-autoloads" nil t)
diff --git a/app-emacs/tempel/metadata.xml b/app-emacs/tempel/metadata.xml
new file mode 100644
index 000000000000..3b984504a09f
--- /dev/null
+++ b/app-emacs/tempel/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ Tempel is a tiny template package for Emacs, which uses the syntax of the
+ Emacs Tempo library. Tempo is an ancient temple of the church of Emacs. It
+ is 27 years old, but still in good shape since it successfully resisted
+ change over the decades. However it may look a bit dusty here and there.
+ Therefore we present Tempel, a new implementation of Tempo with inline
+ expansion and integration with recent Emacs facilities. Tempel takes
+ advantage of the standard completion-at-point-functions mechanism which is
+ used by Emacs for in-buffer completion.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/minad/tempel/issues/</bugs-to>
+ <remote-id type="github">minad/tempel</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/tempel/tempel-1.0.ebuild b/app-emacs/tempel/tempel-1.0.ebuild
new file mode 100644
index 000000000000..8a32fe684d94
--- /dev/null
+++ b/app-emacs/tempel/tempel-1.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Templates with in-buffer field editing for GNU Emacs"
+HOMEPAGE="https://github.com/minad/tempel/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/tempel/tempel-1.1.ebuild b/app-emacs/tempel/tempel-1.1.ebuild
new file mode 100644
index 000000000000..dacac7f268ac
--- /dev/null
+++ b/app-emacs/tempel/tempel-1.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Templates with in-buffer field editing for GNU Emacs"
+HOMEPAGE="https://github.com/minad/tempel/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/tempel/tempel-9999.ebuild b/app-emacs/tempel/tempel-9999.ebuild
new file mode 100644
index 000000000000..8a32fe684d94
--- /dev/null
+++ b/app-emacs/tempel/tempel-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Templates with in-buffer field editing for GNU Emacs"
+HOMEPAGE="https://github.com/minad/tempel/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.3.4"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/transient/Manifest b/app-emacs/transient/Manifest
index 738a9ac88dcb..3c933457110d 100644
--- a/app-emacs/transient/Manifest
+++ b/app-emacs/transient/Manifest
@@ -1,3 +1,2 @@
-DIST transient-0.3.4.tar.gz 100193 BLAKE2B 0dd91cf1af22cfd6c3b6fefaa1b84ba3a241e269aef5165befa9408171f8b5477b04e2886e690cfd8d20af31e83fe669e05f0bf40c3391aab353d33a59345689 SHA512 feb24bf9045c9212a45cbc0a99805bdad6f4f5871279d44c64a883ad5d33a40128189525ee546d6cff14bf2d60d3c1e684cf8894fefc01860e363073eafea220
-DIST transient-0.3.5.tar.gz 100274 BLAKE2B ffb7f5823552eb3e84fd1d8c3842c8e49f7ce0fa79fae72ab6088f2af3ef19f27a327a15136f69a9173c742ed4c984d1d7106eda476f3e1a7d751337d19711ad SHA512 cfe30b95022d6f88569f7601cd3994255b613477b3886a42a87ad297edb656ba8968d285cd9b80e98ba18725334cb7b02fac27cb0f9717d344e5af3db8cf77a5
-DIST transient-0.3.6.tar.gz 100905 BLAKE2B cc7a78104b77a7ff49d2ee686a780db7509744b1f737e4f995d5e5f8ada18828ccf1b6ae5d995fb8aa09e9fc16895226e5e8cf3cf50a79c246c5d07d5f467ce0 SHA512 c1b43046f07f9efce1720f6e151d8223922574262d4e5436b0c81453b0a21a404f1c555a5bc92a201c71beb1b2f95aafb38b88203cd08c1d3a9d80f45ed0d0c9
+DIST transient-0.5.3.tar.gz 133756 BLAKE2B 4dfe8df4ec72328f1227fb4f885345709e5686854d5caf8c103ef6081b4a6858de29f33292d7a06acdf0c5f608aaaa5311e739122cb10f39e1af9b55d407eb82 SHA512 d6767b36443fdc76703e028613c2bf13de8a55258506091cfc7506e7a2bdb98bd38f387684856a3860201935bdf305c0429716ce250712c5df27cf6d10064bbf
+DIST transient-0.6.0.tar.gz 136259 BLAKE2B a983ec4b42de10f9adfc71180bbd8df83a80d5593e199999b8435fc6da72f2007c78c40b5207a6957e961642699ca0752795a57f3313e0b3f245467fd2e70261 SHA512 a2709b1e6d620f46ff84a15807936bc9264792365ec8dd6633a2419ff094f5cdde139fe2f4dcbc8d393a23a2e2697f3fe1ea1fff7162024169a44a0cff463d75
diff --git a/app-emacs/transient/files/50transient-gentoo.el b/app-emacs/transient/files/50transient-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/transient/files/50transient-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/transient/transient-0.3.4.ebuild b/app-emacs/transient/transient-0.3.4.ebuild
deleted file mode 100644
index 5f2eb4af6a92..000000000000
--- a/app-emacs/transient/transient-0.3.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/transient"
-SRC_URI="https://github.com/magit/transient/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="docs/*.texi"
-DOCS="README.md docs/transient.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- mv lisp/*.el . || die
-
- default
-}
diff --git a/app-emacs/transient/transient-0.3.5.ebuild b/app-emacs/transient/transient-0.3.5.ebuild
deleted file mode 100644
index 5f2eb4af6a92..000000000000
--- a/app-emacs/transient/transient-0.3.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/transient"
-SRC_URI="https://github.com/magit/transient/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="docs/*.texi"
-DOCS="README.md docs/transient.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- mv lisp/*.el . || die
-
- default
-}
diff --git a/app-emacs/transient/transient-0.3.6.ebuild b/app-emacs/transient/transient-0.3.6.ebuild
deleted file mode 100644
index b799b098eb41..000000000000
--- a/app-emacs/transient/transient-0.3.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=25
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/transient"
-SRC_URI="https://github.com/magit/transient/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="docs/*.texi"
-DOCS="README.md docs/transient.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
-
-src_prepare() {
- mv lisp/*.el . || die
-
- default
-}
diff --git a/app-emacs/transient/transient-0.5.3.ebuild b/app-emacs/transient/transient-0.5.3.ebuild
new file mode 100644
index 000000000000..a35be5befec9
--- /dev/null
+++ b/app-emacs/transient/transient-0.5.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Transient commands abstraction for GNU Emacs"
+HOMEPAGE="https://magit.vc/manual/transient/
+ https://github.com/magit/transient/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG README.org docs/${PN}.org )
+ELISP_TEXINFO="docs/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+src_prepare() {
+ mv lisp/*.el . || die
+
+ default
+}
diff --git a/app-emacs/transient/transient-0.6.0.ebuild b/app-emacs/transient/transient-0.6.0.ebuild
new file mode 100644
index 000000000000..02944ca13d21
--- /dev/null
+++ b/app-emacs/transient/transient-0.6.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Transient commands abstraction for GNU Emacs"
+HOMEPAGE="https://magit.vc/manual/transient/
+ https://github.com/magit/transient/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG README.org "docs/${PN}.org" )
+ELISP_TEXINFO="docs/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+src_prepare() {
+ mv lisp/*.el . || die
+
+ elisp_src_prepare
+}
diff --git a/app-emacs/transient/transient-9999.ebuild b/app-emacs/transient/transient-9999.ebuild
new file mode 100644
index 000000000000..02944ca13d21
--- /dev/null
+++ b/app-emacs/transient/transient-9999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Transient commands abstraction for GNU Emacs"
+HOMEPAGE="https://magit.vc/manual/transient/
+ https://github.com/magit/transient/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( CHANGELOG README.org "docs/${PN}.org" )
+ELISP_TEXINFO="docs/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+src_prepare() {
+ mv lisp/*.el . || die
+
+ elisp_src_prepare
+}
diff --git a/app-emacs/treemacs-all-the-icons/Manifest b/app-emacs/treemacs-all-the-icons/Manifest
new file mode 100644
index 000000000000..58c616d904f5
--- /dev/null
+++ b/app-emacs/treemacs-all-the-icons/Manifest
@@ -0,0 +1 @@
+DIST treemacs-3.1.tar.gz 4562915 BLAKE2B b728c6ea795fe1159c2342b593cc4e6b3d06a1ba58dca876e5472e394b77a3a9930740aa9ecb65973f551322018920f08b0b49e897d5677b7a0f1da42cfad2d3 SHA512 e891cfa68916ecc250ab0446a4eb0149deea17a7f366870ce757e73f175bc823dae87080a584ea315d502c50559d030055f2f399cbd92d40af8c2dca5308604c
diff --git a/app-emacs/treemacs-all-the-icons/metadata.xml b/app-emacs/treemacs-all-the-icons/metadata.xml
new file mode 100644
index 000000000000..2b59c18813b9
--- /dev/null
+++ b/app-emacs/treemacs-all-the-icons/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Alexander-Miller/treemacs/issues/</bugs-to>
+ <remote-id type="github">Alexander-Miller/treemacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/treemacs-all-the-icons/treemacs-all-the-icons-3.1.ebuild b/app-emacs/treemacs-all-the-icons/treemacs-all-the-icons-3.1.ebuild
new file mode 100644
index 000000000000..fe5ad54814cb
--- /dev/null
+++ b/app-emacs/treemacs-all-the-icons/treemacs-all-the-icons-3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs all-the-icons integration for treemacs"
+HOMEPAGE="https://github.com/Alexander-Miller/treemacs/"
+SRC_URI="https://github.com/Alexander-Miller/treemacs/archive/${PV}.tar.gz
+ -> treemacs-${PV}.tar.gz"
+S="${WORKDIR}"/treemacs-${PV}/src/extra
+
+LICENSE="GPL-3+"
+KEYWORDS="~amd64"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/all-the-icons
+ app-emacs/treemacs
+"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-install ${PN} ${PN}.el{,c}
+ elisp-make-site-file "${SITEFILE}"
+}
diff --git a/app-emacs/treemacs/Manifest b/app-emacs/treemacs/Manifest
new file mode 100644
index 000000000000..67c445fbf04e
--- /dev/null
+++ b/app-emacs/treemacs/Manifest
@@ -0,0 +1,2 @@
+DIST treemacs-3.1.tar.gz 4562915 BLAKE2B b728c6ea795fe1159c2342b593cc4e6b3d06a1ba58dca876e5472e394b77a3a9930740aa9ecb65973f551322018920f08b0b49e897d5677b7a0f1da42cfad2d3 SHA512 e891cfa68916ecc250ab0446a4eb0149deea17a7f366870ce757e73f175bc823dae87080a584ea315d502c50559d030055f2f399cbd92d40af8c2dca5308604c
+DIST treemacs-3.1_p20240229.tar.gz 4701534 BLAKE2B 3b3e5dbef181efee4739f96ee0ef0de68f344fa68b890b22c0ec808ec1c3b7afc6cd353124e2c6e5e70c931492ac0c9a3e4cee5c66b5c25ba4cc72b296ade6f0 SHA512 40631b77a71b13b0aed2f703386d98b8444c7630f952ba8d49160ba99abc13b8636169fee8cd23bbc372a7d7ae83b863e11ac891deb8cc5d2e961ccfee9f60da
diff --git a/app-emacs/treemacs/files/50treemacs-gentoo.el b/app-emacs/treemacs/files/50treemacs-gentoo.el
new file mode 100644
index 000000000000..296e01d5b8b4
--- /dev/null
+++ b/app-emacs/treemacs/files/50treemacs-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'treemacs "treemacs"
+ "Initialise or toggle treemacs." t)
diff --git a/app-emacs/treemacs/files/treemacs-2.9.5-tests.patch b/app-emacs/treemacs/files/treemacs-2.9.5-tests.patch
new file mode 100644
index 000000000000..afa46664802d
--- /dev/null
+++ b/app-emacs/treemacs/files/treemacs-2.9.5-tests.patch
@@ -0,0 +1,11 @@
+--- a/test/treemacs-test.el
++++ b/test/treemacs-test.el
+@@ -1079,7 +1079,7 @@
+
+ (describe "treemacs--parse-collapsed-dirs"
+
+- (it "Finds dirs to flatten in test directory"
++ (xit "Finds dirs to flatten in test directory"
+ (-let [treemacs-collapse-dirs 3]
+ (expect (-> treemacs-dir
+ (treemacs-join-path "test")
diff --git a/app-emacs/treemacs/files/treemacs-async-scripts.patch b/app-emacs/treemacs/files/treemacs-async-scripts.patch
new file mode 100644
index 000000000000..0a3ef104c733
--- /dev/null
+++ b/app-emacs/treemacs/files/treemacs-async-scripts.patch
@@ -0,0 +1,29 @@
+--- a/src/elisp/treemacs-async.el
++++ b/src/elisp/treemacs-async.el
+@@ -43,22 +43,22 @@
+ (defconst treemacs--dirs-to-collapse.py
+ (if (member "treemacs-dirs-to-collapse.py" (directory-files treemacs-dir))
+ (treemacs-join-path treemacs-dir "treemacs-dirs-to-collapse.py")
+- (treemacs-join-path treemacs-dir "src/scripts/treemacs-dirs-to-collapse.py")))
++ (treemacs-join-path treemacs-dir "@SITEETC@/scripts/treemacs-dirs-to-collapse.py")))
+
+ (defconst treemacs--git-status.py
+ (if (member "treemacs-git-status.py" (directory-files treemacs-dir))
+ (treemacs-join-path treemacs-dir "treemacs-git-status.py")
+- (treemacs-join-path treemacs-dir "src/scripts/treemacs-git-status.py")))
++ (treemacs-join-path treemacs-dir "@SITEETC@/scripts/treemacs-git-status.py")))
+
+ (defconst treemacs--single-file-git-status.py
+ (if (member "treemacs-single-file-git-status.py" (directory-files treemacs-dir))
+ (treemacs-join-path treemacs-dir "treemacs-single-file-git-status.py")
+- (treemacs-join-path treemacs-dir "src/scripts/treemacs-single-file-git-status.py")))
++ (treemacs-join-path treemacs-dir "@SITEETC@/scripts/treemacs-single-file-git-status.py")))
+
+ (defconst treemacs--find-ignored-files.py
+ (if (member "treemacs-find-ignored-files.py" (directory-files treemacs-dir))
+ (treemacs-join-path treemacs-dir "treemacs-find-ignored-files.py")
+- (treemacs-join-path treemacs-dir "src/scripts/treemacs-find-ignored-files.py")))
++ (treemacs-join-path treemacs-dir "@SITEETC@/scripts/treemacs-find-ignored-files.py")))
+
+ (defvar treemacs--git-cache-max-size 60
+ "Maximum size for `treemacs--git-cache'.
diff --git a/app-emacs/treemacs/files/treemacs-icons-icon-directory.patch b/app-emacs/treemacs/files/treemacs-icons-icon-directory.patch
new file mode 100644
index 000000000000..d1ac5022064a
--- /dev/null
+++ b/app-emacs/treemacs/files/treemacs-icons-icon-directory.patch
@@ -0,0 +1,12 @@
+index 2cd9baf..e6ea521 100644
+--- a/src/elisp/treemacs-icons.el
++++ b/src/elisp/treemacs-icons.el
+@@ -273,7 +273,7 @@ Necessary since root icons are not rectangular."
+ (ht-set! tui-icons it tui-icon))))
+
+ (treemacs-create-theme "Default"
+- :icon-directory (treemacs-join-path treemacs-dir "icons/default")
++ :icon-directory "@SITEETC@/icons/default"
+ :config
+ (progn
+ ;; directory and other icons
diff --git a/app-emacs/treemacs/metadata.xml b/app-emacs/treemacs/metadata.xml
new file mode 100644
index 000000000000..2b59c18813b9
--- /dev/null
+++ b/app-emacs/treemacs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/Alexander-Miller/treemacs/issues/</bugs-to>
+ <remote-id type="github">Alexander-Miller/treemacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/treemacs/treemacs-3.1-r1.ebuild b/app-emacs/treemacs/treemacs-3.1-r1.ebuild
new file mode 100644
index 000000000000..5f04a6ad831c
--- /dev/null
+++ b/app-emacs/treemacs/treemacs-3.1-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 elisp
+
+DESCRIPTION="Tree style project file explorer"
+HOMEPAGE="https://github.com/Alexander-Miller/treemacs/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/Alexander-Miller/${PN}.git"
+else
+ SRC_URI="https://github.com/Alexander-Miller/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}[svg]
+ app-emacs/ace-window
+ app-emacs/cfrs
+ app-emacs/dash
+ app-emacs/ht
+ app-emacs/hydra
+ app-emacs/pfuture
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+BYTECOMPFLAGS="-L . -L src/elisp"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.9.5-tests.patch"
+ "${FILESDIR}/${PN}-async-scripts.patch"
+ "${FILESDIR}/${PN}-icons-icon-directory.patch"
+)
+
+DOCS=( Changelog.org Extensions.org README.org screenshots )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|g" \
+ -i "src/elisp/${PN}-icons.el" \
+ -i "src/elisp/${PN}-async.el" || die
+}
+
+python_compile() {
+ python_optimize "${S}/src/scripts"
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ elisp-compile src/elisp/*.el
+}
+
+src_install() {
+ elisp-install "${PN}" src/elisp/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+ doins -r src/scripts
+}
diff --git a/app-emacs/treemacs/treemacs-3.1_p20240229.ebuild b/app-emacs/treemacs/treemacs-3.1_p20240229.ebuild
new file mode 100644
index 000000000000..b7337b3db652
--- /dev/null
+++ b/app-emacs/treemacs/treemacs-3.1_p20240229.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=26.1
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 elisp
+
+DESCRIPTION="Tree style project file explorer"
+HOMEPAGE="https://github.com/Alexander-Miller/treemacs/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/Alexander-Miller/${PN}.git"
+else
+ COMMIT_SHA=8c6df39f01a4d47fda2cc943645fa067f771b748
+ SRC_URI="https://github.com/Alexander-Miller/${PN}/archive/${COMMIT_SHA}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT_SHA}"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-editors/emacs-${NEED_EMACS}[svg]
+ app-emacs/ace-window
+ app-emacs/cfrs
+ app-emacs/dash
+ app-emacs/ht
+ app-emacs/hydra
+ app-emacs/pfuture
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+BYTECOMPFLAGS="-L . -L src/elisp"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.9.5-tests.patch"
+ "${FILESDIR}/${PN}-async-scripts.patch"
+ "${FILESDIR}/${PN}-icons-icon-directory.patch"
+)
+
+DOCS=( Changelog.org Extensions.org README.org screenshots )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup test
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e "s|@SITEETC@|${SITEETC}/${PN}|g" \
+ -i "src/elisp/${PN}-icons.el" \
+ -i "src/elisp/${PN}-async.el" \
+ || die
+}
+
+python_compile() {
+ python_optimize "${S}/src/scripts"
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ elisp-compile src/elisp/*.el
+}
+
+src_install() {
+ elisp-install "${PN}" src/elisp/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+ doins -r src/scripts
+}
diff --git a/app-emacs/treepy/Manifest b/app-emacs/treepy/Manifest
index 62a783e23bb5..9e24b835edb4 100644
--- a/app-emacs/treepy/Manifest
+++ b/app-emacs/treepy/Manifest
@@ -1,2 +1 @@
-DIST treepy-0.1.1.tar.gz 125004 BLAKE2B 2aab285f0a0ce0d14cde0d6567efd062d4e2bf944421e8c4e5c3ef62965a43c7abc77d88c5baeadbe2cbe4e98dce9d563fc5b02abae8e83194dbb058d78db725 SHA512 70790f83e7f33846ca4c568c79c45bfea9a29cc92b717053eb2fa89a22a77578d80f31f19002c61d254d4b2c4c36f345324c0d631412477f09713b51124dfb83
DIST treepy-0.1.2.tar.gz 125016 BLAKE2B 42cde1c49d97082e301120c1a8a57896149da0178d99a471509ea84996a007ce540f23fa75f2125492cab0c80a6fb02d959a8ac32fe2c2083ac698d0558a8bbc SHA512 ecfd97e0fc7b8d60c5e6aad4f26ce2ca1481c04e6738dac82c50c63b0a15e2118d51fcac468197b15d763d37cf5b3d845a114a8ca0a51ffc1fbf225a70a334e2
diff --git a/app-emacs/treepy/files/50treepy-gentoo.el b/app-emacs/treepy/files/50treepy-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/treepy/files/50treepy-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/treepy/files/treepy-0.1.1-cl-lib.patch b/app-emacs/treepy/files/treepy-0.1.1-cl-lib.patch
deleted file mode 100644
index 0c7bfbad1b85..000000000000
--- a/app-emacs/treepy/files/treepy-0.1.1-cl-lib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Fix byte-compilation with Emacs 27.
-
---- treepy.el-0.1.1-orig/treepy.el
-+++ treepy.el-0.1.1/treepy.el
-@@ -40,6 +40,7 @@
- ;;
- ;;; Code:
-
-+(require 'cl-lib)
- (require 'map)
-
- ;;; Walk (recursive tree traversal)
diff --git a/app-emacs/treepy/treepy-0.1.1-r1.ebuild b/app-emacs/treepy/treepy-0.1.1-r1.ebuild
deleted file mode 100644
index 846457486b9b..000000000000
--- a/app-emacs/treepy/treepy-0.1.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Generic tree traversing tools for Emacs Lisp"
-HOMEPAGE="https://github.com/volrath/treepy.el"
-SRC_URI="https://github.com/volrath/treepy.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}.el-${PV}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-PATCHES=("${FILESDIR}"/${P}-cl-lib.patch)
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/treepy/treepy-0.1.1.ebuild b/app-emacs/treepy/treepy-0.1.1.ebuild
deleted file mode 100644
index 801255838667..000000000000
--- a/app-emacs/treepy/treepy-0.1.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Generic tree traversing tools for Emacs Lisp"
-HOMEPAGE="https://github.com/volrath/treepy.el"
-SRC_URI="https://github.com/volrath/treepy.el/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}.el-${PV}"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
diff --git a/app-emacs/treepy/treepy-0.1.2.ebuild b/app-emacs/treepy/treepy-0.1.2.ebuild
index 375f235db437..86376f48fd33 100644
--- a/app-emacs/treepy/treepy-0.1.2.ebuild
+++ b/app-emacs/treepy/treepy-0.1.2.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-NEED_EMACS=25.1
inherit elisp
@@ -13,7 +12,7 @@ S="${WORKDIR}/${PN}.el-${PV}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
SITEFILE="50${PN}-gentoo.el"
DOCS="README.md"
diff --git a/app-emacs/treesit-auto/Manifest b/app-emacs/treesit-auto/Manifest
new file mode 100644
index 000000000000..85e744b74eb4
--- /dev/null
+++ b/app-emacs/treesit-auto/Manifest
@@ -0,0 +1,2 @@
+DIST treesit-auto-1.0.3.tar.gz 24841 BLAKE2B 89698a4810888d27f4c012301fb4f21ed1e9f8ce5cc774f1fa80add7257dbaaa3dbf23d32680542d6b54a841b1bb8d5ca81a6d07d5827a66139a21ab54492f35 SHA512 cd8c2fa23a154abdd883b82b8e465697acf48ce6ae2e0abc1aa8b7f99fd0e7f3266e13f79299fd5ac5be51402ef62c6f643d708ce290f6205a2e47a46b94cac1
+DIST treesit-auto-1.0.5.tar.gz 25069 BLAKE2B f565b49a9c929064ab6686a4fac1694aa197460579f5ee8c6304f002c5b18cb815bab7fab3a65fde069b402feb24754d4b66592ac6f32c4e7a9be42fb2493204 SHA512 c66d173304f0e9c09c5ee3c1c248192d06dff12da72676af7de481f6248eab714e0f6c7e69aa6b73a399422238d1c12676749d60c351214968977fabf24c70dd
diff --git a/app-emacs/treesit-auto/metadata.xml b/app-emacs/treesit-auto/metadata.xml
new file mode 100644
index 000000000000..95a10fb31665
--- /dev/null
+++ b/app-emacs/treesit-auto/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/renzmann/treesit-auto/issues/</bugs-to>
+ <remote-id type="github">renzmann/treesit-auto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/treesit-auto/treesit-auto-1.0.3.ebuild b/app-emacs/treesit-auto/treesit-auto-1.0.3.ebuild
new file mode 100644
index 000000000000..f60b9db41667
--- /dev/null
+++ b/app-emacs/treesit-auto/treesit-auto-1.0.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=29
+
+inherit elisp
+
+DESCRIPTION="Automatic installation, usage, fallback for tree-sitter modes in Emacs 29"
+HOMEPAGE="https://github.com/renzmann/treesit-auto/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/renzmann/${PN}.git"
+else
+ SRC_URI="https://github.com/renzmann/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/treesit-auto/treesit-auto-1.0.5.ebuild b/app-emacs/treesit-auto/treesit-auto-1.0.5.ebuild
new file mode 100644
index 000000000000..f60b9db41667
--- /dev/null
+++ b/app-emacs/treesit-auto/treesit-auto-1.0.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=29
+
+inherit elisp
+
+DESCRIPTION="Automatic installation, usage, fallback for tree-sitter modes in Emacs 29"
+HOMEPAGE="https://github.com/renzmann/treesit-auto/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/renzmann/${PN}.git"
+else
+ SRC_URI="https://github.com/renzmann/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/ts/Manifest b/app-emacs/ts/Manifest
new file mode 100644
index 000000000000..9cc9fed846b9
--- /dev/null
+++ b/app-emacs/ts/Manifest
@@ -0,0 +1 @@
+DIST ts-0.3.tar.gz 50790 BLAKE2B 99708218584764776d6f93565b7da83e266a1ea2588aba614151a9cffaddd69983a0dd897b9a59247e73992b1611dc761f250f189e179d72c36dc417f5f60aa2 SHA512 8e31543ffb69214c2daf3a26b8f2a76c9933e13f699575678c3262b1524da6615d34ec3fe9d30c62c354ba7139e7a96ac5a894850569688e75ba64959bded61c
diff --git a/app-emacs/ts/files/ts-0.3-test.patch b/app-emacs/ts/files/ts-0.3-test.patch
new file mode 100644
index 000000000000..387d7555a79e
--- /dev/null
+++ b/app-emacs/ts/files/ts-0.3-test.patch
@@ -0,0 +1,100 @@
+--- a/test/test.el
++++ b/test/test.el
+@@ -254,24 +254,6 @@
+
+ ;;;;; Formatting
+
+-(ert-deftest ts-format ()
+- ;; We test two timestamps to help avoid problems with the test
+- ;; machine's local timezone affecting results.
+- (let ((ts (make-ts :year 2019 :month 7 :day 27 :hour 20 :minute 48 :second 08 :tz-offset "-0400")))
+- ;; Following the pattern in the function:
+- (should (equal (ts-format ts) "2019-07-27 20:48:08 -0400"))
+- (should (equal (ts-format "%Y" ts) "2019"))
+- (should (ts-format "%Y"))
+- (should (equal (ts-format nil ts) "2019-07-27 20:48:08 -0400"))
+- (should (ts-format)))
+- (let ((ts (make-ts :year 2019 :month 7 :day 27 :hour 19 :minute 48 :second 08 :tz-offset "-0500")))
+- ;; Following the pattern in the function:
+- (should (equal (ts-format ts) "2019-07-27 19:48:08 -0500"))
+- (should (equal (ts-format "%Y" ts) "2019"))
+- (should (ts-format "%Y"))
+- (should (equal (ts-format nil ts) "2019-07-27 19:48:08 -0500"))
+- (should (ts-format))))
+-
+ ;;;;; Parsing
+
+ (ert-deftest ts-parse ()
+@@ -355,13 +337,6 @@
+ ;; 12:12, which means 0 seconds.
+ (should (eq (ts-S ts) 0))))
+
+-(ert-deftest ts-parse-org ()
+- ;; NOTE: Not sure how to best handle loading `org-parse-time-string'. Calling (require 'ts)
+- ;; shouldn't cause Org to be loaded, so the user will probably have to do that.
+- (require 'org)
+- (let* ((org-ts-string "<2015-09-24 Thu .+1d>"))
+- (should (equal 1443070800.0 (ts-unix (ts-parse-org org-ts-string))))))
+-
+ (ert-deftest ts-parse-org-fill ()
+ (should-error (ts-parse-org-fill nil "<2015-09-24 Thu .+1d>"))
+ (let ((ts (ts-parse-org-fill 'begin "<2015-09-24 Thu .+1d>")))
+@@ -413,27 +388,6 @@
+ (should (eq (ts-M ts) 12))
+ (should (eq (ts-S ts) 0))))
+
+-(ert-deftest ts-parse-org-element ()
+- (let ((org-ts '(timestamp (:type active
+- :raw-value "<2015-09-24 Thu .+1d>"
+- :year-start 2015 :month-start 9 :day-start 24
+- :hour-start nil :minute-start nil
+- :year-end 2015 :month-end 9 :day-end 24
+- :hour-end nil :minute-end nil
+- :begin 230314 :end 230335 :post-blank 0
+- :repeater-type restart :repeater-value 1 :repeater-unit day))))
+- (should (equal 1443070800.0 (ts-unix (ts-parse-org-element org-ts)))))
+- (let ((org-ts-string "<2015-09-24 Thu .+1d>"))
+- (with-temp-buffer
+- (delay-mode-hooks
+- (org-mode)
+- (save-excursion
+- (insert org-ts-string))
+- (should (->> (org-element-context)
+- (ts-parse-org-element)
+- (ts-unix)
+- (equal 1443070800.0)))))))
+-
+ ;;;;; Other
+
+ (ert-deftest ts-apply ()
+@@ -443,30 +397,6 @@
+ (should (= (- (ts-year now) (ts-year then))
+ expected-difference))))
+
+-(ert-deftest ts-fill ()
+- (let ((zones '("America/Chicago" (-18000 "CDT")))
+- ts)
+- (dolist (zone zones)
+- (setf ts (ts-fill (make-ts :unix 1625426636.7569551) zone))
+- (should (equal (ts-year ts) 2021))
+- (should (equal (ts-month-num ts) 7))
+- (should (equal (ts-day-of-month-num ts) 4))
+- (should (equal (ts-day-of-week-num ts) 0))
+- (should (equal (ts-hour ts) 14))
+- (should (equal (ts-minute ts) 23))
+- (should (equal (ts-second ts) 56))
+- (should (equal (ts-month-name ts) "July"))
+- (should (equal (ts-month-abbr ts) "Jul"))
+- (should (equal (ts-day-abbr ts) "Sun"))
+- (should (equal (ts-day-name ts) "Sunday"))
+- (should (equal (ts-day-of-year ts) 185))
+- (should (equal (ts-week-of-year ts) 26))
+- (should (equal (ts-tz-abbr ts) "CDT"))
+- (should (equal (ts-tz-offset ts) "-0500"))))
+- ;; If ZONE is the plain integer -18000, the tz-abbr ("%z" to `format-time-string')
+- ;; is "-05" rather than the zone abbreviation, so we test it separately.
+- (should (equal (ts-tz-abbr (ts-fill (make-ts :unix 1625426636.7569551) -18000)) "-05")))
+-
+ (ert-deftest ts-now ()
+ "Ensure `ts-now' returns what appears to be the current time."
+ (should (equal (floor (ts-unix (ts-now)))
diff --git a/app-emacs/ts/metadata.xml b/app-emacs/ts/metadata.xml
new file mode 100644
index 000000000000..e29ee8590a2c
--- /dev/null
+++ b/app-emacs/ts/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ ts is a date and time library for Emacs. It aims to be more convenient than
+ patterns like (string-to-number (format-time-string "%Y")) by providing
+ easy accessors, like (ts-year (ts-now)). To improve performance
+ (significantly), formatted date parts are computed lazily rather than when
+ a timestamp object is instantiated, and the computed parts are then cached
+ for later access without recomputing. Behind the scenes, this avoids
+ unnecessary (string-to-number (format-time-string... calls, which are
+ surprisingly expensive.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/alphapapa/ts.el/issues/</bugs-to>
+ <remote-id type="github">alphapapa/ts.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/ts/ts-0.3.ebuild b/app-emacs/ts/ts-0.3.ebuild
new file mode 100644
index 000000000000..87f02340e27c
--- /dev/null
+++ b/app-emacs/ts/ts-0.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs timestamp and date-time library"
+HOMEPAGE="https://github.com/alphapapa/ts.el"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/alphapapa/ts.el.git"
+else
+ [[ "${PV}" == 0.3 ]] && COMMIT=552936017cfdec89f7fc20c254ae6b37c3f22c5b
+ SRC_URI="https://github.com/alphapapa/ts.el/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/ts.el-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/s
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+PATCHES=( "${FILESDIR}/ts-0.3-test.patch" )
+
+DOCS=( README.org notes.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ LANG=C TZ=/usr/share/zoneinfo/UTC elisp-test-ert test -l test/test.el
+}
diff --git a/app-emacs/tuareg-mode/Manifest b/app-emacs/tuareg-mode/Manifest
index 9f03bccb22f6..3b160e31fa91 100644
--- a/app-emacs/tuareg-mode/Manifest
+++ b/app-emacs/tuareg-mode/Manifest
@@ -1 +1 @@
-DIST tuareg-mode-2.2.0.tar.gz 83392 BLAKE2B eead49dff45bb039abef0ffa8f4b874dd6d3bb36e81791b84e411031b4d714324637f99a0cfc3d4029b47032c61ca45424831a2d837fe5b01fa93383237cb14d SHA512 5f0b470920abd44e5b99e84e817ba678aded3042751b8949884c06f3a928105acbe96a28af3a8a089f6b607f8dd70cba7a669e9a61b906b1dad840c7f88bce12
+DIST tuareg-mode-3.0.1.tar.gz 104001 BLAKE2B e89a6d7f9db5c03eb5c9f04b18475750446713fbc80b8c70757a1e8e3539fdaaa353035bc455c24f263383ef85cba21150cb15ab43276286098f744e355e2da5 SHA512 55f47029482ad32d69453c9218f1934cd74e933f4bad52ab42d8a8f7670ea919d690ff1c7e3183fdaf51dbfb4d3ab8200109ec51dadefc074a989b43e2e60359
diff --git a/app-emacs/tuareg-mode/tuareg-mode-2.2.0.ebuild b/app-emacs/tuareg-mode/tuareg-mode-2.2.0.ebuild
deleted file mode 100644
index c8e52e4eca39..000000000000
--- a/app-emacs/tuareg-mode/tuareg-mode-2.2.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="An Objective Caml/Camllight mode for Emacs"
-HOMEPAGE="http://forge.ocamlcore.org/projects/tuareg/"
-SRC_URI="https://github.com/ocaml/tuareg/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+ GPL-3+ ISC"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-S="${WORKDIR}/tuareg-${PV}"
-ELISP_REMOVE="dot-emacs.el"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md CHANGES.md"
diff --git a/app-emacs/tuareg-mode/tuareg-mode-3.0.1.ebuild b/app-emacs/tuareg-mode/tuareg-mode-3.0.1.ebuild
new file mode 100644
index 000000000000..dc0ebfc06365
--- /dev/null
+++ b/app-emacs/tuareg-mode/tuareg-mode-3.0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="An Objective Caml/Camllight mode for Emacs"
+HOMEPAGE="http://forge.ocamlcore.org/projects/tuareg/"
+SRC_URI="https://github.com/ocaml/tuareg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+ GPL-3+ ISC"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+S="${WORKDIR}/tuareg-${PV}"
+ELISP_REMOVE="dot-emacs.el"
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( README.md CHANGES.md )
diff --git a/app-emacs/twittering-mode/Manifest b/app-emacs/twittering-mode/Manifest
index a3f34a702e9e..c817dcd6322c 100644
--- a/app-emacs/twittering-mode/Manifest
+++ b/app-emacs/twittering-mode/Manifest
@@ -1,2 +1 @@
-DIST twittering-mode-2.0.0.tar.gz 615223 BLAKE2B 1fc5ceb440ac9a00dde4d49cd48580d3e8f78ed2e9bccb8b2dcf41c6be1c7e0394c8db958e6ab4ac632b91bbdfc9a0930ad3867584d642b3f90b15a7bc0132d5 SHA512 318768c54c99c03c7641bfeb8396fdcaf65752121da6a64e6af9c071b6c429f73e44d1698df600915c4c7042233ef96cf86c037eece21b00d8e52a01ae569601
DIST twittering-mode-3.0.0.tar.gz 1363235 BLAKE2B 31801fcb339cab42c7b9a9bfb186ef6a21570be16dd90d36baaabe97ec9fc93bdc35ead707e366e7262347158da145c04a6f51340abd3386b8c2a9fd8b5d417b SHA512 c696a8f31abcf6944c127575719d3e9b24a2bfb6271e0193e2a6faa8137c6468c7686b88d1e4ec0c3cc3b833e26853b435726d1acb422e9f37d3c0334e278494
diff --git a/app-emacs/twittering-mode/metadata.xml b/app-emacs/twittering-mode/metadata.xml
index 8c9ceff5f9c3..7920f209868d 100644
--- a/app-emacs/twittering-mode/metadata.xml
+++ b/app-emacs/twittering-mode/metadata.xml
@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>naota@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
-<upstream>
- <remote-id type="sourceforge">twmode</remote-id>
-</upstream>
+ <maintainer type="person">
+ <email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="sourceforge">twmode</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/twittering-mode/twittering-mode-2.0.0.ebuild b/app-emacs/twittering-mode/twittering-mode-2.0.0.ebuild
deleted file mode 100644
index 29249a843c01..000000000000
--- a/app-emacs/twittering-mode/twittering-mode-2.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-if [[ ${PV} == *9999 ]]; then
- EGIT_REPO_URI="https://github.com/hayamiz/twittering-mode.git"
- inherit git-r3
- IUSE="doc"
-else
- SRC_URI="mirror://sourceforge/twmode/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- RESTRICT="test"
- IUSE=""
-fi
-
-DESCRIPTION="Emacs major mode for Twitter"
-HOMEPAGE="http://twmode.sourceforge.net/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-DEPEND=""
-RDEPEND="app-crypt/gnupg"
-
-src_compile() {
- elisp-compile twittering-mode.el
- [[ ${PV} == *9999 ]] && use doc && emake -C doc/manual
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- [[ ${PV} == *9999 ]] && use doc && dodoc doc/manual/twmode/twmode.html
- elisp-install ${PN} twittering-mode.el *.elc
-}
diff --git a/app-emacs/twittering-mode/twittering-mode-3.0.0-r1.ebuild b/app-emacs/twittering-mode/twittering-mode-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..ed246a376260
--- /dev/null
+++ b/app-emacs/twittering-mode/twittering-mode-3.0.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hayamiz/twittering-mode.git"
+ inherit git-r3
+ IUSE="doc"
+else
+ SRC_URI="mirror://sourceforge/twmode/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ RESTRICT="test"
+fi
+
+DESCRIPTION="Emacs major mode for Twitter"
+HOMEPAGE="http://twmode.sourceforge.net/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+RDEPEND="app-crypt/gnupg"
+
+src_compile() {
+ elisp-compile twittering-mode.el
+ [[ ${PV} == *9999 ]] && use doc && emake -C doc/manual
+}
+
+src_install() {
+ elisp-install ${PN} twittering-mode.el *.elc
+ [[ ${PV} == *9999 ]] && use doc && dodoc doc/manual/twmode/twmode.html
+}
diff --git a/app-emacs/twittering-mode/twittering-mode-3.0.0.ebuild b/app-emacs/twittering-mode/twittering-mode-3.0.0.ebuild
deleted file mode 100644
index 29249a843c01..000000000000
--- a/app-emacs/twittering-mode/twittering-mode-3.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-if [[ ${PV} == *9999 ]]; then
- EGIT_REPO_URI="https://github.com/hayamiz/twittering-mode.git"
- inherit git-r3
- IUSE="doc"
-else
- SRC_URI="mirror://sourceforge/twmode/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- RESTRICT="test"
- IUSE=""
-fi
-
-DESCRIPTION="Emacs major mode for Twitter"
-HOMEPAGE="http://twmode.sourceforge.net/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-DEPEND=""
-RDEPEND="app-crypt/gnupg"
-
-src_compile() {
- elisp-compile twittering-mode.el
- [[ ${PV} == *9999 ]] && use doc && emake -C doc/manual
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- [[ ${PV} == *9999 ]] && use doc && dodoc doc/manual/twmode/twmode.html
- elisp-install ${PN} twittering-mode.el *.elc
-}
diff --git a/app-emacs/twittering-mode/twittering-mode-9999.ebuild b/app-emacs/twittering-mode/twittering-mode-9999.ebuild
index 29249a843c01..ed246a376260 100644
--- a/app-emacs/twittering-mode/twittering-mode-9999.ebuild
+++ b/app-emacs/twittering-mode/twittering-mode-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit elisp
@@ -13,7 +13,6 @@ else
SRC_URI="mirror://sourceforge/twmode/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
RESTRICT="test"
- IUSE=""
fi
DESCRIPTION="Emacs major mode for Twitter"
@@ -22,7 +21,6 @@ HOMEPAGE="http://twmode.sourceforge.net/"
LICENSE="GPL-2+"
SLOT="0"
-DEPEND=""
RDEPEND="app-crypt/gnupg"
src_compile() {
@@ -30,11 +28,7 @@ src_compile() {
[[ ${PV} == *9999 ]] && use doc && emake -C doc/manual
}
-src_test() {
- emake check
-}
-
src_install() {
- [[ ${PV} == *9999 ]] && use doc && dodoc doc/manual/twmode/twmode.html
elisp-install ${PN} twittering-mode.el *.elc
+ [[ ${PV} == *9999 ]] && use doc && dodoc doc/manual/twmode/twmode.html
}
diff --git a/app-emacs/typescript-mode/Manifest b/app-emacs/typescript-mode/Manifest
new file mode 100644
index 000000000000..f75396bf931f
--- /dev/null
+++ b/app-emacs/typescript-mode/Manifest
@@ -0,0 +1 @@
+DIST typescript-mode-0.4.tar.gz 65534 BLAKE2B b72047749cac571ad4a109b0d8650319137c2f75672882940092bff097e3a8c877b59cb51aa89b28a6cbeacfddbd6730e634a5a33305c006d401d326fd7f5704 SHA512 5bb38ab14fa9b022744b790e62740a95cee4ca906bab9eaaea8804cfae78c4ead54770d7e53d323ee57799bff5101cc10b7327105b7b0d0b17c74bda64203972
diff --git a/app-emacs/typescript-mode/files/50typescript-mode-gentoo.el b/app-emacs/typescript-mode/files/50typescript-mode-gentoo.el
new file mode 100644
index 000000000000..7d8a4986d35f
--- /dev/null
+++ b/app-emacs/typescript-mode/files/50typescript-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'typescript-mode "typescript-mode"
+ "Major mode for editing typescript." t)
+(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))
diff --git a/app-emacs/typescript-mode/metadata.xml b/app-emacs/typescript-mode/metadata.xml
new file mode 100644
index 000000000000..96355bfba917
--- /dev/null
+++ b/app-emacs/typescript-mode/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/emacs-typescript/typescript.el/issues/</bugs-to>
+ <remote-id type="github">emacs-typescript/typescript.el</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/typescript-mode/typescript-mode-0.4.ebuild b/app-emacs/typescript-mode/typescript-mode-0.4.ebuild
new file mode 100644
index 000000000000..9adf1b44fa5d
--- /dev/null
+++ b/app-emacs/typescript-mode/typescript-mode-0.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="TypeScript-support for Emacs"
+HOMEPAGE="https://github.com/emacs-typescript/typescript.el/"
+SRC_URI="https://github.com/emacs-typescript/typescript.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/typescript.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}" -l typescript-mode-tests.el
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-install ${PN} ${PN}.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ dodoc README.md
+}
diff --git a/app-emacs/uboat/files/uboat-1.2-iap.patch b/app-emacs/uboat/files/uboat-1.2-iap.patch
new file mode 100644
index 000000000000..585b385a42e3
--- /dev/null
+++ b/app-emacs/uboat/files/uboat-1.2-iap.patch
@@ -0,0 +1,11 @@
+--- uboat-1.2/uboat.el
++++ uboat-1.2/uboat.el
+@@ -79,7 +79,7 @@
+ (let ((s (concat (uboat-iterate-list (uboat-random-member uboat-message)
+ "uboat-")
+ " U-" (int-to-string (random 999)) ".")))
+- (and (interactive-p)
++ (and (called-interactively-p 'interactive)
+ (message "%s" s))
+ s))
+
diff --git a/app-emacs/uboat/uboat-1.2-r1.ebuild b/app-emacs/uboat/uboat-1.2-r1.ebuild
new file mode 100644
index 000000000000..5bc62c517fd6
--- /dev/null
+++ b/app-emacs/uboat/uboat-1.2-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Generate u-boat-death messages, patterned after Iron Coffins"
+HOMEPAGE="http://www.splode.com/~friedman/software/emacs-lisp/"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.bz2"
+
+# Noah Friedman and Bob Manson have confirmed that this is in the public domain
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+PATCHES=( "${FILESDIR}/${P}-iap.patch" )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/uboat/uboat-1.2.ebuild b/app-emacs/uboat/uboat-1.2.ebuild
deleted file mode 100644
index 54d83286e69e..000000000000
--- a/app-emacs/uboat/uboat-1.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Generate u-boat-death messages, patterned after Iron Coffins"
-HOMEPAGE="http://www.splode.com/~friedman/software/emacs-lisp/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-# Noah Friedman and Bob Manson have confirmed that this is in the public domain
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/undercover/Manifest b/app-emacs/undercover/Manifest
new file mode 100644
index 000000000000..d566d0edc73b
--- /dev/null
+++ b/app-emacs/undercover/Manifest
@@ -0,0 +1 @@
+DIST undercover-0.8.1.tar.gz 20800 BLAKE2B a151366c0897baf22e2ad9e602935409643f9256f42fdc8733e3d98bfcf9373d12b6225851ab6d18cb195abff860842a6a5444886aeffce59ee45c5f1e902feb SHA512 33508f3c6cbacd30ee3ad8312e51b596a7547713837595ec2836f627bcccc90107e5198f541d8bc74ad20fb9c8ea6e0616fd0de8eb46f743d2606397000f0e74
diff --git a/app-emacs/undercover/metadata.xml b/app-emacs/undercover/metadata.xml
new file mode 100644
index 000000000000..a24f4424497e
--- /dev/null
+++ b/app-emacs/undercover/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/undercover-el/undercover.el/issues/</bugs-to>
+ <remote-id type="github">undercover-el/undercover.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/undercover/undercover-0.8.1.ebuild b/app-emacs/undercover/undercover-0.8.1.ebuild
new file mode 100644
index 000000000000..6b9177a552fb
--- /dev/null
+++ b/app-emacs/undercover/undercover-0.8.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Test coverage library for Emacs"
+HOMEPAGE="https://github.com/undercover-el/undercover.el/"
+SRC_URI="https://github.com/undercover-el/${PN}.el/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}.el-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+RESTRICT="test" # Tests fail
+
+RDEPEND="
+ app-emacs/dash
+ app-emacs/shut-up
+"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/undo-tree/Manifest b/app-emacs/undo-tree/Manifest
index 9a03a3b61889..bae454fcec2c 100644
--- a/app-emacs/undo-tree/Manifest
+++ b/app-emacs/undo-tree/Manifest
@@ -1 +1 @@
-DIST undo-tree-0.6.6.el.xz 31520 BLAKE2B 01ddd3283ab257de91bd3f38969b7426f21df58e010302d21ea093c9428481a4595ea7806c107c7f87f46825bf379e22423004a72d73fedf8c2a6138afeba510 SHA512 0510ca0020515d0afaf13dcfd1878fa527472a4115534b8f72ed907507a700b34fe7151f0f9aca3e9977f9d48a6fae231483beb14b63f1ce734dd6b3b0322a7a
+DIST undo-tree-0.8.2.tar.xz 34060 BLAKE2B 4976488fd7ae42eb273c6369758014b96503a3a852ef2a4b4798ec6363e23d3e3219f73c6a2cd2f190de8902dc9705a7a4a5331f0e7b67900f43b192ae25e81b SHA512 403ecdb0a30a53528bbaa64025b96b228249f6d2de85070dec8e20d56e02bbca06bc1dcac411dc4e342652d32626dae4b03e4538b9110b69f50d37c12d3ca391
diff --git a/app-emacs/undo-tree/metadata.xml b/app-emacs/undo-tree/metadata.xml
index 23453c81e1a7..e861433bedc7 100644
--- a/app-emacs/undo-tree/metadata.xml
+++ b/app-emacs/undo-tree/metadata.xml
@@ -28,4 +28,7 @@
best ideas from their competitors!
</longdescription>
<stabilize-allarches/>
+<upstream>
+ <remote-id type="gitlab">tsc25/undo-tree</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-emacs/undo-tree/undo-tree-0.6.6.ebuild b/app-emacs/undo-tree/undo-tree-0.6.6.ebuild
deleted file mode 100644
index 2c494eeba2d4..000000000000
--- a/app-emacs/undo-tree/undo-tree-0.6.6.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit readme.gentoo-r1 elisp
-
-DESCRIPTION="Undo trees and visualization"
-HOMEPAGE="http://www.dr-qubit.org/undo-tree.html"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="To enable undo trees globally, place '(global-undo-tree-mode)'
- in your .emacs file."
diff --git a/app-emacs/undo-tree/undo-tree-0.8.2-r1.ebuild b/app-emacs/undo-tree/undo-tree-0.8.2-r1.ebuild
new file mode 100644
index 000000000000..27679d36275a
--- /dev/null
+++ b/app-emacs/undo-tree/undo-tree-0.8.2-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 elisp
+
+DESCRIPTION="Undo trees and visualization"
+HOMEPAGE="http://www.dr-qubit.org/undo-tree.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="app-emacs/queue"
+BDEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="To enable undo trees globally, place '(global-undo-tree-mode)'
+ in your .emacs file."
diff --git a/app-emacs/uptimes/Manifest b/app-emacs/uptimes/Manifest
index 8b8bcac44111..ce64bc3bfb98 100644
--- a/app-emacs/uptimes/Manifest
+++ b/app-emacs/uptimes/Manifest
@@ -1 +1 @@
-DIST uptimes-3.7.tar.gz 3913 BLAKE2B 3148b17a8e61201027702891e0303870cddaace650770621bf7847cb86ba917c74aa5938f55fe2e6275180f9e66755f418dee47bc80b6fd7439276ff525ea9d8 SHA512 6e31cdacabc93a8f9d206d95eb4d16ad4a6b4a69f1032e93710693eebe8064446b19e4938eb342c8a66fac7e52e22da36b26bd3417216ab302c9c8e50dba27c3
+DIST uptimes-3.8.tar.gz 3915 BLAKE2B 279bf6fbf5658b84acf4c1a13747d5c1d8592c479049058b9dfdc692adb838e2e7d2ae0983aff63dbbacf4d867918768ca0caba9a45fb850833b515fe7573ba3 SHA512 6234c55db89e2c398229687f1339c56e96cef3a5845d87cd9c82dcdfb9bc746f28856bac94b00f10920d8ca0540ddc9171ea72c6460b70d360f34062fae901fd
diff --git a/app-emacs/uptimes/files/50uptimes-gentoo.el b/app-emacs/uptimes/files/50uptimes-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/uptimes/files/50uptimes-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/uptimes/uptimes-3.7.ebuild b/app-emacs/uptimes/uptimes-3.7.ebuild
deleted file mode 100644
index 869df6026ab0..000000000000
--- a/app-emacs/uptimes/uptimes-3.7.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-MY_PN="${PN}.el"
-DESCRIPTION="Track and display emacs session uptimes"
-HOMEPAGE="http://www.davep.org/emacs/"
-SRC_URI="https://github.com/davep/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="Uptimes is not enabled as a site default. Add the following
- line to your ~/.emacs file to enable tracking of session uptimes:
- \n(require 'uptimes)"
diff --git a/app-emacs/uptimes/uptimes-3.8.ebuild b/app-emacs/uptimes/uptimes-3.8.ebuild
new file mode 100644
index 000000000000..4aabf3e8b68e
--- /dev/null
+++ b/app-emacs/uptimes/uptimes-3.8.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+MY_PN="${PN}.el"
+DESCRIPTION="Track and display emacs session uptimes"
+HOMEPAGE="http://www.davep.org/emacs/"
+SRC_URI="https://github.com/davep/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS="README.md"
+DOC_CONTENTS="Uptimes is not enabled as a site default. Add the following
+ line to your ~/.emacs file to enable tracking of session uptimes:
+ \n(require 'uptimes)"
diff --git a/app-emacs/use-package/Manifest b/app-emacs/use-package/Manifest
new file mode 100644
index 000000000000..3dc457a8998e
--- /dev/null
+++ b/app-emacs/use-package/Manifest
@@ -0,0 +1 @@
+DIST use-package-2.4.5.tar.xz 61288 BLAKE2B e494791eb2ddee436d6ea1488e632fcad71ba1ace7b2a430c706d5db3e4aad1e25e306e6214e04bafdec79f02c8ae29092207696fffa9d9b2450eb931c6986ed SHA512 01321a4d989dc51ad46bf228c75ea1e666deaf4c34106205bb0e630beb1e71bc7d9cfe1888bc7683d030532191edf94d542045bdae4d2ba8337d354d43440b3c
diff --git a/app-emacs/use-package/files/use-package-require-diminish.patch b/app-emacs/use-package/files/use-package-require-diminish.patch
new file mode 100644
index 000000000000..afa7f33045ec
--- /dev/null
+++ b/app-emacs/use-package/files/use-package-require-diminish.patch
@@ -0,0 +1,14 @@
+Diminishing is one of core features of use-package, normally
+it would have to be required before using use-package.
+This patch will load diminish when use-package loads.
+index 1f3895f..a38ee48 100644
+--- a/use-package-diminish.el
++++ b/use-package-diminish.el
+@@ -33,6 +33,7 @@
+
+ ;;; Code:
+
++(require 'diminish)
+ (require 'use-package-core)
+
+ (defun use-package-normalize-diminish (name label arg &optional recursed)
diff --git a/app-emacs/use-package/metadata.xml b/app-emacs/use-package/metadata.xml
new file mode 100644
index 000000000000..fcab48234ef8
--- /dev/null
+++ b/app-emacs/use-package/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jwiegley/use-package/issues/</bugs-to>
+ <remote-id type="github">jwiegley/use-package</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/use-package/use-package-2.4.5.ebuild b/app-emacs/use-package/use-package-2.4.5.ebuild
new file mode 100644
index 000000000000..58a5752c9a36
--- /dev/null
+++ b/app-emacs/use-package/use-package-2.4.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: This package provides all "use-package" Emacs Lisp libraries except
+# "bind-chord" and "bind-key" which are split into their own packages.
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Declaration macro for simplifying your Emacs configuration"
+HOMEPAGE="https://github.com/jwiegley/use-package/
+ https://elpa.gnu.org/packages/use-package.html"
+SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ app-emacs/bind-chord
+ app-emacs/bind-key
+ app-emacs/diminish
+ app-emacs/system-packages
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-require-diminish.patch )
+
+ELISP_TEXINFO="${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/uxntal-mode/Manifest b/app-emacs/uxntal-mode/Manifest
new file mode 100644
index 000000000000..4507db7f027f
--- /dev/null
+++ b/app-emacs/uxntal-mode/Manifest
@@ -0,0 +1 @@
+DIST uxntal-mode-0.3.tar.gz 9906 BLAKE2B fc0126c99ebaae2f8f95b7364dc56341de012d7b010a13ac362dda2bc81b110f60bdb8c5e7d1f764b0368538e4657aa989e75797566499cd58e4b3f85ae12d66 SHA512 d161b96d8c80cd7e3761cf05ffb7f4711755c5ec2282fdb9ee0a2e77dc78f7ed059482641908c645371794c7d258e5f6fae0971d281e56e2e80397026b4fa441
diff --git a/app-emacs/uxntal-mode/files/50uxntal-mode-gentoo.el b/app-emacs/uxntal-mode/files/50uxntal-mode-gentoo.el
new file mode 100644
index 000000000000..916ad70e1619
--- /dev/null
+++ b/app-emacs/uxntal-mode/files/50uxntal-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'uxntal-mode "uxntal-mode"
+ "Major mode for editing Uxntal files." t)
+(add-to-list 'auto-mode-alist '("\\.tal\\'" . uxntal-mode))
diff --git a/app-emacs/uxntal-mode/metadata.xml b/app-emacs/uxntal-mode/metadata.xml
new file mode 100644
index 000000000000..d8c98f52eae3
--- /dev/null
+++ b/app-emacs/uxntal-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/non/uxntal-mode/issues/</bugs-to>
+ <remote-id type="github">non/uxntal-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/uxntal-mode/uxntal-mode-0.3.ebuild b/app-emacs/uxntal-mode/uxntal-mode-0.3.ebuild
new file mode 100644
index 000000000000..bd0c0b36f9fd
--- /dev/null
+++ b/app-emacs/uxntal-mode/uxntal-mode-0.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="GNU Emacs major mode for the uxntal assembly language"
+HOMEPAGE="https://github.com/non/uxntal-mode/"
+SRC_URI="https://github.com/non/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/vertico/Manifest b/app-emacs/vertico/Manifest
new file mode 100644
index 000000000000..c3887fb1eb57
--- /dev/null
+++ b/app-emacs/vertico/Manifest
@@ -0,0 +1,2 @@
+DIST vertico-1.7.tar.gz 47534 BLAKE2B fa6caf0873b41402168e7259fd59119f7621437b381c44d251d36fd348a1616ab64e6fd309aeee7526a6699fa089255ffb4be56e814fd37b2537361c641762c0 SHA512 7dd2952bfc8fdf2f8609b9e95c172f32e3e7cf2388a058984b9c70940ab46cd5a945e701ee757cf64c4258e5bc92ae313d2fbbddc40e5d8df40908fedfea1e77
+DIST vertico-1.8.tar.gz 47935 BLAKE2B 38ab272d0afb87ee84a3f873fa51f036a6752ad64e06e2bd0d9c28901f3bf93192247afef5fb26e2caccf6cd3ecf043df4697172c1c66da4fb478fd4edaaaa4a SHA512 a5285da018937750a3012ad0b446f433e193258a05ece211d1341d2364a0f855276887bf326d81491752db8d620e3d7ac92d5c55a6347a16cc5f74c388891e24
diff --git a/app-emacs/vertico/files/50vertico-gentoo.el b/app-emacs/vertico/files/50vertico-gentoo.el
new file mode 100644
index 000000000000..a7d1b3665969
--- /dev/null
+++ b/app-emacs/vertico/files/50vertico-gentoo.el
@@ -0,0 +1,2 @@
+(add-to-list 'load-path "@SITELISP@")
+(load "@SITELISP@/vertico-autoloads" nil t)
diff --git a/app-emacs/vertico/metadata.xml b/app-emacs/vertico/metadata.xml
new file mode 100644
index 000000000000..f5159c9e8ada
--- /dev/null
+++ b/app-emacs/vertico/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="github">minad/vertico</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/vertico/vertico-1.7.ebuild b/app-emacs/vertico/vertico-1.7.ebuild
new file mode 100644
index 000000000000..edab4e05ba9a
--- /dev/null
+++ b/app-emacs/vertico/vertico-1.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Vertical interactive completion"
+HOMEPAGE="https://github.com/minad/vertico/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.org README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el ./ || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/vertico/vertico-1.8.ebuild b/app-emacs/vertico/vertico-1.8.ebuild
new file mode 100644
index 000000000000..edab4e05ba9a
--- /dev/null
+++ b/app-emacs/vertico/vertico-1.8.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Vertical interactive completion"
+HOMEPAGE="https://github.com/minad/vertico/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.org README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el ./ || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/vertico/vertico-9999.ebuild b/app-emacs/vertico/vertico-9999.ebuild
new file mode 100644
index 000000000000..8623d46e2c78
--- /dev/null
+++ b/app-emacs/vertico/vertico-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS=27.1
+
+inherit elisp
+
+DESCRIPTION="Vertical interactive completion"
+HOMEPAGE="https://github.com/minad/vertico/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/minad/${PN}.git"
+else
+ SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/compat-29.1.4.0"
+BDEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG.org README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ mv extensions/*.el ./ || die
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file
+}
diff --git a/app-emacs/vhdl-mode/Manifest b/app-emacs/vhdl-mode/Manifest
index 862cd8f664e3..53628d376869 100644
--- a/app-emacs/vhdl-mode/Manifest
+++ b/app-emacs/vhdl-mode/Manifest
@@ -1 +1,2 @@
-DIST vhdl-mode-3.38.1.tar.gz 318400 BLAKE2B 2ddad9f4e8fdb0fafd2e27075f5722fcf7959a2b50ad61c5860af52706d9579065e0880d7b9bd1b884c21cfc902760dff006404490c8cbb1474831aa4c6d841d SHA512 2cc12994e17658d65cffa348c59ac3208cc0f498731941b8f64da68e258ca57d6aa500d72103b005996cf3496e119cf59b52bbc1c4b740401685030b42f272a8
+DIST vhdl-mode-3.39.2.tar.gz 320568 BLAKE2B 3babb589911dd6bc83109f4de1a17f8d45a549216ca85604caef9470b6965766bdccf0c7e0963c17fbf310fa4a2f1d1e6e11f1dff6308328ad7f395a8bbe3d1d SHA512 e4486e3f7836c6c55179b389d6537bc7f2265b402aafb4e600ea87056f05de2af5f7ed38d59f023d73f8668e1b8594be82e057eb47569d9f09aa4d0200b41922
+DIST vhdl-mode-3.39.3.tar.gz 320844 BLAKE2B fd8b4d171e60a6c1c282b602571d1cd0b78578fa827eb3c9afb1d96b3dd95d55f770cfc9d9c508cf82e55652bc51fbebaca6f40c972e419bdff4f74033843952 SHA512 683a6e28135036293edc3f8ad996a11512943712f5d5bd5bc63902029405862871c0c23cfbaf28ddc11ddbc045f629913fde8785b3ff8c559b14910f2afc20ed
diff --git a/app-emacs/vhdl-mode/vhdl-mode-3.38.1.ebuild b/app-emacs/vhdl-mode/vhdl-mode-3.38.1.ebuild
deleted file mode 100644
index 8d170431a04a..000000000000
--- a/app-emacs/vhdl-mode/vhdl-mode-3.38.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="VHDL-mode for Emacs"
-HOMEPAGE="https://iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html"
-SRC_URI="https://iis.ee.ethz.ch/~zimmi/emacs/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-ELISP_PATCHES="${PN}-info-dir-gentoo.patch"
-ELISP_REMOVE="site-start.*"
-SITEFILE="50${PN}-gentoo.el"
-DOCS="ChangeLog README"
-
-src_install() {
- elisp_src_install
- doinfo vhdl-mode.info
-}
diff --git a/app-emacs/vhdl-mode/vhdl-mode-3.39.2.ebuild b/app-emacs/vhdl-mode/vhdl-mode-3.39.2.ebuild
new file mode 100644
index 000000000000..8c9ebd57c1b7
--- /dev/null
+++ b/app-emacs/vhdl-mode/vhdl-mode-3.39.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="VHDL-mode for Emacs"
+HOMEPAGE="https://iis-people.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html"
+SRC_URI="https://iis-people.ee.ethz.ch/~zimmi/emacs/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-info-dir-gentoo.patch )
+ELISP_REMOVE="site-start.*"
+SITEFILE="50${PN}-gentoo.el"
+DOCS="ChangeLog README"
+
+src_install() {
+ elisp_src_install
+ doinfo vhdl-mode.info
+}
diff --git a/app-emacs/vhdl-mode/vhdl-mode-3.39.3.ebuild b/app-emacs/vhdl-mode/vhdl-mode-3.39.3.ebuild
new file mode 100644
index 000000000000..a67aca050578
--- /dev/null
+++ b/app-emacs/vhdl-mode/vhdl-mode-3.39.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="VHDL-mode for Emacs"
+HOMEPAGE="https://iis-people.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html"
+SRC_URI="https://iis-people.ee.ethz.ch/~zimmi/emacs/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+ELISP_REMOVE="site-start.*"
+PATCHES=( "${FILESDIR}/${PN}-info-dir-gentoo.patch" )
+
+DOCS="ChangeLog README"
+SITEFILE="50${PN}-gentoo.el"
+
+src_install() {
+ elisp_src_install
+
+ doinfo vhdl-mode.info
+}
diff --git a/app-emacs/vm/vm-9999.ebuild b/app-emacs/vm/vm-9999.ebuild
deleted file mode 100644
index 7834ef8f589d..000000000000
--- a/app-emacs/vm/vm-9999.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp bzr autotools
-
-DESCRIPTION="The VM mail reader for Emacs"
-HOMEPAGE="http://www.nongnu.org/viewmail/"
-EBZR_REPO_URI="lp:vm"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="bbdb ssl"
-
-BDEPEND="bbdb? ( app-emacs/bbdb )"
-RDEPEND="${BDEPEND}
- ssl? ( net-misc/stunnel )"
-BDEPEND="${BDEPEND}
- sys-apps/texinfo"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- eapply "${FILESDIR}"/vm-8.2.0_beta-texinfo-encoding.patch
- if ! use bbdb; then
- elog "Excluding vm-pcrisis.el since the \"bbdb\" USE flag is not set."
- eapply "${FILESDIR}/${PN}-8.0-no-pcrisis.patch"
- fi
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-emacs="emacs" \
- --with-lispdir="${SITELISP}/${PN}" \
- --with-etcdir="${SITEETC}/${PN}" \
- --with-docdir="/usr/share/doc/${PF}" \
- $(use bbdb && echo "--with-other-dirs=${SITELISP}/bbdb")
-}
-
-src_compile() {
- emake -j1
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
-
- # delete duplicate documentation
- find "${D}/${SITEETC}/${PN}" -type d -name pixmaps -prune \
- -o -type f -exec rm '{}' '+' || die
-
- dodoc example.vm
- # NEWS is accessed from lisp and must not be compressed
- docompress -x /usr/share/doc/${PF}/NEWS
-}
diff --git a/app-emacs/volume/files/volume-1.0-emacs-28.patch b/app-emacs/volume/files/volume-1.0-emacs-28.patch
new file mode 100644
index 000000000000..8a26b0441ebf
--- /dev/null
+++ b/app-emacs/volume/files/volume-1.0-emacs-28.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/836904
+
+--- a/volume.el
++++ b/volume.el
+@@ -448,7 +448,7 @@
+
+ (when (fboundp 'define-obsolete-variable-alias)
+ (define-obsolete-variable-alias 'volume-amixer-control
+- 'volume-amixer-default-channel))
++ 'volume-amixer-default-channel ""))
+
+ (defvar volume-amixer-current-channel volume-amixer-default-channel
+ "The name of the ALSA mixer channel to manipulate.")
+@@ -562,7 +562,7 @@
+
+ (when (fboundp 'define-obsolete-function-alias)
+ (define-obsolete-function-alias 'volume-channel-name
+- 'volume-channel-label))
++ 'volume-channel-label ""))
+
+ (defun volume-channels ()
+ "Return the list of available channels."
+@@ -775,7 +775,7 @@
+ (volume-lower (* n 10)))
+
+ (defalias 'volume-lower-more 'volume-lower-10)
+-(make-obsolete 'volume-lower-more 'volume-lower-10)
++(make-obsolete 'volume-lower-more 'volume-lower-10 "")
+
+ (defun volume-raise-10 (&optional n)
+ "Raise the volume by 10 N percentage units."
+@@ -783,7 +783,7 @@
+ (volume-raise (* n 10)))
+
+ (defalias 'volume-raise-more 'volume-raise-10)
+-(make-obsolete 'volume-raise-more 'volume-raise-10)
++(make-obsolete 'volume-raise-more 'volume-raise-10 "")
+
+ (defun volume-lower-50 (&optional n)
+ "Lower the volume by 50 N percentage units."
diff --git a/app-emacs/volume/metadata.xml b/app-emacs/volume/metadata.xml
index 978a4ffa187c..9241744bc512 100644
--- a/app-emacs/volume/metadata.xml
+++ b/app-emacs/volume/metadata.xml
@@ -7,6 +7,6 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">dbrock/volume-el</remote-id>
+ <remote-id type="github">dbrock/volume.el</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/volume/volume-1.0-r1.ebuild b/app-emacs/volume/volume-1.0-r1.ebuild
index 130913594d03..3bb752070488 100644
--- a/app-emacs/volume/volume-1.0-r1.ebuild
+++ b/app-emacs/volume/volume-1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
inherit elisp
DESCRIPTION="Tweak your sound card volume from Emacs"
-HOMEPAGE="https://github.com/dbrock/volume-el"
+HOMEPAGE="https://github.com/dbrock/volume.el"
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.bz2"
LICENSE="GPL-2+"
@@ -18,5 +18,8 @@ KEYWORDS="amd64 ppc sparc x86"
# RDEPEND="|| ( media-sound/aumixer media-sound/alsa-utils )"
-ELISP_PATCHES="${P}-mode-line.patch"
+PATCHES=(
+ "${FILESDIR}"/${P}-mode-line.patch
+ "${FILESDIR}"/${P}-emacs-28.patch
+)
SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/vterm/Manifest b/app-emacs/vterm/Manifest
index 5294b04ce525..cd6bad9fe88b 100644
--- a/app-emacs/vterm/Manifest
+++ b/app-emacs/vterm/Manifest
@@ -1,2 +1 @@
-DIST vterm-0.0.1_pre20200713.tar.gz 48160 BLAKE2B 96c45ddb139d19f3020d7a8eebc1ee31a7dc098f47c16cfffc7bf3327261a4366763744a8158d3c8a066ec94be4966a5ef78804db95c9025eee06fb8c9e4aa76 SHA512 17726ad0957daeab2a87b398bfa24dbe3c4c48dfba932138a71cd8c992bf20bd2925a7118a89247bbd674dbecd7fda8663c564a278168bb207034efb03e50cd0
-DIST vterm-0.0.1_pre20210618.tar.gz 58389 BLAKE2B 71221d470e01d647093e3a3af0c57b416ef23e81ff4d783d032613e19f1d467752fea0d242ea0f72092e3cdabbdb88ba15a840d9e4116cf5aa95d54a020efe0d SHA512 9e23eff1c9c5d2cc8e970bb4d9910b3e0258987d09b765ece188641ff5e2696e30d59a409f45253f243162b8e71c0ea301049ff37c93ffec1e1c25206ca9c5d2
+DIST vterm-0.0.2_p20240102.tar.gz 61754 BLAKE2B 283730dbd1d826590111495c798bfdf78a1921c73ac6aba7f062590c775c2d99265f70cf915f486316837a28e97f0e6a0e3fca72aed74295fbfc807acd8c1a99 SHA512 74a6a789ffc2863eea7be6775761c65537812cb0a6c571334ae3958129ddd3e7bbe764812e4dfe2782194a3e92af6cc6d04e400ca94a2e73dfa38fa0b476eabc
diff --git a/app-emacs/vterm/files/vterm-0.0.1_pre20200713-dont-compile.patch b/app-emacs/vterm/files/vterm-0.0.1_pre20200713-dont-compile.patch
deleted file mode 100644
index 6b08ae812360..000000000000
--- a/app-emacs/vterm/files/vterm-0.0.1_pre20200713-dont-compile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Simply error out if the module is not found. Don't confuse the user
-with messages about compiling the module, which won't work outside of
-the package's source tree.
-
---- a/vterm.el
-+++ b/vterm.el
-@@ -121,14 +121,7 @@
- (message "Compilation of `emacs-libvterm' module succeeded")
- (error "Compilation of `emacs-libvterm' module failed!")))))
-
--;; If the vterm-module is not compiled yet, compile it
--(unless (require 'vterm-module nil t)
-- (if (or vterm-always-compile-module
-- (y-or-n-p "Vterm needs `vterm-module' to work. Compile it now? "))
-- (progn
-- (vterm-module-compile)
-- (require 'vterm-module))
-- (error "Vterm will not work until `vterm-module' is compiled!")))
-+(require 'vterm-module)
-
- ;; Silence compiler warnings by informing it of what functions are defined
- (declare-function display-line-numbers-update-width "display-line-numbers")
diff --git a/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild b/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild
deleted file mode 100644
index b3df66ead641..000000000000
--- a/app-emacs/vterm/vterm-0.0.1_pre20200713.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=26
-COMMIT="f41849c2c9c1899f22d1c3d4f871ec47c82627ce"
-
-inherit cmake elisp
-
-MY_PN="emacs-libvterm"
-DESCRIPTION="Fully-featured terminal emulator based on libvterm"
-HOMEPAGE="https://github.com/akermu/emacs-libvterm"
-SRC_URI="https://github.com/akermu/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-DEPEND="dev-libs/libvterm"
-RDEPEND="${DEPEND}
- >=app-editors/emacs-26:*[dynamic-loading]"
-
-S="${WORKDIR}/${MY_PN}-${COMMIT}"
-PATCHES=( "${FILESDIR}"/${P}-dont-compile.patch )
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=( "-DUSE_SYSTEM_LIBVTERM=ON" )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- elisp_src_compile
-}
-
-src_install() {
- elisp_src_install
- elisp-modules-install ${PN} vterm-module.so
-}
diff --git a/app-emacs/vterm/vterm-0.0.1_pre20210618.ebuild b/app-emacs/vterm/vterm-0.0.1_pre20210618.ebuild
deleted file mode 100644
index 921cdf52715f..000000000000
--- a/app-emacs/vterm/vterm-0.0.1_pre20210618.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=26
-COMMIT="d9dfa624679afdd5db6ad25429ef86d3dd91401e"
-
-inherit cmake elisp
-
-MY_PN="emacs-libvterm"
-DESCRIPTION="Fully-featured terminal emulator based on libvterm"
-HOMEPAGE="https://github.com/akermu/emacs-libvterm"
-SRC_URI="https://github.com/akermu/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-DEPEND="dev-libs/libvterm"
-RDEPEND="${DEPEND}
- >=app-editors/emacs-26:*[dynamic-loading]"
-
-S="${WORKDIR}/${MY_PN}-${COMMIT}"
-PATCHES=("${FILESDIR}"/${PN}-0.0.1_pre20210618-dont-compile.patch)
-SITEFILE="50${PN}-gentoo.el"
-DOCS="README.md"
-
-src_prepare() {
- if [[ -e ${ESYSROOT}/usr/include/emacs-module.h ]]; then
- # Use system header file instead of bundled one
- rm emacs-module.h || die
- else
- ewarn "${ESYSROOT}/usr/include/emacs-module.h does not exist"
- ewarn "Falling back to bundled header file"
- fi
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=("-DUSE_SYSTEM_LIBVTERM=ON")
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- elisp_src_compile
-}
-
-src_install() {
- elisp_src_install
- elisp-modules-install ${PN} vterm-module.so
-}
diff --git a/app-emacs/vterm/vterm-0.0.2_p20240102.ebuild b/app-emacs/vterm/vterm-0.0.2_p20240102.ebuild
new file mode 100644
index 000000000000..81b9ff66bd91
--- /dev/null
+++ b/app-emacs/vterm/vterm-0.0.2_p20240102.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=emacs-libvterm
+NEED_EMACS=26
+
+inherit cmake elisp
+
+DESCRIPTION="Fully-featured terminal emulator based on libvterm"
+HOMEPAGE="https://github.com/akermu/emacs-libvterm/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/akermu/${MY_PN}.git"
+else
+ if [[ "${PV}" = *_p20240102 ]] ; then
+ COMMIT=c3a3a23a5eace137947524c93644204bf6b56cff
+
+ SRC_URI="https://github.com/akermu/${MY_PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/akermu/${MY_PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+ fi
+
+ KEYWORDS="amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DEPEND="
+ >=dev-libs/libvterm-0.2:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=app-editors/emacs-26:*[dynamic-loading]
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.0.1_pre20210618-dont-compile.patch" )
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ if [[ -e "${ESYSROOT}/usr/include/emacs-module.h" ]] ; then
+ # Use system header file instead of bundled one.
+ rm emacs-module.h || die
+ else
+ ewarn "${ESYSROOT}/usr/include/emacs-module.h does not exist"
+ ewarn "Falling back to bundled header file"
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DUSE_SYSTEM_LIBVTERM=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ elisp_src_compile
+}
+
+src_install() {
+ elisp_src_install
+ elisp-modules-install "${PN}" vterm-module.so
+
+ # Install shell-side vterm support scripts.
+ insinto "${SITEETC}/${PN}"
+ doins -r etc
+}
diff --git a/app-emacs/vterm/vterm-9999.ebuild b/app-emacs/vterm/vterm-9999.ebuild
new file mode 100644
index 000000000000..47fb04defbc9
--- /dev/null
+++ b/app-emacs/vterm/vterm-9999.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=emacs-libvterm
+NEED_EMACS=26
+
+inherit cmake elisp
+
+DESCRIPTION="Fully-featured terminal emulator based on libvterm"
+HOMEPAGE="https://github.com/akermu/emacs-libvterm/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/akermu/${MY_PN}.git"
+else
+ if [[ "${PV}" = *_p20240102 ]] ; then
+ COMMIT=c3a3a23a5eace137947524c93644204bf6b56cff
+
+ SRC_URI="https://github.com/akermu/${MY_PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/akermu/${MY_PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+ fi
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DEPEND="
+ >=dev-libs/libvterm-0.2:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=app-editors/emacs-26:*[dynamic-loading]
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.0.1_pre20210618-dont-compile.patch" )
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ if [[ -e "${ESYSROOT}/usr/include/emacs-module.h" ]] ; then
+ # Use system header file instead of bundled one.
+ rm emacs-module.h || die
+ else
+ ewarn "${ESYSROOT}/usr/include/emacs-module.h does not exist"
+ ewarn "Falling back to bundled header file"
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DUSE_SYSTEM_LIBVTERM=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ elisp_src_compile
+}
+
+src_install() {
+ elisp_src_install
+ elisp-modules-install "${PN}" vterm-module.so
+
+ # Install shell-side vterm support scripts.
+ insinto "${SITEETC}/${PN}"
+ doins -r etc
+}
diff --git a/app-emacs/vue-html-mode/Manifest b/app-emacs/vue-html-mode/Manifest
new file mode 100644
index 000000000000..dc03a9acea22
--- /dev/null
+++ b/app-emacs/vue-html-mode/Manifest
@@ -0,0 +1 @@
+DIST vue-html-mode-0.2.tar.gz 17744 BLAKE2B 460a6f67c00d3b2e7372209766c2dc1729ff5ac1ef9ca8951ac0677937130d5b54cb3c22702d304efe70aa57117af067b6a103197738efa1f5ee77f285e01c18 SHA512 8fe8f19059d64355af9ae2ac95aba2ac71b50153f5a3270fd75b70433bce3fa628a04abe03dea84671dabe5c604b7b0ae298b33214038ef9fa5dff8aaf418a56
diff --git a/app-emacs/vue-html-mode/files/50vue-html-mode-gentoo.el b/app-emacs/vue-html-mode/files/50vue-html-mode-gentoo.el
new file mode 100644
index 000000000000..0bc482778051
--- /dev/null
+++ b/app-emacs/vue-html-mode/files/50vue-html-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'vue-html-mode "vue-html-mode"
+ "Major mode for Vue.js templates." t)
diff --git a/app-emacs/vue-html-mode/metadata.xml b/app-emacs/vue-html-mode/metadata.xml
new file mode 100644
index 000000000000..d51da01a3b2d
--- /dev/null
+++ b/app-emacs/vue-html-mode/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ The main features of this mode are syntax highlighting (enabled with
+ font-lock-mode or global-font-lock-mode), and html-mode integration. Vue
+ component files are best edited with the excellent vue-mode, which the
+ author of this package also contributes to. This mode is included in
+ vue-mode, and is the default mode for editing template blocks.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/AdamNiederer/vue-html-mode/issues/</bugs-to>
+ <remote-id type="github">AdamNiederer/vue-html-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/vue-html-mode/vue-html-mode-0.2.ebuild b/app-emacs/vue-html-mode/vue-html-mode-0.2.ebuild
new file mode 100644
index 000000000000..7154d2eeb75d
--- /dev/null
+++ b/app-emacs/vue-html-mode/vue-html-mode-0.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major Emacs mode for editing Vue.js templates"
+HOMEPAGE="https://github.com/AdamNiederer/vue-html-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/AdamNiederer/${PN}.git"
+else
+ SRC_URI="https://github.com/AdamNiederer/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/vue-html-mode/vue-html-mode-9999.ebuild b/app-emacs/vue-html-mode/vue-html-mode-9999.ebuild
new file mode 100644
index 000000000000..b1b342c0b34d
--- /dev/null
+++ b/app-emacs/vue-html-mode/vue-html-mode-9999.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major Emacs mode for editing Vue.js templates"
+HOMEPAGE="https://github.com/AdamNiederer/vue-html-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/AdamNiederer/${PN}.git"
+else
+ SRC_URI="https://github.com/AdamNiederer/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/vue-mode/Manifest b/app-emacs/vue-mode/Manifest
new file mode 100644
index 000000000000..472af6eaae10
--- /dev/null
+++ b/app-emacs/vue-mode/Manifest
@@ -0,0 +1 @@
+DIST vue-mode-0.4.tar.gz 12023 BLAKE2B bb20f56544b8bd67ece2753febb88c854b1ba243aeb7bc394cfece877a521c16fcb9284c4fcb2099b1cf65a0ae63252502668cf69f78043eebb68e295c620505 SHA512 2612b9928a6a2b209b82326e5600287072a284a7d4c431029d775be517893cef6825c0bb011689ab9d7258631ea2007d1613343b6bf8bf0676847a2dcfd039c6
diff --git a/app-emacs/vue-mode/files/50vue-mode-gentoo.el b/app-emacs/vue-mode/files/50vue-mode-gentoo.el
new file mode 100644
index 000000000000..15091349f763
--- /dev/null
+++ b/app-emacs/vue-mode/files/50vue-mode-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'vue-mode "vue-mode"
+ "Major mode for vue component based on mmm-mode" t)
+(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode))
diff --git a/app-emacs/vue-mode/metadata.xml b/app-emacs/vue-mode/metadata.xml
new file mode 100644
index 000000000000..aa019a01b771
--- /dev/null
+++ b/app-emacs/vue-mode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches />
+ <upstream>
+ <bugs-to>https://github.com/AdamNiederer/vue-mode/issues/</bugs-to>
+ <remote-id type="github">AdamNiederer/vue-mode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/vue-mode/vue-mode-0.4.ebuild b/app-emacs/vue-mode/vue-mode-0.4.ebuild
new file mode 100644
index 000000000000..a3bbb8a19c06
--- /dev/null
+++ b/app-emacs/vue-mode/vue-mode-0.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major Emacs mode for vue component based on mmm-mode"
+HOMEPAGE="https://github.com/AdamNiederer/vue-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/AdamNiederer/${PN}.git"
+else
+ SRC_URI="https://github.com/AdamNiederer/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/edit-indirect
+ app-emacs/mmm-mode
+ app-emacs/ssass-mode
+ app-emacs/vue-html-mode
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/undercover
+ app-emacs/s
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
diff --git a/app-emacs/vue-mode/vue-mode-9999.ebuild b/app-emacs/vue-mode/vue-mode-9999.ebuild
new file mode 100644
index 000000000000..9d29203f1a69
--- /dev/null
+++ b/app-emacs/vue-mode/vue-mode-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Major Emacs mode for vue component based on mmm-mode"
+HOMEPAGE="https://github.com/AdamNiederer/vue-mode/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/AdamNiederer/${PN}.git"
+else
+ SRC_URI="https://github.com/AdamNiederer/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ app-emacs/edit-indirect
+ app-emacs/mmm-mode
+ app-emacs/ssass-mode
+ app-emacs/vue-html-mode
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/undercover
+ app-emacs/s
+ )
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert-runner test
diff --git a/app-emacs/wanderlust/Manifest b/app-emacs/wanderlust/Manifest
index b1e38580dd26..3699104591ef 100644
--- a/app-emacs/wanderlust/Manifest
+++ b/app-emacs/wanderlust/Manifest
@@ -1,2 +1 @@
-DIST wanderlust-2.15.9_p20190623.tar.gz 1210223 BLAKE2B 50416e27062a9837c18660ea9a1a7a3ff596639763965b09925ca16c89617d159b9aa5d08d93d8b5c6a504da2b048df8b4c489d4fc11ff6abc530f741a5d8fb9 SHA512 369f8d93af4d0d98f66c4c8500aa3535e3f772d8a1920c1bdc434f0d9078555f40d0d4278937d97bccf0f417cf1b1fdeb6c8a891d42b2675fb7737382425c91d
-DIST wanderlust-2.15.9_p20210629.tar.gz 1177023 BLAKE2B 7af02d833bfa7a2fdb52adc6ee25e43cb5b9ebd79c32685af033e3f24d3f1f9c758940b9fe7ade1295691a774e0530569b0f0567aae57a54d7da30e70f57eb93 SHA512 60cd4be070fde9f24f42ddc6ca5d5d290eddf2c0fa9b584eace50bc569f2ed3003be8f75f26a5ef8cffad4ed059118163bb4ea289d95ee58b445c4d8f34b487e
+DIST wanderlust-2.15.9_p20230624.tar.gz 1176186 BLAKE2B 5e2b1912aba7ac56642010ca3fe7c5f114e700263f5ea8ed105e731cb2c7d8b7087d7b0daa446d71fc30f2a3f620e863821bb68886855f2d6224784e41f05459 SHA512 4be27195e692e0b1d1dc8e1496ca3d3bb8bc35e114713c9ac5918f2849bf3a3d0f18d2e25d7ad4ab275284763ae23f753d303d3a6fb2785962dae27d7134f60f
diff --git a/app-emacs/wanderlust/wanderlust-2.15.9_p20190623.ebuild b/app-emacs/wanderlust/wanderlust-2.15.9_p20190623.ebuild
deleted file mode 100644
index 5e2b0d12df29..000000000000
--- a/app-emacs/wanderlust/wanderlust-2.15.9_p20190623.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Yet Another Message Interface on Emacsen"
-HOMEPAGE="https://github.com/wanderlust/wanderlust"
-GITHUB_SHA1="b9a529a54b9e7eafa4ed230ad28efffe0d25a20e"
-SRC_URI="https://github.com/wanderlust/wanderlust/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="bbdb ssl l10n_ja"
-
-DEPEND=">=app-emacs/apel-10.8
- >=app-emacs/flim-1.14.9
- >=app-emacs/semi-1.14.7
- bbdb? ( app-emacs/bbdb )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- local lang="\"en\""
- use l10n_ja && lang="${lang} \"ja\""
- echo "(setq wl-info-lang '(${lang}) wl-news-lang '(${lang}))" >>WL-CFG
- use ssl && echo "(setq wl-install-utils t)" >>WL-CFG
-}
-
-src_compile() {
- emake
- emake info
-}
-
-src_install() {
- emake \
- LISPDIR="${ED}${SITELISP}" \
- PIXMAPDIR="${ED}${SITEETC}/wl/icons" \
- install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}" wl
-
- insinto "${SITEETC}/wl/samples/en"
- doins samples/en/*
- doinfo doc/wl*.info
- dodoc BUGS ChangeLog INSTALL NEWS README.md
-
- if use l10n_ja; then
- insinto "${SITEETC}/wl/samples/ja"
- doins samples/ja/*
- dodoc BUGS.ja INSTALL.ja NEWS.ja README.ja
- fi
-}
diff --git a/app-emacs/wanderlust/wanderlust-2.15.9_p20210629.ebuild b/app-emacs/wanderlust/wanderlust-2.15.9_p20210629.ebuild
deleted file mode 100644
index 036441e2b356..000000000000
--- a/app-emacs/wanderlust/wanderlust-2.15.9_p20210629.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=24.5
-
-inherit elisp
-
-DESCRIPTION="Yet Another Message Interface on Emacsen"
-HOMEPAGE="https://github.com/wanderlust/wanderlust"
-GITHUB_SHA1="769699d60aa033049804083b459ee562b82db77e"
-SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="bbdb ssl l10n_ja"
-
-RDEPEND=">=app-emacs/apel-10.8
- >=app-emacs/flim-1.14.9
- >=app-emacs/semi-1.14.7
- bbdb? ( app-emacs/bbdb )"
-DEPEND="${RDEPEND}"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_configure() {
- local lang="\"en\""
- use l10n_ja && lang="${lang} \"ja\""
- echo "(setq wl-info-lang '(${lang}) wl-news-lang '(${lang}))" >>WL-CFG
- use ssl && echo "(setq wl-install-utils t)" >>WL-CFG
-}
-
-src_compile() {
- emake
- emake info
-}
-
-src_install() {
- emake \
- LISPDIR="${ED}${SITELISP}" \
- PIXMAPDIR="${ED}${SITEETC}/wl/icons" \
- install
-
- elisp-site-file-install "${FILESDIR}/${SITEFILE}" wl
-
- insinto "${SITEETC}/wl/samples/en"
- doins samples/en/*
- doinfo doc/wl*.info
- dodoc BUGS ChangeLog* INSTALL NEWS README.md
-
- if use l10n_ja; then
- insinto "${SITEETC}/wl/samples/ja"
- doins samples/ja/*
- dodoc BUGS.ja INSTALL.ja NEWS.ja README.ja.md
- fi
-}
diff --git a/app-emacs/wanderlust/wanderlust-2.15.9_p20230624.ebuild b/app-emacs/wanderlust/wanderlust-2.15.9_p20230624.ebuild
new file mode 100644
index 000000000000..660576a2538f
--- /dev/null
+++ b/app-emacs/wanderlust/wanderlust-2.15.9_p20230624.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Yet Another Message Interface on Emacsen"
+HOMEPAGE="https://github.com/wanderlust/wanderlust"
+GITHUB_SHA1="8369b2d5170a174652294835dd9a18ed21a38cb2"
+SRC_URI="https://github.com/wanderlust/${PN}/archive/${GITHUB_SHA1}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITHUB_SHA1}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="bbdb ssl l10n_ja"
+
+RDEPEND=">=app-emacs/apel-10.8
+ >=app-emacs/flim-1.14.9
+ >=app-emacs/semi-1.14.7
+ bbdb? ( app-emacs/bbdb )"
+DEPEND="${RDEPEND}"
+
+ELISP_REMOVE="
+ tests/test-dist.el
+ tests/test-rfc2368.el
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ local lang="\"en\""
+ use l10n_ja && lang="${lang} \"ja\""
+ echo "(setq wl-info-lang '(${lang}) wl-news-lang '(${lang}))" >>WL-CFG
+ use ssl && echo "(setq wl-install-utils t)" >>WL-CFG
+}
+
+src_compile() {
+ emake all info PACKAGE_LISPDIR="NONE"
+}
+
+src_test() {
+ emake test PACKAGE_LISPDIR="NONE"
+}
+
+src_install() {
+ emake \
+ LISPDIR="${ED}${SITELISP}" \
+ PACKAGE_LISPDIR="NONE" \
+ PIXMAPDIR="${ED}${SITEETC}/wl/icons" \
+ install
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" wl
+
+ insinto "${SITEETC}/wl/samples/en"
+ doins samples/en/*
+ doinfo doc/wl*.info
+ dodoc BUGS ChangeLog* INSTALL NEWS README.md
+
+ if use l10n_ja; then
+ insinto "${SITEETC}/wl/samples/ja"
+ doins samples/ja/*
+ dodoc BUGS.ja INSTALL.ja NEWS.ja README.ja.md
+ fi
+}
diff --git a/app-emacs/web-mode/Manifest b/app-emacs/web-mode/Manifest
new file mode 100644
index 000000000000..47ee1965b626
--- /dev/null
+++ b/app-emacs/web-mode/Manifest
@@ -0,0 +1 @@
+DIST web-mode-17.3.13.tar.gz 168143 BLAKE2B efa5b78e774ad023a3f2508e64317b76b15748369dc311ebcd65c98021b2fa75a9c85d54d897a2a4d2580d8c95a609df3bc8bb265afe89ea5219885d4e9c78d0 SHA512 c325b45ba88406e9dcfc19ddd8951bd7075a9c5157bf85e4c7a857d93b756c76a6e8e03524cbb8465c4109001397414db25178f0158556f2b872b5930e7014b9
diff --git a/app-emacs/web-mode/files/50web-mode-gentoo.el b/app-emacs/web-mode/files/50web-mode-gentoo.el
new file mode 100644
index 000000000000..93f8e6529970
--- /dev/null
+++ b/app-emacs/web-mode/files/50web-mode-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'web-mode "web-mode"
+ "Major mode for editing web templates." t)
diff --git a/app-emacs/web-mode/metadata.xml b/app-emacs/web-mode/metadata.xml
new file mode 100644
index 000000000000..d72c4fc42bb5
--- /dev/null
+++ b/app-emacs/web-mode/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ web-mode.el is an emacs major mode for editing web templates aka HTML files
+ embedding parts (CSS/JavaScript) and blocks (pre rendered by client/server
+ side engines). web-mode.el is compatible with many template engines: PHP,
+ JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker, Velocity,
+ Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template, Dust.js,
+ Google Closure (soy), React/JSX, Angularjs, ejs, Nunjucks, etc.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/fxbois/web-mode/issues/</bugs-to>
+ <remote-id type="github">fxbois/web-mode</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/web-mode/web-mode-17.3.13.ebuild b/app-emacs/web-mode/web-mode-17.3.13.ebuild
new file mode 100644
index 000000000000..5e4e3d763009
--- /dev/null
+++ b/app-emacs/web-mode/web-mode-17.3.13.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Web template editing mode for Emacs"
+HOMEPAGE="https://web-mode.org/ https://github.com/fxbois/web-mode/"
+SRC_URI="https://github.com/fxbois/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/web-server/Manifest b/app-emacs/web-server/Manifest
new file mode 100644
index 000000000000..b8d9a22282a0
--- /dev/null
+++ b/app-emacs/web-server/Manifest
@@ -0,0 +1 @@
+DIST web-server-0.1.2_p20210708.tar.gz 62215 BLAKE2B 66d3a3ed6ff20dd4029f7d5d226df2aead694d63ea07fa33e2ada7a04e75124c9ba31876668c4ba6afc42ed7ee717b804f871e519569d6f6461ab31847391b62 SHA512 2f64be98195bf2bd72a9a61495ff4f57c8bfd1be68c2a396f6f706ff4f0123c3492576e758059d16a320df9a6146d352f65506aa0d43573f497452a90a099b26
diff --git a/app-emacs/web-server/metadata.xml b/app-emacs/web-server/metadata.xml
new file mode 100644
index 000000000000..a3e7ca53839e
--- /dev/null
+++ b/app-emacs/web-server/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/eschulte/emacs-web-server/issues/</bugs-to>
+ <remote-id type="github">eschulte/emacs-web-server</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/web-server/web-server-0.1.2_p20210708-r1.ebuild b/app-emacs/web-server/web-server-0.1.2_p20210708-r1.ebuild
new file mode 100644
index 000000000000..d3d5c633ce98
--- /dev/null
+++ b/app-emacs/web-server/web-server-0.1.2_p20210708-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=6357a1c2d1718778503f7ee0909585094117525b
+
+inherit elisp
+
+DESCRIPTION="Web server running Emacs Lisp handlers"
+HOMEPAGE="https://github.com/eschulte/emacs-web-server/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/eschulte/emacs-${PN}.git"
+else
+ SRC_URI="https://github.com/eschulte/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+BDEPEND="sys-apps/texinfo"
+
+DOCS=( README NOTES )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp_src_compile
+
+ emake -C doc
+}
+
+src_test() {
+ emake EMACS=${EMACS} check
+}
+
+src_install() {
+ elisp_src_install
+
+ doinfo doc/${PN}.info
+ dodoc doc/${PN}_html/*
+
+ insinto ${SITEETC}/${PN}
+ doins -r examples
+}
diff --git a/app-emacs/webpaste/Manifest b/app-emacs/webpaste/Manifest
new file mode 100644
index 000000000000..daaf06d05150
--- /dev/null
+++ b/app-emacs/webpaste/Manifest
@@ -0,0 +1 @@
+DIST webpaste-3.2.2.tar.gz 27171 BLAKE2B cf766d1eeca07747043a3157da8cb954c63c142531b5e156d5255fb0ec556b59780c463bd6f77763aa42625eb15f4aee75375a0e67c0883000e14eeb0023b6b8 SHA512 700ca6ed2c0171e6c5b4047e2d5db3af04d7196daae93d5705709f0ae92eec268da5fd4818b13c35e73ee839e739d95010efc3c20c4e32e87bccef8becdff810
diff --git a/app-emacs/webpaste/files/50webpaste-gentoo.el b/app-emacs/webpaste/files/50webpaste-gentoo.el
new file mode 100644
index 000000000000..8f041e6e0d86
--- /dev/null
+++ b/app-emacs/webpaste/files/50webpaste-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'webpaste-paste-region "webpaste"
+ "Paste selected region to some paste service." t)
+(autoload 'webpaste-paste-buffer "webpaste"
+ "Paste current buffer to some paste service." t)
+(autoload 'webpaste-paste-buffer-or-region "webpaste"
+ "Paste current buffer or selected region to some paste service." t)
diff --git a/app-emacs/webpaste/metadata.xml b/app-emacs/webpaste/metadata.xml
new file mode 100644
index 000000000000..d1321e272224
--- /dev/null
+++ b/app-emacs/webpaste/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/etu/webpaste.el/releases/</changelog>
+ <bugs-to>https://github.com/etu/webpaste.el/issues/</bugs-to>
+ <remote-id type="github">etu/webpaste.el</remote-id>
+ </upstream>
+ <longdescription>
+ Webpaste.el allows to paste whole buffers or parts of buffers to
+ pastebin-like services. It supports more than one service and will failover
+ if one service fails.
+ </longdescription>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/webpaste/webpaste-3.2.2-r1.ebuild b/app-emacs/webpaste/webpaste-3.2.2-r1.ebuild
new file mode 100644
index 000000000000..f63246717db1
--- /dev/null
+++ b/app-emacs/webpaste/webpaste-3.2.2-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Paste parts of buffers to several pastebin-like services from Emacs"
+HOMEPAGE="https://github.com/etu/webpaste.el/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/etu/${PN}.el.git"
+else
+ SRC_URI="https://github.com/etu/${PN}.el/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}.el-${PV}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+RESTRICT="test" # Old tests, w/o lexical-binding needed by buttercup >=1.34.
+
+RDEPEND="
+ app-emacs/request
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ app-emacs/undercover
+ )
+"
+
+# Remove failing tests
+ELISP_REMOVE="
+ tests/integration/test-webpaste-providers.el
+ tests/unit/test-webpaste-provider-creation.el
+"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests buttercup tests
diff --git a/app-emacs/websocket/Manifest b/app-emacs/websocket/Manifest
index 1839a9256d66..70bbf455549b 100644
--- a/app-emacs/websocket/Manifest
+++ b/app-emacs/websocket/Manifest
@@ -1,2 +1,2 @@
-DIST websocket-1.10.tar.gz 27108 BLAKE2B b164b3ca47e0705322d9bcd0d9535c8e84777487e8783bf599f5391c88ee6193a1ef1750ec4b3cbd4fac2968c449c4f3a140255a434f3de38e66ad7364c192ba SHA512 ef1a34eccd173eb206cd9eeb4ea988a5b076f178bd4ca903e03b2f2301a34c2cbd08e43a13c8d24a64d10da28b3a77c15b2321978460db7a6b23c601abe31197
-DIST websocket-1.12.tar.gz 27378 BLAKE2B d0aa576333c96e403d4507f25be5661b94de71afea1a39e6abbf0fc57c68dff109336c4c735ae15be336f620b6a09240fdfd4e016a19fc2b92f5836e83181a44 SHA512 c0cdcf407227914a94e24ef90146c3c394e0bc16f131c5b626a6ce49ee235e2519dc7c2dc174e6b87426eba8ce21e84e816b8074866e25be681ca626c51044de
+DIST websocket-1.14_p20230305.tar.gz 27340 BLAKE2B 32b55fdff4bed7893d02bcafc67e473442803a492c31e565ec1487dc0e7211e505a517e460ca05f5f1f2d28d0852bced91cfbe9da98bcd6ed1e4598fe6bc4eb6 SHA512 6c4574387f8cae7d17a3a8e618678e9dc8d96d0301f3d20e236dae1820cdb2c7bb49e2f5bfe816670e9bac6a7be24b85f8ec9f8ea2aa248c6b5af302f227ae43
+DIST websocket-1.15.tar.gz 27231 BLAKE2B 4dafdb9bc2b2b499ee335acc00c8bb0316275ec5f5d4d3440a4dd89a17ce7999c211d2ec2b9df0457ea17ca6d70f57d7804eb8f3b6ffa4bbf8ed362bcc66618a SHA512 c2881dcb956d7803b16bd451f21a1c2f62181f2b88c0d4e9e067b040df573ad90d047e7cb637190d193e185b651fef1e7559833a1dffe24097ddb07623133d6e
diff --git a/app-emacs/websocket/files/50websocket-gentoo.el b/app-emacs/websocket/files/50websocket-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/websocket/files/50websocket-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/websocket/metadata.xml b/app-emacs/websocket/metadata.xml
index 986088003fe1..1d1dfede5fd1 100644
--- a/app-emacs/websocket/metadata.xml
+++ b/app-emacs/websocket/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<stabilize-allarches/>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">ahyatt/emacs-websocket</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emacs/websocket/websocket-1.10.ebuild b/app-emacs/websocket/websocket-1.10.ebuild
deleted file mode 100644
index 2211d645c5a3..000000000000
--- a/app-emacs/websocket/websocket-1.10.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A websocket implementation in elisp"
-HOMEPAGE="https://github.com/ahyatt/emacs-websocket"
-SRC_URI="https://github.com/ahyatt/emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}/emacs-${P}"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile websocket.el
-}
-
-src_test() {
- ${EMACS} ${EMACSFLAGS} -L . -l websocket-test \
- -f ert-run-tests-batch-and-exit
-}
-
-src_install() {
- elisp-install ${PN} websocket.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc README.org websocket-functional-test.el testserver.py
-}
diff --git a/app-emacs/websocket/websocket-1.12.ebuild b/app-emacs/websocket/websocket-1.12.ebuild
deleted file mode 100644
index c512baa9f3c7..000000000000
--- a/app-emacs/websocket/websocket-1.12.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="A websocket implementation in elisp"
-HOMEPAGE="https://github.com/ahyatt/emacs-websocket"
-SRC_URI="https://github.com/ahyatt/emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}/emacs-${P}"
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() {
- elisp-compile websocket.el
-}
-
-src_test() {
- ${EMACS} ${EMACSFLAGS} -L . -l websocket-test \
- -f ert-run-tests-batch-and-exit
-}
-
-src_install() {
- elisp-install ${PN} websocket.{el,elc}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc README.org websocket-functional-test.el testserver.py
-}
diff --git a/app-emacs/websocket/websocket-1.14_p20230305.ebuild b/app-emacs/websocket/websocket-1.14_p20230305.ebuild
new file mode 100644
index 000000000000..acd9a398614e
--- /dev/null
+++ b/app-emacs/websocket/websocket-1.14_p20230305.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20230305 ]] && COMMIT=1a08093b122d8cf20366a1cba5faddf7a53d08ed
+
+inherit elisp
+
+DESCRIPTION="A websocket implementation in elisp"
+HOMEPAGE="https://github.com/ahyatt/emacs-websocket"
+SRC_URI="https://github.com/ahyatt/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DOCS=( README.org websocket-functional-test.el testserver.py )
+SITEFILE="50${PN}-gentoo.el"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l websocket-test \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ elisp-install ${PN} websocket.{el,elc}
+ elisp-make-site-file "${SITEFILE}"
+
+ einstalldocs
+}
diff --git a/app-emacs/websocket/websocket-1.15.ebuild b/app-emacs/websocket/websocket-1.15.ebuild
new file mode 100644
index 000000000000..3ee322f30325
--- /dev/null
+++ b/app-emacs/websocket/websocket-1.15.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A websocket implementation in elisp"
+HOMEPAGE="https://github.com/ahyatt/emacs-websocket"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/ahyatt/emacs-websocket.git"
+ S="${WORKDIR}"/emacs-${P}
+else
+ [[ ${PV} == 1.15 ]] && COMMIT=40c208eaab99999d7c1e4bea883648da24c03be3
+
+ SRC_URI="https://github.com/ahyatt/emacs-${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}"/emacs-${PN}-${COMMIT}
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DOCS=( README.org )
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert "${S}"
+
+src_compile() {
+ elisp-compile ${PN}.el
+}
+
+src_install() {
+ elisp-install ${PN} websocket.{el,elc}
+ elisp-make-site-file "${SITEFILE}"
+
+ einstalldocs
+}
diff --git a/app-emacs/wgrep/Manifest b/app-emacs/wgrep/Manifest
index ed43c71ee617..1db21b5c70ed 100644
--- a/app-emacs/wgrep/Manifest
+++ b/app-emacs/wgrep/Manifest
@@ -1,2 +1 @@
-DIST wgrep-2.3.0.tar.gz 16241 BLAKE2B 83802934b36dfcad17e3486a7405cdd170b20bd6574d92032c92aa2a8ae84a2b6ce47313c8ca70327982bebc4fb78363181c66d1c745d2179ba84fc655c617be SHA512 2f817ef482d8ce98531494a5f19f477d7544bcc8b2747ebe184194a058c6cb26d571ba7de22f7e4307aa110806fa45f683b2363b1520b8fe5edaa05ce5ba8d61
-DIST wgrep-2.3.2.tar.gz 28908 BLAKE2B 992557cd59ac6887cec71c7dceac27ad5cfc153a09b68a1e312466077dfa08a6efb7e49ba24b06196daf41b2781f17a5d3f0c3f7b6ee28590d42db5a7de2a141 SHA512 a0a00f1d845c45f5de0e707ea5c8c14f9b01807533d7124be9fe0bfdd2d28c3e6fce2a4695daa1de880dd5ff5986b0533b3a5688790a7674576599fb2667ae76
+DIST wgrep-3.0.0.tar.gz 29569 BLAKE2B 0113c790e9903840e8dd421def45bc73b914b61d9beb7b178275efb623d735cdadcc3d96c361a88a293f437d906528d84c3876be5aee46caad22f0743ed40549 SHA512 8e93e824bafe8b9018e82d5fb57104c2324df62798214d848ff98bb86865d4a8e56df1e4efede49966555cb9af5059699c2d178722d8462ddc5977a5abd3d799
diff --git a/app-emacs/wgrep/files/50wgrep-gentoo.el b/app-emacs/wgrep/files/50wgrep-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/wgrep/files/50wgrep-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/wgrep/metadata.xml b/app-emacs/wgrep/metadata.xml
index 17aeabbf12e6..1c55026da3ed 100644
--- a/app-emacs/wgrep/metadata.xml
+++ b/app-emacs/wgrep/metadata.xml
@@ -11,6 +11,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <bugs-to>https://github.com/mhayashi1120/Emacs-wgrep/issues/</bugs-to>
<remote-id type="github">mhayashi1120/Emacs-wgrep</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emacs/wgrep/wgrep-2.3.0.ebuild b/app-emacs/wgrep/wgrep-2.3.0.ebuild
deleted file mode 100644
index 49a49ce55175..000000000000
--- a/app-emacs/wgrep/wgrep-2.3.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Writable grep buffer and apply the changes to files"
-HOMEPAGE="https://github.com/mhayashi1120/Emacs-wgrep"
-SRC_URI="https://github.com/mhayashi1120/Emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}/Emacs-${P}"
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="See commentary in ${SITELISP}/${PN}/wgrep.el for documentation.
- \n\nTo activate wgrep, add the following line to your ~/.emacs file:
- \n\t(require 'wgrep)"
diff --git a/app-emacs/wgrep/wgrep-2.3.2.ebuild b/app-emacs/wgrep/wgrep-2.3.2.ebuild
deleted file mode 100644
index 0833f3eca7da..000000000000
--- a/app-emacs/wgrep/wgrep-2.3.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Writable grep buffer and apply the changes to files"
-HOMEPAGE="https://github.com/mhayashi1120/Emacs-wgrep"
-SRC_URI="https://github.com/mhayashi1120/Emacs-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-S="${WORKDIR}/Emacs-${P}"
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="See commentary in ${SITELISP}/${PN}/wgrep.el for documentation.
- \n\nTo activate wgrep, add the following line to your ~/.emacs file:
- \n\t(require 'wgrep)"
diff --git a/app-emacs/wgrep/wgrep-3.0.0-r1.ebuild b/app-emacs/wgrep/wgrep-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..6eeca706896b
--- /dev/null
+++ b/app-emacs/wgrep/wgrep-3.0.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Writable grep buffer and apply the changes to files"
+HOMEPAGE="https://github.com/mhayashi1120/Emacs-wgrep/"
+SRC_URI="https://github.com/mhayashi1120/Emacs-${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/Emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-emacs/s
+ app-emacs/dash
+ )
+"
+
+ELISP_REMOVE="${PN}-subtest.el"
+
+DOCS=( README.md )
+DOC_CONTENTS="See commentary in ${SITELISP}/${PN}/wgrep.el for documentation.
+ \n\nTo activate wgrep, add the following line to your ~/.emacs file:
+ \n\t(require 'wgrep)"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ if ! use test ; then
+ rm ${PN}-test.el || die
+ fi
+
+ elisp_src_prepare
+}
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} -L . -l ${PN}.el -l ${PN}-test.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ if use test ; then
+ rm ${PN}-test.el{,c} || die
+ fi
+
+ elisp_src_install
+}
diff --git a/app-emacs/which-key/Manifest b/app-emacs/which-key/Manifest
new file mode 100644
index 000000000000..e90b9a0855e8
--- /dev/null
+++ b/app-emacs/which-key/Manifest
@@ -0,0 +1 @@
+DIST which-key-3.6.0.tar.gz 462441 BLAKE2B e56dacff2003192e769e53f728538246f4b3c2f00273022a81382e3afaf4c1b7016a2da468ade1e1f0b3b33df7352a327f75c43fef990c432bbb55f3aad7a934 SHA512 8ecfa3e5d0529cc0e879772d2ea2fcbbdfc8ab559dc8befddd63b91e6ed726baa6c0069bc0f30dc417eb288d02a281f1b07b5c966a361f390cab4d7392c2e56c
diff --git a/app-emacs/which-key/files/50which-key-gentoo.el b/app-emacs/which-key/files/50which-key-gentoo.el
new file mode 100644
index 000000000000..d46c0735a841
--- /dev/null
+++ b/app-emacs/which-key/files/50which-key-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'which-key-mode "which-key"
+ "Toggle which-key-mode." t)
diff --git a/app-emacs/which-key/metadata.xml b/app-emacs/which-key/metadata.xml
new file mode 100644
index 000000000000..de91897d6d29
--- /dev/null
+++ b/app-emacs/which-key/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/justbur/emacs-which-key/issues/</bugs-to>
+ <remote-id type="github">justbur/emacs-which-key</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/which-key/which-key-3.6.0.ebuild b/app-emacs/which-key/which-key-3.6.0.ebuild
new file mode 100644
index 000000000000..17330e3cc2d0
--- /dev/null
+++ b/app-emacs/which-key/which-key-3.6.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1
+
+DESCRIPTION="Display the key bindings following your currently entered keys"
+HOMEPAGE="https://github.com/justbur/emacs-which-key/"
+SRC_URI="https://github.com/justbur/emacs-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/emacs-${P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DOCS=( README.org img )
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="To enable \"which-key-mode\" globally,
+ add the following to your init file:
+ \n\t(which-key-mode)"
+
+src_test() {
+ ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} -l ${PN}.el -l ${PN}-tests.el \
+ -f ert-run-tests-batch-and-exit || die "tests failed"
+}
+
+src_install() {
+ elisp-install ${PN} ${PN}.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ einstalldocs
+ readme.gentoo_create_doc
+}
diff --git a/app-emacs/whine/Manifest b/app-emacs/whine/Manifest
index a862a4c97fc7..95a173d7e460 100644
--- a/app-emacs/whine/Manifest
+++ b/app-emacs/whine/Manifest
@@ -1 +1 @@
-DIST whine-20091222.tar.bz2 4452 BLAKE2B e2148ddbd06853a1bcd3aa9cd017f97e97b7fcc25b87e05017b7860d604880b48dd45e0e8c0affa07fd10ea5aac2cfecda01221fc9b297a83af1957ebb636e7a SHA512 74d02753a991140d5298f111f08fa346f458723bd1e5a46d2b67dc262fb53f513d5b39ff87eab167f37b0f2be1458ad8d0bc92479f6f9a329eb5dbf79f87fc4d
+DIST whine-20231020.el.xz 4100 BLAKE2B e87e93c5480c10d2da7be6cb932ba3df2cd4f9e4b2745b65991b3bf17b1bc2bbbfe7369c729857ef5c842af0f594c9438a0777577603db29c9a2dc7e59003b75 SHA512 6bec2486ac170b78e9a389da598c708644b4fb2825743453892195f37528755fc0037f5ca98b78821b464f1fd6c697934d71986c7e7075e6fdc7eacd8c66e93e
diff --git a/app-emacs/whine/files/50whine-gentoo.el b/app-emacs/whine/files/50whine-gentoo.el
index 9babd69bec38..a8b0d3d84806 100644
--- a/app-emacs/whine/files/50whine-gentoo.el
+++ b/app-emacs/whine/files/50whine-gentoo.el
@@ -1,4 +1,4 @@
(add-to-list 'load-path "@SITELISP@")
(autoload 'whinify "whine"
- "Make certain global-mode keys whine.
+ "Make certain interactive commands whine.
The command `unwhinify' makes them normal again." t)
diff --git a/app-emacs/whine/whine-20091222.ebuild b/app-emacs/whine/whine-20091222.ebuild
deleted file mode 100644
index 7c606f347620..000000000000
--- a/app-emacs/whine/whine-20091222.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="Complaint generator for GNU Emacs"
-HOMEPAGE="https://www.emacswiki.org/emacs/Whine"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.bz2"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/whine/whine-20231020.ebuild b/app-emacs/whine/whine-20231020.ebuild
new file mode 100644
index 000000000000..0fe4fd1a783c
--- /dev/null
+++ b/app-emacs/whine/whine-20231020.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Complaint generator for GNU Emacs"
+HOMEPAGE="https://www.emacswiki.org/emacs/Whine"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/with-editor/Manifest b/app-emacs/with-editor/Manifest
index c4fad9e7bc76..1f53e26b6644 100644
--- a/app-emacs/with-editor/Manifest
+++ b/app-emacs/with-editor/Manifest
@@ -1,4 +1 @@
-DIST with-editor-2.8.3.tar.gz 30648 BLAKE2B 8989f8506fb58c1f54efa4fcb72fa8ddd477c0c73d82672028bdb027f74093b62c44ab5a545cd9db2e0e3222bf461e605aebc805112c5ae8486c224b22806c26 SHA512 389aa084f7dfb7f7b59a37802441718e20ee70d88b9af9631b1fc547e4c3238d053bb2b3ef50a4e6332fc3befae183a49d55b3c7bd7719a149cf83001d23810c
-DIST with-editor-3.0.2.tar.gz 31992 BLAKE2B ca7d63d07f44243a0d6218b02d5a96b01e92e07ad5c515fc74f3aaa08b78f2114410cfc634b17ac8d342381d679787c2608a526b5147ed29f2a45a5e1c513685 SHA512 3040358f5cb78c89a110fabed62c9693c2c69b742cd42d603fa3de6d3b1fcee693a1e7bf052b9e5a3da1e3f935911d4a054f14430367012a713caf1541ec9f6c
-DIST with-editor-3.0.4.tar.gz 31998 BLAKE2B 9ad3311d24e791a4fd4d4a8ce190386a714393465569bc65d0b8bd4222bb98b33cc1d85c05acd3be0c8d273b6faf3e9c482f94be3af476cf847c4bfe777165be SHA512 bc51bee024dda578794a263798d07e1c216b8d4e2cc3f039226186bab1ed48e95d0ec57be0e4c0d5f0e8a4b1c2033647722f4f4c47bc404c9ab17c63aa5dbbe2
-DIST with-editor-3.0.5.tar.gz 31985 BLAKE2B 9d4bda1f4e7ae3ec5c9014b0e7a74bf703e9b80990b138ef6108275c9a117611d542e1dad03bb8537c7e8e3ffbbf3aac433bb4d3fe5eb07378f27dc1579a13ca SHA512 cc60a69ebfbb7d802a7bc64b56bf866111799b5a2a3140dd203bc3a4257756f558e81169b418bce2daa91e7aab7feb4d22115fcedf9efe46026745c4e3cf0268
+DIST with-editor-3.3.2.tar.gz 33273 BLAKE2B 865890ae4dcb350ca35722e5761ce8c7a4216f94ea92a7be3f26ffea52d3d60c9d9653a330d643ff7468e6e0339d0730d0a7890fbbdd911a57e891daf54ddf8e SHA512 9ee8f36da6e1735aedf9fb0dcf6480de649e3e2daebedd5fc1edf8a9f528046c269cc0bbe182d4cf33180ab11c4af3a794c49cfd2aaff9ddbddcd51b9c1fec21
diff --git a/app-emacs/with-editor/files/50with-editor-gentoo.el b/app-emacs/with-editor/files/50with-editor-gentoo.el
deleted file mode 100644
index 431f7e90ae73..000000000000
--- a/app-emacs/with-editor/files/50with-editor-gentoo.el
+++ /dev/null
@@ -1 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
diff --git a/app-emacs/with-editor/with-editor-2.8.3.ebuild b/app-emacs/with-editor/with-editor-2.8.3.ebuild
deleted file mode 100644
index d41f0f1faed1..000000000000
--- a/app-emacs/with-editor/with-editor-2.8.3.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/with-editor"
-SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md with-editor.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
diff --git a/app-emacs/with-editor/with-editor-3.0.2.ebuild b/app-emacs/with-editor/with-editor-3.0.2.ebuild
deleted file mode 100644
index 5ac353224ec1..000000000000
--- a/app-emacs/with-editor/with-editor-3.0.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/with-editor"
-SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md with-editor.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
diff --git a/app-emacs/with-editor/with-editor-3.0.4.ebuild b/app-emacs/with-editor/with-editor-3.0.4.ebuild
deleted file mode 100644
index cd68d6d394da..000000000000
--- a/app-emacs/with-editor/with-editor-3.0.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/with-editor"
-SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md with-editor.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
diff --git a/app-emacs/with-editor/with-editor-3.0.5.ebuild b/app-emacs/with-editor/with-editor-3.0.5.ebuild
deleted file mode 100644
index d949851a1994..000000000000
--- a/app-emacs/with-editor/with-editor-3.0.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-NEED_EMACS=24
-
-inherit elisp
-
-DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
-HOMEPAGE="https://magit.vc/manual/with-editor"
-SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-SITEFILE="50${PN}-gentoo.el"
-ELISP_TEXINFO="*.texi"
-DOCS="README.md with-editor.org"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-DEPEND="${DEPEND} sys-apps/texinfo"
diff --git a/app-emacs/with-editor/with-editor-3.3.2.ebuild b/app-emacs/with-editor/with-editor-3.3.2.ebuild
new file mode 100644
index 000000000000..a44d06bfaa2e
--- /dev/null
+++ b/app-emacs/with-editor/with-editor-3.3.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
+HOMEPAGE="https://magit.vc/manual/with-editor/
+ https://github.com/magit/with-editor/"
+SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${P}/lisp
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+DOCS=( ../README.org ../docs/${PN}.org )
+ELISP_TEXINFO="../docs/*.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/with-editor/with-editor-9999.ebuild b/app-emacs/with-editor/with-editor-9999.ebuild
new file mode 100644
index 000000000000..d949e77a6c7f
--- /dev/null
+++ b/app-emacs/with-editor/with-editor-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
+HOMEPAGE="https://magit.vc/manual/with-editor/
+ https://github.com/magit/with-editor/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/magit/${PN}.git"
+else
+ SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+S="${WORKDIR}"/${P}/lisp
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=app-emacs/compat-29.1.4.1
+"
+BDEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+"
+
+DOCS=( ../README.org ../docs/${PN}.org )
+ELISP_TEXINFO="../docs/*.texi"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/with-simulated-input/Manifest b/app-emacs/with-simulated-input/Manifest
new file mode 100644
index 000000000000..7b7d7dde3c4f
--- /dev/null
+++ b/app-emacs/with-simulated-input/Manifest
@@ -0,0 +1 @@
+DIST with-simulated-input-3.0.tar.gz 26203 BLAKE2B 2629f28449a71828f67209b84123ee11b9eb838884560836129830f1c6e0dc12e95ba56e806de5eae8b29cbe1b3f199f9a9e292a2f048483b61a64aa138d2848 SHA512 ddb916e51e8f1da76a19a440f0a629ece6e27969be38b70d8b5156ab7c41084ef9a099970e2c74a680e0cdf75463698e60336fcd168f82d62acd1e0994d6897a
diff --git a/app-emacs/with-simulated-input/metadata.xml b/app-emacs/with-simulated-input/metadata.xml
new file mode 100644
index 000000000000..db95820e128c
--- /dev/null
+++ b/app-emacs/with-simulated-input/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/DarwinAwardWinner/with-simulated-input/issues/</bugs-to>
+ <remote-id type="github">DarwinAwardWinner/with-simulated-input</remote-id>
+ </upstream>
+ <longdescription>
+ This package provides an Emacs Lisp macro, with-simulated-input, which
+ evaluates one or more forms while simulating a sequence of input events for
+ those forms to read. The result is the same as if you had evaluated the
+ forms and then manually typed in the same input. This macro is useful for
+ non-interactive testing of normally interactive commands and functions,
+ such as completing-read.
+ </longdescription>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/with-simulated-input/with-simulated-input-3.0.ebuild b/app-emacs/with-simulated-input/with-simulated-input-3.0.ebuild
new file mode 100644
index 000000000000..325ce2045ec9
--- /dev/null
+++ b/app-emacs/with-simulated-input/with-simulated-input-3.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs Lisp macro to simulate user input non-interactively"
+HOMEPAGE="https://github.com/DarwinAwardWinner/with-simulated-input/"
+SRC_URI="https://github.com/DarwinAwardWinner/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( app-emacs/buttercup )"
+
+DOCS=( README.md )
+ELISP_REMOVE="tests/test-${PN}.el" # Remove failing tests; 11/49 specs
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ buttercup -L . -L tests --traceback full tests || die
+}
diff --git a/app-emacs/ws-butler/Manifest b/app-emacs/ws-butler/Manifest
new file mode 100644
index 000000000000..75a9fdfeb457
--- /dev/null
+++ b/app-emacs/ws-butler/Manifest
@@ -0,0 +1 @@
+DIST ws-butler-0.6_p20201117.tar.gz 6652 BLAKE2B 76f43420ea7221d76cbf914ed3c96ba210b2a08418ca68872d7745c709c400ddbe32f71cefc81f0ee928286f83a64472f8fb354b1ca420b403cd6e6e61a79a8b SHA512 7e2e0d0bc9c6715d8ad8f61d1aa75e5fa9eb26acb8da951a01867143d9c67fbe809da8eb49c39fab0bdd52250b9e9006ff30439c97036ffb85e8a33ac65c2f8d
diff --git a/app-emacs/ws-butler/metadata.xml b/app-emacs/ws-butler/metadata.xml
new file mode 100644
index 000000000000..d646ed1ec6c7
--- /dev/null
+++ b/app-emacs/ws-butler/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>kacper.slominski72@gmail.com</email>
+ <name>Kacper SΕ‚omiΕ„ski</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lewang/ws-butler</remote-id>
+ <bugs-to>https://github.com/lewang/ws-butler/issues/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/ws-butler/ws-butler-0.6_p20201117.ebuild b/app-emacs/ws-butler/ws-butler-0.6_p20201117.ebuild
new file mode 100644
index 000000000000..b1647a5bb7aa
--- /dev/null
+++ b/app-emacs/ws-butler/ws-butler-0.6_p20201117.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+COMMIT_HASH="e3a38d93e01014cd47bf5af4924459bd145fd7c4"
+
+DESCRIPTION="Unobtrusively trim extraneous white-space *ONLY* in lines edited"
+HOMEPAGE="https://github.com/lewang/ws-butler"
+
+if [[ "${PV}" == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URL="https://github.com/lewang/${PN}.git"
+else
+ SRC_URI="https://github.com/lewang/${PN}/archive/${COMMIT_HASH}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT_HASH}"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+
+elisp-enable-tests ert tests -l tests/run-test.el
diff --git a/app-emacs/xclip/Manifest b/app-emacs/xclip/Manifest
index 4d921380d0ff..b8f8a5dbcd43 100644
--- a/app-emacs/xclip/Manifest
+++ b/app-emacs/xclip/Manifest
@@ -1 +1 @@
-DIST xclip-1.9.el.xz 5120 BLAKE2B a2cdfda709d51d7cb8cc3792d23d97fee5b03d1a1fbcf8dfb7810aa91080b0e4af47854ec1fc9e184055c50590d181639c0da100bf4e0a0d41dd856c2f75269d SHA512 96df6cc4257125876b57f3aba469c78136c2366d045b5be38c1f2d8ba69752e6625ec6deacc25da013da2a1bff54821d2171bab9308b24ab3e49a18c3d39ddbb
+DIST xclip-1.11.el.xz 4500 BLAKE2B 19983f20979bfa96b15d88c9404664c9467cb7254c3eadcf57237ed733db516a5892f9b80d6289c6c4634ec34e16c4f09d0d17bdd35d1912455d79b4b4764f53 SHA512 8370f7bc695198004608e2348ded21a602ff6f062e2d3369a8ebc0c8d17e3d75da975160830b31e5ecaca67247c51f3950a8dfaf0357db5ff5f0e2296358547d
diff --git a/app-emacs/xclip/xclip-1.11-r1.ebuild b/app-emacs/xclip/xclip-1.11-r1.ebuild
new file mode 100644
index 000000000000..51a0c3af795f
--- /dev/null
+++ b/app-emacs/xclip/xclip-1.11-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp readme.gentoo-r1 optfeature
+
+DESCRIPTION="Emacs Interface to XClip"
+HOMEPAGE="https://elpa.gnu.org/packages/xclip.html"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+SITEFILE="50${PN}-gentoo.el"
+DOC_CONTENTS="To enable xclip-mode, add (xclip-mode 1) to your ~/.emacs file."
+
+pkg_postinst() {
+ elisp_pkg_postinst
+
+ optfeature "X11 clipboard support" x11-misc/xclip x11-misc/xsel
+ optfeature "Wayland clipboard support" gui-apps/wl-clipboard
+}
diff --git a/app-emacs/xclip/xclip-1.9.ebuild b/app-emacs/xclip/xclip-1.9.ebuild
deleted file mode 100644
index 8c192847ee8d..000000000000
--- a/app-emacs/xclip/xclip-1.9.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Emacs Interface to XClip"
-HOMEPAGE="https://elpa.gnu.org/packages/xclip.html"
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="x11-misc/xclip"
-
-SITEFILE="50${PN}-gentoo.el"
-DOC_CONTENTS="To enable xclip-mode, add (xclip-mode 1) to your ~/.emacs file."
diff --git a/app-emacs/xelb/Manifest b/app-emacs/xelb/Manifest
new file mode 100644
index 000000000000..e5397299d61f
--- /dev/null
+++ b/app-emacs/xelb/Manifest
@@ -0,0 +1 @@
+DIST xelb-0.18.tar.gz 127797 BLAKE2B d438bea5142dc233d272959e9ca683d55cf1b61a97b002bf6864425a83c9238fca37aa7387f38dac3c3c8064b9ca8c5a64f934ef60360273df1453a152778785 SHA512 72048e12028811b5beb206102bef27b519bf0524e801f2eec5b3eac8dee785a99dc165e6ecafe14680a5fc0025d7d720db76df5fbbcb9a65070402a29de6ad0b
diff --git a/app-emacs/xelb/metadata.xml b/app-emacs/xelb/metadata.xml
new file mode 100644
index 000000000000..1591137fb9e2
--- /dev/null
+++ b/app-emacs/xelb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/ch11ng/xelb/issues/</bugs-to>
+ <remote-id type="github">ch11ng/xelb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emacs/xelb/xelb-0.18.ebuild b/app-emacs/xelb/xelb-0.18.ebuild
new file mode 100644
index 000000000000..d946fbd5ac6a
--- /dev/null
+++ b/app-emacs/xelb/xelb-0.18.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="X protocol Emacs Lisp Binding"
+HOMEPAGE="https://github.com/ch11ng/xelb/"
+SRC_URI="https://github.com/ch11ng/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-editors/emacs[gui]
+ x11-apps/xauth
+"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/yaml-mode/Manifest b/app-emacs/yaml-mode/Manifest
index 1f9055c44bdb..32d551d31206 100644
--- a/app-emacs/yaml-mode/Manifest
+++ b/app-emacs/yaml-mode/Manifest
@@ -1,3 +1,2 @@
-DIST yaml-mode-0.0.13.tar.gz 14446 BLAKE2B c80750aa78cc10342c5873d5227a2e2b7e0a1d9bdd9ee20f9c5a596e3b43a3344f9a0746eb77cc0cff4da2731cba41c5b52c8dd045d2376ee195d8103bbb7e19 SHA512 10876dfe576045bde363f62880ab3c91894d965c9dc1b7ff2b86783d31c05ab844c0abd77bcb1f7b5346d99969d69833ff4e5dc1b5700f7856fbd3dc4eebd5ef
-DIST yaml-mode-0.0.14.tar.gz 15005 BLAKE2B 5361cc0c8b4716905b57f7cb67898606bb85541232bdbb81d613c30e2a4ff49295fa0f0c3ec511442a05e07ac55e77834eec2f09252e498cbbfd3727fe21b07d SHA512 65bf1c308c13c2666c9a30ff66ad35c8a79d88d968e3b008aaabd61a06b083b62c9cc606a8b429c4f5bda218803022efe17d631c4282e5c6c35cc3f9ae1902ba
DIST yaml-mode-0.0.15.tar.gz 15873 BLAKE2B b025a670b39c720d64723707be08b32fff4bc4cc83b22c57c314d2886d0039ed034de03ee5162ffd814f2529b69aad5e22d9bc30003c3670aeda118d68fd2b6e SHA512 1fd8a4b6949bdffe15a9beb2119538da48bac2dbbd662ebdf0be87d92da0e94683de19d4c90bf3d05fb516e26d078d7dba9c8d340d956ab1a1cdf29827fd174d
+DIST yaml-mode-0.0.16.tar.gz 23508 BLAKE2B 4bf53516b6a5fce8da61e3c2df3d06abd608ee3f2daac392304980ce371cbf01c4f288a7bcaa2f31713129a6d3d2fe1259ac0dae14bc09c6ce0ba73b242a97a7 SHA512 68cbf278eace2651deb88af73fdf874593932085542eb01e9b179978c7be442af72502453643d0bbf95d82291a07f1af9bea5a0a6ca1b95d165f03b37635342f
diff --git a/app-emacs/yaml-mode/yaml-mode-0.0.13.ebuild b/app-emacs/yaml-mode/yaml-mode-0.0.13.ebuild
deleted file mode 100644
index 36ae75dea89c..000000000000
--- a/app-emacs/yaml-mode/yaml-mode-0.0.13.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp
-
-DESCRIPTION="A major mode for GNU Emacs for editing YAML files"
-HOMEPAGE="https://github.com/yoshiki/yaml-mode"
-SRC_URI="https://github.com/yoshiki/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-#S="${WORKDIR}/${PN}-release-${PV}"
-DOCS="README Changes"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/yaml-mode/yaml-mode-0.0.14.ebuild b/app-emacs/yaml-mode/yaml-mode-0.0.14.ebuild
deleted file mode 100644
index 51289a3c8f0f..000000000000
--- a/app-emacs/yaml-mode/yaml-mode-0.0.14.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A major mode for GNU Emacs for editing YAML files"
-HOMEPAGE="https://github.com/yoshiki/yaml-mode"
-SRC_URI="https://github.com/yoshiki/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-#S="${WORKDIR}/${PN}-release-${PV}"
-DOCS="README Changes"
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/yaml-mode/yaml-mode-0.0.16.ebuild b/app-emacs/yaml-mode/yaml-mode-0.0.16.ebuild
new file mode 100644
index 000000000000..ebd63d30f79a
--- /dev/null
+++ b/app-emacs/yaml-mode/yaml-mode-0.0.16.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp
+
+DESCRIPTION="A major mode for GNU Emacs for editing YAML files"
+HOMEPAGE="https://github.com/yoshiki/yaml-mode"
+SRC_URI="https://github.com/yoshiki/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+#S="${WORKDIR}/${PN}-release-${PV}"
+DOCS="README Changes"
+SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emacs/yaml/Manifest b/app-emacs/yaml/Manifest
new file mode 100644
index 000000000000..1fbebfb44dc3
--- /dev/null
+++ b/app-emacs/yaml/Manifest
@@ -0,0 +1 @@
+DIST yaml-0.5.5.tar.gz 44636 BLAKE2B d98c7b6cd94f80cd0f2fc1a1bea6c45615319c1a49f4712d48a00c6439660bc209ac1a597694478d4978ebf5e0bc60e3a6363ee5c0bccabb1b5bf1b2bdc8fc58 SHA512 9ab5eacc26fe44c49f52a4ab05c11e35c605b456b2f54420924388df52855b61adc1586ec7915363811a499c4c749355954e0de2c795bb2a4f51ebcb693758eb
diff --git a/app-emacs/yaml/metadata.xml b/app-emacs/yaml/metadata.xml
new file mode 100644
index 000000000000..19fe02ffce29
--- /dev/null
+++ b/app-emacs/yaml/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ yaml.el is a YAML parser written in Emacs List without any external
+ dependencies. It provides an interface similar to the Emacs JSON parsing
+ utility.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/zkry/yaml.el/issues/</bugs-to>
+ <remote-id type="github">zkry/yaml.el</remote-id>
+ </upstream>
+ <stabilize-allarches />
+</pkgmetadata>
diff --git a/app-emacs/yaml/yaml-0.5.5.ebuild b/app-emacs/yaml/yaml-0.5.5.ebuild
new file mode 100644
index 000000000000..e8780603abc7
--- /dev/null
+++ b/app-emacs/yaml/yaml-0.5.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="YAML parser in Emacs Lisp"
+HOMEPAGE="https://github.com/zkry/yaml.el/"
+SRC_URI="https://github.com/zkry/yaml.el/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/yaml.el-${PV}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( README.md )
+SITEFILE="50${PN}-gentoo.el"
+
+src_test() {
+ # "test/string-inflection-test.el" calls "(ert-run-tests-batch t)"
+ ${EMACS} ${EMACSFLAGS} -L . -l yaml-tests.el || die
+}
diff --git a/app-emacs/yasnippet-snippets/Manifest b/app-emacs/yasnippet-snippets/Manifest
index ec79306a543b..5faecb3c5545 100644
--- a/app-emacs/yasnippet-snippets/Manifest
+++ b/app-emacs/yasnippet-snippets/Manifest
@@ -1,2 +1 @@
-DIST yasnippet-snippets-0.3.tar.gz 97229 BLAKE2B 26fe83c35be1b20b6a1e414144149cf1feaf4463833634bbd0a3db6f56b1da46d8e379c3dd19217cfd36f12cb9dc796eac4efef5c2ba472ce79f8c8b8d816969 SHA512 4aaac9d7c880642a1e802abb98bd6d6c94557fe0e609db5ce5b4ce2af921235d3e6bb2488c052adbe2940d41e85297520081ae0847b52642bc97610e6614727f
DIST yasnippet-snippets-1.0.tar.gz 178027 BLAKE2B 0b44c94c3ad3f2a1208aefba110945aeae74e7278c93078c59677985efc89767b670c99b4b8303b56ea0b748375762ada1e45653e02922b248273af5818514d4 SHA512 2df010f24e51d0156bcb3d488cd6a63a47d2d92e4c5f3cd081e377dc91426d630bde41db6f79d1b5ac1e932e4d0ab11f9be945e94fb35d50b1789adab19bd15b
diff --git a/app-emacs/yasnippet-snippets/files/50yasnippet-snippets-gentoo.el b/app-emacs/yasnippet-snippets/files/50yasnippet-snippets-gentoo.el
index 2db51796990b..4c85ffac5510 100644
--- a/app-emacs/yasnippet-snippets/files/50yasnippet-snippets-gentoo.el
+++ b/app-emacs/yasnippet-snippets/files/50yasnippet-snippets-gentoo.el
@@ -1,4 +1,5 @@
-(eval-after-load "yasnippet"
- '(let ((snippets-dir "@SITEETC@"))
- (add-to-list 'yas-snippet-dirs snippets-dir t)
- (yas-load-directory snippets-dir t)))
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'yasnippet-snippets-initialize "yasnippet-snippets"
+ "Load the `yasnippet-snippets' snippets directory." t)
+(eval-after-load 'yasnippet
+ '(yasnippet-snippets-initialize))
diff --git a/app-emacs/yasnippet-snippets/files/yasnippet-snippets-dir.patch b/app-emacs/yasnippet-snippets/files/yasnippet-snippets-dir.patch
new file mode 100644
index 000000000000..2d5c8f2e483b
--- /dev/null
+++ b/app-emacs/yasnippet-snippets/files/yasnippet-snippets-dir.patch
@@ -0,0 +1,18 @@
+index 078ac04..1c84318 100644
+--- a/yasnippet-snippets.el
++++ b/yasnippet-snippets.el
+@@ -35,13 +35,7 @@
+ (defconst yasnippet-snippets-dir
+ (expand-file-name
+ "snippets"
+- (file-name-directory
+- ;; Copied from β€˜f-this-file’ from f.el.
+- (cond
+- (load-in-progress load-file-name)
+- ((and (boundp 'byte-compile-current-file) byte-compile-current-file)
+- byte-compile-current-file)
+- (:else (buffer-file-name))))))
++ "@SITEETC@"))
+
+ ;;;###autoload
+ (defun yasnippet-snippets-initialize ()
diff --git a/app-emacs/yasnippet-snippets/yasnippet-snippets-0.3.ebuild b/app-emacs/yasnippet-snippets/yasnippet-snippets-0.3.ebuild
deleted file mode 100644
index 693935e3fecf..000000000000
--- a/app-emacs/yasnippet-snippets/yasnippet-snippets-0.3.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit elisp
-
-DESCRIPTION="A collection of yasnippet snippets for many languages"
-HOMEPAGE="https://github.com/AndreaCrotti/yasnippet-snippets"
-SRC_URI="https://github.com/AndreaCrotti/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="app-emacs/yasnippet"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() { :; }
-
-src_install() {
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- insinto "${SITEETC}/${PN}"
- doins -r snippets/.
- dodoc README.md
-}
diff --git a/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0-r2.ebuild b/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0-r2.ebuild
new file mode 100644
index 000000000000..87a307ffeccd
--- /dev/null
+++ b/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="A collection of yasnippet snippets for many languages"
+HOMEPAGE="https://github.com/AndreaCrotti/yasnippet-snippets"
+SRC_URI="https://github.com/AndreaCrotti/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="app-emacs/yasnippet"
+BDEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+PATCHES=( "${FILESDIR}"/${PN}-dir.patch )
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ ${EMACS} ${EMACSFLAGS} --eval "(require 'yasnippet)" \
+ --eval "(yas-compile-directory \"${S}/snippets\")" || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r snippets
+}
diff --git a/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0.ebuild b/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0.ebuild
deleted file mode 100644
index 3b0d29b244e7..000000000000
--- a/app-emacs/yasnippet-snippets/yasnippet-snippets-1.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp
-
-DESCRIPTION="A collection of yasnippet snippets for many languages"
-HOMEPAGE="https://github.com/AndreaCrotti/yasnippet-snippets"
-SRC_URI="https://github.com/AndreaCrotti/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="app-emacs/yasnippet"
-
-SITEFILE="50${PN}-gentoo.el"
-
-src_compile() { :; }
-
-src_install() {
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- insinto "${SITEETC}/${PN}"
- doins -r snippets/.
- dodoc README.md
-}
diff --git a/app-emacs/yasnippet/Manifest b/app-emacs/yasnippet/Manifest
index ed61fef291f2..19bc254c6b2b 100644
--- a/app-emacs/yasnippet/Manifest
+++ b/app-emacs/yasnippet/Manifest
@@ -1,2 +1 @@
-DIST yasnippet-0.13.0.tar.gz 577330 BLAKE2B 21830c0a2e99d7669093c16f527debb4921e96aad006887ec1c7e35da58745721658417f1aec96ea78ba4dc5f3951c857848fce67e6d2ff7f255d4aea5687ab9 SHA512 73b111f72e98c4183764cef08ddfaa861dba49f171f96026b074bf62a7aa5e2d8529f616805ba386dd4157b675da953784d5bcd832d6015ce1b72e9c240988c5
DIST yasnippet-0.14.0.tar.gz 581053 BLAKE2B efae02939d0174724803819fb9a47a414acad3b1d58da91d4f35c42c02282db9773f4f3caa020d01c2d87de741d3c60b39e1406b6ff7b3e5310ed4efc477d635 SHA512 c7f704187b3c700f8ea9e0205941d7a32602b6994307007cb83aa984ccf7e7e37be9589277a56c294703eab82ee4b1dffae7040f2e175e7d56cda5ef3c70eb39
diff --git a/app-emacs/yasnippet/yasnippet-0.13.0.ebuild b/app-emacs/yasnippet/yasnippet-0.13.0.ebuild
deleted file mode 100644
index e6ba47b23dc4..000000000000
--- a/app-emacs/yasnippet/yasnippet-0.13.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp readme.gentoo-r1
-
-DESCRIPTION="Yet another snippet extension for Emacs"
-HOMEPAGE="http://joaotavora.github.com/yasnippet/"
-SRC_URI="https://github.com/joaotavora/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-SITEFILE="50${PN}-gentoo-${PV}.el"
-
-src_test() {
- ${EMACS} ${EMACSFLAGS} -L . -l yasnippet-tests \
- -f ert-run-tests-batch-and-exit
-}
-
-src_install() {
- elisp-install ${PN} yasnippet.el{,c} yasnippet-debug.el{,c}
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- dodoc CONTRIBUTING.md NEWS README.mdown
- use doc && dodoc -r doc/*
-
- DOC_CONTENTS="Add the following to your ~/.emacs to use YASnippet:
- \n\t(require 'yasnippet)
- \n\t(yas-global-mode 1)
- \n\nYASnippet no longer bundles snippets directly. Install the package
- app-emacs/yasnippet-snippets for a collection of snippets."
- readme.gentoo_create_doc
-}
diff --git a/app-emacs/yasnippet/yasnippet-0.14.0.ebuild b/app-emacs/yasnippet/yasnippet-0.14.0.ebuild
index 7e8fc0b1160b..cce198a2a7fc 100644
--- a/app-emacs/yasnippet/yasnippet-0.14.0.ebuild
+++ b/app-emacs/yasnippet/yasnippet-0.14.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,12 @@ EAPI=8
inherit elisp readme.gentoo-r1
DESCRIPTION="Yet another snippet extension for Emacs"
-HOMEPAGE="http://joaotavora.github.com/yasnippet/"
+HOMEPAGE="https://joaotavora.github.io/yasnippet/"
SRC_URI="https://github.com/joaotavora/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="doc"
SITEFILE="50${PN}-gentoo-0.13.0.el"
diff --git a/app-emacs/yatex/Manifest b/app-emacs/yatex/Manifest
index 7ff4894c24f5..3b3184d1355e 100644
--- a/app-emacs/yatex/Manifest
+++ b/app-emacs/yatex/Manifest
@@ -1 +1 @@
-DIST yatex1.80.tar.gz 376944 BLAKE2B 355726fb3b38bfbc314647739d4af6e588848b5ade208fe1e026106a7cc2c220edcf10214f37ee7c9cc461ecb3e776c3969e329d5a331b3d8ce9f669f2361e26 SHA512 6548d1ac95ce95198468698d9b91449736e4be8af15d29352c00f7604fd7b34b2c606afb2d90d1115fd64dc859efdd9c993a6b3733f9321ca7671615977b4bd5
+DIST yatex1.82.tar.gz 387358 BLAKE2B 77c88563e3beb7b29ac8a4d7204d14b966c9a88b1c2f04c6160089f0b61a70c9d6aa135d2e1cee6e13a90cc108428ce80e7ef0d0b8852b9a8651e67f34af7e1e SHA512 8c2890fc12e93aace5ac51e24da315a9d241aec023a3c67187c1fd28d2a7a02d1688b7e1177e1ba13411ecb394b5d581298c735cd80195e663bbdcf240f10fe5
diff --git a/app-emacs/yatex/files/yatex-1.82-texinfo.patch b/app-emacs/yatex/files/yatex-1.82-texinfo.patch
new file mode 100644
index 000000000000..1938b1a766d2
--- /dev/null
+++ b/app-emacs/yatex/files/yatex-1.82-texinfo.patch
@@ -0,0 +1,22 @@
+--- yatex1.82/docs/yatexe.tex
++++ yatex1.82/docs/yatexe.tex
+@@ -382,7 +382,7 @@
+ @section Special Filtering Region
+ A region like below will be passed to external filter command.
+ @example
+-%#BEGIN FILTER{foo.pdf}{dot -T %t -o %o}
++%#BEGIN FILTER@{foo.pdf@}@{dot -T %t -o %o@}
+ \if0
+ ....blah blah blah...
+ ....blah blah blah...
+--- yatex1.82/docs/yatexj.tex
++++ yatex1.82/docs/yatexj.tex
+@@ -488,7 +488,7 @@
+ ‚ά‚·B‚»‚Μ‚½‚ί‚Ι‚ΝˆΘ‰Ί‚Μ‚ζ‚€‚Θƒ\[ƒX‚𕢏‘’†‚ɏ‘‚«‚ά‚·B
+
+ @example
+-%#BEGIN FILTER{foo.pdf}{blockdiag -T %t -o %o}
++%#BEGIN FILTER@{foo.pdf@}@{blockdiag -T %t -o %o@}
+ \if0
+ ---
+ ....blah blah blah...
diff --git a/app-emacs/yatex/yatex-1.80.ebuild b/app-emacs/yatex/yatex-1.80.ebuild
deleted file mode 100644
index 7a2a90dc7a7a..000000000000
--- a/app-emacs/yatex/yatex-1.80.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit elisp
-
-DESCRIPTION="Yet Another TeX mode for Emacs"
-HOMEPAGE="http://www.yatex.org/"
-SRC_URI="http://www.${PN}.org/${P/-}.tar.gz"
-
-KEYWORDS="amd64 ppc ~ppc64 x86"
-SLOT="0"
-LICENSE="BSD-2"
-IUSE="l10n_ja"
-
-S="${WORKDIR}/${P/-}"
-
-ELISP_PATCHES="${PN}-1.76-direntry.patch
- ${P}-texinfo-5.patch"
-SITEFILE="50${PN}-gentoo.el"
-
-src_prepare() {
- sed -i "/(help-dir/,/)))/c\ (help-dir \"${SITEETC}/${PN}\"))" ${PN}hlp.el
-
- elisp_src_prepare
-}
-
-src_compile() {
- cd docs
- makeinfo {${PN},yahtml}e.tex || die
-
- if use l10n_ja; then
- iconv -f WINDOWS-31J -t UTF-8 ${PN}j.tex > ${PN}-ja.texi || die
- iconv -f WINDOWS-31J -t UTF-8 yahtmlj.tex > yahtml-ja.texi || die
- makeinfo {${PN},yahtml}-ja.texi || die
- fi
-}
-
-src_install() {
- elisp-install ${PN} *.el
- elisp-site-file-install "${FILESDIR}"/${SITEFILE}
-
- insinto ${SITEETC}/${PN}
- doins help/YATEXHLP.eng
- doinfo docs/{${PN},yahtml}.info*
- dodoc install docs/*.eng
-
- if use l10n_ja; then
- doins help/YATEXHLP.jp
- doinfo docs/{${PN},yahtml}-ja.info*
- dodoc 00readme ${PN}.new docs/{htmlqa,qanda,*.doc}
- fi
-}
diff --git a/app-emacs/yatex/yatex-1.82.ebuild b/app-emacs/yatex/yatex-1.82.ebuild
new file mode 100644
index 000000000000..23e5cbbdde33
--- /dev/null
+++ b/app-emacs/yatex/yatex-1.82.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Yet Another TeX mode for Emacs"
+HOMEPAGE="http://www.yatex.org/"
+SRC_URI="http://www.${PN}.org/${P/-}.tar.gz"
+S="${WORKDIR}/${P/-}"
+
+KEYWORDS="amd64 ppc ~ppc64 x86"
+SLOT="0"
+LICENSE="BSD-2"
+IUSE="l10n_ja"
+
+BDEPEND="l10n_ja? ( virtual/libiconv )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.76-direntry.patch
+ "${FILESDIR}"/${PN}-1.80-texinfo-5.patch
+ "${FILESDIR}"/${P}-texinfo.patch
+)
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ sed -i "/(help-dir/,/)))/c\ (help-dir \"${SITEETC}/${PN}\"))" ${PN}hlp.el
+
+ elisp_src_prepare
+}
+
+src_compile() {
+ cd docs
+ makeinfo {${PN},yahtml}e.tex || die
+
+ if use l10n_ja; then
+ iconv -f WINDOWS-31J -t UTF-8 ${PN}j.tex > ${PN}-ja.texi || die
+ iconv -f WINDOWS-31J -t UTF-8 yahtmlj.tex > yahtml-ja.texi || die
+ makeinfo {${PN},yahtml}-ja.texi || die
+ fi
+}
+
+src_install() {
+ elisp-install ${PN} *.el
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+
+ insinto ${SITEETC}/${PN}
+ doins help/YATEXHLP.eng
+ doinfo docs/{${PN},yahtml}.info*
+ dodoc install docs/*.eng
+
+ if use l10n_ja; then
+ doins help/YATEXHLP.jp
+ doinfo docs/{${PN},yahtml}-ja.info*
+ dodoc 00readme ${PN}.new docs/{htmlqa,qanda,*.doc}
+ fi
+}