I tried to emerge ledger today, but the ebuild always wants to install emacs as a dependency. The ebuild has emacs? ( virtual/emacs ) in its DEPEND, which is of course ok, but the ebuild also inherits elisp, which in turn depends on virtual/emacs. So at the moment there is no possibility to install ledger without installing emacs. I am not that fluent in ebuild writing, is there something like a conditional "inherit"-statement? If not, this should probably be a portage bug...
(In reply to comment #0) > I am not that fluent in ebuild writing, is there something like a conditional > "inherit"-statement? No, it's strictly forbidden to inherit eclasses only if a use flag is set...
A quick fix, ruby-style... <snip> --- elisp.eclass 2006-02-28 04:05:42.000000000 +0100 +++ elisp.eclass 2006-12-13 22:45:15.000000000 +0100 @@ -23,7 +23,11 @@ # S="${WORKDIR}/${P}" fi -DEPEND="virtual/emacs" +# If you specify EMACS_OPTIONAL you also need to take care of +# emacs useflag and dependency. +if [[ ${EMACS_OPTIONAL} != "yes" ]]; then + DEPEND="virtual/emacs" +fi IUSE="" elisp_src_unpack() { </snip>
Created attachment 103982 [details, diff] app-office/ledger-2.5-r1.ebuild.diff - make emacs dependency really optional
Yep, that solves it for me. Thanks a lot, guys! And, btw, not bad: 20 minutes to solve this one. If only all bugs could be fixed that fast ;-)
*** Bug 159861 has been marked as a duplicate of this bug. ***
Use elisp-common.eclass instead of elisp.
As there was no reaction from maintainer, I did the eclass migration.
The ebuild should have the following in pkg_postinst and pkg_postrm: use emacs && elisp-site-regen This was automatically called with elisp.eclass, but isn't with elisp-common.eclass anymore. Reopening.
No reaction from maintainer for more than two monts, so closing
And of course I fixed it. :)