Combining databases from packages installed with cabal install

Hi. I'm configuring haddock via cabal install (see [0]) to build the hoogle database. The database is being installed in ~/.cabal/share/doc/$package-$version/html/$package.txt, but is not being combined with the default database. That is, if right after the installation I try to search with the hoogle command for some a function, it will not work. I wrote the following script, which I called cabal-install: #!/bin/sh set -e set -x cabal \ install \ --enable-documentation \ --enable-library-profiling \ --haddock-hyperlink-source \ --haddock-hoogle \ --haddock-html \ "$@" cd ~/.cabal/share/hoogle-4.2.13/databases/ for file in ~/.cabal/share/doc/*/html/*.txt do hoo=`echo $file | sed 's/.txt$/.hoo/;s#.*/##'` if [ ! -f $hoo ] then hoogle convert $file $hoo || true hoogle combine default.hoo $hoo -o /tmp/cabal-install-$$.hoo mv /tmp/cabal-install-$$.hoo default.hoo fi done Basically, it searches for .txt hoogle databases installed that were not combined yet with the default database, and combines them. I think it would be good if this was the default behaviour of cabal install when called with --haddock-hoogle. Is this a bug? Greetings. 0: http://hackage.haskell.org/trac/hackage/ticket/517 -- marcot http://marcot.eti.br/

This is awesome, thanks for sharing. Related issue:
https://github.com/haskell/cabal/issues/395
I added --force-reinstalls --reinstall and ran
time (for i in `ghc-pkg list | sed 's/ //' | grep '^[^(]' | grep -v
':'`; do hoogle-install $i; done)
To generate hoogle entries for all my installed packages.
On 21 August 2012 17:55, Marco Túlio Pimenta Gontijo wrote: Hi. I'm configuring haddock via cabal install (see [0]) to build the
hoogle database. The database is being installed in
~/.cabal/share/doc/$package-$version/html/$package.txt, but is not
being combined with the default database. That is, if right after the
installation I try to search with the hoogle command for some a
function, it will not work. I wrote the following script, which I
called cabal-install: #!/bin/sh set -e
set -x cabal \
install \
--enable-documentation \
--enable-library-profiling \
--haddock-hyperlink-source \
--haddock-hoogle \
--haddock-html \
"$@" cd ~/.cabal/share/hoogle-4.2.13/databases/
for file in ~/.cabal/share/doc/*/html/*.txt
do
hoo=`echo $file | sed 's/.txt$/.hoo/;s#.*/##'`
if [ ! -f $hoo ]
then
hoogle convert $file $hoo || true
hoogle combine default.hoo $hoo -o /tmp/cabal-install-$$.hoo
mv /tmp/cabal-install-$$.hoo default.hoo
fi
done Basically, it searches for .txt hoogle databases installed that were not
combined yet with the default database, and combines them. I think it
would be
good if this was the default behaviour of cabal install when called with
--haddock-hoogle. Is this a bug? Greetings. 0: http://hackage.haskell.org/trac/hackage/ticket/517 --
marcot
http://marcot.eti.br/ _______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
Christopher Done
-
Marco Túlio Pimenta Gontijo