summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2006-04-01 06:49:18 +0000
committerKeri Harris <keri@gentoo.org>2006-04-01 06:49:18 +0000
commit9364de29b468f2c9336553c86f923f20f1d5b02e (patch)
treec803ded6920eddf5e3a2559a33cda8f9529463a8 /dev-lang
parentRevbump to fix security bug #126475. (diff)
downloadhistorical-9364de29b468f2c9336553c86f923f20f1d5b02e.tar.gz
historical-9364de29b468f2c9336553c86f923f20f1d5b02e.tar.bz2
historical-9364de29b468f2c9336553c86f923f20f1d5b02e.zip
Update gcc patchset to gcc-4.x
Package-Manager: portage-2.1_pre7-r3
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mercury-extras/ChangeLog10
-rw-r--r--dev-lang/mercury-extras/Manifest27
-rw-r--r--dev-lang/mercury-extras/files/mercury-extras-0.12.2-gcc4.patch341
-rw-r--r--dev-lang/mercury-extras/files/mercury-extras-0.12.2-lex.patch17
-rw-r--r--dev-lang/mercury-extras/files/mercury-extras-0.12.2-odbc.patch305
-rw-r--r--dev-lang/mercury-extras/files/mercury-extras-0.12.2-references.patch13
-rw-r--r--dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild5
7 files changed, 402 insertions, 316 deletions
diff --git a/dev-lang/mercury-extras/ChangeLog b/dev-lang/mercury-extras/ChangeLog
index 68bf40deb59c..65c8204c5be5 100644
--- a/dev-lang/mercury-extras/ChangeLog
+++ b/dev-lang/mercury-extras/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-lang/mercury-extras
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.2 2006/03/27 19:08:41 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.3 2006/04/01 06:49:18 keri Exp $
+
+ 01 Apr 2006; Keri Harris <keri@gentoo.org>
+ +files/mercury-extras-0.12.2-gcc4.patch,
+ +files/mercury-extras-0.12.2-lex.patch,
+ files/mercury-extras-0.12.2-odbc.patch,
+ +files/mercury-extras-0.12.2-references.patch,
+ mercury-extras-0.12.2.ebuild:
+ Update gcc patchset to gcc-4.x
27 Mar 2006; Keri Harris <keri@gentoo.org> mercury-extras-0.12.2.ebuild:
Add ~ppc keyword.
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index 66a26f8439a7..fda9146f8d44 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -1,12 +1,18 @@
-MD5 336636b74e69a63b68bd48a7f94343e1 ChangeLog 765
-RMD160 37629c3a1b6582dd962a4c0095d25bfc268d2994 ChangeLog 765
-SHA256 9c55d875c2a6150de606b6deab206bef992562b28f2737c8bf961675d9521730 ChangeLog 765
+MD5 7333efa382f3204d5ce0ccab6e792496 ChangeLog 1052
+RMD160 840edac258eb74a0c43a2996e6c6844a50fd28a9 ChangeLog 1052
+SHA256 4642d5936b19f2c40760479f94740ac265e706564a93e5bac9899b5952d10c24 ChangeLog 1052
MD5 04bb3f50c82519cd929f7754557a4124 files/digest-mercury-extras-0.12.2 265
RMD160 e18050a352bc3f86650cf53244bbb17545ef0817 files/digest-mercury-extras-0.12.2 265
SHA256 087bf13f383826ff1da30ff861cfc48008b7037a9a844f14fee94f51934ec525 files/digest-mercury-extras-0.12.2 265
MD5 46b54062fd1dea38e3b6f8724fe51f02 files/mercury-extras-0.12.2-concurrency.patch 316
RMD160 a9bcbafeaf0ee76782adbe289442bdff1012fa38 files/mercury-extras-0.12.2-concurrency.patch 316
SHA256 40fd7961b6677cacc80d2460c9f4b11effdabbe00c3b026f0f65ea46c70d7189 files/mercury-extras-0.12.2-concurrency.patch 316
+MD5 bccd57017e292abe8dd823550d84e6dd files/mercury-extras-0.12.2-gcc4.patch 9480
+RMD160 3167a1b7597cfa13523515a238489d3537e06a39 files/mercury-extras-0.12.2-gcc4.patch 9480
+SHA256 29aad4705fc0454eddb5f4db2bde04c4458bb6e97c1a7bd122c21750b6ac8b29 files/mercury-extras-0.12.2-gcc4.patch 9480
+MD5 e4e1c52481e18cc1720327a2eab4b5b9 files/mercury-extras-0.12.2-lex.patch 636
+RMD160 05e4b59060eedabf5ef12538cb84104acb2daa40 files/mercury-extras-0.12.2-lex.patch 636
+SHA256 07a67e38ed96e3c9fd93b66a1c286c449f729d8b62a11da8d87e3b63c0fe95a3 files/mercury-extras-0.12.2-lex.patch 636
MD5 dea6a8e8e35df61d139d6cd53c854b4b files/mercury-extras-0.12.2-mercury_glut.patch 772
RMD160 b6a25522462d184a5ba1a9d24c9b02b36c881f8d files/mercury-extras-0.12.2-mercury_glut.patch 772
SHA256 3c2ceb61501858b91c1d849b2d5ee5584aa195eaaa1b08bdd8d2a9b06a5d1148 files/mercury-extras-0.12.2-mercury_glut.patch 772
@@ -16,15 +22,18 @@ SHA256 a3386eb7f4e2b83a4cde8769e8538813a3905791203a699a573ada416f020e48 files/me
MD5 614e4760029addc5eacd93113c3732b3 files/mercury-extras-0.12.2-mercury_tcltk.patch 743
RMD160 f7af4bbedd55cb3ecd4848dee5a8af20814d1832 files/mercury-extras-0.12.2-mercury_tcltk.patch 743
SHA256 b28c2ef749ce1f1923fa8e867d1e78811dc93c695b8387335ad6f709e4721b2f files/mercury-extras-0.12.2-mercury_tcltk.patch 743
-MD5 aaa4ea3427154dacad44ea8a8a6c1e2f files/mercury-extras-0.12.2-odbc.patch 9359
-RMD160 bd7c5fe311dbab531bef2969f1576cbb420bc702 files/mercury-extras-0.12.2-odbc.patch 9359
-SHA256 25f3f17450633af0cbc953b88b642630675a952f6c286e01119145bed89723f6 files/mercury-extras-0.12.2-odbc.patch 9359
+MD5 89a0a45245bd72fe139becbd4398ac29 files/mercury-extras-0.12.2-odbc.patch 1220
+RMD160 e697733a639f81bcdc9010da481226fbab50f375 files/mercury-extras-0.12.2-odbc.patch 1220
+SHA256 7b20c88383ced7e9d7c5be480885cf220c8cac65ef4729c441b7aca741d8d792 files/mercury-extras-0.12.2-odbc.patch 1220
+MD5 b9fac0e10816ce66ea6e2ebe6034a1a9 files/mercury-extras-0.12.2-references.patch 513
+RMD160 caa71ac5e0c9457b9ce48a0ea852fe107e3af0d8 files/mercury-extras-0.12.2-references.patch 513
+SHA256 02b567cd088fca260d80ca795d2f303860f87fd4005b7157ba97ef31f448fbe6 files/mercury-extras-0.12.2-references.patch 513
MD5 69eb84492666aced8984fcf3ac90af06 files/mercury-extras-0.12.2-trailed_update.patch 762
RMD160 c69b30d1aac449a878a654ae422b7c9cad208faf files/mercury-extras-0.12.2-trailed_update.patch 762
SHA256 7e79baf412ff2b60966027464ee9a2c3008a619ae2e1107ae3e871b4082673fe files/mercury-extras-0.12.2-trailed_update.patch 762
-MD5 6852aaf54ab2d66698a844fa6d6e6708 mercury-extras-0.12.2.ebuild 2571
-RMD160 213aa36f5ee60782d66d78b01c86348fca6b6292 mercury-extras-0.12.2.ebuild 2571
-SHA256 e8dd11f7a4d40e9dd690450179805db0f56541017fa672d1f4e3ad10405450eb mercury-extras-0.12.2.ebuild 2571
+MD5 a0b740456e04a360edc59e40c97b86ee mercury-extras-0.12.2.ebuild 2690
+RMD160 2c945112c44d2b87730d0f80c4985b72d3da5dad mercury-extras-0.12.2.ebuild 2690
+SHA256 6a6f8742178abceaec1bea20d868ed0e03539c08b98ac520d02a2e6ebc490f49 mercury-extras-0.12.2.ebuild 2690
MD5 6fca20d17d6d55a28537204aa9bb626f metadata.xml 247
RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 metadata.xml 247
SHA256 be2c02607bd8d5bf707b178d925fa94c6c705014aa488156323589ca4eaac380 metadata.xml 247
diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-gcc4.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-gcc4.patch
new file mode 100644
index 000000000000..6ceaccebb03f
--- /dev/null
+++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-gcc4.patch
@@ -0,0 +1,341 @@
+--- mercury-extras-0.12.2.orig/concurrency/global.m 2003-03-01 04:20:33.000000000 +1300
++++ mercury-extras-0.12.2/concurrency/global.m 2006-03-29 22:09:36.000000000 +1200
+@@ -54,7 +54,7 @@
+ :- pragma c_code(global__new(Thing::in, Glob::out, IO0::di, IO::uo),
+ will_not_call_mercury, "{
+ MR_Word *tmp;
+- MR_incr_hp((MR_Word) tmp, 1);
++ MR_incr_hp((*(MR_Word*)&(tmp)), 1);
+ *tmp = Thing;
+ Glob = (MR_Word) tmp;
+ IO = IO0;
+--- mercury-extras-0.12.2.orig/curs/curs.m 2004-12-02 16:22:03.000000000 +1300
++++ mercury-extras-0.12.2/curs/curs.m 2006-03-29 22:13:00.000000000 +1200
+@@ -965,7 +965,7 @@
+ wattrset(w, Attr);
+ wcolor_set(w, Attr, NULL);
+ wclear(w);
+- (PANEL *)Panel = new_panel(w);
++ (*(PANEL**)&(Panel)) = new_panel(w);
+
+ IO = IO0;
+
+--- mercury-extras-0.12.2.orig/graphics/mercury_tcltk/mtcltk.m 2005-08-15 21:12:13.000000000 +1200
++++ mercury-extras-0.12.2/graphics/mercury_tcltk/mtcltk.m 2006-03-29 22:28:22.000000000 +1200
+@@ -141,7 +141,7 @@
+ argc++;
+ }
+
+- MR_incr_hp(MR_LVALUE_CAST(MR_Word, argv), argc + 1);
++ MR_incr_hp((*(MR_Word*)&(argv)), argc + 1);
+
+ for (i = 0, l = Args; l != list_empty(); l = list_tail(l), i++) {
+ argv[i] = (char *) MR_list_head(l);
+--- mercury-extras-0.12.2.orig/odbc/odbc.m 2005-02-13 02:50:41.000000000 +1300
++++ mercury-extras-0.12.2/odbc/odbc.m 2006-03-29 21:41:48.000000000 +1200
+@@ -1316,38 +1316,38 @@
+ Status::out, DB0::di, DB::uo),
+ may_call_mercury,
+ "{
+- MODBC_Statement *stat;
++ MODBC_Statement *statement;
+
+- stat = (MODBC_Statement *) Statement0;
++ statement = (MODBC_Statement *) Statement0;
+
+- MR_assert(stat != NULL);
++ MR_assert(statement != NULL);
+
+- if (stat->num_rows == 0 ) {
++ if (statement->num_rows == 0 ) {
+ MR_DEBUG(printf(""Fetching rows...\\n""));
+ }
+
+ /* Fetching new row */
+- Status = SQLFetch(stat->stat_handle);
++ Status = SQLFetch(statement->stat_handle);
+
+ if (Status != SQL_NO_DATA_FOUND &&
+ ! odbc_check(odbc_env_handle, odbc_connection,
+- stat->stat_handle, Status))
++ statement->stat_handle, Status))
+ {
+- odbc_do_cleanup_statement(stat);
++ odbc_do_cleanup_statement(statement);
+ odbc_throw();
+ /* not reached */
+ }
+
+ /* Update number of rows fetched */
+ if (Status == SQL_SUCCESS) {
+- stat->num_rows++;
++ statement->num_rows++;
+ }
+
+ if (Status == SQL_NO_DATA_FOUND) {
+- MR_DEBUG(printf(""Fetched %d rows\\n"", stat->num_rows));
++ MR_DEBUG(printf(""Fetched %d rows\\n"", statement->num_rows));
+ }
+
+- Statement = (MR_Word) stat;
++ Statement = (MR_Word) statement;
+ DB = DB0;
+
+ }").
+@@ -1362,13 +1362,13 @@
+ Statement::uo, DB0::di, DB::uo),
+ will_not_call_mercury,
+ "{
+- MODBC_Statement * stat;
++ MODBC_Statement * statement;
+
+- stat = (MODBC_Statement *) Statement0;
++ statement = (MODBC_Statement *) Statement0;
+
+- MR_assert(stat != NULL);
++ MR_assert(statement != NULL);
+
+- NumColumns = stat->num_columns;
++ NumColumns = statement->num_columns;
+ DB = DB0;
+ Statement = Statement0;
+ }").
+@@ -1384,25 +1384,25 @@
+ may_call_mercury,
+ "{
+
+- MODBC_Statement *stat;
++ MODBC_Statement *statement;
+ MODBC_Column *col;
+ SQLRETURN rc;
+ SDWORD column_info;
+
+- stat = (MODBC_Statement *) Statement0;
++ statement = (MODBC_Statement *) Statement0;
+
+- MR_assert(stat != NULL);
+- MR_assert(stat->row != NULL);
++ MR_assert(statement != NULL);
++ MR_assert(statement->row != NULL);
+
+- MR_DEBUG(printf(""Getting column %i\n"", (int) Column));
++ MR_DEBUG(printf(""Getting column %i\\n"", (int) Column));
+
+- if (stat->binding_type == MODBC_GET_DATA) {
++ if (statement->binding_type == MODBC_GET_DATA) {
+
+ /* Slurp up the data for this column. */
+- odbc_do_get_data(stat, Column);
++ odbc_do_get_data(statement, Column);
+ }
+
+- col = &(stat->row[Column]);
++ col = &(statement->row[Column]);
+
+ if (col->value_info == SQL_NULL_DATA) {
+ Type = MODBC_NULL;
+@@ -1430,7 +1430,7 @@
+ odbc_message_list =
+ MR_list_cons(overflow_message,
+ odbc_message_list);
+- odbc_do_cleanup_statement(stat);
++ odbc_do_cleanup_statement(statement);
+ odbc_throw();
+ }
+ break;
+@@ -1475,7 +1475,7 @@
+ break;
+ } /* end switch (Type) */
+
+- Statement = (MR_Word) stat;
++ Statement = (MR_Word) statement;
+ DB = DB0;
+
+ } /* end odbc__get_data() */
+@@ -1484,7 +1484,7 @@
+ :- pragma c_code("
+
+ void
+-odbc_do_get_data(MODBC_Statement *stat, int column_id)
++odbc_do_get_data(MODBC_Statement *statement, int column_id)
+ {
+ MODBC_Column *column;
+ SQLRETURN rc;
+@@ -1494,11 +1494,11 @@
+ ** byte and nothing else.
+ */
+
+- column = &(stat->row[column_id]);
++ column = &(statement->row[column_id]);
+ if (column->attr_type == MODBC_VAR_STRING) {
+
+ /* Just get the length first time through. */
+- rc = SQLGetData(stat->stat_handle, column_id,
++ rc = SQLGetData(statement->stat_handle, column_id,
+ column->conversion_type, dummy_buffer,
+ 1, &(column->value_info));
+
+@@ -1510,9 +1510,9 @@
+ if (rc != SQL_SUCCESS_WITH_INFO &&
+ ! odbc_check(odbc_env_handle,
+ odbc_connection,
+- stat->stat_handle, rc))
++ statement->stat_handle, rc))
+ {
+- odbc_do_cleanup_statement(stat);
++ odbc_do_cleanup_statement(statement);
+ odbc_throw();
+ }
+
+@@ -1535,7 +1535,7 @@
+ ** length of the available data, rather than the
+ ** total length of data available.
+ */
+- odbc_get_data_in_chunks(stat, column_id);
++ odbc_get_data_in_chunks(statement, column_id);
+ } else {
+ MR_Word data;
+
+@@ -1543,42 +1543,42 @@
+ ** column->value_info == length of data
+ */
+ column->size = column->value_info + 1;
+- MR_incr_hp_atomic(MR_LVALUE_CAST(MR_Word, column->data),
++ MR_incr_hp_atomic((*(MR_Word*)&(column->data)),
+ (column->size + sizeof(MR_Word)) / sizeof(MR_Word));
+- odbc_get_data_in_one_go(stat, column_id);
++ odbc_get_data_in_one_go(statement, column_id);
+ }
+ } else {
+ /*
+ ** It's a fixed length column, so we can
+ ** get the lot in one go.
+ */
+- odbc_get_data_in_one_go(stat, column_id);
++ odbc_get_data_in_one_go(statement, column_id);
+ }
+ }
+
+ void
+-odbc_get_data_in_one_go(MODBC_Statement *stat, int column_id)
++odbc_get_data_in_one_go(MODBC_Statement *statement, int column_id)
+ {
+ MODBC_Column *col;
+ SQLRETURN rc;
+
+- MR_DEBUG(printf(""getting column %i in one go\n"", column_id));
++ MR_DEBUG(printf(""getting column %i in one go\\n"", column_id));
+
+- col = &(stat->row[column_id]);
++ col = &(statement->row[column_id]);
+
+- rc = SQLGetData(stat->stat_handle, column_id, col->conversion_type,
++ rc = SQLGetData(statement->stat_handle, column_id, col->conversion_type,
+ (SQLPOINTER) col->data, col->size, &(col->value_info));
+
+ if (! odbc_check(odbc_env_handle, odbc_connection,
+- stat->stat_handle, rc))
++ statement->stat_handle, rc))
+ {
+- odbc_do_cleanup_statement(stat);
++ odbc_do_cleanup_statement(statement);
+ odbc_throw();
+ }
+ }
+
+ void
+-odbc_get_data_in_chunks(MODBC_Statement *stat, int column_id)
++odbc_get_data_in_chunks(MODBC_Statement *statement, int column_id)
+ {
+ MODBC_Column *col;
+ SQLRETURN rc;
+@@ -1586,11 +1586,11 @@
+ MR_Word chunk_list;
+ String result;
+
+- MR_DEBUG(printf(""getting column %i in chunks\n"", column_id));
++ MR_DEBUG(printf(""getting column %i in chunks\\n"", column_id));
+
+ chunk_list = MR_list_empty();
+
+- col = &(stat->row[column_id]);
++ col = &(statement->row[column_id]);
+
+ rc = SQL_SUCCESS_WITH_INFO;
+
+@@ -1601,7 +1601,7 @@
+ */
+ while (rc == SQL_SUCCESS_WITH_INFO) {
+
+- rc = SQLGetData(stat->stat_handle, column_id,
++ rc = SQLGetData(statement->stat_handle, column_id,
+ col->conversion_type, (SQLPOINTER) this_bit,
+ MODBC_CHUNK_SIZE - 1, &(col->value_info));
+
+@@ -1611,9 +1611,9 @@
+
+ if (rc != SQL_SUCCESS_WITH_INFO &&
+ ! odbc_check(odbc_env_handle, odbc_connection,
+- stat->stat_handle, rc))
++ statement->stat_handle, rc))
+ {
+- odbc_do_cleanup_statement(stat);
++ odbc_do_cleanup_statement(statement);
+ odbc_throw();
+ }
+
+@@ -1655,12 +1655,12 @@
+ odbc__cleanup_statement_check_error(Statement::di, DB0::di, DB::uo),
+ may_call_mercury,
+ "{
+- MODBC_Statement *stat;
++ MODBC_Statement *statement;
+ SQLRETURN rc;
+
+- stat = (MODBC_Statement *) Statement;
++ statement = (MODBC_Statement *) Statement;
+
+- rc = odbc_do_cleanup_statement(stat);
++ rc = odbc_do_cleanup_statement(statement);
+ if (! odbc_check(odbc_env_handle, odbc_connection,
+ SQL_NULL_HSTMT, rc))
+ {
+@@ -1672,29 +1672,29 @@
+ :- pragma c_code("
+
+ static SQLRETURN
+-odbc_do_cleanup_statement(MODBC_Statement *stat)
++odbc_do_cleanup_statement(MODBC_Statement *statement)
+ {
+ int i;
+ SQLRETURN rc;
+
+- if (stat != NULL) {
++ if (statement != NULL) {
+ MR_DEBUG(printf(""cleaning up statement\\n""));
+- if (stat->row != NULL) {
+- for (i = 1; i <= stat->num_columns; i++) {
++ if (statement->row != NULL) {
++ for (i = 1; i <= statement->num_columns; i++) {
+ /*
+ ** Variable length types are allocated directly
+ ** onto the Mercury heap, so don't free them here.
+ */
+ if (! is_variable_length_sql_type(
+- stat->row[i].sql_type))
++ statement->row[i].sql_type))
+ {
+- MR_GC_free(stat->row[i].data);
++ MR_GC_free(statement->row[i].data);
+ }
+ }
+- MR_GC_free(stat->row);
++ MR_GC_free(statement->row);
+ }
+- rc = SQLFreeStmt(stat->stat_handle, SQL_DROP);
+- MR_GC_free(stat);
++ rc = SQLFreeStmt(statement->stat_handle, SQL_DROP);
++ MR_GC_free(statement);
+ return rc;
+ } else {
+ return SQL_SUCCESS;
diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-lex.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-lex.patch
new file mode 100644
index 000000000000..a45c7ad90ae4
--- /dev/null
+++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-lex.patch
@@ -0,0 +1,17 @@
+--- mercury-extras-0.12.2.orig/lex/Mmakefile 2002-12-03 17:48:31.000000000 +1300
++++ mercury-extras-0.12.2/lex/Mmakefile 2006-04-01 15:14:41.000000000 +1200
+@@ -20,12 +20,12 @@
+ # necessary, and everything put there.
+ #
+ #INSTALL_PREFIX := $(INSTALL_PREFIX)/extras
+-INSTALL_PREFIX = .
++#INSTALL_PREFIX = .
+
+ # Omit this line if you want to install the default grades.
+ # Edit this line if you want to install with different grades.
+ #
+-LIBGRADES = asm_fast.gc hlc.gc asm_fast.gc.tr.debug
++#LIBGRADES = asm_fast.gc hlc.gc asm_fast.gc.tr.debug
+
+ # Any application using these libraries will also need the following
+ # in its Mmakefile:
diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-odbc.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-odbc.patch
index a274618386ff..f230fe831980 100644
--- a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-odbc.patch
+++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-odbc.patch
@@ -33,308 +33,3 @@
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#
---- mercury-extras-0.12.2.orig/odbc/odbc.m 2005-02-13 02:50:41.000000000 +1300
-+++ mercury-extras-0.12.2/odbc/odbc.m 2006-03-26 16:05:49.000000000 +1200
-@@ -1316,38 +1316,38 @@
- Status::out, DB0::di, DB::uo),
- may_call_mercury,
- "{
-- MODBC_Statement *stat;
-+ MODBC_Statement *statement;
-
-- stat = (MODBC_Statement *) Statement0;
-+ statement = (MODBC_Statement *) Statement0;
-
-- MR_assert(stat != NULL);
-+ MR_assert(statement != NULL);
-
-- if (stat->num_rows == 0 ) {
-+ if (statement->num_rows == 0 ) {
- MR_DEBUG(printf(""Fetching rows...\\n""));
- }
-
- /* Fetching new row */
-- Status = SQLFetch(stat->stat_handle);
-+ Status = SQLFetch(statement->stat_handle);
-
- if (Status != SQL_NO_DATA_FOUND &&
- ! odbc_check(odbc_env_handle, odbc_connection,
-- stat->stat_handle, Status))
-+ statement->stat_handle, Status))
- {
-- odbc_do_cleanup_statement(stat);
-+ odbc_do_cleanup_statement(statement);
- odbc_throw();
- /* not reached */
- }
-
- /* Update number of rows fetched */
- if (Status == SQL_SUCCESS) {
-- stat->num_rows++;
-+ statement->num_rows++;
- }
-
- if (Status == SQL_NO_DATA_FOUND) {
-- MR_DEBUG(printf(""Fetched %d rows\\n"", stat->num_rows));
-+ MR_DEBUG(printf(""Fetched %d rows\\n"", statement->num_rows));
- }
-
-- Statement = (MR_Word) stat;
-+ Statement = (MR_Word) statement;
- DB = DB0;
-
- }").
-@@ -1362,13 +1362,13 @@
- Statement::uo, DB0::di, DB::uo),
- will_not_call_mercury,
- "{
-- MODBC_Statement * stat;
-+ MODBC_Statement * statement;
-
-- stat = (MODBC_Statement *) Statement0;
-+ statement = (MODBC_Statement *) Statement0;
-
-- MR_assert(stat != NULL);
-+ MR_assert(statement != NULL);
-
-- NumColumns = stat->num_columns;
-+ NumColumns = statement->num_columns;
- DB = DB0;
- Statement = Statement0;
- }").
-@@ -1384,25 +1384,25 @@
- may_call_mercury,
- "{
-
-- MODBC_Statement *stat;
-+ MODBC_Statement *statement;
- MODBC_Column *col;
- SQLRETURN rc;
- SDWORD column_info;
-
-- stat = (MODBC_Statement *) Statement0;
-+ statement = (MODBC_Statement *) Statement0;
-
-- MR_assert(stat != NULL);
-- MR_assert(stat->row != NULL);
-+ MR_assert(statement != NULL);
-+ MR_assert(statement->row != NULL);
-
-- MR_DEBUG(printf(""Getting column %i\n"", (int) Column));
-+ MR_DEBUG(printf(""Getting column %i\\n"", (int) Column));
-
-- if (stat->binding_type == MODBC_GET_DATA) {
-+ if (statement->binding_type == MODBC_GET_DATA) {
-
- /* Slurp up the data for this column. */
-- odbc_do_get_data(stat, Column);
-+ odbc_do_get_data(statement, Column);
- }
-
-- col = &(stat->row[Column]);
-+ col = &(statement->row[Column]);
-
- if (col->value_info == SQL_NULL_DATA) {
- Type = MODBC_NULL;
-@@ -1430,7 +1430,7 @@
- odbc_message_list =
- MR_list_cons(overflow_message,
- odbc_message_list);
-- odbc_do_cleanup_statement(stat);
-+ odbc_do_cleanup_statement(statement);
- odbc_throw();
- }
- break;
-@@ -1475,7 +1475,7 @@
- break;
- } /* end switch (Type) */
-
-- Statement = (MR_Word) stat;
-+ Statement = (MR_Word) statement;
- DB = DB0;
-
- } /* end odbc__get_data() */
-@@ -1484,7 +1484,7 @@
- :- pragma c_code("
-
- void
--odbc_do_get_data(MODBC_Statement *stat, int column_id)
-+odbc_do_get_data(MODBC_Statement *statement, int column_id)
- {
- MODBC_Column *column;
- SQLRETURN rc;
-@@ -1494,11 +1494,11 @@
- ** byte and nothing else.
- */
-
-- column = &(stat->row[column_id]);
-+ column = &(statement->row[column_id]);
- if (column->attr_type == MODBC_VAR_STRING) {
-
- /* Just get the length first time through. */
-- rc = SQLGetData(stat->stat_handle, column_id,
-+ rc = SQLGetData(statement->stat_handle, column_id,
- column->conversion_type, dummy_buffer,
- 1, &(column->value_info));
-
-@@ -1510,9 +1510,9 @@
- if (rc != SQL_SUCCESS_WITH_INFO &&
- ! odbc_check(odbc_env_handle,
- odbc_connection,
-- stat->stat_handle, rc))
-+ statement->stat_handle, rc))
- {
-- odbc_do_cleanup_statement(stat);
-+ odbc_do_cleanup_statement(statement);
- odbc_throw();
- }
-
-@@ -1535,7 +1535,7 @@
- ** length of the available data, rather than the
- ** total length of data available.
- */
-- odbc_get_data_in_chunks(stat, column_id);
-+ odbc_get_data_in_chunks(statement, column_id);
- } else {
- MR_Word data;
-
-@@ -1545,40 +1545,40 @@
- column->size = column->value_info + 1;
- MR_incr_hp_atomic(MR_LVALUE_CAST(MR_Word, column->data),
- (column->size + sizeof(MR_Word)) / sizeof(MR_Word));
-- odbc_get_data_in_one_go(stat, column_id);
-+ odbc_get_data_in_one_go(statement, column_id);
- }
- } else {
- /*
- ** It's a fixed length column, so we can
- ** get the lot in one go.
- */
-- odbc_get_data_in_one_go(stat, column_id);
-+ odbc_get_data_in_one_go(statement, column_id);
- }
- }
-
- void
--odbc_get_data_in_one_go(MODBC_Statement *stat, int column_id)
-+odbc_get_data_in_one_go(MODBC_Statement *statement, int column_id)
- {
- MODBC_Column *col;
- SQLRETURN rc;
-
-- MR_DEBUG(printf(""getting column %i in one go\n"", column_id));
-+ MR_DEBUG(printf(""getting column %i in one go\\n"", column_id));
-
-- col = &(stat->row[column_id]);
-+ col = &(statement->row[column_id]);
-
-- rc = SQLGetData(stat->stat_handle, column_id, col->conversion_type,
-+ rc = SQLGetData(statement->stat_handle, column_id, col->conversion_type,
- (SQLPOINTER) col->data, col->size, &(col->value_info));
-
- if (! odbc_check(odbc_env_handle, odbc_connection,
-- stat->stat_handle, rc))
-+ statement->stat_handle, rc))
- {
-- odbc_do_cleanup_statement(stat);
-+ odbc_do_cleanup_statement(statement);
- odbc_throw();
- }
- }
-
- void
--odbc_get_data_in_chunks(MODBC_Statement *stat, int column_id)
-+odbc_get_data_in_chunks(MODBC_Statement *statement, int column_id)
- {
- MODBC_Column *col;
- SQLRETURN rc;
-@@ -1586,11 +1586,11 @@
- MR_Word chunk_list;
- String result;
-
-- MR_DEBUG(printf(""getting column %i in chunks\n"", column_id));
-+ MR_DEBUG(printf(""getting column %i in chunks\\n"", column_id));
-
- chunk_list = MR_list_empty();
-
-- col = &(stat->row[column_id]);
-+ col = &(statement->row[column_id]);
-
- rc = SQL_SUCCESS_WITH_INFO;
-
-@@ -1601,7 +1601,7 @@
- */
- while (rc == SQL_SUCCESS_WITH_INFO) {
-
-- rc = SQLGetData(stat->stat_handle, column_id,
-+ rc = SQLGetData(statement->stat_handle, column_id,
- col->conversion_type, (SQLPOINTER) this_bit,
- MODBC_CHUNK_SIZE - 1, &(col->value_info));
-
-@@ -1611,9 +1611,9 @@
-
- if (rc != SQL_SUCCESS_WITH_INFO &&
- ! odbc_check(odbc_env_handle, odbc_connection,
-- stat->stat_handle, rc))
-+ statement->stat_handle, rc))
- {
-- odbc_do_cleanup_statement(stat);
-+ odbc_do_cleanup_statement(statement);
- odbc_throw();
- }
-
-@@ -1655,12 +1655,12 @@
- odbc__cleanup_statement_check_error(Statement::di, DB0::di, DB::uo),
- may_call_mercury,
- "{
-- MODBC_Statement *stat;
-+ MODBC_Statement *statement;
- SQLRETURN rc;
-
-- stat = (MODBC_Statement *) Statement;
-+ statement = (MODBC_Statement *) Statement;
-
-- rc = odbc_do_cleanup_statement(stat);
-+ rc = odbc_do_cleanup_statement(statement);
- if (! odbc_check(odbc_env_handle, odbc_connection,
- SQL_NULL_HSTMT, rc))
- {
-@@ -1672,29 +1672,29 @@
- :- pragma c_code("
-
- static SQLRETURN
--odbc_do_cleanup_statement(MODBC_Statement *stat)
-+odbc_do_cleanup_statement(MODBC_Statement *statement)
- {
- int i;
- SQLRETURN rc;
-
-- if (stat != NULL) {
-+ if (statement != NULL) {
- MR_DEBUG(printf(""cleaning up statement\\n""));
-- if (stat->row != NULL) {
-- for (i = 1; i <= stat->num_columns; i++) {
-+ if (statement->row != NULL) {
-+ for (i = 1; i <= statement->num_columns; i++) {
- /*
- ** Variable length types are allocated directly
- ** onto the Mercury heap, so don't free them here.
- */
- if (! is_variable_length_sql_type(
-- stat->row[i].sql_type))
-+ statement->row[i].sql_type))
- {
-- MR_GC_free(stat->row[i].data);
-+ MR_GC_free(statement->row[i].data);
- }
- }
-- MR_GC_free(stat->row);
-+ MR_GC_free(statement->row);
- }
-- rc = SQLFreeStmt(stat->stat_handle, SQL_DROP);
-- MR_GC_free(stat);
-+ rc = SQLFreeStmt(statement->stat_handle, SQL_DROP);
-+ MR_GC_free(statement);
- return rc;
- } else {
- return SQL_SUCCESS;
diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-references.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-references.patch
new file mode 100644
index 000000000000..e4a092aceac0
--- /dev/null
+++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-references.patch
@@ -0,0 +1,13 @@
+--- mercury-extras-0.12.2.orig/references/Mmakefile 2004-02-17 13:00:24.000000000 +1300
++++ mercury-extras-0.12.2/references/Mmakefile 2006-04-01 16:15:40.000000000 +1200
+@@ -10,7 +10,9 @@
+
+ # Install in an "extras" subdirectory of the main installation tree
+ INSTALL_PREFIX := $(INSTALL_PREFIX)/extras
+-LIBGRADES = asm_fast.gc.tr asm_fast.gc.tr.debug
++LIBGRADES := $(foreach grade,$(LIBGRADES), \
++ $(subst .tr.,$(grade),$(findstring .tr.,$(grade))) \
++ $(filter %.tr,$(grade)))
+
+ MAIN_TARGET = libglobal
+
diff --git a/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild b/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild
index 757091aae2a3..1af009f86e98 100644
--- a/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild
+++ b/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild,v 1.2 2006/03/27 19:08:41 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.12.2.ebuild,v 1.3 2006/04/01 06:49:18 keri Exp $
inherit eutils
@@ -26,11 +26,14 @@ DEPEND="~dev-lang/mercury-0.12.2
src_unpack() {
unpack ${A}
cd "${S}"
+ epatch "${FILESDIR}"/${P}-gcc4.patch
epatch "${FILESDIR}"/${P}-concurrency.patch
+ epatch "${FILESDIR}"/${P}-lex.patch
epatch "${FILESDIR}"/${P}-mercury_glut.patch
epatch "${FILESDIR}"/${P}-mercury_tcltk.patch
epatch "${FILESDIR}"/${P}-mercury_opengl.patch
epatch "${FILESDIR}"/${P}-odbc.patch
+ epatch "${FILESDIR}"/${P}-references.patch
epatch "${FILESDIR}"/${P}-trailed_update.patch
sed -i -e "s:curs:concurrency curs:" \