Subscribed unsubscribe Subscribe Subscribe

hoogle-cmdline

Gentoo Haskell

Hoogleコマンドライン版のhoogle-cmdlineというのがあるらしい.Emacsからも使えるようなのでひとまずebuildを書く.

$ cat /usr/local/overlays/portage/dev-haskell/hoogle-cmdline/hoogle-cmdline-20061107.ebuild 
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

MONTH=(jan feb mar apr may jun jul aug sep oct nov dec)
MY_P="${PN}-${MONTH[$((${PV:4:2}-1))]}-${PV:0:4}"

DESCRIPTION="Hoogle is a Haskell API search engine."
HOMEPAGE="http://haskell.org/hoogle/"
SRC_URI="http://haskell.org/hoogle/download/${MY_P}-source.tar.gz"

LICENSE=""
SLOT="0"
KEYWORDS="~x86"

DEPEND="virtual/ghc"

src_unpack() {
        mkdir "${P}"
        cd "${S}"
        unpack ${A}
}

src_compile() {
        sh make.bat || die "Make failed!"
        mv hoogle "hoogle-${PV}"
        echo "#!/bin/sh" >> hoogle
        echo "exec /usr/bin/hoogle-${PV} -l /usr/share/${P}/hoogle.txt \"\$@\"" >> hoogle
}

src_install() {
        dobin hoogle "hoogle-${PV}"
        insinto "/usr/share/${P}"
        doins hoogle.txt
}

アーカイブにライセンスファイルが入っていないのでLICENSEは空欄.

ところで,src_compileの/usr/binとかsrc_installの/usr/shareなど絶対パスを指定するのはあんまり綺麗ではないと思う.こういうのはどうすればいいのだろうか.ちゃんとしたMakefileを書くのが正解?

Bashメモ

  • 算術演算するときは式を$(())で囲む
  • src_unpackでebuildのリファレンスにある通り${A}と"${S}"としたが,二重引用符はどう使い分けるの? だいぶ前から気になってたけど放置していた.また今度調べる.