summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/ChangeLog10
-rw-r--r--dev-lang/mercury/files/mercury-0.13.1-mmake-params.patch4
-rw-r--r--dev-lang/mercury/files/mercury-0.13.1-no-reconf.patch56
-rw-r--r--dev-lang/mercury/files/mercury-0.13.1-tests-workspace.patch20
-rw-r--r--dev-lang/mercury/mercury-0.13.1-r2.ebuild117
5 files changed, 202 insertions, 5 deletions
diff --git a/dev-lang/mercury/ChangeLog b/dev-lang/mercury/ChangeLog
index 235a70f9b98f..53e7af01e424 100644
--- a/dev-lang/mercury/ChangeLog
+++ b/dev-lang/mercury/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-lang/mercury
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.83 2008/05/09 07:28:40 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.84 2008/08/21 07:01:55 keri Exp $
+
+*mercury-0.13.1-r2 (21 Aug 2008)
+
+ 21 Aug 2008; <keri@gentoo.org> +files/mercury-0.13.1-mmake-params.patch,
+ +files/mercury-0.13.1-no-reconf.patch,
+ files/mercury-0.13.1-tests-workspace.patch, +mercury-0.13.1-r2.ebuild:
+ Simplify bootstrap; mmc re-conf update; MCFLAGS fixups. Closes #201828 and
+ #206144.
09 May 2008; keri <keri@gentoo.org> mercury-0.12.2-r3.ebuild,
mercury-0.12.2-r4.ebuild, mercury-0.13.1.ebuild, mercury-0.13.1-r1.ebuild:
diff --git a/dev-lang/mercury/files/mercury-0.13.1-mmake-params.patch b/dev-lang/mercury/files/mercury-0.13.1-mmake-params.patch
new file mode 100644
index 000000000000..d45e9bd563b4
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.1-mmake-params.patch
@@ -0,0 +1,4 @@
+--- mercury-compiler-0.13.1.orig/Mmake.params 2006-12-01 15:35:18.000000000 +0000
++++ mercury-compiler-0.13.1/Mmake.params 2008-08-20 04:15:41.000000000 +0000
+@@ -0,0 +1 @@
++EXTRA_CFLAGS=-O0
diff --git a/dev-lang/mercury/files/mercury-0.13.1-no-reconf.patch b/dev-lang/mercury/files/mercury-0.13.1-no-reconf.patch
new file mode 100644
index 000000000000..5b7be8a470c3
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.1-no-reconf.patch
@@ -0,0 +1,56 @@
+--- mercury-compiler-0.13.1.orig/runtime/Mmakefile 2006-11-15 03:09:20.000000000 +1300
++++ mercury-compiler-0.13.1/runtime/Mmakefile 2006-12-04 21:37:11.000000000 +1300
+@@ -434,8 +437,6 @@
+ -[ -d $(INSTALL_MODULE_DIR) ] || mkdir -p $(INSTALL_MODULE_DIR)
+ -[ -d $(INSTALL_MERC_LIB_DIR) ] || mkdir -p $(INSTALL_MERC_LIB_DIR)
+ -[ -d $(INSTALL_CONF_DIR) ] || mkdir -p $(INSTALL_CONF_DIR)
+- -[ -d $(INSTALL_RECONF_DIR)/runtime ] || \
+- mkdir -p $(INSTALL_RECONF_DIR)/runtime
+
+ ifeq ($(findstring java,$(GRADE)),java)
+
+@@ -481,7 +482,6 @@
+ rm -f $(INSTALL_INC_DIR)/mercury_conf.h
+ cp `vpath_find mercury_conf.h` $(INSTALL_CONF_DIR)
+ -chmod u+w $(INSTALL_CONF_DIR)/mercury_conf.h
+- cp `vpath_find mercury_conf.h.in` $(INSTALL_RECONF_DIR)/runtime
+ cp `vpath_find $(MACHHDRS)` $(INSTALL_INC_DIR)/machdeps
+
+ .PHONY: install_init
+--- mercury-compiler-0.13.1.orig/scripts/Mmakefile 2006-04-04 19:41:49.000000000 +1200
++++ mercury-compiler-0.13.1/scripts/Mmakefile 2006-12-04 21:37:11.000000000 +1300
+@@ -26,16 +26,12 @@
+ canonical_grade \
+ mdb \
+ mdprof \
+- mercury.bat \
+- mercury_config \
+ mercury_update_interface \
+ mgnuc \
+- mkfifo_using_mknod \
+ ml \
+ mmake \
+ mmc \
+- mprof \
+- prepare_tmp_dir_fixed_part
++ mprof
+
+ SCRIPTS = $(NONCONF_SCRIPTS) $(CONF_SCRIPTS)
+
+@@ -103,8 +99,6 @@
+ [ -d $(INSTALL_LIBDIR)/mdb ] || mkdir -p $(INSTALL_LIBDIR)/mdb
+ [ -d $(INSTALL_CONF_DIR) ] || mkdir -p $(INSTALL_CONF_DIR)
+ [ -d $(INSTALL_ELISP_DIR) ] || mkdir -p $(INSTALL_ELISP_DIR)
+- [ -d $(INSTALL_RECONF_DIR)/scripts ] || \
+- mkdir -p $(INSTALL_RECONF_DIR)/scripts
+
+ .PHONY: install_mmake
+ install_mmake: Mmake.vars Mmake.rules install_dirs
+@@ -122,7 +116,6 @@
+ -for file in $(SCRIPTS); do \
+ chmod u+w $(INSTALL_BINDIR)/$$file ;\
+ done
+- cp *.in *.sh-subr $(SCRIPTS) $(INSTALL_RECONF_DIR)/scripts
+ -rm -f $(INSTALL_BINDIR)/mmake.old
+
+ .PHONY: install_config
diff --git a/dev-lang/mercury/files/mercury-0.13.1-tests-workspace.patch b/dev-lang/mercury/files/mercury-0.13.1-tests-workspace.patch
index fb38c5312c72..a77ae47dcba2 100644
--- a/dev-lang/mercury/files/mercury-0.13.1-tests-workspace.patch
+++ b/dev-lang/mercury/files/mercury-0.13.1-tests-workspace.patch
@@ -1,15 +1,27 @@
--- mercury-tests-0.13.1.orig/Mmake.common 2006-01-25 20:03:44.000000000 +1300
+++ mercury-tests-0.13.1/Mmake.common 2007-01-16 22:04:32.000000000 +1300
-@@ -72,9 +72,9 @@
-
+@@ -73,8 +73,8 @@
-include $(TESTS_DIR)/Mmake.params
--MCFLAGS += --flags $(TESTS_DIR)/TESTS_FLAGS
+ MCFLAGS += --flags $(TESTS_DIR)/TESTS_FLAGS
-ifdef WORKSPACE_FLAGS
-MCFLAGS += --flags $(TESTS_DIR)/WS_FLAGS
-+#MCFLAGS += --flags $(TESTS_DIR)/TESTS_FLAGS
+ifdef WORKSPACE
+MCFLAGS += --flags $(TESTS_DIR)/WS_FLAGS.ws
endif
# Avoid trying to make this file with `mmc --make' if it doesn't exist.
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 09:37:01.000000000 +0000
++++ mercury-compiler-0.13.1/configure 2008-08-21 03:17:23.000000000 +0000
+@@ -12301,9 +12301,9 @@
+ then
+ test_flags="tests/TESTS_FLAGS"
+ else
+- if test -e ../tests/TESTS_FLAGS.in
++ if test -e ../mercury-tests-0.13.1/TESTS_FLAGS.in
+ then
+- test_flags="../tests/TESTS_FLAGS"
++ test_flags="../mercury-tests-0.13.1/TESTS_FLAGS"
+ else
+ test_flags=""
+ fi
diff --git a/dev-lang/mercury/mercury-0.13.1-r2.ebuild b/dev-lang/mercury/mercury-0.13.1-r2.ebuild
new file mode 100644
index 000000000000..a7f9403db0a0
--- /dev/null
+++ b/dev-lang/mercury/mercury-0.13.1-r2.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-0.13.1-r2.ebuild,v 1.1 2008/08/21 07:01:55 keri Exp $
+
+inherit eutils flag-o-matic
+
+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="ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/mercury-compiler-0.13.1.tar.gz
+ test? ( ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/mercury-tests-0.13.1.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+IUSE="debug minimal readline test threads"
+
+DEPEND="readline? ( sys-libs/readline )"
+
+S="${WORKDIR}"/${MY_P}
+TESTDIR="${WORKDIR}"/${PN}-tests-${PV}
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}"/${P}-mmake-params.patch
+ epatch "${FILESDIR}"/${P}-multilib.patch
+ epatch "${FILESDIR}"/${P}-libgrades.patch
+ epatch "${FILESDIR}"/${P}-docs.patch
+ epatch "${FILESDIR}"/${P}-no-reconf.patch
+
+ if use test; then
+ epatch "${FILESDIR}"/${P}-tests-dir_test.patch
+ epatch "${FILESDIR}"/${P}-tests-ho_and_type_spec_bug.patch
+ epatch "${FILESDIR}"/${P}-tests-string_format.patch
+ epatch "${FILESDIR}"/${P}-tests-workspace.patch
+ sed -i -e "s:MDB_DOC:${S}/doc/mdb_doc:" "${TESTDIR}"/mdbrc
+ fi
+}
+
+src_compile() {
+ strip-flags
+
+ local myconf
+ myconf="--libdir=/usr/$(get_libdir) \
+ --disable-gcc-back-end \
+ --enable-aditi-back-end \
+ --disable-deep-profiler \
+ --disable-dotnet-grades \
+ --disable-java-grades \
+ --with-llds-base-grade=none \
+ --with-default-grade=hlc.gc \
+ $(use_enable debug debug-grades) \
+ $(use_enable threads par-grades) \
+ $(use_enable !minimal most-grades) \
+ $(use_with readline) \
+ PACKAGE_VERSION=${PV}"
+
+ econf \
+ ${myconf} \
+ || die "econf failed"
+ emake \
+ EXTRA_MLFLAGS=--no-strip \
+ || die "emake failed"
+
+ emake \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ libgrades || die "emake libgrades failed"
+}
+
+src_test() {
+ TEST_GRADE=`scripts/ml --print-grade`
+ if [ -d "${S}"/libgrades/${TEST_GRADE} ] ; then
+ TWS="${S}"/libgrades/${TEST_GRADE}
+ cp browser/mer_browser.init "${TWS}"/browser/
+ cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+ cp runtime/mer_rt.init "${TWS}"/runtime/
+ else
+ TWS="${S}"
+ fi
+
+ cd "${TESTDIR}"
+ sed -i -e "s:@WORKSPACE@:${TWS}:" WS_FLAGS.ws
+
+ PATH="${TWS}"/scripts:"${TWS}"/util:"${PATH}" \
+ TERM="" \
+ WORKSPACE="${TWS}" \
+ MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+ MMAKE_DIR="${TWS}"/scripts \
+ MERCURY_DEBUGGER_INIT="${TESTDIR}"/mdbrc \
+ 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 \
+ INSTALL_PREFIX="${D}" \
+ INSTALL_MAN_DIR="${D}"/usr/share/man \
+ INSTALL_INFO_DIR="${D}"/usr/share/info \
+ INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \
+ install || die "make install failed"
+
+ dodoc \
+ BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+ README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+ RELEASE_NOTES TODO VERSION WORK_IN_PROGRESS
+}