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".

Reply via email to