On Wed, 25 May 2011 13:20:19 +0200, Jacek Generowicz <jacek.generow...@cern.ch> wrote: > Hi Mark, > > Thanks for your wonderfully lucid, concise and complete explanation of > the problem and its solution (included below). > > When I apply your patch and reinstall lambabot, I now get the > following problem: > > lambdabot> check True > Could not find module `ShowIO`: > It is a member of the hidden package `show-0.3.4`. > Use -v to see a list of the files searched for. > > I recognize the message about -v as a ghci one. How could I inject > this -v into lambabot ?
Hi Jacek, I don't know how to inject the -v into lambdabot, I guess I must of debugged this earlier by grep'ing in the lambdabot and show source files for ShowIO. > I get the same error on both of the machines on which I am trying > this. On one of them I already have show-0.3.4 and show-0.4.1.1, on > the other I have only show-0.4.1.1. > > Any suggestions? The show module names were changed in the upgrade from show 0.3.4 to show 0.4.1.1. On gentoo I conditionally sed lambdabot to account for this, then print out a note that the user may need to copy the State/* files, in particular L.hs and Pristine.hs for this problem, to ~/.lambdabot/State. src_prepare() { cd "${S}" epatch "${FILESDIR}/${P}-eval.patch" if has_version "<dev-haskell/mtl-2.0.0.0"; then epatch "${FILESDIR}/${P}-mtl-1.patch" fi if has_version ">=dev-haskell/show-0.4.1.1"; then sed -e 's@import ShowIO@import ShowFun@' \ -i "${S}/State/L.hs" \ -i "${S}/State/Pristine.hs" \ || die "Could patch State/L.hs and State/Pristine.hs for show upgrade" fi } pkg_postinst() { ghc-package_pkg_postinst elog "It may be necessary to: mkdir -p ~/.lambdabot/State && cp /usr/share/lambdabot-*/ghc-*/State/* ~/.lambdabot/State" } Thanks, Mark PS the lambdabot gentoo ebuild is here: https://github.com/gentoo-haskell/gentoo-haskell/blob/57501a585edd8587d89ed64b43f6b4876316e6f7/dev-haskell/lambdabot/lambdabot-4.2.3.2.ebuild > On 2011 May 25, at 06:06, Mark Wright wrote: > > > Hi Jacek and Gwern, > > > > In the upgrade from mueval from 0.8 to 0.8.1, some of the mueval > > command > > line options were changed: > > > > --loadfile => --load-file > > --noimports => --no-imports > > > > For Plugins/Check.hs I change --loadfile to -l. > > > > To convince lambdabot to run on gentoo, I patch it to use --no- > > imports to > > avoid this problem: > > > > % mueval -e '1 + 2' > > Ambiguous module name `Control.Monad.Cont': > > it was found in multiple packages: > > monads-fd-0.1.0.2 mtl-2.0.1.0 monads-tf-0.1.0.0 > > % > > > > And I patch the lambdabot /usr/share/lambdabot-4.2.3.2/ghc-7.0.3/ > > State/L.hs > > to used -XPackageImports. Then mueval works: > > > > % mueval --no-imports -l ~/.lambdabot/State/L.hs -e '1 + 2' > > 3 > > % > > > > And lambdabot works: > > > > % lambdabot > > Initialising > > plugins ................................................... done. > > lambdabot> @check True > > +++ OK, passed 100 tests. > > "OK, passed 100 tests." > > lambdabot> > > > > The patch is here: > > > > https://github.com/markwright/gentoo-haskell/blob/master/dev-haskell/lambdabot/files/lambdabot-4.2.3.2-eval.patch > > > > Regards, Mark > > > > > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe