Closed Trevoke closed 4 years ago
Your project needs to declare the dependency on the correct version, either in its main .el
file or in PROJECT-NAME-pkg.el
. Then you need form (eldev-use-package-archive 'gnu)
in file Eldev
. Installation should happen automatically, you don't need any special steps for it (but can run eldev prepare
if you want to force it).
It seems that earlier versions of Emacs (up to 25) cannot tell versions of their built-in packages, so org
will be always installed on those, because Eldev will think the built-in version is too old.
eldev prepare
fixed it, thanks! It might be worth calling this out explicitly in the readme?
It is mentioned there, search for it. However, it is optional: everything that needs dependencies (e.g. eldev test
) installs them first, if you haven't executed eldev prepare
explicitly before. If you find a situation where this is not true, then it is a bug.
In that case I should argue that I came across a bug, I think?
--
Aldric. Sent from a mobile device.
On Fri, Aug 21, 2020, 05:53 Paul Pogonyshev notifications@github.com wrote:
Closed #18 https://github.com/doublep/eldev/issues/18.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/doublep/eldev/issues/18#event-3678881459, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAQSSKYYIJZLZ2FYC3GARTSBY7ZLANCNFSM4QGGE3KA .
What are the steps to reproduce it? When exactly do you have a problem with missing dependency?
Actually, I have reproduced the problem, but I don't see how eldev prepare
helped in your case.
~/git/org-gtd.el$ eldev clean all
Deleted 1 directory
~/git/org-gtd.el$ EMACS=emacs-26.3 eldev prepare
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
[1/5] Installing package ‘org-edna’ (1.1.1) from ‘gnu’...
[2/5] Installing package ‘s’ (1.12.0) from ‘melpa-stable’...
[3/5] Installing package ‘dash’ (2.12.0) from ‘gnu’...
[4/5] Installing package ‘f’ (0.20.0) from ‘melpa-stable’...
[5/5] Installing package ‘org-agenda-property’ (1.3.1) from ‘melpa-stable’...
~/git/org-gtd.el$ EMACS=emacs-26.3 eldev eval "(org-version)"
[1/1] Installing package ‘buttercup’ (1.23) from ‘melpa-stable’...
"9.1.9"
Expected is at least 9.3.1 according to the declared dependencies.
As a workaround, make sure that dependency on Org is declared before the dependency on org-edna
. I.e.:
;; Author: Aldric Giacomoni <trevoke@gmail.com>
;; Version: 1.0.2
;; Homepage: https://github.com/Trevoke/org-gtd.el
-;; Package-Requires: ((emacs "26.1") (org-edna "1.0.2") (f "0.20.0") (org "9.3.1") (org-agenda-property "1.3.1"))
+;; Package-Requires: ((emacs "26.1") (org "9.3.1") (org-edna "1.0.2") (f "0.20.0") (org-agenda-property "1.3.1"))
;; This file is not part of GNU Emacs.
Fix released as part of 0.7.
Hi folks,
I'm working on a package that requires a more recent version of org-mode than ships with most versions of emacs (the build passes with 27.1). So I need to ask eldev to install a more recent version of org-mode. How do I do this with eldev?