What do you expect from a package manager for Emacs
        Posted  
        
            by tarsius
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by tarsius
        
        
        
        Published on 2009-01-17T23:04:44Z
        Indexed on 
            2010/04/12
            12:23 UTC
        
        
        Read the original article
        Hit count: 524
        
Although several hundred Emacs Lisp libraries exist GNU Emacs does not have an (internal) package manager.
I guess that most users would agree that it is currently rather inconvenient to find, install and especially keep up-to-date Emacs Lisp libraries.
These pages make life a bit easier
- Emacs Lisp List - Problem: I see dead people (links).
 - Emacswiki - Problem: May contain traces of nuts (malicious code).
 
These are some package managers
- XEmacs package manager
 - package.el - ELPA
 - pases
 - install.el
 - install-elisp.el
 - plugin.el
 - use-package.el
 - jem-pkg.el
 - epkg/elm - the one I am working.
 
And this are some packages that provide functionality that might be useful in a package manager
- ell.el - Browse the Emacs Lisp List
 - genauto.el - helps generate autoloads for your elisp packages
 - date-calc.el - date calculation and parsing routines
 - strptime.el - partial implementation of POSIX date and time parsing
 - wikirel.el - Visit relevant pages on the Emacs Wiki
 - loadhist.el, lib-requires.el, elisp-depend.el - Commands to list Emacs Lisp library dependencies.
 - project-root.el - Define a project root and take actions based upon it
 
So I would like to know from you what you consider important/unimportant/supplementary... in a package manager for Emacs.
Some ideas
- Many packages (incorporate the Emacs Lisp List and other lists of libraries).
 - Only packages that have been tested.
 - Support for more than one package archive (so people can choose between many/tested packages).
 - Dependency calculated based on required features only.
 - Dependencies take particular versions into account.
 - Only use versions that have been released upstream.
 - Use versions from version control systems if available.
 - Packages are categorized.
 - Packages can be uninstalled and updated not only installed.
 - Support creating fork of upstream version of packages.
 - Support publishing these forks.
 - Support choosing a fork.
 - After installation packages are activated.
 - Generate autoloads.
 - Integration with Emacswiki (see wikirel.el).
 - Users can tag, comment ... packages and share that information.
 - Only FSF-assigned/GPL/FOSS software or don't care about license.
 - Package manager should be integrated in Emacs.
 - Support contacting author.
 - Lots of metadata.
 - Suggest alternatives before installing a particular package.
 
Some discussions about the subject at hand
I am hoping for these kinds of answers
- Pointers to more implementations, discussions etc.
 - Lengthy descriptions of a set of features that make up your ideal package manager.
 - Descriptions of one particular disired/undisired feature. This has the advantage that the regular voting mechanism allows us to see what features are most welcomed. Feel free to elaborate on my ideas from above.
 - Surprise me.
 
© Stack Overflow or respective owner