emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Vendoring code in a (Non?)GNU ELPA package


From: Daniel Semyonov
Subject: Vendoring code in a (Non?)GNU ELPA package
Date: Wed, 27 Dec 2023 11:07:41 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

I've created a dynamic module implementing a simple audio player using
miniaudio (https://miniaud.io, public domain or MIT-0) and libsndfile
(https://libsndfile.github.io/libsndfile, LGPL).
I also built a player implementation for EMMS utilizing it.

However, it has been sitting in a local directory for a while since
I'm not sure how to publish it - miniaudio is very self contained, it
requires no dependencies and is distributed as a single header file
(miniaudio.h) containing all the code (which is then compiled with your
program).  AFAICT almost no distribution packages it.

I think the intention is to "vendor" miniaudio.h with your program (not
sure if I'm using the term correctly), but this doesn't really fit well
into the concept of a package IMO, especially since GNU ELPA packages
require copyright assignment.

Is it acceptable to "vendor" miniaudio.h with the package on GNU or
NonGNU ELPA?
Assuming it isn't, is it acceptable to download "miniaudio.h" as part of
the package installation process if it's not available locally (which
I'm not sure how to check either)?

In any case, I decided to polish the code a bit and upload it to a
public repo in the meantime: (currently I just added miniaudio.h to the tree)
https://git.sr.ht/~dsemy/emacs-miniaudio-player

Some notes about the module:
- Should support all audio file types supported by libsndfile.
- Should work on most platforms, I use it on GNU/Linux and Android.
- All of my C knowledge comes from trial and error and reading the
  source code of other free software, so there might be some very
  obvious issues I'm not aware of.

Thanks,
Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]