emacs-cvs-21.3.50 depends on ispell. Emacs should not depend on ispell. This dependence should be removed. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Yeah, I think it should depend on ispell if USE="spell" is set.
Fixed. Thanks for reporting.
I hate to drudge up resolved bugs, but emacs can also use aspell quite successfully. I also believe ispell is being phased out in favor of aspell. See the aspell manual for more information on emacs: http://savannah.gnu.org/download/aspell/manual/user/3_Basic.html#SECTION00422000000000000000
Okay, I made it DEPEND on either ispell or aspell, so you don't have to merge ispell if you have aspell installed. Do you think it would be nice to detect aspell and use it by default? (because otherwise you need to set aspell as default spell checker by hand, especially when you don't have ispell)
I don't know if there is a way to automatically make it use aspell... Looking at redhat's changelog, it seems like they use an ispell compatability script. http://at.rpmfind.net/opsys/linux/RPM/redhat.com/dist/linux/9/en/os/i386/aspell-0.33.7.1-21.i386.html Maybe printout a message at the end? Alternatively you could patch line 272 of ispell.el to change it from (defcustom ispell-program-name "ispell" "Program invoked by \\[ispell-word] and \\[ispell-region] commands." :type 'string :group 'ispell) to (defcustom ispell-program-name "aspell" "Program invoked by \\[ispell-word] and \\[ispell-region] commands." :type 'string :group 'ispell) Which I tested, and it seems to work.
Because I don't want to touch source elisp distribution I just added 40aspell-gentoo.el and let emacs pull configuration from site-start.el. (Probably we might make ispell-program aspell iff aspell is installed and ispell isn't, but I didn't check it this time and default to use aspell regardless of ispell if aspell is installed) mkennedy: when I installed emacs-21.3.50.ebuild I noticed it was installed as emacs-22.0.0, then should we rename emacs-21.3.50.ebuild to emacs-22.0.0.ebuild? (I'm not sure because I don't use emacs-cvs)
Althoug I read in the ChangeLog: "Defaults to use aspell if installed" "Emacs can use either ispell or aspell" and I have app-text/aspell-0.50.3 installed, emerge emacs-cvs still wants to emerge also app-text/ispell-3.2.06-r6.
It seems that portage is not correctly handling the DEPEND construction: DEPEND="spell? ( || ( app-text/ispell app-text/aspell ) )" used in emacs-cvs ebuild. By the way, I have not found documentation on how to set such complex dependencies in ebuilds. Here I suppose that the "( || <dep1> <dep2> )" dependency construction means that the package depends on <dep1> OR <dep2>. app-text/ispell is not installed in my system. Although app-text/aspell is installed, emerge insists in installing the ispell dependency. If I switch the order of these two dependencies, then emerge is happy with the aspell dependency.
Humm... That's strange. At least it works for me. (I can install emacs-cvswithout ispell if aspell exists) rico% epm -qG ispellpackage ispell is not installedrico% epm -qG aspellapp-text/aspell-0.50.3rico% emerge -pv emacs-cvsThese are the packages that I would merge, in order:Calculating dependencies ...done![ebuild N ] app-editors/emacs-cvs-21.3.50 +X +nls +gtk +gtk2 -Xaw3d -gnome +spell Could you show me what does it say if you follow the above instruction? (Please make sure you have no emacs-cvs ebuild in PORTDIR_OVERLAY)For detail about ebuild's syntax, man 5 ebuild is the first documentyou should look at ( || syntax is described in DEPEND sectionof the manpage).
Sorry I messed up newlines. rico% epm -qG ispell package ispell is not installed rico% epm -qG aspell app-text/aspell-0.50.3 rico% emerge -pv emacs-cvs These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] app-editors/emacs-cvs-21.3.50 +X +nls +gtk +gtk2 -Xaw3d -gnome +spell
# epm -qG ispell package ispell is not installed # epm -qG aspell app-text/aspell-0.50.3 # emerge -pv emacs-cvs These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild UD] app-editors/emacs-cvs-21.3.50 [21.3.50-r1] +X +nls +gtk +gtk2 -Xaw3d +gnome +spell # emerge -upv emacs-cvs These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] dev-util/byacc-1.9 [ebuild N ] app-text/ispell-3.2.06-r6 [ebuild UD] app-editors/emacs-cvs-21.3.50 [21.3.50-r1] +X +nls +gtk +gtk2 -Xaw3d +gnome +spell As can be seen, it does work with "emerge -pv", but not with "emerge -upv". Why the emerge option "-u" (that is what I have been using for update my system) is bringing ispell to the dependence list?
I don't know why it brings ispell in (the syntax seems to work if you don't specify -u or -U). I reckon it is a Portage bug and file a bug report for it. Thanks for reporting.
The problem is fixed in current sys-apps/portage.