summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2010-07-19 09:25:31 +0000
committerKeri Harris <keri@gentoo.org>2010-07-19 09:25:31 +0000
commite16b3c97668db3fe5b728cc550ae26a264c2817b (patch)
tree871f25470dadf1b084a6e751dd97dda258bbef21 /dev-lang/mercury
parentVersion bump. Dropped old patch. (diff)
downloadgentoo-2-e16b3c97668db3fe5b728cc550ae26a264c2817b.tar.gz
gentoo-2-e16b3c97668db3fe5b728cc550ae26a264c2817b.tar.bz2
gentoo-2-e16b3c97668db3fe5b728cc550ae26a264c2817b.zip
Version bump
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/mercury')
-rw-r--r--dev-lang/mercury/ChangeLog11
-rw-r--r--dev-lang/mercury/files/mercury-10.04-boehm_gc.patch14
-rw-r--r--dev-lang/mercury/files/mercury-10.04-docs.patch24
-rw-r--r--dev-lang/mercury/files/mercury-10.04-multilib.patch114
-rw-r--r--dev-lang/mercury/files/mercury-10.04-no-reconf.patch64
-rw-r--r--dev-lang/mercury/files/mercury-10.04-tests-sandbox.patch64
-rw-r--r--dev-lang/mercury/files/mercury-10.04-tests-workspace.patch30
-rw-r--r--dev-lang/mercury/mercury-10.04.ebuild138
-rw-r--r--dev-lang/mercury/metadata.xml3
9 files changed, 461 insertions, 1 deletions
diff --git a/dev-lang/mercury/ChangeLog b/dev-lang/mercury/ChangeLog
index d0f26fe25d3f..b3bf1f825082 100644
--- a/dev-lang/mercury/ChangeLog
+++ b/dev-lang/mercury/ChangeLog
@@ -1,6 +1,15 @@
# 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.103 2010/04/25 08:25:46 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.104 2010/07/19 09:25:31 keri Exp $
+
+*mercury-10.04 (19 Jul 2010)
+
+ 19 Jul 2010; <keri@gentoo.org> +mercury-10.04.ebuild,
+ +files/mercury-10.04-boehm_gc.patch, +files/mercury-10.04-docs.patch,
+ +files/mercury-10.04-multilib.patch, +files/mercury-10.04-no-reconf.patch,
+ +files/mercury-10.04-tests-sandbox.patch,
+ +files/mercury-10.04-tests-workspace.patch, metadata.xml:
+ Version bump
25 Apr 2010; <keri@gentoo.org> files/mercury-10.04_beta1-ppc-lexer.patch:
Move MGNUCFLAGS-lexer definition to library/Mmakefile to allow mmc to
diff --git a/dev-lang/mercury/files/mercury-10.04-boehm_gc.patch b/dev-lang/mercury/files/mercury-10.04-boehm_gc.patch
new file mode 100644
index 000000000000..028a8dd22a72
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-boehm_gc.patch
@@ -0,0 +1,14 @@
+diff -ur mercury-compiler-10.04.orig/boehm_gc/Makefile.direct mercury-compiler-10.04/boehm_gc/Makefile.direct
+--- mercury-compiler-10.04.orig/boehm_gc/Makefile.direct 2010-02-24 20:04:32.000000000 +1300
++++ mercury-compiler-10.04/boehm_gc/Makefile.direct 2010-07-19 21:01:24.000000000 +1200
+@@ -407,6 +407,7 @@
+ ./if_mach SPARC SOLARIS $(CC) -c -o mach_dep2.o $(srcdir)/sparc_mach_dep.S
+ ./if_mach SPARC OPENBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_sunos4_mach_dep.s
+ ./if_mach SPARC NETBSD $(AS) -o mach_dep2.o $(srcdir)/sparc_netbsd_mach_dep.s
++ ./if_mach SPARC LINUX $(CC) -o mach_dep2.o $(SPECIALCFLAGS) $(srcdir)/sparc_generic_mach_dep.c
+ ./if_mach SPARC "" $(CC) -c -o mach_dep1.o $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
+ ./if_mach SPARC "" ld -r -o mach_dep.o mach_dep1.o mach_dep2.o
+ ./if_mach IA64 "" as $(AS_ABI_FLAG) -o ia64_save_regs_in_stack.o $(srcdir)/ia64_save_regs_in_stack.s
+Only in mercury-compiler-10.04/boehm_gc: sparc_generic_mach_dep.c
+Only in mercury-compiler-10.04/compiler: make.program_target.c.orig
+Only in mercury-compiler-10.04/scripts: Mmake.vars.in.orig
diff --git a/dev-lang/mercury/files/mercury-10.04-docs.patch b/dev-lang/mercury/files/mercury-10.04-docs.patch
new file mode 100644
index 000000000000..552ae4bc081f
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-docs.patch
@@ -0,0 +1,24 @@
+Only in mercury-compiler-10.04/boehm_gc: Makefile.direct.orig
+Only in mercury-compiler-10.04/compiler: make.program_target.c.orig
+diff -ur mercury-compiler-10.04.orig/doc/Mmakefile mercury-compiler-10.04/doc/Mmakefile
+--- mercury-compiler-10.04.orig/doc/Mmakefile 2010-07-07 01:42:07.000000000 +1200
++++ mercury-compiler-10.04/doc/Mmakefile 2010-07-19 21:01:50.000000000 +1200
+@@ -120,7 +120,7 @@
+ # formatted versions of the man pages.
+ # But it might make sense to add them.
+ .PHONY: all
+-all: $(INFOPAGES) $(DVI) $(HTML) manpages $(MDB_DOC)
++all: $(INFOPAGES) $(HTML) manpages $(MDB_DOC)
+ #all: ps pdf text formatted_manpages
+
+ #-----------------------------------------------------------------------------#
+@@ -351,7 +351,7 @@
+ # versions of the documentation. If they are added they should
+ # be installed here.
+ .PHONY: install
+-install: install_info install_html install_dvi install_manpages \
++install: install_info install_html install_manpages \
+ install_mdb_doc
+ # install_text install_ps
+
+Only in mercury-compiler-10.04/scripts: Mmake.vars.in.orig
diff --git a/dev-lang/mercury/files/mercury-10.04-multilib.patch b/dev-lang/mercury/files/mercury-10.04-multilib.patch
new file mode 100644
index 000000000000..649b4e816414
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-multilib.patch
@@ -0,0 +1,114 @@
+diff -ur mercury-compiler-10.04.orig/compiler/make.program_target.c mercury-compiler-10.04/compiler/make.program_target.c
+--- mercury-compiler-10.04.orig/compiler/make.program_target.c 2010-07-19 02:00:13.000000000 +1200
++++ mercury-compiler-10.04/compiler/make.program_target.c 2010-07-19 21:00:29.000000000 +1200
+@@ -5422,7 +5422,7 @@
+ make__program_target__install_grade_init_6_0_i2);
+ MR_def_label(make__program_target__install_grade_init_6_0,2)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_grade_init_6_0_i3);
+ MR_def_label(make__program_target__install_grade_init_6_0,3)
+@@ -5873,7 +5873,7 @@
+ make__program_target__make_grade_install_dirs_6_0_i2);
+ MR_def_label(make__program_target__make_grade_install_dirs_6_0,2)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__make_grade_install_dirs_6_0_i3);
+ MR_def_label(make__program_target__make_grade_install_dirs_6_0,3)
+@@ -6318,7 +6318,7 @@
+ MR_GOTO_LAB(make__program_target__install_library_grade_files_10_0_i11);
+ }
+ MR_r1 = MR_sv(10);
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_library_grade_files_10_0_i14);
+ MR_def_label(make__program_target__install_library_grade_files_10_0,14)
+@@ -6382,7 +6382,7 @@
+ MR_GOTO_LAB(make__program_target__install_library_grade_files_10_0_i20);
+ }
+ MR_r1 = MR_sv(10);
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_library_grade_files_10_0_i23);
+ MR_def_label(make__program_target__install_library_grade_files_10_0,23)
+@@ -6448,7 +6448,7 @@
+ MR_def_label(make__program_target__install_library_grade_files_10_0,20)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+ MR_r1 = MR_sv(10);
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_library_grade_files_10_0_i30);
+ MR_def_label(make__program_target__install_library_grade_files_10_0,30)
+@@ -6585,7 +6585,7 @@
+ make__program_target__make_install_dirs_5_0_i2);
+ MR_def_label(make__program_target__make_install_dirs_5_0,2)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__make_install_dirs_5_0_i3);
+ MR_def_label(make__program_target__make_install_dirs_5_0,3)
+@@ -6806,7 +6806,7 @@
+ make__program_target__install_library_7_0_i11);
+ MR_def_label(make__program_target__install_library_7_0,11)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_library_7_0_i12);
+ MR_def_label(make__program_target__install_library_7_0,12)
+@@ -10596,7 +10596,7 @@
+ make__program_target__install_ints_and_headers_8_0_i13);
+ MR_def_label(make__program_target__install_ints_and_headers_8_0,13)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_ints_and_headers_8_0_i14);
+ MR_def_label(make__program_target__install_ints_and_headers_8_0,14)
+@@ -11222,7 +11222,7 @@
+ make__program_target__install_grade_ints_and_headers_9_0_i5);
+ MR_def_label(make__program_target__install_grade_ints_and_headers_9_0,5)
+ MR_MAYBE_INIT_LOCAL_THREAD_ENGINE_BASE
+- MR_r2 = (MR_Word) MR_string_const("lib", 3);
++ MR_r2 = (MR_Word) MR_string_const("@libdir@", 3);
+ MR_np_call_localret_ent(fn__f_100_105_114_95_95_47_2_0,
+ make__program_target__install_grade_ints_and_headers_9_0_i6);
+ MR_def_label(make__program_target__install_grade_ints_and_headers_9_0,6)
+diff -ur mercury-compiler-10.04.orig/scripts/Mmake.vars.in mercury-compiler-10.04/scripts/Mmake.vars.in
+--- mercury-compiler-10.04.orig/scripts/Mmake.vars.in 2010-05-20 21:29:31.000000000 +1200
++++ mercury-compiler-10.04/scripts/Mmake.vars.in 2010-07-19 21:00:29.000000000 +1200
+@@ -688,17 +688,17 @@
+ INSTALL_PREFIX = @prefix@
+ FINAL_INSTALL_PREFIX = @prefix@
+ INSTALL_BINDIR = $(INSTALL_PREFIX)/bin
+-INSTALL_LIBDIR = $(INSTALL_PREFIX)/lib/mercury
+-FINAL_INSTALL_LIBDIR = $(FINAL_INSTALL_PREFIX)/lib/mercury
++INSTALL_LIBDIR = $(INSTALL_PREFIX)/@libdir@/mercury
++FINAL_INSTALL_LIBDIR = $(FINAL_INSTALL_PREFIX)/@libdir@/mercury
+ INSTALL_INFO_DIR = $(INSTALL_PREFIX)/info
+-INSTALL_DVI_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_TEXT_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_PS_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_PDF_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
++INSTALL_DVI_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/doc
++INSTALL_TEXT_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/doc
++INSTALL_PS_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/doc
++INSTALL_PDF_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/doc
+ INSTALL_MAN_DIR = $(INSTALL_PREFIX)/man
+-INSTALL_HTML_DIR = $(INSTALL_PREFIX)/lib/mercury/html
+-INSTALL_MDB_DOC_DIR = $(INSTALL_PREFIX)/lib/mercury/mdb
+-INSTALL_ELISP_DIR = $(INSTALL_PREFIX)/lib/mercury/elisp
++INSTALL_HTML_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/html
++INSTALL_MDB_DOC_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/mdb
++INSTALL_ELISP_DIR = $(INSTALL_PREFIX)/@libdir@/mercury/elisp
+ INSTALL_CGI_DIR = @CGIDIR@
+
+ # You should not need to override anything below here
diff --git a/dev-lang/mercury/files/mercury-10.04-no-reconf.patch b/dev-lang/mercury/files/mercury-10.04-no-reconf.patch
new file mode 100644
index 000000000000..9a264f99509a
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-no-reconf.patch
@@ -0,0 +1,64 @@
+Only in mercury-compiler-10.04/boehm_gc: Makefile.direct.orig
+Only in mercury-compiler-10.04/compiler: make.program_target.c.orig
+Only in mercury-compiler-10.04/doc: Mmakefile.orig
+diff -ur mercury-compiler-10.04.orig/runtime/Mmakefile mercury-compiler-10.04/runtime/Mmakefile
+--- mercury-compiler-10.04.orig/runtime/Mmakefile 2010-07-16 03:24:52.000000000 +1200
++++ mercury-compiler-10.04/runtime/Mmakefile 2010-07-19 21:02:09.000000000 +1200
+@@ -455,8 +455,6 @@
+ mkdir -p $(INSTALL_GRADE_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
+
+ ifneq "$(filter java% erlang%,$(GRADE))" ""
+
+@@ -502,7 +500,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
+Only in mercury-compiler-10.04/runtime: Mmakefile.orig
+Only in mercury-compiler-10.04/scripts: Mmake.vars.in.orig
+diff -ur mercury-compiler-10.04.orig/scripts/Mmakefile mercury-compiler-10.04/scripts/Mmakefile
+--- mercury-compiler-10.04.orig/scripts/Mmakefile 2009-09-02 11:54:38.000000000 +1200
++++ mercury-compiler-10.04/scripts/Mmakefile 2010-07-19 21:02:09.000000000 +1200
+@@ -24,17 +24,13 @@
+ canonical_grade \
+ mdb \
+ mdprof \
+- mercury.bat \
+- mercury_config \
+ mercury_update_interface \
+ mgnuc \
+- mkfifo_using_mknod \
+ ml \
+ mmake \
+ mmc \
+ mprof \
+- mtags \
+- prepare_install_dir
++ mtags
+
+ SCRIPTS = $(NONCONF_SCRIPTS) $(CONF_SCRIPTS)
+
+@@ -113,8 +109,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
+@@ -132,7 +126,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-10.04-tests-sandbox.patch b/dev-lang/mercury/files/mercury-10.04-tests-sandbox.patch
new file mode 100644
index 000000000000..fb1c4c05b091
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-tests-sandbox.patch
@@ -0,0 +1,64 @@
+diff -ur mercury-tests-10.04.orig/hard_coded/dir_test.exp mercury-tests-10.04/hard_coded/dir_test.exp
+--- mercury-tests-10.04.orig/hard_coded/dir_test.exp 2007-09-21 15:21:35.000000000 +1200
++++ mercury-tests-10.04/hard_coded/dir_test.exp 2010-07-19 21:03:29.000000000 +1200
+@@ -130,7 +130,6 @@
+ "foo"/"bar/baz" = "foo\bar\baz".
+ "foo/"/"bar/baz" = "foo\bar\baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ current_directory succeeded: hard_coded
+ make_directory succeeded
+ make_directory succeeded
+diff -ur mercury-tests-10.04.orig/hard_coded/dir_test.exp2 mercury-tests-10.04/hard_coded/dir_test.exp2
+--- mercury-tests-10.04.orig/hard_coded/dir_test.exp2 2007-10-01 18:40:43.000000000 +1300
++++ mercury-tests-10.04/hard_coded/dir_test.exp2 2010-07-19 21:03:29.000000000 +1200
+@@ -127,7 +127,6 @@
+ "foo"/"bar/baz" = "foo/bar/baz".
+ "foo/"/"bar/baz" = "foo/bar/baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ current_directory succeeded: hard_coded
+ make_directory succeeded
+ make_directory succeeded
+diff -ur mercury-tests-10.04.orig/hard_coded/dir_test.exp3 mercury-tests-10.04/hard_coded/dir_test.exp3
+--- mercury-tests-10.04.orig/hard_coded/dir_test.exp3 2007-10-01 18:40:43.000000000 +1300
++++ mercury-tests-10.04/hard_coded/dir_test.exp3 2010-07-19 21:03:30.000000000 +1200
+@@ -130,7 +130,6 @@
+ "foo"/"bar/baz" = "foo/bar/baz".
+ "foo/"/"bar/baz" = "foo/bar/baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ current_directory succeeded: hard_coded
+ make_directory succeeded
+ make_directory succeeded
+diff -ur mercury-tests-10.04.orig/hard_coded/dir_test.exp4 mercury-tests-10.04/hard_coded/dir_test.exp4
+--- mercury-tests-10.04.orig/hard_coded/dir_test.exp4 2010-03-04 13:39:48.000000000 +1300
++++ mercury-tests-10.04/hard_coded/dir_test.exp4 2010-07-19 21:03:30.000000000 +1200
+@@ -127,7 +127,6 @@
+ "foo"/"bar/baz" = "foo/bar/baz".
+ "foo/"/"bar/baz" = "foo/bar/baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ current_directory succeeded: hard_coded
+ make_directory succeeded
+ make_directory succeeded
+diff -ur mercury-tests-10.04.orig/hard_coded/dir_test.m mercury-tests-10.04/hard_coded/dir_test.m
+--- mercury-tests-10.04.orig/hard_coded/dir_test.m 2010-02-09 16:39:39.000000000 +1300
++++ mercury-tests-10.04/hard_coded/dir_test.m 2010-07-19 21:03:30.000000000 +1200
+@@ -50,16 +50,6 @@
+ io__write(ReadResult),
+ io__nl,
+
+- io__check_file_accessibility("unwritable",
+- [read, write], WriteResult),
+- ( { WriteResult = ok } ->
+- io__write_string(
+- "Error: unwritable file found to be writable\n")
+- ;
+- io__write_string(
+- "unwritable file found to be unwritable\n")
+- ),
+-
+ % Execute permissions are not handled correctly on all platforms so
+ % just check that it doesn't crash.
+ io__check_file_accessibility("unwritable",
diff --git a/dev-lang/mercury/files/mercury-10.04-tests-workspace.patch b/dev-lang/mercury/files/mercury-10.04-tests-workspace.patch
new file mode 100644
index 000000000000..253dad2bb348
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-10.04-tests-workspace.patch
@@ -0,0 +1,30 @@
+diff -ur mercury-tests-10.04.orig/Mmake.common mercury-tests-10.04/Mmake.common
+--- mercury-tests-10.04.orig/Mmake.common 2010-02-15 19:49:51.000000000 +1300
++++ mercury-tests-10.04/Mmake.common 2010-07-19 21:03:17.000000000 +1200
+@@ -79,8 +79,8 @@
+ -include $(TESTS_DIR)/Mmake.params
+
+ MCFLAGS += --flags $(TESTS_DIR)/TESTS_FLAGS
+-ifdef WORKSPACE_FLAGS
+-MCFLAGS += --flags $(TESTS_DIR)/WS_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-10.04.orig/configure 2010-07-18 20:40:26.000000000 +1200
++++ mercury-compiler-10.04/configure 2010-07-19 21:07:50.000000000 +1200
+@@ -14778,10 +14778,10 @@
+ test_flags="tests/TESTS_FLAGS"
+ test_mdbrc="tests/mdbrc"
+ else
+- if test -e ../tests/TESTS_FLAGS.in
++ if test -e ../mercury-tests-10.04-beta-2010-07-12/TESTS_FLAGS.in
+ then
+- test_flags="../tests/TESTS_FLAGS"
+- test_mdbrc="../tests/mdbrc"
++ test_flags="../mercury-tests-10.04-beta-2010-07-12/TESTS_FLAGS"
++ test_mdbrc="../mercury-tests-10.04-beta-2010-07-12/mdbrc"
+ else
+ test_flags=""
+ test_mdbrc=""
diff --git a/dev-lang/mercury/mercury-10.04.ebuild b/dev-lang/mercury/mercury-10.04.ebuild
new file mode 100644
index 000000000000..ac174705d705
--- /dev/null
+++ b/dev-lang/mercury/mercury-10.04.ebuild
@@ -0,0 +1,138 @@
+# 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.ebuild,v 1.1 2010/07/19 09:25:31 keri Exp $
+
+inherit 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 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}-boehm_gc.patch
+ epatch "${FILESDIR}"/${P}-docs.patch
+ epatch "${FILESDIR}"/${P}-no-reconf.patch
+
+ sed -i -e "s/@libdir@/$(get_libdir)/" \
+ "${S}"/compiler/make.program_target.c \
+ "${S}"/scripts/Mmake.vars.in
+
+ if use test; then
+ epatch "${FILESDIR}"/${P}-tests-workspace.patch
+ epatch "${FILESDIR}"/${P}-tests-sandbox.patch
+ fi
+}
+
+src_compile() {
+ strip-flags
+
+ local myconf
+ myconf="--libdir=/usr/$(get_libdir) \
+ --disable-gcc-back-end \
+ --disable-aditi-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} \
+ EXTRA_MLFLAGS=--no-strip \
+ || die "emake failed"
+}
+
+src_test() {
+ TEST_GRADE=`scripts/ml --print-grade`
+ TWS="${S}"
+
+ 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} \
+ 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
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/mercury/metadata.xml b/dev-lang/mercury/metadata.xml
index 5391604cf31e..a4822683ecca 100644
--- a/dev-lang/mercury/metadata.xml
+++ b/dev-lang/mercury/metadata.xml
@@ -6,4 +6,7 @@
<email>keri@gentoo.org</email>
<name>Keri Harris</name>
</maintainer>
+<use>
+ <flag name='erlang'>Support Mercury Erlang grade</flag>
+</use>
</pkgmetadata>