diff --git a/.gitignore b/.gitignore index baea9915e80..deff7f4c08a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,39 +2,21 @@ *.elc *~ .#* -/.cask -/.ecukes-failing-scenarios -/config.el /config.mk /download_log.db /download_log.json.gz /download_log_stable.db /download_log_stable.json.gz -/elpa -/epkgs -/html-snapshot/archive.json -/html-snapshot/build-status.json -/html-snapshot/download_counts.json -/html-snapshot/recipes.json -/html-snapshot/updates.rss -/html-stable/archive.json -/html-stable/build-status.json -/html-stable/download_counts.json -/html-stable/recipes.json -/html-stable/updates.rss -/html/archive.json -/html/build-status.json -/html/download_counts.json -/html/recipes.json -/html/updates.rss -/packages-snapshot/ -/packages-stable/ -/packages/ +/html*/archive.json +/html*/build-status.json +/html*/download_counts.json +/html*/recipes.json +/html*/updates.rss +/packages*/ /process_log.pid /recipes/.dirstamp /sandbox /service/*/log /service/*/supervise /service/caddy/.caddy -/sync /working/ diff --git a/package-build/Makefile b/package-build/Makefile index be66ed9df2c..b5c7b230ddc 100644 --- a/package-build/Makefile +++ b/package-build/Makefile @@ -3,16 +3,24 @@ include default.mk .PHONY: test +# https://github.com/emacscollective/workflows/blob/main/bin/install-deps +# expects this to find this in this file. +DEPS = compat + all: lisp help: $(info make all - generate byte-code and autoloads) $(info make lisp - generate byte-code and autoloads) + $(info make redo - re-generate byte-code and autoloads) $(info make test - run tests) $(info make demo - run tests showing their documentation) $(info make clean - remove generated files) @printf "\n" +redo: clean $(ELCS) loaddefs check-declare + @$(MAKE) -C test lisp + lisp: $(ELCS) loaddefs check-declare @$(MAKE) -C test lisp diff --git a/package-build/default.mk b/package-build/default.mk index 6829fcf1094..9233d244382 100644 --- a/package-build/default.mk +++ b/package-build/default.mk @@ -8,7 +8,7 @@ ELS += package-build.el ELS += package-recipe-mode.el ELCS = $(ELS:.el=.elc) -DEPS = +DEPS = compat VERSION ?= $(shell test -e $(TOP).git && git describe --tags --abbrev=0 | cut -c2-) diff --git a/package-build/package-build-badges.el b/package-build/package-build-badges.el index 6ef1f0362a7..1e29432c37d 100644 --- a/package-build/package-build-badges.el +++ b/package-build/package-build-badges.el @@ -1,8 +1,8 @@ ;;; package-build-badges.el --- Create badges for packages -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2011-2023 Donald Ephraim Curtis -;; Copyright (C) 2012-2023 Steve Purcell -;; Copyright (C) 2018-2023 Jonas Bernoulli +;; Copyright (C) 2011-2024 Donald Ephraim Curtis +;; Copyright (C) 2012-2024 Steve Purcell +;; Copyright (C) 2018-2024 Jonas Bernoulli ;; Copyright (C) 2021-2023 Free Software Foundation, Inc ;; Copyright (C) 2009 Phil Hagelberg @@ -40,7 +40,7 @@ This is essentially a copy of `elpaa--make-badge'." (let* ((file (expand-file-name (concat name "-badge.svg") target-dir)) (left (or archive (car package-build-badge-data) "myElpa")) - (right (url-hexify-string version)) + (right version) (color (or color (cadr package-build-badge-data) "#ff491b")) (lw (package-build-badge--string-width left)) (rw (package-build-badge--string-width right)) diff --git a/package-build/package-build.el b/package-build/package-build.el index 0bd0c8f5776..d9ba60d6bd5 100644 --- a/package-build/package-build.el +++ b/package-build/package-build.el @@ -1,8 +1,8 @@ ;;; package-build.el --- Tools for assembling a package archive -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2011-2023 Donald Ephraim Curtis -;; Copyright (C) 2012-2023 Steve Purcell -;; Copyright (C) 2016-2023 Jonas Bernoulli +;; Copyright (C) 2011-2024 Donald Ephraim Curtis +;; Copyright (C) 2012-2024 Steve Purcell +;; Copyright (C) 2016-2024 Jonas Bernoulli ;; Copyright (C) 2009 Phil Hagelberg ;; Author: Donald Ephraim Curtis @@ -13,7 +13,7 @@ ;; Keywords: maint tools ;; Package-Version: 4.0.0.50-git -;; Package-Requires: ((emacs "26.1")) +;; Package-Requires: ((emacs "26.1") (compat "27.1")) ;; SPDX-License-Identifier: GPL-3.0-or-later @@ -42,6 +42,7 @@ ;;; Code: (require 'cl-lib) +(require 'compat nil t) (require 'pcase) (require 'subr-x) @@ -405,7 +406,7 @@ main library to a version that qualifies as a release, ignoring any pre-releases. Return (COMMIT-HASH COMMITTER-DATE VERSION-STRING)." - (when-let ((lib (package-build--main-library rcp))) + (and-let* ((lib (package-build--main-library rcp))) (with-temp-buffer (let (commit date version) (save-excursion @@ -466,7 +467,7 @@ Return (COMMIT-HASH COMMITTER-DATE VERSION-STRING)." (defun package-build-pkg-version (rcp) "Return version specified in the \"NAME-pkg.el\" file. Return (COMMIT-HASH COMMITTER-DATE VERSION-STRING)." - (when-let ((file (package-build--pkgfile rcp))) + (and-let* ((file (package-build--pkgfile rcp))) (let ((regexp (or (oref rcp version-regexp) package-build-version-regexp)) commit date version) (catch 'before-latest @@ -1075,7 +1076,7 @@ value specified in the file \"NAME.el\"." (if (fboundp 'lm-maintainers) (lm-maintainers) (with-no-warnings - (when-let ((maintainer (lm-maintainer))) + (and-let* ((maintainer (lm-maintainer))) (list maintainer))))) (package-desc-from-define name version @@ -1085,10 +1086,15 @@ value specified in the file \"NAME.el\"." ^;;; [^ ]*\\.el ---[ \t]*\\(.*?\\)[ \t]*\\(-\\*-.*-\\*-[ \t]*\\)?$" nil t) (match-string-no-properties 1))) "No description available.") - (when-let ((require-lines (lm-header-multiline "package-requires"))) - (package--prepare-dependencies - (package-read-from-string - (mapconcat #'identity require-lines " ")))) + (cond + ((fboundp 'lm-package-requires) + (lm-package-requires)) + ((fboundp 'package--prepare-dependencies) + (and-let* ((require-lines + (lm-header-multiline "package-requires"))) + (package--prepare-dependencies + (package-read-from-string + (mapconcat #'identity require-lines " ")))))) ;; `:kind' and `:archive' are handled separately. :kind (or kind 'single) ;; The other keyword arguments are appended to the alist @@ -1569,15 +1575,15 @@ If optional PRETTY-PRINT is non-nil, then pretty-print ;; section "Specifications (elpa-packages)" in "README" of the ;; "elpa-admin" branch in "emacs/elpa.git" repository; and also ;; `elpaa--supported-keywords' and `elpaa--publish-package-spec'. - (let ((recipe (package-recipe-lookup name))) - (push - `(,symbol - :url ,(package-recipe--upstream-url recipe) - ,@(and (cl-typep recipe 'package-hg-recipe) - (list :vc-backend 'Hg)) - ,@(when-let* ((branch (oref recipe branch))) - (list :branch branch))) - vc-pkgs)))))) + (and-let* ((recipe (with-demoted-errors "Recipe error: %S" + (package-recipe-lookup name)))) + (push `(,symbol + :url ,(package-recipe--upstream-url recipe) + ,@(and (cl-typep recipe 'package-hg-recipe) + (list :vc-backend 'Hg)) + ,@(and-let* ((branch (oref recipe branch))) + (list :branch branch))) + vc-pkgs)))))) (setq entries (cl-sort entries #'string< :key #'car)) (with-temp-file (or file (expand-file-name "archive-contents")) (let ((print-level nil) @@ -1646,7 +1652,7 @@ a package." (json-encode (cl-mapcan (lambda (name) - (ignore-errors ; Silently ignore corrupted recipes. + (with-demoted-errors "Recipe error: %S" (and (package-recipe-lookup name) (with-temp-buffer (insert-file-contents diff --git a/package-build/package-recipe-mode.el b/package-build/package-recipe-mode.el index 813ae3a50a1..832336b3038 100644 --- a/package-build/package-recipe-mode.el +++ b/package-build/package-recipe-mode.el @@ -1,8 +1,8 @@ ;;; package-recipe-mode.el --- Major-mode for editing package recipes -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2011-2023 Donald Ephraim Curtis -;; Copyright (C) 2012-2023 Steve Purcell -;; Copyright (C) 2016-2023 Jonas Bernoulli +;; Copyright (C) 2011-2024 Donald Ephraim Curtis +;; Copyright (C) 2012-2024 Steve Purcell +;; Copyright (C) 2016-2024 Jonas Bernoulli ;; Copyright (C) 2009 Phil Hagelberg ;; Author: Donald Ephraim Curtis diff --git a/package-build/package-recipe.el b/package-build/package-recipe.el index 7b3909fbe7d..be0aeff4b17 100644 --- a/package-build/package-recipe.el +++ b/package-build/package-recipe.el @@ -1,6 +1,6 @@ ;;; package-recipe.el --- Package recipes as EIEIO objects -*- lexical-binding:t; coding:utf-8 -*- -;; Copyright (C) 2018-2023 Jonas Bernoulli +;; Copyright (C) 2018-2024 Jonas Bernoulli ;; Author: Jonas Bernoulli ;; Homepage: https://github.com/melpa/package-build @@ -27,6 +27,7 @@ ;;; Code: +(require 'compat nil t) (require 'eieio) (require 'subr-x) (require 'url-parse) @@ -182,17 +183,14 @@ file is invalid, then raise an error." (cl-assert (not (plist-get plist :url)) ":url is redundant")) (cl-assert (plist-get plist :url) ":url is missing"))) (dolist (key symbol-keys) - (let ((val (plist-get plist key))) - (when val - (cl-assert (symbolp val) nil "%s must be a symbol but is %S" key val)))) + (when-let ((val (plist-get plist key))) + (cl-assert (symbolp val) nil "%s must be a symbol but is %S" key val))) (dolist (key list-keys) - (let ((val (plist-get plist key))) - (when val - (cl-assert (listp val) nil "%s must be a list but is %S" key val)))) + (when-let ((val (plist-get plist key))) + (cl-assert (listp val) nil "%s must be a list but is %S" key val))) (dolist (key string-keys) - (let ((val (plist-get plist key))) - (when val - (cl-assert (stringp val) nil "%s must be a string but is %S" key val)))) + (when-let ((val (plist-get plist key))) + (cl-assert (stringp val) nil "%s must be a string but is %S" key val))) (when-let ((spec (plist-get plist :files))) ;; `:defaults' is only allowed as the first element. ;; If we find it in that position, skip over it. diff --git a/recipes/afterglow b/recipes/afterglow new file mode 100644 index 00000000000..747a8c6498d --- /dev/null +++ b/recipes/afterglow @@ -0,0 +1,2 @@ +(afterglow :fetcher github + :repo "ernstvanderlinden/emacs-afterglow") diff --git a/recipes/app-monochrome-themes b/recipes/app-monochrome-themes new file mode 100644 index 00000000000..3364ad7f8ec --- /dev/null +++ b/recipes/app-monochrome-themes @@ -0,0 +1,3 @@ +(app-monochrome-themes + :fetcher github + :repo "Greybeard-Entertainment/app-monochrome") diff --git a/recipes/chatu b/recipes/chatu new file mode 100644 index 00000000000..bc586f93902 --- /dev/null +++ b/recipes/chatu @@ -0,0 +1 @@ +(chatu :repo "kimim/chatu" :fetcher github) diff --git a/recipes/deno-ts-mode b/recipes/deno-ts-mode index 55f29c6ac17..02002deceb6 100644 --- a/recipes/deno-ts-mode +++ b/recipes/deno-ts-mode @@ -1,3 +1,3 @@ (deno-ts-mode - :fetcher sourcehut + :fetcher github :repo "mgmarlow/deno-ts-mode") diff --git a/recipes/embark-org-roam b/recipes/embark-org-roam new file mode 100644 index 00000000000..4057137b078 --- /dev/null +++ b/recipes/embark-org-roam @@ -0,0 +1 @@ +(embark-org-roam :fetcher github :repo "bramadams/embark-org-roam") diff --git a/recipes/emms-player-spotify b/recipes/emms-player-spotify new file mode 100644 index 00000000000..8ac213d459d --- /dev/null +++ b/recipes/emms-player-spotify @@ -0,0 +1 @@ +(emms-player-spotify :fetcher github :repo "sarg/emms-spotify") diff --git a/recipes/eshell-outline b/recipes/eshell-outline index e57ce28a104..026098b48ce 100644 --- a/recipes/eshell-outline +++ b/recipes/eshell-outline @@ -1 +1 @@ -(eshell-outline :fetcher git :url "https://git.jamzattack.xyz/eshell-outline") +(eshell-outline :fetcher github :repo "emacsattic/eshell-outline") diff --git a/recipes/evil-lispy b/recipes/evil-lispy index d23373cbc07..ae92e92e4ce 100644 --- a/recipes/evil-lispy +++ b/recipes/evil-lispy @@ -1,2 +1,2 @@ -(evil-lispy :repo "sp3ctum/evil-lispy" +(evil-lispy :repo "mikavilpas/evil-lispy" :fetcher github) diff --git a/recipes/flymake-clippy b/recipes/flymake-clippy index 8873935d483..b20f403dd2d 100644 --- a/recipes/flymake-clippy +++ b/recipes/flymake-clippy @@ -1,3 +1,3 @@ (flymake-clippy - :fetcher sourcehut + :fetcher github :repo "mgmarlow/flymake-clippy") diff --git a/recipes/flymake-fennel b/recipes/flymake-fennel index cb873930cd4..2b88f2cedc3 100644 --- a/recipes/flymake-fennel +++ b/recipes/flymake-fennel @@ -1,3 +1,3 @@ (flymake-fennel - :fetcher sourcehut + :fetcher github :repo "mgmarlow/flymake-fennel") diff --git a/recipes/flymake-golangci b/recipes/flymake-golangci index 8f4943a0585..8da2500e933 100644 --- a/recipes/flymake-golangci +++ b/recipes/flymake-golangci @@ -1 +1 @@ -(flymake-golangci :fetcher gitlab :repo "shackra/flymake-golangci") +(flymake-golangci :fetcher github :repo "emacsattic/flymake-golangci") diff --git a/recipes/fmo-mode b/recipes/fmo-mode new file mode 100644 index 00000000000..7cd11fea7c5 --- /dev/null +++ b/recipes/fmo-mode @@ -0,0 +1 @@ +(fmo-mode :fetcher github :repo "xeechou/fmo-mode.el") \ No newline at end of file diff --git a/recipes/magit-gptcommit b/recipes/magit-gptcommit new file mode 100644 index 00000000000..d3518cefeaa --- /dev/null +++ b/recipes/magit-gptcommit @@ -0,0 +1 @@ +(magit-gptcommit :fetcher github :repo "douo/magit-gptcommit") diff --git a/recipes/nordic-night-theme b/recipes/nordic-night-theme index 7d82fa70a43..4c4e81056ad 100644 --- a/recipes/nordic-night-theme +++ b/recipes/nordic-night-theme @@ -1 +1 @@ -(nordic-night-theme :fetcher git :url "https://codeberg.org/ashton314/nordic-night") +(nordic-night-theme :fetcher codeberg :repo "ashton314/nordic-night") diff --git a/recipes/org-caldav b/recipes/org-caldav index 316879af34d..e7b9ebd0316 100644 --- a/recipes/org-caldav +++ b/recipes/org-caldav @@ -1,4 +1,3 @@ (org-caldav :repo "dengste/org-caldav" - :fetcher github - :files ("org-caldav.el")) + :fetcher github) diff --git a/recipes/org-clock-agenda-daytime-mode b/recipes/org-clock-agenda-daytime-mode new file mode 100644 index 00000000000..afe5851e5b1 --- /dev/null +++ b/recipes/org-clock-agenda-daytime-mode @@ -0,0 +1 @@ +(org-clock-agenda-daytime-mode :repo "ArneBab/emacs-org-clock-daytime" :fetcher github) diff --git a/recipes/org-vcard b/recipes/org-vcard index 80e98a44f32..9e9068a8c7b 100644 --- a/recipes/org-vcard +++ b/recipes/org-vcard @@ -1,5 +1,5 @@ (org-vcard :fetcher github - :repo "flexibeast/org-vcard" + :repo "pinoaffe/org-vcard" :files ("org-vcard.el" "styles")) diff --git a/recipes/ox-impress-js b/recipes/ox-impress-js index 3ada9a0fc95..f43226796c6 100644 --- a/recipes/ox-impress-js +++ b/recipes/ox-impress-js @@ -1,4 +1,4 @@ (ox-impress-js :fetcher github - :repo "takumikinjo/org-impress-js.el" + :repo "emacsattic/org-impress-js" :files ("*.el" "resources") :old-names (org-impress-js)) diff --git a/recipes/protobuf-ts-mode b/recipes/protobuf-ts-mode index d8aede4e565..2bbbcf6e7be 100644 --- a/recipes/protobuf-ts-mode +++ b/recipes/protobuf-ts-mode @@ -1 +1 @@ -(protobuf-ts-mode :fetcher git :url "https://git.ookami.one/cgit/protobuf-ts-mode") +(protobuf-ts-mode :fetcher github :repo "emacsattic/protobuf-ts-mode") diff --git a/recipes/pyim-cangjiedict b/recipes/pyim-cangjiedict index 54f2ddec7ca..c0ffae33699 100644 --- a/recipes/pyim-cangjiedict +++ b/recipes/pyim-cangjiedict @@ -1,4 +1,4 @@ (pyim-cangjiedict :fetcher github - :repo "ba11aStone/pyim-cangjiedict" + :repo "con5tella/pyim-cangjiedict" :files (:defaults "*.pyim")) diff --git a/recipes/pyim-smzmdict b/recipes/pyim-smzmdict index 7bc6abaea1b..bf778fd73f4 100644 --- a/recipes/pyim-smzmdict +++ b/recipes/pyim-smzmdict @@ -1,4 +1,4 @@ (pyim-smzmdict :fetcher github - :repo "ba11aStone/pyim-smzmdict" + :repo "con5tella/pyim-smzmdict" :files (:defaults "*.pyim")) diff --git a/recipes/reverso b/recipes/reverso new file mode 100644 index 00000000000..b55903a585c --- /dev/null +++ b/recipes/reverso @@ -0,0 +1 @@ +(reverso :repo "SqrtMinusOne/reverso.el" :fetcher github) diff --git a/recipes/rom-party b/recipes/rom-party index 29d4c268554..8b496fda6b2 100644 --- a/recipes/rom-party +++ b/recipes/rom-party @@ -1 +1,4 @@ -(rom-party :repo "LaurenceWarne/rom-party.el" :fetcher github) +(rom-party + :repo "LaurenceWarne/rom-party.el" + :fetcher github + :files (:defaults "index.extmap.gz")) diff --git a/recipes/tbx2org b/recipes/tbx2org index 9b9ba31047c..53fb956deac 100644 --- a/recipes/tbx2org +++ b/recipes/tbx2org @@ -1,2 +1 @@ -(tbx2org :repo "istib/tbx2org" :fetcher github) - +(tbx2org :repo "emacsattic/tbx2org" :fetcher github) diff --git a/recipes/tsort b/recipes/tsort index 8926ac0f9b0..0da6c06cfa8 100644 --- a/recipes/tsort +++ b/recipes/tsort @@ -1 +1 @@ -(tsort :repo "ehawkvu/tsort.el" :fetcher github) +(tsort :repo "echawk/tsort.el" :fetcher github)