Hello,

I have noticed that with vc repositories that contain multiple related single-file
packages, package-vc-install creates looped self-dependency that can cause errors.

For example, trying to install the repository:
https://github.com/armindarvish/consult-omni
will result in "Lisp nesting exceeds ‘max-lisp-eval-depth’: 1601" error. This is
because currently package-vc-install tries to read all ".el" files in the root
directory to get the dependencies and build the "define-package" declaration in
consult-omni-pkg.el. This is not compatible with repositories that have multiple
single-file packages in the root directory. Instead, the dependencies should be
inferred from the main lisp file only. This will be safe with multi-file packages
as well because the convention is to have the "Package-Requires:" header only in
the main lisp file and not the additional lisp files.

There are other packages that have multiple single-file packages as well, for
example, https://github.com/oantolin/embark includes embark and embark-consult in
the root directory. Currently, installing embark with package-vc-install causes
several different versions of embark being downlaoded because the dependencies are
read from all of those files even though they are meant to be separate packages.

Best Regards,
Armin Darvish



www.armindarvish.com