Control: severity -1 important

Hi,

Xiyue Deng <[email protected]> writes:

> Xiyue Deng <[email protected]> writes:
>
>> Sean Whitton <[email protected]> writes:
>>
>>> Xiyue Deng [11/Jun  7:13pm -07] wrote:
>>>> Hi Sean,
>>>>
>>>> Sean Whitton <[email protected]> writes:
>>>>
>>>>> Xiyue Deng [10/Jun 11:23pm -07] wrote:
>>>>>> So I guess this can really work!
>>>>>
>>>>> Nice.
>>>>>
>>>>>> Will continue with this after the integration test is merged so that
>>>>>> we have some test coverage.
>>>>>
>>>>> IMO this is more important than that other work and can merge first.
>>>>
>>>> Ah I was hoping that the test branch is safer as it doesn't change any
>>>> functions and can go in first.
>>>>
>>>> Anyway, I experimented a change[1] and tested it in the
>>>> `built-in-addon-handling' branch, and rebased it on to the test branch
>>>> for testing. One of the test cases has cl-lib in Package-Requires, and
>>>> the generated diff looked OK[2].
>>>>
>>>> So now we only remove `emacs' from the list of dependencies. The code
>>>> can be further simplified, but I'd like to keep the current structure in
>>>> case we want to do more later.
>>>
>>> I think I'd prefer to strip out everything we don't need anymore -- it's
>>> always there in the Git history if required again.
>>
>> Ack. Now I only keep the comparison with "emacs". Also shortened the doc
>> string. PTAL.
>
> Friendly ping.

I have identified a case that this dependency handling is required for
correctly byte compiling transitive dependency on packages that need to
be newer than the built-in ones. When working on magit 4.6.0, which
requires transient 0.13 and compat 31.0, both of which are built-in
packages but the version required is higher than the ones bundled in
Emacs 30.2 and hence external newer packages are required. With dh-elpa
2.1.9, the compilation of magit fails (full log attached). The first few
lines look like below:

,----
| Checking /usr/share/emacs/site-lisp/elpa/magit-4.6.0...
| Compiling /usr/share/emacs/site-lisp/elpa/magit-4.6.0/git-commit.el...
| 
| In toplevel form:
| git-commit.el:103:11: Error: Symbol’s function definition is void: static-when
| Compiling /usr/share/emacs/site-lisp/elpa/magit-4.6.0/git-rebase.el...
| 
| In toplevel form:
| git-rebase.el:75:11: Error: transient--init-suffix-key is already defined as 
something else than a generic function
| ...
`----

This strongly suggests that the bundled older version of compat is
in-use which does not provide `static-when' yet.

Initially I suspected that the command to do the byte compiling may be
at fault, more specifically the use of "--quick" may cause it to ignore
the external packages, but ruled it out after some experiments. I have
confirmed that using dh-elpa with the simplified dependency handling
magit 4.6.0 will succeed to byte compile.

It would be good to have this reviewed and approved soon. Maybe we can
make an experimental upload soonish for testing?

-- 
Regards,
Xiyue Deng

Attachment: Install.log.gz
Description: application/gzip

Attachment: signature.asc
Description: PGP signature

Reply via email to