Replies: 8 comments 10 replies
-
For me to better understand, does this happen in some simple setup, e.g. check out Org's Git repository, try to compile — error, or is there something else involved? Does it depend on Emacs version (if you can't test easily, just tell me with which version you see this failure)? Does it fail for anything else (tests, most importantly) or do you get this error only when byte-compiling? |
Beta Was this translation helpful? Give feedback.
-
Yup:
1. git clone git://git.savannah.gnu.org/emacs/org-mode.git
...
Thanks, will try it locally.
and the test files are not named in the way eldev expects
At least this is not a problem, just set `eldev-test-fileset' to whatever
is used in the project. Use `eldev-add-loading-roots' if needed (see
documentation).
…On Sat, 16 Mar 2024 at 19:43, Ihor Radchenko ***@***.***> wrote:
does this happen in some simple setup
Yup:
1. git clone git://git.savannah.gnu.org/emacs/org-mode.git
2. cd org-mode
3. eldev init
4. y y
5. Add (setf eldev-project-source-dirs "lisp") to Eldev file
6. eldev compile
7. Observe a lot of errors complaining about new functions introduced
on the latest development Org version not being defined
Does it depend on Emacs version
Does not look like, other than errors are different when using different
Emacs with different built-in version of Org mode. I tried Emacs master and
Emacs 28.
Does it fail for anything else (tests, most importantly) or do you get
this error only when byte-compiling?
I am not yet there to run tests - they require special configuration to
work (need to load org-test library) and the test files are not named in
the way eldev expects.
—
Reply to this email directly, view it on GitHub
<#101 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABYPBIVF3GOMZKLWNBYA6LYYSHF5AVCNFSM6AAAAABEZEGVU2VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DQMJTGU2TI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Paul Pogonyshev ***@***.***> writes:
> we do not use org-autoloads.el. Rather org-loaddefs.el.
Hm, what is the difference? I may need to update Eldev to support whatever Emacs has invented in the meantime...
package-loaddefs.el (or loaddefs.el) is the default name for autoload definitions.
Check out 16.5 Autoload section of Elisp manual and the top commentary
of loaddefs-gen.el library. <library name>-loaddefs.el is also used
across Emacs source code.
…--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
|
Beta Was this translation helpful? Give feedback.
-
Paul Pogonyshev ***@***.***> writes:
I use Emacs 29, in my `~/.emacs.d/elpa` I see that every package has `PKG-autoloads.el`, but there is not a single `PKG-loaddefs.el`. Has that changed in Emacs 30?
I was talking about Emacs source code.
Unlike external packages, packages shipped with Emacs use
pkg-loaddefs.el.
I am not 100% sure why there is a difference - we may ask on emacs-devel.
Basically, these files are exactly what Eldev reproduces in its plugin `autoloads`. The idea is that during development your package behaves as close as possible to one installed in the "standard way". Do you need `org-loaddefs.el` for some other purpose? In other words, would something break if the file is called differently?
org-loaddefs is what Org mode uses. Changing it may break some user
scripts and thus cannot be done without justification.
…--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
|
Beta Was this translation helpful? Give feedback.
-
Paul Pogonyshev ***@***.***> writes:
> org-loaddefs is what Org mode uses
I now installed Org from GNU ELPA, overriding the built-in package. In
`~/.emacs.d/elpa/org-9.6.21` I see _both_ `org-autoloads.el` and
`org-loaddefs.el`. The first is apparently created automatically by
Emacs package manager on installation, while the second is
_distributed_ with the package (I did check
`https://elpa.gnu.org/packages/org-9.6.21.tar`).
This is funny.
Let me ask Emacs devs.
***@***.***/T/#u
…--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
|
Beta Was this translation helpful? Give feedback.
-
I have managed to write the "org-loaddefs" builder and However, it looks like it is going to be quite an effort to port the existing Makefile-based Org mode build system to use Eldev. A short testing showed that However, to actually include eldev as a part of Org build system, it would be ideal if we do not add a requirement for users to install eldev manually. I'd like to have some kind of automatic downloading and setup. But not from github. Would it be something feasible to ask distributing eldev via trusted service - GNU ELPA, so that we can automatically download eldev from there rather than relying upon sources GNU Emacs has no control of? |
Beta Was this translation helpful? Give feedback.
-
(2) run Emacs with these downloaded external dependencies available and
sandboxes.
That should be achievable with simple
$ eldev emacs
as Eldev is already able to build the project. (Also many ways to customize
what exactly you get, see documentation.)
Would it be something feasible to ask distributing eldev via trusted
service - GNU ELPA, so that we can automatically download eldev from there
rather than relying upon sources GNU Emacs has no control of?
Most likely no. I don't want to sign legal papers, go through the review
process and listen to all the helpful comments how I should reimplement
this and that. In general, I prefer to keep communication with emacs-devel
as close to zero as possible, I'm fed up with it.
You can maybe set up a mirror that delivers Eldev script (replacing the URL
to retrieve the package from MELPA to whatever you want) + the package
itself, but that's likely too much hassle. And also won't make original
disappear, leading to confusion for users as to which copy to use. Or you
can look into alternatives, e.g. Eask (though AFAIK it's also only on
GitHub.)
Paul
…On Mon, 25 Mar 2024 at 11:16, Ihor Radchenko ***@***.***> wrote:
I have managed to write the "org-loaddefs" builder and eldev compile is
finishing cleanly now.
However, it looks like it is going to be quite an effort to port the
existing Makefile-based Org mode build system to use Eldev.
I think that the bare minimum I actually need for my purposes is an
ability to (1) download and manage external dependencies; (2) run Emacs
with these downloaded external dependencies available and sandboxes.
A short testing showed that Package-Requires: in org.el is quite
sufficient for eldev to catch what needs to be downloaded.
However, to actually include eldev as a part of Org build system, it would
be ideal if we do not add a requirement for users to install eldev
manually. I'd like to have some kind of automatic downloading and setup.
But not from github.
Would it be something feasible to ask distributing eldev via trusted
service - GNU ELPA, so that we can automatically download eldev from there
rather than relying upon sources GNU Emacs has no control of?
—
Reply to this email directly, view it on GitHub
<#101 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABYPBLAJ3LBKWOIX2LO3ITYZ72Q5AVCNFSM6AAAAABEZEGVU2VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DSMBQGQZDA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
suhail-singh ***@***.***> writes:
I believe inclusion into NonGNU elpa wouldn't require paperwork. Said
inclusion could also be done by someone other than the original
author.
@yantar92 would nongnu elpa be sufficient for what you had in mind?
The idea is to switch to eldev to build and test Org mode.
Such a switch means that Org mode development, as a GNU project, will
depend on the availability of eldev - something that may be questionable
in the long term (5+ years) if its copyright status is not rock-solid.
Or we may have to write a fallback package management, which kinda
defeats the purpose of using eldev. (Unless we use something really
simple, with just the basic features.)
Further, we do not want to force users who are using Org mode sources to
interact with non-libre services. Some users frown upon a need to
download staff from untrusted services like GitHub.
This last point is quite important and having a non-GNU package is a
must-have.
Still, I need to consult Emacs devs to see if using non-GNU package
is acceptable for a project which is a part of Emacs.
…--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
|
Beta Was this translation helpful? Give feedback.
-
Hello,
In Org mode, we are currently exploring ways to add third-party packages for Org mode version distributed via GNU Elpa (see https://list.orgmode.org/[email protected]/ where we discuss adding compat.el dependency). However, our build system is Makefile-based and does not support compiling/testing when package dependencies are not optional.
As part of the discussion, we arrived to a need to automatically download and manage dependecies.
This can be done either using some custom Makefile scripts or using an existing cross-platform solution. eldev is indeed one such existing solution.
Now, I am playing around with eldev to setup the existing Org mode compilation and testing setups.
However, when trying to run
eldev compile
, I am running into issues related to eldev somehow loading built-in version of Org mode rather than the git version:The above warnings indicate that eldev loads an older Org mode version.
Eldev file is
Any ideas?
Beta Was this translation helpful? Give feedback.
All reactions