diff options
author | Keri Harris <keri@gentoo.org> | 2012-01-09 08:26:49 +0000 |
---|---|---|
committer | Keri Harris <keri@gentoo.org> | 2012-01-09 08:26:49 +0000 |
commit | b254169af67e04aa3b540b600896b19154670a58 (patch) | |
tree | e1db1fe57e045427566329748fab0f3f84faa689 /dev-lang/mercury | |
parent | Version bump. (diff) | |
download | gentoo-2-b254169af67e04aa3b540b600896b19154670a58.tar.gz gentoo-2-b254169af67e04aa3b540b600896b19154670a58.tar.bz2 gentoo-2-b254169af67e04aa3b540b600896b19154670a58.zip |
Version bump
(Portage version: 2.1.10.41/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r-- | dev-lang/mercury/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/mercury/mercury-11.07.ebuild | 216 |
2 files changed, 223 insertions, 2 deletions
diff --git a/dev-lang/mercury/ChangeLog b/dev-lang/mercury/ChangeLog index a7b404c55c13..fbee13c621a3 100644 --- a/dev-lang/mercury/ChangeLog +++ b/dev-lang/mercury/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-lang/mercury -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.143 2011/08/12 23:28:17 keri Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.144 2012/01/09 08:26:49 keri Exp $ + +*mercury-11.07 (09 Jan 2012) + + 09 Jan 2012; <keri@gentoo.org> +mercury-11.07.ebuild: + Version bump 12 Aug 2011; <keri@gentoo.org> -mercury-0.13.1-r2.ebuild, -files/mercury-0.13.1-docs.patch, -files/mercury-0.13.1-libgrades.patch, diff --git a/dev-lang/mercury/mercury-11.07.ebuild b/dev-lang/mercury/mercury-11.07.ebuild new file mode 100644 index 000000000000..29ea3ff7390f --- /dev/null +++ b/dev-lang/mercury/mercury-11.07.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-11.07.ebuild,v 1.1 2012/01/09 08:26:49 keri Exp $ + +EAPI=2 + +inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib + +PATCHSET_VER="0" +MY_P=${PN}-compiler-${PV} + +DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" +HOMEPAGE="http://www.cs.mu.oz.au/research/mercury/index.html" +SRC_URI="http://www.mercury.csse.unimelb.edu.au/download/files/${MY_P}.tar.gz + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz + test? ( http://www.mercury.csse.unimelb.edu.au/download/files/mercury-tests-${PV}.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="debug emacs erlang examples java minimal readline test threads" + +DEPEND="!dev-libs/mpatrol + !dev-util/mono-debugger + readline? ( sys-libs/readline ) + erlang? ( dev-lang/erlang ) + java? ( >=virtual/jdk-1.5 )" + +RDEPEND="${DEPEND} + emacs? ( virtual/emacs )" + +S="${WORKDIR}"/${MY_P} +TESTDIR="${WORKDIR}"/${PN}-tests-${PV} + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + cd "${WORKDIR}" + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + epatch "${WORKDIR}"/${PV} + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/scripts/Mmake.vars.in \ + || die "sed libdir failed" + + if use test; then + epatch "${WORKDIR}"/${PV}-tests + fi + + cd "${S}" + eautoconf +} + +src_configure() { + strip-flags + + local myconf + myconf="--libdir=/usr/$(get_libdir) \ + --disable-gcc-back-end \ + --disable-deep-profiler \ + --disable-dotnet-grades \ + $(use_enable erlang erlang-grade) \ + $(use_enable java java-grade) \ + $(use_enable debug debug-grades) \ + $(use_enable threads par-grades) \ + $(use_enable !minimal most-grades) \ + $(use_with readline)" + + econf ${myconf} +} + +src_compile() { + # Generate Mercury .m dependencies. This step will vacuously + # succeed if we do not have a bootstrappable instance of mmc + # already installed. This step is required as mmc does not wait + # for all dependencies to be generated before compiling .m files. + emake \ + PARALLEL=${MAKEOPTS} \ + bootstrap_depend || die "emake depend failed" + + # Build Mercury using base llds grade + emake \ + PARALLEL=${MAKEOPTS} \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + || die "emake failed" + + # We can now patch .m Mercury compiler files since we + # have just built mercury_compiler. + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + epatch "${WORKDIR}"/${PV}-mmc + + sed -i -e "s/@libdir@/$(get_libdir)/" \ + "${S}"/compiler/file_util.m \ + "${S}"/compiler/make.program_target.m \ + || die "sed libdir failed" + + # Rebuild Mercury compiler using the just built mercury_compiler + emake \ + PARALLEL=${MAKEOPTS} \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + compiler || die "emake compiler failed" + + # The default Mercury grade may not be the same as the grade used to + # compile the llds base grade. Since src_test() is run before + # src_install() we compile the default grade now + emake \ + PARALLEL=${MAKEOPTS} \ + EXTRA_MLFLAGS=--no-strip \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + default_grade || die "emake default_grade failed" +} + +src_test() { + TEST_GRADE=`scripts/ml --print-grade` + if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then + TWS="${S}"/install_grade_dir.${TEST_GRADE} + cp browser/mer_browser.init "${TWS}"/browser/ + cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/ + cp runtime/mer_rt.init "${TWS}"/runtime/ + cp ssdb/mer_ssdb.init "${TWS}"/ssdb/ + else + TWS="${S}" + fi + + cd "${TESTDIR}" + sed -i -e "s:@WORKSPACE@:${TWS}:" WS_FLAGS.ws \ + || die "sed WORKSPACE failed" + + # Mercury tests must be run in C locale since Mercury output is + # compared to hard-coded warnings/errors + LC_ALL="C" \ + PATH="${TWS}"/scripts:"${TWS}"/util:"${TWS}"/slice:"${PATH}" \ + TERM="" \ + WORKSPACE="${TWS}" \ + MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \ + MERCURY_CONFIG_DIR="${TWS}" \ + MMAKE_DIR="${TWS}"/scripts \ + MERCURY_SUPPRESS_STACK_TRACE=yes \ + GRADE=${TEST_GRADE} \ + MERCURY_ALL_LOCAL_C_INCL_DIRS=" -I${TWS}/boehm_gc \ + -I${TWS}/boehm_gc/include \ + -I${TWS}/runtime \ + -I${TWS}/library \ + -I${TWS}/mdbcomp \ + -I${TWS}/browser \ + -I${TWS}/trace" \ + mmake || die "mmake test failed" +} + +src_install() { + emake \ + PARALLEL=${MAKEOPTS} \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + EXTRA_LD_LIBFLAGS="${LDFLAGS}" \ + MERCURY_COMPILER="${S}"/compiler/mercury_compile \ + INSTALL_PREFIX="${D}"/usr \ + INSTALL_MAN_DIR="${D}"/usr/share/man \ + INSTALL_INFO_DIR="${D}"/usr/share/info \ + INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \ + INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ + install || die "make install failed" + + if use emacs; then + elisp-site-file-install "${FILESDIR}/${SITEFILE}" \ + || die "elisp-site-file-install failed" + fi + + dodoc \ + BUGS HISTORY LIMITATIONS NEWS README README.Linux \ + README.Linux-Alpha README.Linux-m68k README.Linux-PPC \ + RELEASE_NOTES TODO VERSION WORK_IN_PROGRESS || die + + if use erlang; then + dodoc README.Erlang || die + fi + + if use java; then + dodoc README.Java || die + fi + + if use examples; then + insinto /usr/share/doc/${PF}/samples + doins samples/{*.m,README,Mmakefile} || die + doins -r samples/c_interface \ + samples/diff \ + samples/muz \ + samples/rot13 \ + samples/solutions \ + samples/solver_types || die + + if use java; then + doins -r samples/java_interface || die + fi + + rm -rf $(find "${D}"/usr/share/doc/${PF}/samples \ + -name CVS -o -name .cvsignore) + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |