# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-haskell/wxhaskell/wxhaskell-0.9.4.ebuild,v 1.11 2007/10/13 14:21:41 dirtyepic Exp $ inherit flag-o-matic wxwidgets ghc-package multilib DESCRIPTION="a portable and native GUI library for Haskell" HOMEPAGE="http://wxhaskell.sourceforge.net/" SRC_URI="mirror://sourceforge/wxhaskell/${PN}-src-${PV}.zip" LICENSE="wxWinLL-3" SLOT="0" KEYWORDS="~amd64 ~ppc ~sparc ~x86" IUSE="doc" RDEPEND="=virtual/ghc-6.6 =x11-libs/wxGTK-2.6*" DEPEND="${RDEPEND} app-arch/unzip doc? ( >=dev-haskell/haddock-0.6-r2 )" pkg_setup() { if ! built_with_use =x11-libs/wxGTK-2.6* X; then eerror "wxhaskell needs wxGTK that has been built with X11 support." eerror "Please re-emerge wxGTK with USE=\"X -odbc -unicode\"" die "wxhaskell requires wxGTK to be built with USE=\"X -odbc -unicode\"" fi if built_with_use =x11-libs/wxGTK-2.6* odbc; then eerror "Sadly wxhaskell does not work with wxGTK that has been built" eerror "with USE=\"odbc\"." eerror "Please re-emerge wxGTK with USE=\"-odbc\"" die "wxhaskell requires wxGTK to be built with USE=\"-odbc\"" fi } src_unpack() { unpack ${A} # adapt to Gentoo path convention sed -i 's:/doc/html:/share/doc/html:' ${S}/configure # fix superfluous dependencies on hslibs packages sed -i -e 's:,lang::' -e 's:,"lang"::' \ -e 's:,concurrent::' -e 's:,"concurrent"::' ${S}/configure # fix Makefile to respect CXXFLAGS sed -i 's:^\(WXC-CXXFLAGS.*=\):\1\$(CXXFLAGS) :' ${S}/makefile } src_compile() { ghc-setup-pkg #wxhaskell supports gtk or gtk2, but not unicode yet. However since the gtk2 #USE flag is deprecated we now only build with gtk2: WX_GTK_VER=2.6 need-wxwidgets gtk2 # every C compiler result ends up in a shared lib append-flags -fPIC # non-standard configure, so econf is not an option # --wx-config must appear first according to configure file comments ./configure \ --wx-config="${WX_CONFIG}" \ --prefix=/usr \ --with-opengl \ --libdir=/usr/$(get_libdir)/${P} \ --package-conf=${S}/$(ghc-localpkgconf) \ || die "./configure failed" emake -j1 || die "make failed" # create documentation if use doc; then emake -j1 doc || die "make doc failed" fi } src_install() { local f # don't register the packages, just install the files emake -j1 install-files DESTDIR="${D}" || die "make install failed" # the .so needs to be on the lib path mkdir -p ${D}/usr/$(get_libdir) for f in ${D}/usr/$(get_libdir)/${P}/libwxc-*.so; do mv ${f} ${D}/usr/$(get_libdir)/ done if use doc; then dohtml -A haddock -r out/doc/* cp -r samples ${D}/usr/share/doc/${PF} fi # substitute for the ${wxhlibdir} in package files and register them # for ghc-6.2 change the package to be exposed by default. sed -i -e "s:\${wxhlibdir}:${D}/usr/$(get_libdir)/${P}:" \ -e "s:auto = False:auto = True:" \ ${D}/usr/$(get_libdir)/${P}/*.pkg ghc-setup-pkg ${D}/usr/$(get_libdir)/${P}/*.pkg ghc-install-pkg }