summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2006-09-16 01:09:09 +0000
committerKeri Harris <keri@gentoo.org>2006-09-16 01:09:09 +0000
commite39304cce488e69e4fb6e4f63e71b13ec701c02f (patch)
tree9dd57200a484e794e4dd57726f7f36ca767ec539 /dev-lang/mercury/files
parentversion bump as per bug #143337 (diff)
downloadgentoo-2-e39304cce488e69e4fb6e4f63e71b13ec701c02f.tar.gz
gentoo-2-e39304cce488e69e4fb6e4f63e71b13ec701c02f.tar.bz2
gentoo-2-e39304cce488e69e4fb6e4f63e71b13ec701c02f.zip
Version bump.
(Portage version: 2.1.1)
Diffstat (limited to 'dev-lang/mercury/files')
-rw-r--r--dev-lang/mercury/files/digest-mercury-0.13.06
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-CFLAGS.patch31
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-LIBDIR.patch55
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-MAKEOPTS.patch11
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-bootstrap.patch60
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-docs.patch20
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-libgrades.patch251
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-portage.patch91
-rw-r--r--dev-lang/mercury/files/mercury-0.13.0-tests.patch120
9 files changed, 645 insertions, 0 deletions
diff --git a/dev-lang/mercury/files/digest-mercury-0.13.0 b/dev-lang/mercury/files/digest-mercury-0.13.0
new file mode 100644
index 000000000000..5009a8bfe67c
--- /dev/null
+++ b/dev-lang/mercury/files/digest-mercury-0.13.0
@@ -0,0 +1,6 @@
+MD5 e2e08bdddce39bc8eccd2a2c0cbf9ad5 mercury-compiler-0.13.0.tar.gz 15861463
+RMD160 4fa5f45d6c7496679bc1e957bb45541020244d5b mercury-compiler-0.13.0.tar.gz 15861463
+SHA256 0edf3855dab94f4562d972a3a401dff2f722a2b20b1617b6c4ce9ba68e576342 mercury-compiler-0.13.0.tar.gz 15861463
+MD5 03e9490b1261c74542cb4178510cce4b mercury-tests-0.13.0.tar.gz 984910
+RMD160 1b90b941488b9da57ff27ab1506b902b5fa5e170 mercury-tests-0.13.0.tar.gz 984910
+SHA256 227561407d63d177e6bfdf08d58481a9dcf6228d225ca2b67643c1af16cedc08 mercury-tests-0.13.0.tar.gz 984910
diff --git a/dev-lang/mercury/files/mercury-0.13.0-CFLAGS.patch b/dev-lang/mercury/files/mercury-0.13.0-CFLAGS.patch
new file mode 100644
index 000000000000..0dfc2db8ecc2
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-CFLAGS.patch
@@ -0,0 +1,31 @@
+--- mercury-compiler-0.13.0.orig/scripts/mgnuc.in 2006-08-03 00:56:05.000000000 +1200
++++ mercury-compiler-0.13.0/scripts/mgnuc.in 2006-09-16 10:56:07.000000000 +1200
+@@ -53,7 +53,7 @@
+ # -Wenum-clash is for C++ only
+ # -Wunused causes various spurious warnings
+
+- OPT_OPTS="-O2 $CFLAGS_FOR_NO_STRICT_ALIASING -fomit-frame-pointer"
++ OPT_OPTS="@CFLAGS_FOR_OPT@"
+ DEBUG_OPT="-g"
+ COMPILER=gcc
+ ;;
+--- mercury-compiler-0.13.0.orig/configure 2006-09-14 16:06:21.000000000 +1200
++++ mercury-compiler-0.13.0/configure 2006-09-16 10:58:44.000000000 +1200
+@@ -3740,7 +3740,7 @@
+ # the `-lc' and `-lg' libraries have different contents; specifically,
+ # only the latter contains memalign(). We need to make sure that the
+ # test for memalign() doesn't use `-g', since `ml' doesn't use `-g'.
+-CFLAGS="-O"
++# CFLAGS="-O"
+
+ # we also need to add the appropriate `-I' options so that the test programs
+ # can #include various Mercury runtime headers.
+@@ -10038,7 +10038,7 @@
+ # enable, and why, see scripts/mgnuc.in.
+ CFLAGS_FOR_WARNINGS="-Wall -Wwrite-strings -Wshadow -Wmissing-prototypes -Wno-unused -Wno-uninitialized -Wstrict-prototypes"
+
+- CFLAGS_FOR_OPT="-O2 -fomit-frame-pointer"
++ CFLAGS_FOR_OPT="$CFLAGS"
+ CFLAGS_FOR_DEBUG="-g"
+ MCFLAGS_FOR_CC=
+ ;;
diff --git a/dev-lang/mercury/files/mercury-0.13.0-LIBDIR.patch b/dev-lang/mercury/files/mercury-0.13.0-LIBDIR.patch
new file mode 100644
index 000000000000..00ba68f096dc
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-LIBDIR.patch
@@ -0,0 +1,55 @@
+--- mercury-compiler-0.13.0.orig/configure 2006-09-14 16:06:21.000000000 +1200
++++ mercury-compiler-0.13.0/configure 2006-09-16 11:01:27.000000000 +1200
+@@ -1609,7 +1609,7 @@
+
+
+ PREFIX="`$CYGPATH $PREFIX`"
+-LIBDIR="`$CYGPATH $PREFIX/lib/mercury`"
++LIBDIR="`$CYGPATH $PREFIX/lib/mercury-$PACKAGE_VERSION`"
+ NONSHARED_LIB_DIR=${MERCURY_NONSHARED_LIB_DIR=$PREFIX/lib/nonshared}
+
+
+--- mercury-compiler-0.13.0.orig/scripts/Mmake.vars.in 2006-05-23 18:46:54.000000000 +1200
++++ mercury-compiler-0.13.0/scripts/Mmake.vars.in 2006-09-16 11:06:12.000000000 +1200
+@@ -717,18 +717,18 @@
+ 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_JAVA_LIBRARY_DIR= $(INSTALL_PREFIX)/lib/mercury/lib/java
++INSTALL_LIBDIR = $(INSTALL_PREFIX)/lib/mercury-@PACKAGE_VERSION@
++FINAL_INSTALL_LIBDIR = $(FINAL_INSTALL_PREFIX)/lib/mercury-@PACKAGE_VERSION@
++INSTALL_JAVA_LIBRARY_DIR= $(INSTALL_LIBDIR)/lib/java
+ 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_LIBDIR)/doc
++INSTALL_TEXT_DIR = $(INSTALL_LIBDIR)/doc
++INSTALL_PS_DIR = $(INSTALL_LIBDIR)/doc
++INSTALL_PDF_DIR = $(INSTALL_LIBDIR)/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_LIBDIR)/html
++INSTALL_MDB_DOC_DIR = $(INSTALL_LIBDIR)/mdb
++INSTALL_ELISP_DIR = $(INSTALL_LIBDIR)/elisp
+ INSTALL_CGI_DIR = @CGIDIR@
+
+ # You should not need to override anything below here
+--- mercury-compiler-0.13.0.orig/scripts/mercury_config.in 2005-10-27 14:48:24.000000000 +1300
++++ mercury-compiler-0.13.0/scripts/mercury_config.in 2006-09-16 11:16:27.000000000 +1200
+@@ -90,8 +90,8 @@
+ shift
+ done
+
+-input_libdir="$input_prefix/lib/mercury"
+-output_libdir="$output_prefix/lib/mercury"
++input_libdir="$input_prefix/lib/mercury-@PACKAGE_VERSION@"
++output_libdir="$output_prefix/lib/mercury-@PACKAGE_VERSION@"
+
+ # mercury_config regenerates itself, so we can't just execute it in place.
+ case $recursive in
diff --git a/dev-lang/mercury/files/mercury-0.13.0-MAKEOPTS.patch b/dev-lang/mercury/files/mercury-0.13.0-MAKEOPTS.patch
new file mode 100644
index 000000000000..ac3c8b79d949
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-MAKEOPTS.patch
@@ -0,0 +1,11 @@
+--- mercury-compiler-0.13.0.orig/Makefile 2005-08-22 15:38:34.000000000 +1200
++++ mercury-compiler-0.13.0/Makefile 2006-09-16 11:24:58.000000000 +1200
+@@ -15,7 +15,7 @@
+ #
+ #-----------------------------------------------------------------------------#
+
+-
++PARALLEL= $(MAKEOPTS)
+ SHELL= /bin/sh
+ MMAKE= MMAKE_DIR=`pwd`/scripts scripts/mmake
+ MMAKE_SUBDIR= MMAKE_DIR=`pwd`/../scripts ../scripts/mmake $(PARALLEL)
diff --git a/dev-lang/mercury/files/mercury-0.13.0-bootstrap.patch b/dev-lang/mercury/files/mercury-0.13.0-bootstrap.patch
new file mode 100644
index 000000000000..17ce514d3bd2
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-bootstrap.patch
@@ -0,0 +1,60 @@
+--- mercury-compiler-0.13.0.orig/configure 2006-09-14 16:06:21.000000000 +1200
++++ mercury-compiler-0.13.0/configure 2006-09-16 11:34:59.000000000 +1200
+@@ -8977,34 +8977,34 @@
+
+ if test "$BEST_GRADE_FOR_COMPILER" != "$BOOTSTRAP_GRADE"; then
+ if test "$BOOTSTRAP_MC" = ""; then
+- GRADE="$BOOTSTRAP_GRADE"
+- { echo "$as_me:$LINENO: WARNING: Mercury compiler not yet installed
+-**** cannot use grade \`$BEST_GRADE_FOR_COMPILER'
+-**** using grade \`$GRADE' to compile the compiler
+-**** after installation is complete you should reinstall
+-**** from scratch so you can use the more efficient
+-**** grade \`$BEST_GRADE_FOR_COMPILER'." >&5
+-echo "$as_me: WARNING: Mercury compiler not yet installed
+-**** cannot use grade \`$BEST_GRADE_FOR_COMPILER'
+-**** using grade \`$GRADE' to compile the compiler
+-**** after installation is complete you should reinstall
+-**** from scratch so you can use the more efficient
+-**** grade \`$BEST_GRADE_FOR_COMPILER'." >&2;}
+-
++ if test "$BOOTSTRAP_STAGE" = "1"; then
++ GRADE="$BOOTSTRAP_GRADE"
++ else
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ find library compiler browser mdbcomp analysis \
++ profiler deep_profiler \
++ -name \*.c -o -name \*.c_date | \
++ xargs rm > /dev/null 2>&1
++ find -name \*.o -o -name \*.pic_o -o \
++ -name \*.a -o -name \*.so | \
++ xargs rm > /dev/null 2>&1
+++ rm -f compiler/mercury_compile profiler/mercury_profile
++ fi
+ else
+- GRADE=$BEST_GRADE_FOR_COMPILER
+- echo "using grade \`$GRADE' to compile the compiler
+- compiler and library will be rebuilt with new grade
+- installation may take a long time" 1>&6
+- find library compiler browser mdbcomp analysis \
+- profiler deep_profiler \
+- -name \*.c -o -name \*.c_date | \
+- xargs rm > /dev/null 2>&1
++ if test "$BOOTSTRAP_STAGE" = "1"; then
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ find library compiler browser mdbcomp analysis \
++ profiler deep_profiler \
++ -name \*.c -o -name \*.c_date | \
++ xargs rm > /dev/null 2>&1
++ else
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ fi
+ fi
+ else
+ GRADE=$BEST_GRADE_FOR_COMPILER
+- echo "using grade \`$GRADE' to compile the compiler" 1>&6
+ fi
++echo "using grade \`$GRADE' to compile the compiler" 1>&6
+
+
+ #-----------------------------------------------------------------------------#
diff --git a/dev-lang/mercury/files/mercury-0.13.0-docs.patch b/dev-lang/mercury/files/mercury-0.13.0-docs.patch
new file mode 100644
index 000000000000..b1908ab32afc
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-docs.patch
@@ -0,0 +1,20 @@
+--- mercury-compiler-0.13.0.orig/doc/Mmakefile 2006-03-29 13:35:18.000000000 +1200
++++ mercury-compiler-0.13.0/doc/Mmakefile 2006-09-16 12:34:15.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
+
+ #-----------------------------------------------------------------------------#
+@@ -331,7 +331,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
+
diff --git a/dev-lang/mercury/files/mercury-0.13.0-libgrades.patch b/dev-lang/mercury/files/mercury-0.13.0-libgrades.patch
new file mode 100644
index 000000000000..fe027c4d083d
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-libgrades.patch
@@ -0,0 +1,251 @@
+--- mercury-compiler-0.13.0.orig/Mmakefile 2005-08-12 03:56:57.000000000 +1200
++++ mercury-compiler-0.13.0/Mmakefile 2006-09-16 11:58:30.000000000 +1200
+@@ -281,6 +281,54 @@
+ mdbcomp browser trace
+ +cd deep_profiler && $(SUBDIR_MMAKE)
+
++libgrades:
++ +for grade in x $(LIBGRADES); do \
++ if [ "$$grade" != "x" -a "$$grade" != "$(GRADE)" ]; then \
++ gc_grade=`scripts/ml --grade $$grade --print-gc-grade`; \
++ TWS=`/bin/pwd`/libgrades/$$grade; \
++ /bin/rm -fr libgrades/$$grade; \
++ mkdir -p libgrades/$$grade; \
++ ( scripts/prepare_tmp_dir_fixed_part $$grade && \
++ scripts/prepare_tmp_dir_grade_part $$grade ) && \
++ ( cd libgrades/$$grade/boehm_gc && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade \
++ WORKSPACE=$$TWS GC_GRADE=$$gc_grade \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/runtime && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/library && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/mdbcomp && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/browser && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/trace && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ true || \
++ exit 1; \
++ fi; \
++ done
++
+ #-----------------------------------------------------------------------------#
+
+ .PHONY: tags
+@@ -483,28 +531,13 @@
+ @echo
+ @echo "-- Installation complete."
+ @echo
+- @echo "-- Don't forget to add $(INSTALL_BINDIR) to your PATH,"
+- @echo "-- $(INSTALL_MAN_DIR) to your MANPATH,"
+- @echo "-- and $(INSTALL_INFO_DIR) to your INFOPATH,"
+- @if test $(ENABLE_DEEP_PROFILER) != yes || \
+- cmp -s deep_profiler/mdprof_cgi \
+- $(INSTALL_CGI_DIR)/mdprof_cgi; \
+- then true ; else \
+- echo "-- to copy deep_profiler/mdprof_cgi" \
+- "to $(INSTALL_CGI_DIR),"; \
+- fi
+- @echo "-- and to add the following lines to the \`.emacs' file"
+- @echo "-- in your home directory:"
+- @echo " (setq load-path (cons (expand-file-name "
+- @echo " \"$(INSTALL_ELISP_DIR)\") load-path))"
+- @echo " (autoload 'mdb \"gud\" \"Invoke the Mercury debugger\" t)"
+
+ .PHONY: install_main
+ install_main: all \
+ install_scripts install_util install_runtime install_boehm_gc \
+ install_library install_mdbcomp install_browser install_trace \
+ install_compiler install_slice install_profiler \
+- install_deep_profiler install_doc install_config
++ install_deep_profiler install_doc
+
+ .PHONY: install_scripts
+ install_scripts: scripts
+@@ -569,7 +602,7 @@
+ # .trans_opt .trans_opt_date .d .mh .mih .c_date .c .o .pic_o
+
+ .PHONY: install_grades
+-install_grades: all
++install_grades: all libgrades
+ #
+ # Use the newly installed compiler to build the libraries
+ # in various different grades. We need to override MC=mmc
+@@ -577,44 +610,33 @@
+ # runs the newly installed compiler, rather than using the
+ # bootstrap compiler.
+ #
+- /bin/rm -fr tmp_dir
+- scripts/prepare_tmp_dir_fixed_part
+ +for grade in x $(LIBGRADES); do \
+ if [ "$$grade" != "x" -a "$$grade" != "$(GRADE)" ]; then \
+ gc_grade=`scripts/ml --grade $$grade --print-gc-grade`; \
+- TWS=`/bin/pwd`/tmp_dir; \
+- scripts/prepare_tmp_dir_grade_part; \
+- ( cd tmp_dir/boehm_gc && \
++ TWS=`/bin/pwd`/libgrades/$$grade; \
++ ( cd libgrades/$$grade/boehm_gc && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade \
+ WORKSPACE=$$TWS GC_GRADE=$$gc_grade \
+ install_lib ) && \
+- ( cd tmp_dir/runtime && \
++ ( cd libgrades/$$grade/runtime && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_lib ) && \
+- ( cd tmp_dir/library && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/library && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/mdbcomp && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/mdbcomp && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/browser && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/browser && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/trace && \
++ ( cd libgrades/$$grade/trace && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_lib ) && \
+ true || \
+- { echo "To clean up from failed install, remove tmp_dir"; \
+- exit 1; }; \
++ exit 1; \
+ fi; \
+ done
+- if test ! -f .leave_tmp_dir; then rm -fr tmp_dir; fi
+
+ .PHONY: install_split_library
+ install_split_library: scripts dep_library
+--- mercury-compiler-0.13.0.orig/boehm_gc/Mmakefile 2004-10-19 19:01:36.000000000 +1300
++++ mercury-compiler-0.13.0/boehm_gc/Mmakefile 2006-09-16 12:01:01.000000000 +1200
+@@ -90,6 +90,9 @@
+ .PHONY: force
+ force:
+
++.PHONY: libgrade
++libgrade: lib$(GC_GRADE).$A lib$(GC_GRADE).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
+--- mercury-compiler-0.13.0.orig/browser/Mmakefile 2005-12-16 18:49:31.000000000 +1300
++++ mercury-compiler-0.13.0/browser/Mmakefile 2006-09-16 12:18:39.000000000 +1200
+@@ -186,6 +186,11 @@
+ .PHONY: int3s
+ int3s: $(INT3S_TARGETS)
+
++.PHONY: libgrade
++libgrade: \
++ lib$(BROWSER_LIB_NAME).$A \
++ lib$(BROWSER_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(BROWSER_LIB_NAME).ms)
+--- mercury-compiler-0.13.0.orig/library/Mmakefile 2006-01-10 18:30:36.000000000 +1300
++++ mercury-compiler-0.13.0/library/Mmakefile 2006-09-16 12:20:37.000000000 +1200
+@@ -196,6 +196,9 @@
+ trans_opts: $(STD_LIB_NAME).trans_opts
+ $(STD_LIB_NAME).trans_opts: $($(STD_LIB_NAME).trans_opts)
+
++.PHONY: libgrade
++libgrade: lib$(STD_LIB_NAME)
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(STD_LIB_NAME).ms)
+--- mercury-compiler-0.13.0.orig/mdbcomp/Mmakefile 2005-12-16 18:49:40.000000000 +1300
++++ mercury-compiler-0.13.0/mdbcomp/Mmakefile 2006-09-16 12:22:14.000000000 +1200
+@@ -150,6 +150,13 @@
+ .PHONY: int3s
+ int3s: $(INT3S_TARGETS)
+
++.PHONY: libgrade
++libgrade: \
++ $(mer_mdbcomp.int3s) $(mer_mdbcomp.ints) \
++ lib$(MDBCOMP_LIB_NAME).$A \
++ lib$(MDBCOMP_LIB_NAME).$(EXT_FOR_SHARED_LIB) \
++ all-ints
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(MDBCOMP_LIB_NAME).ms)
+--- mercury-compiler-0.13.0.orig/runtime/Mmakefile 2006-03-30 18:13:48.000000000 +1200
++++ mercury-compiler-0.13.0/runtime/Mmakefile 2006-09-16 12:23:46.000000000 +1200
+@@ -420,6 +420,9 @@
+ @if test ! -f tags; then echo making tags; \
+ ctags $(CFILES) $(HDRS) $(BODY_HDRS) $(LIB_DLL_H); fi
+
++.PHONY: libgrade
++libgrade: lib$(RT_LIB_NAME).$A lib$(RT_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
+--- mercury-compiler-0.13.0.orig/scripts/prepare_tmp_dir_fixed_part.in 2005-01-28 20:11:59.000000000 +1300
++++ mercury-compiler-0.13.0/scripts/prepare_tmp_dir_fixed_part.in 2006-09-16 12:28:36.000000000 +1200
+@@ -12,7 +12,9 @@
+ fi
+ wd=`/bin/pwd`
+
+-mkdir tmp_dir
++tmp_dir=libgrades/$1
++
++mkdir -p tmp_dir
+ cp Mmake* tmp_dir
+ cp Mercury.* tmp_dir
+ cp VERSION tmp_dir
+--- mercury-compiler-0.13.0.orig/scripts/prepare_tmp_dir_grade_part 2005-05-20 18:15:20.000000000 +1200
++++ mercury-compiler-0.13.0/scripts/prepare_tmp_dir_grade_part 2006-09-16 12:30:47.000000000 +1200
+@@ -5,6 +5,8 @@
+ # Public License - see the file COPYING in the Mercury distribution.
+ #---------------------------------------------------------------------------#
+
++tmp_dir=libgrades/$1
++
+ rm -fr tmp_dir/boehm_gc
+ rm -fr tmp_dir/runtime
+ rm -fr tmp_dir/trace
+--- mercury-compiler-0.13.0.orig/trace/Mmakefile 2006-04-04 19:42:03.000000000 +1200
++++ mercury-compiler-0.13.0/trace/Mmakefile 2006-09-16 12:25:49.000000000 +1200
+@@ -204,6 +204,9 @@
+ @if test ! -f tags; then echo making tags; \
+ ctags $(CFILES) $(HDRS) $(RUNTIME_DIR)/*.c $(RUNTIME_DIR)/*.h ; fi
+
++.PHONY: libgrade
++libgrade: lib$(TRACE_LIB_NAME).$A lib$(TRACE_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
diff --git a/dev-lang/mercury/files/mercury-0.13.0-portage.patch b/dev-lang/mercury/files/mercury-0.13.0-portage.patch
new file mode 100644
index 000000000000..0db4ff431af6
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-portage.patch
@@ -0,0 +1,91 @@
+--- mercury-compiler-0.13.0.orig/Makefile 2005-08-22 15:38:34.000000000 +1200
++++ mercury-compiler-0.13.0/Makefile 2006-09-16 10:38:21.000000000 +1200
+@@ -26,7 +26,7 @@
+
+ .PHONY: all
+ all:
+- $(MMAKE) MMAKEFLAGS=$(PARALLEL) all
++ $(MMAKE) MMAKEFLAGS=$(PARALLEL) all || exit 1
+
+ .PHONY: libmmc
+ libmmc:
+@@ -34,7 +34,7 @@
+
+ .PHONY: install
+ install:
+- $(MMAKE) MMAKEFLAGS=$(PARALLEL) install
++ $(MMAKE) MMAKEFLAGS=$(PARALLEL) install || exit 1
+
+ # `mmake clean' has a different meaning to the usual GNU standard `make clean':
+ # it removes the .c files, which makes bootstrapping impossible unless you
+--- mercury-compiler-0.13.0.orig/configure 2006-09-14 16:06:21.000000000 +1200
++++ mercury-compiler-0.13.0/configure 2006-09-16 10:41:52.000000000 +1200
+@@ -9148,11 +9148,11 @@
+ enable_mm_grades=no
+ enable_dmm_grades=no
+ enable_hlc_prof_grades=no
+- enable_par_grades=no
+ enable_dotnet_grades=no
+ enable_java_grade=no
+ fi
+
++
+ #-----------------------------------------------------------------------------#
+
+ #
+--- mercury-compiler-0.13.0.orig/runtime/Mmakefile 2006-03-30 18:13:48.000000000 +1200
++++ mercury-compiler-0.13.0/runtime/Mmakefile 2006-09-16 10:45:05.000000000 +1200
+@@ -434,8 +434,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 +479,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.0.orig/scripts/Mmakefile 2006-04-04 19:41:49.000000000 +1200
++++ mercury-compiler-0.13.0/scripts/Mmakefile 2006-09-16 10:52:36.000000000 +1200
+@@ -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.0-tests.patch b/dev-lang/mercury/files/mercury-0.13.0-tests.patch
new file mode 100644
index 000000000000..497c704668f4
--- /dev/null
+++ b/dev-lang/mercury/files/mercury-0.13.0-tests.patch
@@ -0,0 +1,120 @@
+diff -urN mercury-tests-0.13.0.orig/hard_coded/dir_test.exp mercury-tests-0.13.0/hard_coded/dir_test.exp
+--- mercury-tests-0.13.0.orig/hard_coded/dir_test.exp 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.0/hard_coded/dir_test.exp 2006-09-16 12:41:31.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
+ make_directory succeeded
+ make_directory succeeded
+ dir.make_single_directory with non-existent parent failed as expected.
+diff -urN mercury-tests-0.13.0.orig/hard_coded/dir_test.exp2 mercury-tests-0.13.0/hard_coded/dir_test.exp2
+--- mercury-tests-0.13.0.orig/hard_coded/dir_test.exp2 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.0/hard_coded/dir_test.exp2 2006-09-16 12:41:31.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
+ make_directory succeeded
+ make_directory succeeded
+ dir.make_single_directory with non-existent parent failed as expected.
+diff -urN mercury-tests-0.13.0.orig/hard_coded/dir_test.exp3 mercury-tests-0.13.0/hard_coded/dir_test.exp3
+--- mercury-tests-0.13.0.orig/hard_coded/dir_test.exp3 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.0/hard_coded/dir_test.exp3 2006-09-16 12:41:31.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
+ make_directory succeeded
+ make_directory succeeded
+ dir.make_single_directory with non-existent parent failed as expected.
+diff -urN mercury-tests-0.13.0.orig/hard_coded/dir_test.m mercury-tests-0.13.0/hard_coded/dir_test.m
+--- mercury-tests-0.13.0.orig/hard_coded/dir_test.m 2006-03-29 20:08:00.000000000 +1200
++++ mercury-tests-0.13.0/hard_coded/dir_test.m 2006-09-16 12:41:31.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")
+- ),
+-
+ { Dir1 = "test_dir"/"d1" },
+ test0("make_directory", dir__make_directory(Dir1)),
+ % Test making a directory that already exists.
+diff -urN mercury-tests-0.13.0.orig/mdbrc mercury-tests-0.13.0/mdbrc
+--- mercury-tests-0.13.0.orig/mdbrc 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/mdbrc 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,19 @@
++source MDB_DOC
++alias s step
++alias g goto
++alias f finish
++alias r retry
++alias v vars
++alias p print
++alias P print *
++alias d stack
++alias c continue
++alias b break
++alias h help
++alias ? help
++alias excp exception
++alias e exception
++alias EMPTY step
++alias NUMBER step
++set xml_browser_cmd ''
++set xml_tmp_filename ''
+diff -urN mercury-tests-0.13.0.orig/tabling/loopcheck.exp5 mercury-tests-0.13.0/tabling/loopcheck.exp5
+--- mercury-tests-0.13.0.orig/tabling/loopcheck.exp5 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/tabling/loopcheck.exp5 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred loopcheck.loop/1
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.0.orig/tabling/loopcheck_nondet.exp2 mercury-tests-0.13.0/tabling/loopcheck_nondet.exp2
+--- mercury-tests-0.13.0.orig/tabling/loopcheck_nondet.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/tabling/loopcheck_nondet.exp2 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred loopcheck_nondet.loop/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.0.orig/tabling/tc_loop.exp3 mercury-tests-0.13.0/tabling/tc_loop.exp3
+--- mercury-tests-0.13.0.orig/tabling/tc_loop.exp3 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/tabling/tc_loop.exp3 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred tc_loop.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.0.orig/tabling/tc_memo.exp2 mercury-tests-0.13.0/tabling/tc_memo.exp2
+--- mercury-tests-0.13.0.orig/tabling/tc_memo.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/tabling/tc_memo.exp2 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred tc_memo.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.0.orig/tabling/tc_memo2.exp2 mercury-tests-0.13.0/tabling/tc_memo2.exp2
+--- mercury-tests-0.13.0.orig/tabling/tc_memo2.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.0/tabling/tc_memo2.exp2 2006-09-16 12:41:44.000000000 +1200
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected need for minimal model in pred tc_memo2.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.0.orig/valid/Mmakefile mercury-tests-0.13.0/valid/Mmakefile
+--- mercury-tests-0.13.0.orig/valid/Mmakefile 2006-08-07 17:02:39.000000000 +1200
++++ mercury-tests-0.13.0/valid/Mmakefile 2006-09-16 12:41:44.000000000 +1200
+@@ -397,3 +397,5 @@
+ rm -f *.err *.h
+
+ #-----------------------------------------------------------------------------#
++
++MCFLAGS-ho_and_type_spec_bug+=--no-optimize-higher-order