erbot-discuss
[Top][All Lists]
Advanced

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

Re: [Erbot-discuss] [erbot] bundled libraries


From: Dave Goel
Subject: Re: [Erbot-discuss] [erbot] bundled libraries
Date: Sat, 22 Dec 2012 15:11:59 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Forwarding to the erbot list. Comments?

Jonas Bernoulli <address@hidden> writes:

 The Emacsmirror [1] is a large collection of Emacs packages.  All
 packages are available as git repositories; the last version and tagged
 releases are also available as tarballs.  Upstream changes are
 integrated regularly.

 As the maintainer of the mirror I occasionally try to fix problems of
 mirrored packages.  Currently I am trying to resolve feature conflicts
 that result from one package bundling libraries from another package.
 In many cases these libraries were probably included so that users would
 not have to find, download and install each dependency manually.

 Unfortunately bundling also has some negative side-effects: if the
 bundled libraries are also installed separately, then it is unclear
 which version actually gets loaded when the respective feature is
 required.  Initially that isn't a big problem but unfortunately in may
 cases upstream changes are not included or only after a long delay.
 This can be very confusing for users who are not aware that some of the
 installed packages bundle libraries which are also installed separately.
 In other cases bugs are fixed in the bundled versions but the fixes are
 never submitted to upstream.

 Also now that Emacs contains the package.el package manager there is a
 better way to not require users to manually deal with dependencies: add
 the package (and when necessary the dependencies) to the melpa [2]
 package repository.  If make is required to install your make you might
 want to add it to el-get's (another popular package manager) [3] package
 repository instead.

 Alternatively if you want to keep bundling these libraries please move
 them to a directory only containing no original libraries and add the
 file ".nosearch" to that directory.  You can then load the library using
 something like this:

 (or (require 'bundled nil t)
     (let ((load-path
            (cons (expand-file-name "fallback-libs"
                                    (or load-file-name buffer-file-name)
                                    load-path))))
       (require 'bundled)))

 Of course if your version differs from the upstream version this might
 not be enough and you actually should get your changes merged.

 erbot bundles at least the following libraries:

 - faith.el
 - flame.el
 - geek.el
 - google.el
 - idledo.el
 - oct.el
 - soap.el
 - translate.el
 - units.el
 - wtf.el

   Best regards,
   Jonas


 [1] https://emacsmirror.github.com
 [2] http://melpa.milkbox.net
 [3] https://github.com/dimitri/el-get






reply via email to

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