summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2010-10-22 22:23:30 +0000
committerKeri Harris <keri@gentoo.org>2010-10-22 22:23:30 +0000
commitae426296311d858d31bc7f3ec8d7cf73c70968b0 (patch)
treeea0dec2a3ecee826633a8a7700591e343b1a5ab8 /dev-lang/mercury
parentVersion bump. Fix introspection, some parsing issues and signal ordering issues. (diff)
downloadgentoo-2-ae426296311d858d31bc7f3ec8d7cf73c70968b0.tar.gz
gentoo-2-ae426296311d858d31bc7f3ec8d7cf73c70968b0.tar.bz2
gentoo-2-ae426296311d858d31bc7f3ec8d7cf73c70968b0.zip
Support installing Mercury code samples
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/ChangeLog7
-rw-r--r--dev-lang/mercury/mercury-10.04.2-r1.ebuild202
2 files changed, 208 insertions, 1 deletions
diff --git a/dev-lang/mercury/ChangeLog b/dev-lang/mercury/ChangeLog
index bc934f9d18df..7c6cf1897032 100644
--- a/dev-lang/mercury/ChangeLog
+++ b/dev-lang/mercury/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-lang/mercury
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.120 2010/10/22 21:08:25 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.121 2010/10/22 22:23:30 keri Exp $
+
+*mercury-10.04.2-r1 (22 Oct 2010)
+
+ 22 Oct 2010; <keri@gentoo.org> +mercury-10.04.2-r1.ebuild:
+ Support installing Mercury code samples
22 Oct 2010; <keri@gentoo.org> files/mercury-10.04.2-no-reconf.patch:
Tidy up no-reconf target in Mercury toplevel
diff --git a/dev-lang/mercury/mercury-10.04.2-r1.ebuild b/dev-lang/mercury/mercury-10.04.2-r1.ebuild
new file mode 100644
index 000000000000..88b17335ef59
--- /dev/null
+++ b/dev-lang/mercury/mercury-10.04.2-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-10.04.2-r1.ebuild,v 1.1 2010/10/22 22:23:30 keri Exp $
+
+inherit autotools elisp-common eutils flag-o-matic java-pkg-opt-2 multilib
+
+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.cs.mu.oz.au/download/files/${MY_P}.tar.gz
+ test? ( http://www.mercury.cs.mu.oz.au/download/files/mercury-tests-${PV}.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~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_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}"/${P}-multilib.patch
+ epatch "${FILESDIR}"/${P}-linker-flags.patch
+ epatch "${FILESDIR}"/${P}-bootstrap-depend.patch
+ epatch "${FILESDIR}"/${P}-default-grade.patch
+ epatch "${FILESDIR}"/${P}-boehm_gc.patch
+ epatch "${FILESDIR}"/${P}-sparc-llds-base-grade.patch
+ epatch "${FILESDIR}"/${P}-char-det-from-int.patch
+ epatch "${FILESDIR}"/${P}-docs.patch
+ epatch "${FILESDIR}"/${P}-no-reconf.patch
+
+ sed -i -e "s/@libdir@/$(get_libdir)/" \
+ "${S}"/compiler/file_util.m \
+ "${S}"/compiler/libs.file_util.c \
+ "${S}"/compiler/make.program_target.m \
+ "${S}"/compiler/make.program_target.c \
+ "${S}"/scripts/Mmake.vars.in
+
+ touch "${S}"/compiler/*.date
+ touch "${S}"/compiler/*.date0
+ touch "${S}"/compiler/*.date3
+ touch "${S}"/compiler/*.int
+ touch "${S}"/compiler/*.int0
+ touch "${S}"/compiler/*.int2
+ touch "${S}"/compiler/*.int3
+ touch "${S}"/compiler/*.c_date
+ touch "${S}"/compiler/*.c
+
+ if use test; then
+ epatch "${FILESDIR}"/${P}-tests-workspace.patch
+ epatch "${FILESDIR}"/${P}-tests-sandbox.patch
+ epatch "${FILESDIR}"/${P}-tests-static-link.patch
+ fi
+
+ cd "${S}"
+ eautoreconf
+}
+
+src_compile() {
+ 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} \
+ || die "econf failed"
+
+ emake \
+ PARALLEL=${MAKEOPTS} \
+ bootstrap_depend || die "emake depend failed"
+
+ emake \
+ PARALLEL=${MAKEOPTS} \
+ EXTRA_MLFLAGS=--no-strip \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ EXTRA_LD_LIBFLAGS="${LDFLAGS}" \
+ || die "emake failed"
+
+ 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
+
+ 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
+
+ if use erlang; then
+ dodoc README.Erlang
+ fi
+
+ if use java; then
+ dodoc README.Java
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/samples
+ doins samples/{*.m,README,Mmakefile}
+ doins -r samples/c_interface \
+ samples/diff \
+ samples/muz \
+ samples/rot13 \
+ samples/solutions \
+ samples/solver_types
+
+ if use java; then
+ doins -r samples/java_interface
+ 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
+}