# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="3" inherit eutils SRC_URI="http://download.racket-lang.org/installers/${PV}/${PN}/${P}-src-unix.tgz" DESCRIPTION="Programming environment based on Scheme." HOMEPAGE="http://www.racket-lang.org" LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="~x86 ~amd64" #KEYWORDS="~amd64" IUSE="-backtrace cairo cgc doc opengl profile X slatex sgc -futures -places +foreign static -plain" # jit RDEPEND="X? ( x11-libs/libX11 x11-libs/libXaw x11-libs/libXft x11-libs/libXrender media-libs/jpeg media-libs/libpng opengl? ( virtual/opengl ) cairo? ( x11-libs/cairo[X] ) ) slatex? ( virtual/latex-base )" DEPEND="${RDEPEND}" S="${WORKDIR}/plt-${PV}/src/build" ECONF_SOURCE="${S}/.." MY_PNUM="01" pkg_setup() { if use cgc && use sgc ; then die "You cannot use both cgc and sgc USE flags, you have to choose one of them" fi for my_flag in backtrace futures places do if use "${my_flag}" ; then ewarn "${my_flag} USE flag is known that may make ${P} compilation" ewarn "to fail. Please remove it, if the ebuild fails for you. " fi done if use cairo || use opengl ; then if ! use X ; then ewarn "cairo and opengl USE flags support features that are disabled" ewarn "by ${P} build system when you haven't enabled the X USE flag." fi fi } src_unpack() { unpack ${A} mkdir -v "${S}" || die "failed to create build dir" } src_prepare() { #( cd .. && rm -Rv wxcommon && rm -Rv foreign ) \ #|| die "failed to remove dir of bundled libraries" #rm -Rv ../wxcommon/{jpeg,libpng,zlib} ../../collects \ #|| die "failed to remove dir of bundled libraries" #rm -Rv ../wxcommon/{jpeg,libpng,zlib} ../wxxt \ rm -Rv ../wxcommon/{jpeg,libpng,zlib} \ || die "failed to remove dir of bundled libraries" sed -i -e "s/docdir=\"\${datadir}\/racket\/doc\"/docdir=\"\${datadir}\/doc\/${PF}\"/" ../configure || die "sed failed" pushd .. epatch "${FILESDIR}/${P}-hack_makefile_in_temp${MY_PNUM}.patch" epatch "${FILESDIR}/${P}-libpng14.patch" popd #sed -i -e 's/#! \/bin\/sh/#! \/bin\/sh -x/g' ../configure \ #|| die "sed failed" } src_configure() { local myconf="" if use static; then myconf="--disable-shared" else myconf="--enable-shared" fi econf \ $(use_enable doc docs) \ $(use_enable X gracket) \ $(use_enable X xrender) \ $(use_enable X xft) \ $(use_enable opengl gl) \ $(use_enable cairo) \ $(use_enable profile gprof) \ $(use_enable backtrace) \ $(use_enable sgc) \ $(use_enable futures) \ $(use_enable places) \ $(use_enable foreign) \ --enable-jit \ --enable-libpng \ --enable-libjpeg \ --enable-pthread \ --enable-account \ --disable-sgcdebug \ --disable-compact \ --disable-smalloskit \ --disable-oskit \ --disable-wbuild \ --disable-perl \ $(use_with X x) \ ${myconf} \ || die "Configure script failed" } src_compile() { emake || die "emake default target(3m) failed" if use cgc || use sgc ; then time emake cgc || die "emake cgc-install target failed" fi } src_install() { local pla1n="" if use plain; then pla1n="plain-" fi time emake DESTDIR="${D}" "${pla1n}"install || die "emake install failed" if use cgc || use sgc ; then time emake DESTDIR="${D}" "${pla1n}"install-cgc || die "emake cgc target failed" fi if use X; then newicon ../../collects/icons/PLT-206.png drscheme.png make_desktop_entry drscheme "DrScheme" drscheme "Development" fi # deal with slatex if use slatex; then if ! use plain; then pushd "${D}"/usr/bin { rename slatex plt-slatex slatex* && rename pdf-slatex plt-pdf-slatex pdf-slatex* ; } || die "Failed to rename slatex* to plt-slatex*" popd fi insinto /usr/share/texmf/tex/latex/slatex/ newins ../../collects/slatex/slatex.sty plt-slatex.sty else if ! use plain; then rm -Rfv "${D}"/usr/bin/*slatex* || die "Failed to delete slatex files" fi fi }