Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.94 KB

TODO.org

File metadata and controls

47 lines (34 loc) · 1.94 KB

Check packages.json for hashes and avoid prefetching unchanged packages

Keep repositories to avoid re-downloading just to get versions

Use multiple threads

Completely separate ELPA and MELPA packages

Take an optional list of packages to update on the command line

Re-use existing output

Remove obsolete modules

Generate packages from MELPA Stable

Generate readable errors

Don’t complain if a package lacks a stable version

Avoid changing recipe revision every time

  • State “DONE” from “TODO” [2018-06-08 Fri 09:56]

The source file list is expanded from the recipe and passed to Git to limit the range of commits considered. For Git-based packages, the recipe and source revisions are changed only when the package is actually updated.

Get package descriptions

Get package licenses

  • State “DONE” from “TODO” [2018-06-08 Fri 09:56]

All Emacs packages must be licensed GPL-3.

Keep a bidirectional map of names

A bidirectional map of names is useful to get Emacs names after parsing the package index from Nix. Keeping the map in the Nixpkgs tree makes it configurable.

Define exceptions ad hoc

Switch to async-pool

melpa2nix spawns thousands of threads when it starts, using a semaphore to allow a select few to run at a time. Instead, use async-pool to establish a TaskGroup allowing only the selected number of threads to spawn at a time.

Switch to hpack

  • State “DONE” from “TODO” [2018-06-08 Fri 16:17]

The .cabal file is a mess of duplicated information. Switch to hpack for a clean package definition.

Generate commit message and changelog