Bump :core
Fuco1/smartparens@7f5825d -> Fuco1/smartparens@63695c6 bbatsov/projectile@d1cfad0 -> bbatsov/projectile@c31bd41 domtronn/all-the-icons.el@6917b08 -> domtronn/all-the-icons.el@9aa16ae iqbalansari/restart-emacs@e570749 -> iqbalansari/restart-emacs@1607da2 jscheid/dtrt-indent@a7ade6d -> jscheid/dtrt-indent@854b9a1 justbur/emacs-which-key@ca268fd -> justbur/emacs-which-key@428aedf jwiegley/use-package@caa92f1 -> jwiegley/use-package@365c73d raxod502/straight.el@3277e1c -> raxod502/straight.el@a32c97c + Closes #4513 + Fixes (wrong-number-of-arguments (3 . 4) 2) error for users on Emacs HEAD (see bbatsov/projectile#1635). + package! :build semantics have changed due to upstream changes. What was :build is now :pre-build. What was :no-build is now :build nil. + Now we must be careful not to auto-disable the "use-package" psuedo theme. It is used as a place to store :custom assignments without them being saved to custom.el.
This commit is contained in:
parent
c8bfbda556
commit
cfb8a866dc
6 changed files with 59 additions and 32 deletions
|
@ -13,18 +13,24 @@
|
|||
;;
|
||||
;;; Bump commands
|
||||
|
||||
(defun doom--package-full-recipe (package plist)
|
||||
(defun doom--package-merge-recipes (package plist)
|
||||
(require 'straight)
|
||||
(doom-plist-merge
|
||||
(plist-get plist :recipe)
|
||||
(or (cdr (straight-recipes-retrieve package))
|
||||
(plist-get (cdr (assq package doom-packages))
|
||||
:recipe))))
|
||||
(if-let (recipe (straight-recipes-retrieve package))
|
||||
(cdr (if (memq (car recipe) '(quote \`))
|
||||
(eval recipe t)
|
||||
recipe))
|
||||
(let ((recipe (plist-get (cdr (assq package doom-packages))
|
||||
:recipe)))
|
||||
(if (keywordp (car recipe))
|
||||
recipe
|
||||
(cdr recipe))))))
|
||||
|
||||
(defun doom--package-to-bump-string (package plist)
|
||||
"Return a PACKAGE and its PLIST in 'username/repo@commit' format."
|
||||
(format "%s@%s"
|
||||
(plist-get (doom--package-full-recipe package plist) :repo)
|
||||
(plist-get (doom--package-merge-recipes package plist) :repo)
|
||||
(substring-no-properties (plist-get plist :pin) 0 7)))
|
||||
|
||||
(defun doom--package-at-point (&optional point)
|
||||
|
@ -78,7 +84,7 @@ Grabs the latest commit id of the package using 'git'."
|
|||
(cl-destructuring-bind (&key package plist beg end)
|
||||
(or (doom--package-at-point)
|
||||
(user-error "Not on a `package!' call"))
|
||||
(let* ((recipe (doom--package-full-recipe package plist))
|
||||
(let* ((recipe (doom--package-merge-recipes package plist))
|
||||
(branch (plist-get recipe :branch))
|
||||
(oldid (or (plist-get plist :pin)
|
||||
(doom-package-get package :pin)))
|
||||
|
|
|
@ -335,17 +335,26 @@ declaration) or dependency thereof that hasn't already been."
|
|||
(doom--with-package-recipes recipes (package local-repo recipe)
|
||||
(unless force-p
|
||||
;; Ensure packages with outdated files/bytecode are rebuilt
|
||||
(let ((build-dir (straight--build-dir package))
|
||||
(repo-dir (straight--repos-dir local-repo)))
|
||||
(and (not (plist-get recipe :no-build))
|
||||
(let* ((build-dir (straight--build-dir package))
|
||||
(repo-dir (straight--repos-dir local-repo))
|
||||
(build (plist-get recipe :build))
|
||||
(want-byte-compile
|
||||
(or (eq build t)
|
||||
(memq 'compile build)))
|
||||
(want-native-compile
|
||||
(and (or (eq build t)
|
||||
(memq 'native-compile build))
|
||||
(require 'comp nil t))))
|
||||
(when (eq (car build) :not)
|
||||
(setq want-byte-compile (not want-byte-compile)
|
||||
want-native-compile (not want-native-compile)))
|
||||
(and (or want-byte-compile want-native-compile)
|
||||
(or (file-newer-than-file-p repo-dir build-dir)
|
||||
(file-exists-p (straight--modified-dir (or local-repo package)))
|
||||
(cl-loop with want-byte = (straight--byte-compile-package-p recipe)
|
||||
with want-native = (if (require 'comp nil t) (straight--native-compile-package-p recipe))
|
||||
with outdated = nil
|
||||
(cl-loop with outdated = nil
|
||||
for file in (doom-files-in build-dir :match "\\.el$" :full t)
|
||||
if (or (if want-byte (doom--elc-file-outdated-p file))
|
||||
(if want-native (doom--eln-file-outdated-p file)))
|
||||
if (or (if want-byte-compile (doom--elc-file-outdated-p file))
|
||||
(if want-native-compile (doom--eln-file-outdated-p file)))
|
||||
do (setq outdated t)
|
||||
(when want-native
|
||||
(push file doom--eln-output-expected))
|
||||
|
|
|
@ -235,7 +235,12 @@ processed."
|
|||
|
||||
(defun doom-package-recipe (package &optional prop nil-value)
|
||||
"Returns the `straight' recipe PACKAGE was registered with."
|
||||
(let ((plist (gethash (symbol-name package) straight--recipe-cache)))
|
||||
(let* ((recipe (straight-recipes-retrieve package))
|
||||
(plist (doom-plist-merge
|
||||
(plist-get (alist-get package doom-packages) :recipe)
|
||||
(cdr (if (memq (car recipe) '(quote \`))
|
||||
(eval recipe t)
|
||||
recipe)))))
|
||||
(if prop
|
||||
(if (plist-member plist prop)
|
||||
(plist-get plist prop)
|
||||
|
@ -244,8 +249,14 @@ processed."
|
|||
|
||||
(defun doom-package-recipe-repo (package)
|
||||
"Resolve and return PACKAGE's (symbol) local-repo property."
|
||||
(if-let* ((recipe (cdr (straight-recipes-retrieve package)))
|
||||
(repo (straight-vc-local-repo-name recipe)))
|
||||
(if-let* ((recipe (copy-sequence (doom-package-recipe package)))
|
||||
(recipe (if (and (not (plist-member recipe :type))
|
||||
(memq (plist-get recipe :host) '(github gitlab bitbucket)))
|
||||
(plist-put recipe :type 'git)
|
||||
recipe))
|
||||
(repo (if-let (local-repo (plist-get recipe :local-repo))
|
||||
(file-name-nondirectory (directory-file-name local-repo))
|
||||
(ignore-errors (straight-vc-local-repo-name recipe)))))
|
||||
repo
|
||||
(symbol-name package)))
|
||||
|
||||
|
@ -482,7 +493,7 @@ elsewhere."
|
|||
(when-let (recipe (plist-get plist :recipe))
|
||||
(cl-destructuring-bind
|
||||
(&key local-repo _files _flavor
|
||||
_no-build _build _post-build _no-byte-compile
|
||||
_build _pre-build _post-build _no-byte-compile
|
||||
_no-native-compile _no-autoloads _type _repo _host _branch
|
||||
_remote _nonrecursive _fork _depth)
|
||||
recipe
|
||||
|
|
|
@ -629,7 +629,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.")
|
|||
;; `load-theme' doesn't disable previously enabled themes, which seems
|
||||
;; like what you'd want. You could always use `enable-theme' to activate
|
||||
;; multiple themes instead.
|
||||
(mapc #'disable-theme (remq theme custom-enabled-themes))
|
||||
(mapc #'disable-theme (remq theme (remq 'use-package custom-enabled-themes)))
|
||||
(run-hooks 'doom-load-theme-hook))
|
||||
result)))
|
||||
|
||||
|
@ -641,7 +641,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.")
|
|||
"Disable other themes when loading a new one."
|
||||
:before #'load-theme
|
||||
(unless no-enable
|
||||
(mapc #'disable-theme custom-enabled-themes)))
|
||||
(mapc #'disable-theme (remq 'use-package custom-enabled-themes))))
|
||||
|
||||
;; DEPRECATED Not needed in Emacs 27
|
||||
(defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args)
|
||||
|
|
|
@ -17,26 +17,26 @@
|
|||
:branch ,straight-repository-branch
|
||||
:local-repo "straight.el"
|
||||
:files ("straight*.el"))
|
||||
:pin "3277e1c9648b41dd5bfb239c067b8374ed2ec2bb")
|
||||
:pin "a32c97cb427b7f14dfd066f36a58d1740e20ed69")
|
||||
|
||||
;; core-modules.el
|
||||
(package! use-package
|
||||
:type 'core
|
||||
:pin "caa92f1d64fc25480551757d854b4b49981dfa6b")
|
||||
:pin "365c73d2618dd0040a32c2601c5456ab5495b812")
|
||||
|
||||
;; core-ui.el
|
||||
(package! all-the-icons :pin "6917b08f64dd8487e23769433d6cb9ba11f4152f")
|
||||
(package! all-the-icons :pin "9aa16ae198073fe839a0abfa9a7d3a9dc85ef5f9")
|
||||
(package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea")
|
||||
(package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307")
|
||||
(package! rainbow-delimiters :pin "f43d48a24602be3ec899345a3326ed0247b960c6")
|
||||
(package! restart-emacs :pin "e5707491d7ac20879465bb52e282ad1416748378")
|
||||
(package! restart-emacs :pin "1607da2bc657fe05ae01f7fdf26f716eafead02c")
|
||||
|
||||
;; core-editor.el
|
||||
(package! better-jumper :pin "e3a6546aa626b9a79ae451c88f44cf26f9d1a919")
|
||||
(package! dtrt-indent :pin "a7ade6d244eeeda2ada9f7eca565491cea4b622a")
|
||||
(package! dtrt-indent :pin "854b9a1ce93d9926018a0eb18e6e552769c5407d")
|
||||
(package! helpful :pin "584ecc887bb92133119f93a6716cdf7af0b51dca")
|
||||
(package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d")
|
||||
(package! smartparens :pin "7f5825dd655942c3d56d14acabab1ffab1aa2ae2")
|
||||
(package! smartparens :pin "63695c64233d215a92bf08e762f643cdb595bdd9")
|
||||
(package! so-long
|
||||
:built-in 'prefer ; included in Emacs 27+
|
||||
;; REVIEW so-long is slated to be published to ELPA eventually, but until then
|
||||
|
@ -51,8 +51,8 @@
|
|||
:pin "2bb49d3ee7d2cba133bc7e9cdac416cd1c5e4fe0")
|
||||
|
||||
;; core-projects.el
|
||||
(package! projectile :pin "d1cfad008b1719a6bee17fbe9479db414c0dc5d9")
|
||||
(package! projectile :pin "c31bd41c0b9d6fba8837ebfd3a31dec0b3cd73c6")
|
||||
|
||||
;; core-keybinds.el
|
||||
(package! general :pin "a0b17d207badf462311b2eef7c065b884462cb7c")
|
||||
(package! which-key :pin "ca268fd313d3fb2bd03a8b5e4bdcca675ce58ca7")
|
||||
(package! which-key :pin "428aedfce0157920814fbb2ae5d00b4aea89df88")
|
||||
|
|
|
@ -14,10 +14,11 @@
|
|||
;; root. Of course, this command won't work in a sparse clone,
|
||||
;; and more than that, initiating these compilation step is a
|
||||
;; hassle, so...
|
||||
:build (with-temp-file (expand-file-name "org-version.el" (straight--repos-dir "org-mode"))
|
||||
(insert "(fset 'org-release (lambda () \"9.5\"))\n"
|
||||
"(fset 'org-git-version #'ignore)\n"
|
||||
"(provide 'org-version)\n")))
|
||||
:pre-build
|
||||
(with-temp-file (expand-file-name "org-version.el" (straight--repos-dir "org-mode"))
|
||||
(insert "(fset 'org-release (lambda () \"9.5\"))\n"
|
||||
"(fset 'org-git-version #'ignore)\n"
|
||||
"(provide 'org-version)\n")))
|
||||
:pin "7c8dce72bd5d86157dd1dda2ba0a21ac86084426"
|
||||
;; Prevents built-in Org from sneaking into the byte-compilation of
|
||||
;; `org-plus-contrib', and inform other packages that `org-mode' satisfies the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue