diff options
author | Sacha Chua <sacha@sachachua.com> | 2021-11-27 11:47:13 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2021-11-27 11:47:13 -0500 |
commit | a8c95f5aee0ff6d1cb53fdea669322842c553e5e (patch) | |
tree | 48f7125a55ba84cf3c3a586a21cd94bd67949b16 /2021/captions | |
parent | a7fddae08b8136ceccae2dddb060ff366cc6c837 (diff) | |
download | emacsconf-wiki-a8c95f5aee0ff6d1cb53fdea669322842c553e5e.tar.xz emacsconf-wiki-a8c95f5aee0ff6d1cb53fdea669322842c553e5e.zip |
Update
Diffstat (limited to '2021/captions')
-rw-r--r-- | 2021/captions/emacsconf-2021-nongnu--nongnu-elpa-update--philip-kaludercic--main.vtt | 535 |
1 files changed, 535 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-nongnu--nongnu-elpa-update--philip-kaludercic--main.vtt b/2021/captions/emacsconf-2021-nongnu--nongnu-elpa-update--philip-kaludercic--main.vtt new file mode 100644 index 00000000..473c4493 --- /dev/null +++ b/2021/captions/emacsconf-2021-nongnu--nongnu-elpa-update--philip-kaludercic--main.vtt @@ -0,0 +1,535 @@ +WEBVTT + +00:00.000 --> 00:02.283 +Hello! My name is Philip, + +00:02.283 --> 00:04.363 +and I'll be giving a brief update on + +00:04.363 --> 00:05.963 +NonGNU ELPA. + +00:05.963 --> 00:07.403 +Before we begin, + +00:07.403 --> 00:08.283 +let's first make sure + +00:08.283 --> 00:09.563 +everyone's on the same page. + +00:09.563 --> 00:11.203 +What is NonGNU ELPA? + +00:11.203 --> 00:14.323 +Put simply, NonGNU ELPA + +00:14.323 --> 00:16.723 +is a new Emacs Lisp package archive. + +00:16.723 --> 00:19.323 +similar to its sister archive, GNU ELPA. + +00:19.323 --> 00:21.883 +The main difference is that + +00:21.883 --> 00:24.723 +GNU ELPA regards each package in the archive + +00:24.723 --> 00:26.643 +to be part of Emacs itself. + +00:26.643 --> 00:30.083 +This means each significant contributor + +00:30.083 --> 00:32.483 +has to have signed their copyrights + +00:32.483 --> 00:34.803 +to the Free Software Foundation. + +00:34.803 --> 00:37.203 +NonGNU ELPA is made for packages + +00:37.203 --> 00:39.363 +that cannot ensure this condition. + +00:39.363 --> 00:42.483 +The immediate consequence of all of this + +00:42.483 --> 00:44.243 +is that more packages can be installed + +00:44.243 --> 00:44.723 +out of the box. + +00:44.723 --> 00:46.803 +All you need to install, + +00:46.803 --> 00:49.443 +for example, magit, evil-mode, slime, + +00:49.443 --> 00:52.723 +is a simple M-x package-install. + +00:52.723 --> 00:56.083 +The more subtle consequence + +00:56.083 --> 00:58.083 +is that ELPA distributes + +00:58.083 --> 00:59.763 +stable packages by default. + +00:59.763 --> 01:01.563 +This differs from, for example, + +01:01.563 --> 01:04.163 +the community-maintained package archive MELPA, + +01:04.163 --> 01:08.483 +where each change in the respective package repository + +01:08.483 --> 01:12.803 +triggers a new package to be rebuilt. + +01:12.803 --> 01:15.123 +Of course, "stable" here has to be taken + +01:15.123 --> 01:16.843 +with a grain of salt because, + +01:16.843 --> 01:17.963 +on the one hand, + +01:17.963 --> 01:19.923 +a package maintainer can be very careful + +01:19.923 --> 01:22.403 +to avoid buggy code in their default branch, + +01:22.403 --> 01:23.923 +and on the other hand, + +01:23.923 --> 01:26.523 +a package maintainer can be too eager + +01:26.523 --> 01:28.083 +to tag a new release + +01:28.083 --> 01:29.483 +without properly checking + +01:29.483 --> 01:31.403 +that the code works as intended. + +01:31.403 --> 01:33.483 +My personal hope is that + +01:33.483 --> 01:35.603 +more people using NonGNU ELPA + +01:35.603 --> 01:37.683 +be incentive for increase + +01:37.683 --> 01:39.603 +for package development to shift away + +01:39.603 --> 01:41.083 +from the currently predominant + +01:41.083 --> 01:42.323 +rolling release model, + +01:42.323 --> 01:44.243 +improving the overall stability + +01:44.243 --> 01:45.523 +of Emacs configurations. + +01:45.523 --> 01:48.843 +Another side effect of the initiative + +01:48.843 --> 01:51.003 +is a chance to clean up + +01:51.003 --> 01:52.803 +the Emacs package space. + +01:52.803 --> 01:54.723 +Over the last few years, + +01:54.723 --> 01:56.363 +a lot of packages have been abandoned, + +01:56.363 --> 01:59.043 +have been broken, duplicated, + +01:59.043 --> 02:00.443 +or even in some cases, + +02:00.443 --> 02:03.483 +replaced by functionality in Emacs itself. + +02:03.483 --> 02:07.403 +When reviewing packages for NonGNU ELPA, + +02:07.403 --> 02:10.043 +the opportunity to avoid these problems + +02:10.043 --> 02:12.523 +will hopefully also improve the general quality + +02:12.523 --> 02:13.923 +of Emacs packages. + +02:13.923 --> 02:16.883 +So, what is this update about? + +02:16.883 --> 02:20.443 +I'm taking Richard Stallman's announcement + +02:20.443 --> 02:22.363 +at EmacsConf 2020 + +02:22.363 --> 02:23.563 +as my reference point. + +02:23.563 --> 02:26.283 +There, the idea, the history, + +02:26.283 --> 02:28.283 +and the motivation was explained, + +02:28.283 --> 02:30.443 +and the call for contributions was made. + +02:30.443 --> 02:32.643 +I won't be going into these aspects + +02:32.643 --> 02:33.483 +again this year. + +02:33.483 --> 02:37.163 +As this implies, there was nothing concrete + +02:37.163 --> 02:38.683 +at that point. + +02:38.683 --> 02:41.883 +The first practical steps towards NonGNU ELPA + +02:41.883 --> 02:43.683 +were taken up by Stefan Monnier. + +02:43.683 --> 02:47.963 +This included updating GNU ELPA's build system + +02:47.963 --> 02:49.523 +to support the requirements + +02:49.523 --> 02:51.003 +of NonGNU ELPA as well. + +02:51.003 --> 02:53.283 +And so eventually, + +02:53.283 --> 02:55.323 +the idea became a Git repository, + +02:55.323 --> 02:57.203 +nongnu.git on savannah, + +02:57.203 --> 02:59.203 +then a website, + +02:59.203 --> 03:02.523 +elpa.nongnu.org, + +03:02.523 --> 03:04.643 +and then around late December of last year, + +03:04.643 --> 03:06.923 +NonGNU ELPA was also added + +03:06.923 --> 03:08.643 +to the package-archives list. + +03:08.643 --> 03:11.963 +Sadly, progress stalled from this point on, + +03:11.963 --> 03:14.123 +with the new archive consisting of only + +03:14.123 --> 03:16.203 +five or six packages. + +03:16.203 --> 03:18.083 +It took until August + +03:18.083 --> 03:20.123 +for more packages to be added, + +03:20.123 --> 03:22.003 +some by their respective authors, + +03:22.003 --> 03:23.963 +such as Magit and Projectile, + +03:23.963 --> 03:26.163 +but most by contributors such as myself. + +03:26.163 --> 03:27.923 +As of recording, + +03:27.923 --> 03:30.363 +the archive has around 70 packages, + +03:30.363 --> 03:32.803 +with more pending to be out soon. + +03:32.803 --> 03:34.803 +These include popular applications + +03:34.803 --> 03:36.483 +such as the previously-mentioned Magit, + +03:36.483 --> 03:38.083 +SLIME, or wgrep, + +03:38.083 --> 03:41.523 +major modes like php-mode, rust-mode, + +03:41.523 --> 03:43.723 +go-mode, clojure-mode, lua-mode, + +03:43.723 --> 03:45.923 +markdown-mode... You get my point. + +03:45.923 --> 03:47.883 +And a number of visual themes, + +03:47.883 --> 03:49.443 +among other things. + +03:49.443 --> 03:52.643 +If you are interested in using NonGNU ELPA, + +03:52.643 --> 03:53.603 +but you are still bound + +03:53.603 --> 03:55.203 +to an older version of Emacs, + +03:55.203 --> 03:56.683 +all you have to do is + +03:56.683 --> 03:57.483 +to add the snippet + +03:57.483 --> 03:59.003 +from the NonGNU ELPA home page + +03:59.003 --> 04:01.323 +updating the package-archives variable. + +04:01.323 --> 04:03.923 +For Emacs 28 and newer, + +04:03.923 --> 04:05.123 +one might have to watch out + +04:05.123 --> 04:07.563 +that you're not setting package-archives directly, + +04:07.563 --> 04:09.363 +and if you are doing so, + +04:09.363 --> 04:10.723 +to update the value. + +04:10.723 --> 04:14.003 +Emacs 28 only updates the default value + +04:14.003 --> 04:17.043 +and will not manipulate the user's configuration. + +04:17.043 --> 04:20.363 +Finally, a short note + +04:20.363 --> 04:22.163 +for package developers. + +04:22.163 --> 04:24.243 +Most packages up until now + +04:24.243 --> 04:26.243 +haven't been added by their maintainers. + +04:26.243 --> 04:28.083 +For the most part, + +04:28.083 --> 04:31.083 +I have been collecting and reviewing the packages + +04:31.083 --> 04:32.683 +which have been added, + +04:32.683 --> 04:33.923 +which takes time + +04:33.923 --> 04:36.043 +and is one of the main reasons + +04:36.043 --> 04:38.323 +why we're still at only 70 packages. + +04:38.323 --> 04:41.683 +This is of course not a permanent solution. + +04:41.683 --> 04:42.243 +The intention here is + +04:42.243 --> 04:44.803 +to bootstrap, so to say, + +04:44.803 --> 04:46.243 +the interest in NonGNU ELPA + +04:46.243 --> 04:48.083 +by making it more interesting to you + +04:48.083 --> 04:50.563 +and thus more interesting to contribute to. + +04:50.563 --> 04:53.563 +If you are interested in adding a package + +04:53.563 --> 04:56.643 +that already exists, or a new package + +04:56.643 --> 04:59.443 +to NonGNU ELPA, all you need to do is + +04:59.443 --> 05:00.843 +send an e-mail to the + +05:00.843 --> 05:02.483 +Emacs development mailing list, + +05:02.483 --> 05:05.523 +emacs-devel@gnu.org. + +05:05.523 --> 05:08.123 +This is an open mailing list + +05:08.123 --> 05:10.563 +and requires no special registration. + +05:10.563 --> 05:12.283 +Your message should + +05:12.283 --> 05:14.643 +mention NonGNU ELPA in the subject + +05:14.643 --> 05:17.483 +and contain a link to a public Git repository + +05:17.483 --> 05:20.643 +in the body. Ideally, a brief explanation + +05:20.643 --> 05:21.803 +on what your package does + +05:21.803 --> 05:23.243 +would be much appreciated. + +05:23.243 --> 05:25.603 +The proposal will be reviewed + +05:25.603 --> 05:28.043 +by the readers of the mailing list, + +05:28.043 --> 05:29.443 +and after a bit of back-and-forth + +05:29.443 --> 05:31.123 +on possible issues and improvements, + +05:31.123 --> 05:32.723 +the package will hopefully be added + +05:32.723 --> 05:34.443 +to NonGNU ELPA itself. + +05:34.443 --> 05:38.523 +The simplest mistake a lot of packages make + +05:38.523 --> 05:40.043 +is to either not have + +05:40.043 --> 05:41.843 +or maintain a version attribute + +05:41.843 --> 05:42.803 +in the package header. + +05:42.803 --> 05:46.323 +This is done despite actually being necessary + +05:46.323 --> 05:48.163 +for a well-formed Emacs package + +05:48.163 --> 05:50.083 +according to the Elisp manual. + +05:50.083 --> 05:52.443 +ELPA relies on this tag + +05:52.443 --> 05:54.323 +to detect new package versions + +05:54.323 --> 05:55.843 +that will be built and distributed. + +05:55.843 --> 05:58.483 +If the version isn't updated, + +05:58.483 --> 06:00.323 +no new package will be released, + +06:00.323 --> 06:03.043 +and any changes won't be made public. + +06:03.043 --> 06:07.683 +So, that's that on NonGNU ELPA. + +06:07.683 --> 06:09.883 +To summarize, NonGNU ELPA is an + +06:09.883 --> 06:11.683 +Emacs Lisp Package Archive for Emacs, + +06:11.683 --> 06:13.363 +without a need for copyright assignments. + +06:13.363 --> 06:17.203 +It works, it exists, and it's been used already. + +06:17.203 --> 06:18.403 +I'm looking forward to + +06:18.403 --> 06:20.403 +more packages being added to the archive + +06:20.403 --> 06:22.803 +and improving the overall experience + +06:22.803 --> 06:24.283 +of Emacs out of the box. + +00:06:24.283 --> 00:06:27.163 +Thank you for your interest, and goodbye. + +00:06:27.163 --> 00:06:27.163 +[captioned by sachac] |