summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeri Harris <keri@gentoo.org>2006-10-10 07:48:20 +0000
committerKeri Harris <keri@gentoo.org>2006-10-10 07:48:20 +0000
commit7b7deb844ceb7cc8ba151b4415a009bf2deecab7 (patch)
tree759f5da49fce0f26733c9bcf2b7b0983f0f910d3
parentAdded missing libXpm dependancy. Closes bug #150643. Wiped out previous relea... (diff)
downloadhistorical-7b7deb844ceb7cc8ba151b4415a009bf2deecab7.tar.gz
historical-7b7deb844ceb7cc8ba151b4415a009bf2deecab7.tar.bz2
historical-7b7deb844ceb7cc8ba151b4415a009bf2deecab7.zip
Parallelize mmake.
Package-Manager: portage-2.1.2_pre2-r5
-rw-r--r--dev-lang/mercury-extras/ChangeLog7
-rw-r--r--dev-lang/mercury-extras/Manifest20
-rw-r--r--dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch637
-rw-r--r--dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild28
4 files changed, 676 insertions, 16 deletions
diff --git a/dev-lang/mercury-extras/ChangeLog b/dev-lang/mercury-extras/ChangeLog
index 257ff33e3efb..44967a2724bd 100644
--- a/dev-lang/mercury-extras/ChangeLog
+++ b/dev-lang/mercury-extras/ChangeLog
@@ -1,6 +1,11 @@
# 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.44 2006/10/06 23:33:57 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/ChangeLog,v 1.45 2006/10/10 07:48:20 keri Exp $
+
+ 10 Oct 2006; keri <keri@gentoo.org>
+ +files/mercury-extras-0.12.2-parallel-mmake.patch,
+ mercury-extras-0.12.2-r2.ebuild:
+ Parallelize mmake
06 Oct 2006; keri <keri@gentoo.org> mercury-extras-0.12.2-r2.ebuild:
Do not pre-strip binaries.
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index dffe728ab39f..f3d458aadf49 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -30,6 +30,10 @@ AUX mercury-extras-0.12.2-odbc.patch 1220 RMD160 e697733a639f81bcdc9010da481226f
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
+AUX mercury-extras-0.12.2-parallel-mmake.patch 19102 RMD160 32946063e03c7b90886310252836ae94a39a0a30 SHA1 2b3ce5a6faa7924ac91dd1c5b9607136efc3e18f SHA256 e42af94332962d168e553e92230f72fcb12d40ed1a74f3f71673043f9d55c8ff
+MD5 3de9ee820efe692372c5d6f1fea9fea7 files/mercury-extras-0.12.2-parallel-mmake.patch 19102
+RMD160 32946063e03c7b90886310252836ae94a39a0a30 files/mercury-extras-0.12.2-parallel-mmake.patch 19102
+SHA256 e42af94332962d168e553e92230f72fcb12d40ed1a74f3f71673043f9d55c8ff files/mercury-extras-0.12.2-parallel-mmake.patch 19102
AUX mercury-extras-0.12.2-posix.patch 373 RMD160 4a451c2cb37d05aefac0f127f9971fba5bbc7535 SHA1 3c30540ffe61ebde533652736c65e9f935979dde SHA256 bb7f179bf838f76738d0cac0d1b30e07aea6ae6cb0a7e05ab2cba69bb3a5d85d
MD5 9b59270ad11a77897c8ccb3a58dcf09c files/mercury-extras-0.12.2-posix.patch 373
RMD160 4a451c2cb37d05aefac0f127f9971fba5bbc7535 files/mercury-extras-0.12.2-posix.patch 373
@@ -88,10 +92,10 @@ EBUILD mercury-extras-0.12.2-r1.ebuild 2954 RMD160 b38a16819d30a14bc9733adf5b45c
MD5 ac3a157529b1ff7f445ce97b4bc55954 mercury-extras-0.12.2-r1.ebuild 2954
RMD160 b38a16819d30a14bc9733adf5b45c99ccb97844a mercury-extras-0.12.2-r1.ebuild 2954
SHA256 1e9c8b3b62453ce5a460bca0104cab068ef3b4f63184547f72c8bd199f59f06b mercury-extras-0.12.2-r1.ebuild 2954
-EBUILD mercury-extras-0.12.2-r2.ebuild 3224 RMD160 624572b76fa013017ca960bfdcdf3894df3c99c9 SHA1 a2abdb5ecd237fdd3479051a4dcab5d5f1c963dd SHA256 509bf254f7998e43166f09e2f01443544b711aabcf84573f94dc67e6135afc17
-MD5 1176d08dd25d426282610d2148d4043e mercury-extras-0.12.2-r2.ebuild 3224
-RMD160 624572b76fa013017ca960bfdcdf3894df3c99c9 mercury-extras-0.12.2-r2.ebuild 3224
-SHA256 509bf254f7998e43166f09e2f01443544b711aabcf84573f94dc67e6135afc17 mercury-extras-0.12.2-r2.ebuild 3224
+EBUILD mercury-extras-0.12.2-r2.ebuild 3431 RMD160 a6aeb88a9bbfe286d94d5f2678aa62dc69d1b5c3 SHA1 2ccb9b74a4141672d765f5e731c1618466c3cdac SHA256 4ff6cb66b355375844be5154c3a2e338d28a2cce6bc16fb109ccbcb326eb217a
+MD5 382edc7ce34dd8a314ca40db4a4457da mercury-extras-0.12.2-r2.ebuild 3431
+RMD160 a6aeb88a9bbfe286d94d5f2678aa62dc69d1b5c3 mercury-extras-0.12.2-r2.ebuild 3431
+SHA256 4ff6cb66b355375844be5154c3a2e338d28a2cce6bc16fb109ccbcb326eb217a mercury-extras-0.12.2-r2.ebuild 3431
EBUILD mercury-extras-0.12.2.ebuild 2805 RMD160 dcaf180536a27b4feb26be903eb014665bd0157c SHA1 894b9df7a585ced7b820d410e4b49dce752fc0dc SHA256 1f0698cd40c256629c24220d2519e5df26da7eaa7fb0964bfd9c1da19d6cb32f
MD5 98557ba05682185a9127512b0e0d053d mercury-extras-0.12.2.ebuild 2805
RMD160 dcaf180536a27b4feb26be903eb014665bd0157c mercury-extras-0.12.2.ebuild 2805
@@ -100,10 +104,10 @@ EBUILD mercury-extras-0.13.0.ebuild 3445 RMD160 20c946c554c01efa4549604cc42aed23
MD5 4c9c7def9fc5306aac63328f6906ee35 mercury-extras-0.13.0.ebuild 3445
RMD160 20c946c554c01efa4549604cc42aed23300d019a mercury-extras-0.13.0.ebuild 3445
SHA256 5d637d4dac411c9df5ca6d513dc4a6daa3815ff604731a2f9760e5ae1d5fc1c4 mercury-extras-0.13.0.ebuild 3445
-MISC ChangeLog 13002 RMD160 3572e6400fc9ca71583d5f82a2ee01fc1cec527a SHA1 5771188d0e0eba91928a736d477c49aeb945092f SHA256 f5662c6a8928f96927b7b051dfc2795058ff51c70532d458a323b5f5f1dc5890
-MD5 e7d4c391e06c00d4ffcc2ff6fafa0293 ChangeLog 13002
-RMD160 3572e6400fc9ca71583d5f82a2ee01fc1cec527a ChangeLog 13002
-SHA256 f5662c6a8928f96927b7b051dfc2795058ff51c70532d458a323b5f5f1dc5890 ChangeLog 13002
+MISC ChangeLog 13149 RMD160 85c6f6b5ba30cfb6489761a0f71d31cba1cbf3ee SHA1 7c51b21c43b0b86be3906123e46c303d5551c15e SHA256 da79559b822918fd55d64a7ee9e572045a850bf011c5e937cb074031a857787b
+MD5 275290bfd63eba88a8924d9cb13afb85 ChangeLog 13149
+RMD160 85c6f6b5ba30cfb6489761a0f71d31cba1cbf3ee ChangeLog 13149
+SHA256 da79559b822918fd55d64a7ee9e572045a850bf011c5e937cb074031a857787b ChangeLog 13149
MISC metadata.xml 247 RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 SHA1 7b705a8a3368abab6ad31ea2fcb5e5db865d92b1 SHA256 2768d0688d443184194068497dcafb2e5d67521980cb46b7e8efc07d3900bcaa
MD5 6fca20d17d6d55a28537204aa9bb626f metadata.xml 247
RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 metadata.xml 247
diff --git a/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch
new file mode 100644
index 000000000000..938af3b43fc3
--- /dev/null
+++ b/dev-lang/mercury-extras/files/mercury-extras-0.12.2-parallel-mmake.patch
@@ -0,0 +1,637 @@
+diff -urN mercury-extras-0.12.2.orig/curs/curs.m mercury-extras-0.12.2/curs/curs.m
+--- mercury-extras-0.12.2.orig/curs/curs.m 2006-10-10 19:42:19.000000000 +1300
++++ mercury-extras-0.12.2/curs/curs.m 2006-10-10 20:06:42.000000000 +1300
+@@ -30,7 +30,7 @@
+
+ :- import_module bool, io, string, char, int.
+
+-
++:- include_module curs__panel.
+
+ % Start a curses session (colour, unbuffered input, no echoing,
+ % invisible cursor if possible, scrolling on when output past
+@@ -220,104 +220,6 @@
+ :- func cyan = colour.
+ :- func white = colour.
+
+- % ------------------------------------------------------------------------ %
+- % ------------------------------------------------------------------------ %
+-
+- % Panels are windows over the main display; they may be
+- % stacked, moved, ordered and hidden. Contents of panels
+- % closer to the top of the stack obscure the parts of panels
+- % they overlap that are lower in the stack.
+- %
+- :- module panel.
+-
+- :- interface.
+-
+-
+-
+- :- type panel.
+-
+- % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel
+- % Panel whose size is given by (Rows, Cols) and whose position
+- % on the display is given by (Row, Col). The new panel starts
+- % visible and at the top of the stack. The default attributes
+- % for the panel are set to Attr.
+- %
+- :- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out,
+- io__state::di, io__state::uo) is det.
+-
+- % Destroy a panel.
+- %
+- :- pred delete(panel::in, io__state::di, io__state::uo) is det.
+-
+- % Raise/lower a panel to the top/bottom of the stack.
+- %
+- :- pred raise(panel::in, io__state::di, io__state::uo) is det.
+-
+- :- pred lower(panel::in, io__state::di, io__state::uo) is det.
+-
+- % Hide/reveal a panel (revealing places it at the top of the stack).
+- %
+- :- pred hide(panel::in, io__state::di, io__state::uo) is det.
+-
+- :- pred reveal(panel::in, io__state::di, io__state::uo) is det.
+-
+- % Move a panel to (Row, Col) on the display.
+- %
+- :- pred relocate(panel::in, int::in, int::in,
+- io__state::di, io__state::uo) is det.
+-
+- % Clear a panel.
+- %
+- :- pred clear(panel::in, io__state::di, io__state::uo) is det.
+-
+- % Move the virtual cursor to given row and column; (0, 0) are the
+- % coordinates for the upper left hand corner of the panel.
+- %
+- :- pred move(panel::in, int::in, int::in,
+- io__state::di, io__state::uo) is det.
+-
+- % Add a char/string to a panel with the given attributes.
+- % Note that char codes are passed rather than plain chars.
+- %
+- :- pred addch(panel::in, attr::in, int::in,
+- io__state::di, io__state::uo) is det.
+-
+- :- pred addstr(panel::in, attr::in, string::in,
+- io__state::di, io__state::uo) is det.
+-
+- % Turn on/off or set attributes that will be applied by default.
+- %
+- :- pred attr_on(panel::in, attr::in, io__state::di, io__state::uo) is det.
+- :- pred attr_off(panel::in, attr::in, io__state::di, io__state::uo) is det.
+- :- pred attr_set(panel::in, attr::in, io__state::di, io__state::uo) is det.
+-
+- % Update the display (also calls doupdate).
+- % NOTE that doupdate does not call update_panels.
+- %
+- :- pred update_panels(io__state::di, io__state::uo) is det.
+-
+-
+-
+- % Draws a border around the inside edge of the display.
+- %
+- :- pred border(panel::in, io__state::di, io__state::uo) is det.
+-
+- % Draws an horizontal line of length N moving to the right.
+- %
+- :- pred hline(panel::in, int::in, int::in,
+- io__state::di, io__state::uo) is det.
+-
+- % Draws a vertical line of length N moving down.
+- %
+- :- pred vline(panel::in, int::in, int::in,
+- io__state::di, io__state::uo) is det.
+-
+- :- end_module panel.
+-
+- % ------------------------------------------------------------------------ %
+- % ------------------------------------------------------------------------ %
+-
+-% ---------------------------------------------------------------------------- %
+ % ---------------------------------------------------------------------------- %
+
+ :- implementation.
+@@ -936,219 +838,4 @@
+
+ ").
+
+- % ------------------------------------------------------------------------ %
+- % ------------------------------------------------------------------------ %
+-
+- :- module panel.
+-
+- :- implementation.
+-
+- :- type panel == c_pointer.
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma c_header_code("
+-
+- #include <ncurses.h>
+- #include <panel.h>
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", new(Rows::in, Cols::in, Row::in, Col::in, Attr::in,
+- Panel::out, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- WINDOW *w = newwin(Rows, Cols, Row, Col);
+- scrollok(w, TRUE);
+- wattrset(w, Attr);
+- wcolor_set(w, Attr, NULL);
+- wclear(w);
+- (*(PANEL**)&(Panel)) = new_panel(w);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", delete(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- delwin(panel_window((PANEL *)Panel));
+- del_panel((PANEL *)Panel);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", raise(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- top_panel((PANEL *)Panel);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", lower(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- bottom_panel((PANEL *)Panel);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", hide(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- hide_panel((PANEL *)Panel);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", reveal(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- show_panel((PANEL *)Panel);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- move_panel((PANEL *)Panel, Row, Col);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", clear(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wclear(panel_window((PANEL *)Panel));
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", move(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wmove(panel_window((PANEL *)Panel), Row, Col);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- waddch(panel_window((PANEL *)Panel), (chtype)Attr | (chtype)CharCode);
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- addstr(Panel, Attr, Str) -->
+- string__foldl(
+- ( pred(Char::in, di, uo) is det -->
+- addch(Panel, Attr, char__to_int(Char))
+- ),
+- Str
+- ).
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", attr_on(Panel::in, Attr::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wattron(panel_window((PANEL *)Panel), Attr);
+- IO = IO0;
+-
+- ").
+- :- pragma foreign_proc("C", attr_off(Panel::in, Attr::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wattroff(panel_window((PANEL *)Panel), Attr);
+- IO = IO0;
+-
+- ").
+- :- pragma foreign_proc("C", attr_set(Panel::in, Attr::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wattrset(panel_window((PANEL *)Panel), Attr);
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", update_panels(IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- update_panels();
+- doupdate();
+-
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- pragma foreign_proc("C", border(Panel::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wborder(panel_window((PANEL *)Panel), 0, 0, 0, 0, 0, 0, 0, 0);
+- IO = IO0;
+-
+- ").
+-
+- :- pragma foreign_proc("C", hline(Panel::in, C::in, N::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- whline(panel_window((PANEL *)Panel), C, N);
+- IO = IO0;
+-
+- ").
+-
+- :- pragma foreign_proc("C", vline(Panel::in, C::in, N::in, IO0::di, IO::uo),
+- [will_not_call_mercury, promise_pure], "
+-
+- wvline(panel_window((PANEL *)Panel), C, N);
+- IO = IO0;
+-
+- ").
+-
+- % ------------------------------------------------------------------------ %
+-
+- :- end_module panel.
+-
+- % ------------------------------------------------------------------------ %
+- % ------------------------------------------------------------------------ %
+-
+-% ---------------------------------------------------------------------------- %
+ % ---------------------------------------------------------------------------- %
+diff -urN mercury-extras-0.12.2.orig/curs/curs.panel.m mercury-extras-0.12.2/curs/curs.panel.m
+--- mercury-extras-0.12.2.orig/curs/curs.panel.m 1970-01-01 12:00:00.000000000 +1200
++++ mercury-extras-0.12.2/curs/curs.panel.m 2006-10-10 20:07:35.000000000 +1300
+@@ -0,0 +1,296 @@
++% ------------------------------------------------------------------------ %
++
++ % Panels are windows over the main display; they may be
++ % stacked, moved, ordered and hidden. Contents of panels
++ % closer to the top of the stack obscure the parts of panels
++ % they overlap that are lower in the stack.
++ %
++:- module curs__panel.
++
++:- interface.
++
++
++
++:- type panel.
++
++ % new(Rows, Cols, Row, Col, Attr, Panel) creates a new panel
++ % Panel whose size is given by (Rows, Cols) and whose position
++ % on the display is given by (Row, Col). The new panel starts
++ % visible and at the top of the stack. The default attributes
++ % for the panel are set to Attr.
++ %
++:- pred new(int::in, int::in, int::in, int::in, attr::in, panel::out,
++ io__state::di, io__state::uo) is det.
++
++ % Destroy a panel.
++ %
++:- pred delete(panel::in, io__state::di, io__state::uo) is det.
++
++ % Raise/lower a panel to the top/bottom of the stack.
++ %
++:- pred raise(panel::in, io__state::di, io__state::uo) is det.
++
++:- pred lower(panel::in, io__state::di, io__state::uo) is det.
++
++ % Hide/reveal a panel (revealing places it at the top of the stack).
++ %
++:- pred hide(panel::in, io__state::di, io__state::uo) is det.
++
++:- pred reveal(panel::in, io__state::di, io__state::uo) is det.
++
++ % Move a panel to (Row, Col) on the display.
++ %
++:- pred relocate(panel::in, int::in, int::in,
++ io__state::di, io__state::uo) is det.
++
++ % Clear a panel.
++ %
++:- pred clear(panel::in, io__state::di, io__state::uo) is det.
++
++ % Move the virtual cursor to given row and column; (0, 0) are the
++ % coordinates for the upper left hand corner of the panel.
++ %
++:- pred move(panel::in, int::in, int::in,
++ io__state::di, io__state::uo) is det.
++
++ % Add a char/string to a panel with the given attributes.
++ % Note that char codes are passed rather than plain chars.
++ %
++:- pred addch(panel::in, attr::in, int::in,
++ io__state::di, io__state::uo) is det.
++
++:- pred addstr(panel::in, attr::in, string::in,
++ io__state::di, io__state::uo) is det.
++
++ % Turn on/off or set attributes that will be applied by default.
++ %
++:- pred attr_on(panel::in, attr::in, io__state::di, io__state::uo) is det.
++:- pred attr_off(panel::in, attr::in, io__state::di, io__state::uo) is det.
++:- pred attr_set(panel::in, attr::in, io__state::di, io__state::uo) is det.
++
++ % Update the display (also calls doupdate).
++ % NOTE that doupdate does not call update_panels.
++ %
++:- pred update_panels(io__state::di, io__state::uo) is det.
++
++
++
++ % Draws a border around the inside edge of the display.
++ %
++:- pred border(panel::in, io__state::di, io__state::uo) is det.
++
++ % Draws an horizontal line of length N moving to the right.
++ %
++:- pred hline(panel::in, int::in, int::in,
++ io__state::di, io__state::uo) is det.
++
++ % Draws a vertical line of length N moving down.
++ %
++:- pred vline(panel::in, int::in, int::in,
++ io__state::di, io__state::uo) is det.
++
++% ------------------------------------------------------------------------ %
++
++:- implementation.
++
++:- type panel == c_pointer.
++
++% ------------------------------------------------------------------------ %
++
++:- pragma c_header_code("
++
++#include <ncurses.h>
++#include <panel.h>
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", new(Rows::in, Cols::in, Row::in, Col::in, Attr::in,
++ Panel::out, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ WINDOW *w = newwin(Rows, Cols, Row, Col);
++ scrollok(w, TRUE);
++ wattrset(w, Attr);
++ wcolor_set(w, Attr, NULL);
++ wclear(w);
++ (*(PANEL**)&(Panel)) = new_panel(w);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", delete(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ delwin(panel_window((PANEL *)Panel));
++ del_panel((PANEL *)Panel);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", raise(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ top_panel((PANEL *)Panel);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", lower(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ bottom_panel((PANEL *)Panel);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", hide(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ hide_panel((PANEL *)Panel);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", reveal(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ show_panel((PANEL *)Panel);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", relocate(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ move_panel((PANEL *)Panel, Row, Col);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", clear(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wclear(panel_window((PANEL *)Panel));
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", move(Panel::in, Row::in, Col::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wmove(panel_window((PANEL *)Panel), Row, Col);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", addch(Panel::in, Attr::in, CharCode::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ waddch(panel_window((PANEL *)Panel), (chtype)Attr | (chtype)CharCode);
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++addstr(Panel, Attr, Str) -->
++ string__foldl(
++ ( pred(Char::in, di, uo) is det -->
++ addch(Panel, Attr, char__to_int(Char))
++ ),
++ Str
++ ).
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", attr_on(Panel::in, Attr::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wattron(panel_window((PANEL *)Panel), Attr);
++ IO = IO0;
++
++").
++:- pragma foreign_proc("C", attr_off(Panel::in, Attr::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wattroff(panel_window((PANEL *)Panel), Attr);
++ IO = IO0;
++
++").
++:- pragma foreign_proc("C", attr_set(Panel::in, Attr::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wattrset(panel_window((PANEL *)Panel), Attr);
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", update_panels(IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ update_panels();
++ doupdate();
++
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
++
++:- pragma foreign_proc("C", border(Panel::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wborder(panel_window((PANEL *)Panel), 0, 0, 0, 0, 0, 0, 0, 0);
++ IO = IO0;
++
++").
++
++:- pragma foreign_proc("C", hline(Panel::in, C::in, N::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ whline(panel_window((PANEL *)Panel), C, N);
++ IO = IO0;
++
++").
++
++:- pragma foreign_proc("C", vline(Panel::in, C::in, N::in, IO0::di, IO::uo),
++ [will_not_call_mercury, promise_pure], "
++
++ wvline(panel_window((PANEL *)Panel), C, N);
++ IO = IO0;
++
++").
++
++% ------------------------------------------------------------------------ %
diff --git a/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild b/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild
index 53c7c4e524b6..d78dd3e0a5f5 100644
--- a/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild
+++ b/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.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-r2.ebuild,v 1.7 2006/10/06 23:33:57 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.12.2-r2.ebuild,v 1.8 2006/10/10 07:48:20 keri Exp $
inherit eutils
@@ -29,6 +29,7 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-gcc4.patch
+ epatch "${FILESDIR}"/${P}-parallel-mmake.patch
epatch "${FILESDIR}"/${P}-concurrency.patch
epatch "${FILESDIR}"/${P}-dynamic_linking.patch
epatch "${FILESDIR}"/${P}-lex.patch
@@ -60,26 +61,39 @@ src_unpack() {
src_compile() {
mmake depend || die "mmake depend failed"
- mmake EXTRA_MLFLAGS=--no-strip || die "mmake failed"
+ mmake \
+ MMAKEFLAGS="${MAKEOPTS}" \
+ EXTRA_MLFLAGS=--no-strip \
+ || die "mmake failed"
if use opengl && use tcl && use tk ; then
cd "${S}"/graphics/mercury_opengl
cp ../mercury_tcltk/mtcltk.m ./
- mmake -f Mmakefile.mtogl depend || die "mmake depend mtogl failed"
- mmake -f Mmakefile.mtogl || die "mmake mtogl failed"
+ mmake \
+ -f Mmakefile.mtogl depend \
+ || die "mmake depend mtogl failed"
+ mmake \
+ MMAKEFLAGS="${MAKEOPTS}" \
+ -f Mmakefile.mtogl \
+ || die "mmake mtogl failed"
fi
}
src_install() {
cd "${S}"
- mmake INSTALL_PREFIX="${D}"/usr install || die "mmake install failed"
+ mmake \
+ MMAKEFLAGS="${MAKEOPTS}" \
+ INSTALL_PREFIX="${D}"/usr install \
+ || die "mmake install failed"
if use opengl && use tcl && use tk ; then
cd "${S}"/graphics/mercury_opengl
mv Mmakefile Mmakefile.opengl
mv Mmakefile.mtogl Mmakefile
- mmake INSTALL_PREFIX="${D}"/usr \
- install || die "mmake install mtogl failed"
+ mmake \
+ MMAKEFLAGS="${MAKEOPTS}" \
+ INSTALL_PREFIX="${D}"/usr install \
+ || die "mmake install mtogl failed"
fi
find "${D}"/usr/lib/mercury-${PV} -type l | xargs rm