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
Install.log.gz
Description: application/gzip
signature.asc
Description: PGP signature

