Ihor Radchenko <[email protected]> writes: > Ihor Radchenko <[email protected]> writes: > >>> -(defconst org-dependencies '() >>> +(defconst org-dependencies '((compat . (31))) >>> "An alist of dependencies of org. >>> Each item is of the form (PACKAGE . MINIMUM-VERSION).") >> >> This one is awkward, as it needs to be kept in sync with main package >> requirements. >> May we use `lm-package-requires' to ingest the requirements from org.el >> headers?
I have this working locally. `lm-package-requires' was added in Emacs commit bb5399e3cd7 which I think is Emacs 29? Not sure. I'd be interested in knowing how you figure out what functions are available in what versions of Emacs. Copying the definition of `lm-package-requires' and a function it depends on (`lm--prepare-package-dependencies') directly into the file makes it work on Emacs 28. So there is no blocker here. Thank you for the good suggestion! >> >> I also tested the patch and ran into two issues: >> >> 1. emacs-28 has issues with elpa signature Can't reproduce that locally. I assume your emacs-28 package depends on outdated certificates or something? Seems like a package issue, not an Emacs issue. >> 2. make repro does not work even after make uppkg EMACS=emacs-29 >> >> make repro EMACS=emacs-29 will run make cleanall, so it fails all the time. >> Maybe we should run make uppkg as a part of make repro, but that >> will download things automatically, so maybe we should do it somehow >> differently. For example, make repro may skip cleanpkg. >> >> Otherwise, the patch looks good. > > A gentle ping. It has been 2 months. Honestly, the "make repro" and related workflows are what's stopping me from working on this :P I can't help but feel like we are adding complexity for little benefit. Currently it is easy to work on org-mode completely offline. With this change installed an accidental "git clean -xfd" (which I do all the time) will bring an offline development session to a halt (assuming the hacker is using an older emacs). I wish there was a better way to leverage packages installed on a user's system. This change completely overrides "package-user-dir".
