summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2006-02-25 11:46:50 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2006-02-25 11:46:50 +0000
commit60e9aec42dd01f8265fb33c8e70c17c2dd01c63a (patch)
tree492faab3903ebc42c9381e3215237412573b3a48 /dev-embedded/picptk
parent* bump (diff)
downloadhistorical-60e9aec42dd01f8265fb33c8e70c17c2dd01c63a.tar.gz
historical-60e9aec42dd01f8265fb33c8e70c17c2dd01c63a.tar.bz2
historical-60e9aec42dd01f8265fb33c8e70c17c2dd01c63a.zip
Revamp package so it mostly works on GCC3.4 again.
Package-Manager: portage-2.1_pre4-r1
Diffstat (limited to 'dev-embedded/picptk')
-rw-r--r--dev-embedded/picptk/ChangeLog12
-rw-r--r--dev-embedded/picptk/Manifest28
-rw-r--r--dev-embedded/picptk/files/digest-picptk-0.5a-r13
-rw-r--r--dev-embedded/picptk/files/picptk-0.5a-r1-gccfixes.patch278
-rw-r--r--dev-embedded/picptk/files/picptk-0.5a-r1-headerfix.patch363
-rw-r--r--dev-embedded/picptk/picptk-0.5a-r1.ebuild47
-rw-r--r--dev-embedded/picptk/picptk-0.5a.ebuild6
7 files changed, 729 insertions, 8 deletions
diff --git a/dev-embedded/picptk/ChangeLog b/dev-embedded/picptk/ChangeLog
index a508c28c2826..f637f05560ba 100644
--- a/dev-embedded/picptk/ChangeLog
+++ b/dev-embedded/picptk/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-embedded/picptk
-# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-embedded/picptk/ChangeLog,v 1.5 2005/01/01 17:55:31 eradicator Exp $
+# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-embedded/picptk/ChangeLog,v 1.6 2006/02/25 11:46:50 robbat2 Exp $
+
+*picptk-0.5a-r1 (25 Feb 2006)
+
+ 25 Feb 2006; Robin H. Johnson <robbat2@gentoo.org>
+ +files/picptk-0.5a-r1-gccfixes.patch,
+ +files/picptk-0.5a-r1-headerfix.patch, picptk-0.5a.ebuild,
+ +picptk-0.5a-r1.ebuild:
+ Revamp package so it mostly works on GCC3.4 again.
18 Jul 2004; Robin H. Johnson <robbat2@gentoo.org> picptk-0.5a.ebuild:
stable on x86.
diff --git a/dev-embedded/picptk/Manifest b/dev-embedded/picptk/Manifest
index 69596252a1b7..70af682a919b 100644
--- a/dev-embedded/picptk/Manifest
+++ b/dev-embedded/picptk/Manifest
@@ -1,5 +1,27 @@
-MD5 d427ad8b31ef44603fa4916e1181dd6a ChangeLog 678
-MD5 420df847a3db1c4969aff20243f656dd metadata.xml 165
-MD5 22afcfa6a0315c2d89756ba17efaa90e picptk-0.5a.ebuild 1066
+MD5 8ee3c27e86f99ad6328cf8fb5fde5394 ChangeLog 940
+RMD160 69a8d4e2d5361bf4b3d267bd84f24f6e3a094e23 ChangeLog 940
+SHA256 727aa50c0cbd4d104b24a455e0b2be5fff3fef1097c0b3169b94b37b948fa415 ChangeLog 940
MD5 39715da9bc8affddf1c77a6e68f4f65c files/digest-picptk-0.5a 62
+RMD160 31f8f4ab7b42830cebab78912f23f8c2464cde85 files/digest-picptk-0.5a 62
+SHA256 4404993d96eca4fa401bc0c27430675d04adefeef56c9de4c0dbdee0ce6aec97 files/digest-picptk-0.5a 62
+MD5 d7347523f5f03f6216936b61847f266c files/digest-picptk-0.5a-r1 232
+RMD160 32b47cbb5020d8725030f5c7b84b42e4bb4db919 files/digest-picptk-0.5a-r1 232
+SHA256 50e38bb9bbbf1578314f5544d10117ce2ce1f44cb0958779e31fe94b18918a22 files/digest-picptk-0.5a-r1 232
MD5 68d9a1dd472341c4c938e9e16d3f8680 files/picptk-0.5a-headerfix.patch 12453
+RMD160 f83695b90c3a30c19f392e534de0991e216d9f49 files/picptk-0.5a-headerfix.patch 12453
+SHA256 747b93c2770c7b2b5dd14eff6cb895656cb52e45f4ec293cc196e553a02b0781 files/picptk-0.5a-headerfix.patch 12453
+MD5 055efa53df394b2c34e9fc030465e174 files/picptk-0.5a-r1-gccfixes.patch 12537
+RMD160 9271d846b28f830f75e84f219848c5ac2f2a8769 files/picptk-0.5a-r1-gccfixes.patch 12537
+SHA256 4c88f9395db1fcdfd46bcbb0ec382c1fd1436b4d118b683e78deb85206855026 files/picptk-0.5a-r1-gccfixes.patch 12537
+MD5 cb3f066b02f6640108ae625a0b437b47 files/picptk-0.5a-r1-headerfix.patch 12456
+RMD160 20c8006b51093c0b7accfae51ee346ab560e5e6f files/picptk-0.5a-r1-headerfix.patch 12456
+SHA256 25645547914b0dcf7dbc71d9e27652282f9d7c1ef59034321eef615823b1d193 files/picptk-0.5a-r1-headerfix.patch 12456
+MD5 420df847a3db1c4969aff20243f656dd metadata.xml 165
+RMD160 3965c22a153ed350bcbd52de07c08ad47dd03cd7 metadata.xml 165
+SHA256 fb7ede94a0633f77d601e3e81580eac1624a3bca14401a49d94082579507ba0a metadata.xml 165
+MD5 1d84c91b890d8492bea1d8d99aa28840 picptk-0.5a-r1.ebuild 1335
+RMD160 92741e62aee3a48f5c50d55b536a87580139a8b2 picptk-0.5a-r1.ebuild 1335
+SHA256 eb2aaad57ded82bc5fb9646f91d5e0bdeb079354eb2d690776b5d26ab6229b86 picptk-0.5a-r1.ebuild 1335
+MD5 427fbff521544fe2bb8956a9130642d5 picptk-0.5a.ebuild 1064
+RMD160 1fed4064c82b49af666cad7f55ba1180794ca5ce picptk-0.5a.ebuild 1064
+SHA256 ee7c3a12671cb7b62f9b44b83986a19084e4dd34e268e82de1ea84e64829e857 picptk-0.5a.ebuild 1064
diff --git a/dev-embedded/picptk/files/digest-picptk-0.5a-r1 b/dev-embedded/picptk/files/digest-picptk-0.5a-r1
new file mode 100644
index 000000000000..de91d66695df
--- /dev/null
+++ b/dev-embedded/picptk/files/digest-picptk-0.5a-r1
@@ -0,0 +1,3 @@
+MD5 11b15476968c952573121ee0891f9488 picptk-0.5a.tar.gz 66629
+RMD160 5711497466a1b0abe10a2ec420cdc64f24bce7a6 picptk-0.5a.tar.gz 66629
+SHA256 606ee5dc7862079bbc5a187df4531a80af038c8e2541c4f83536bfc027d2bb13 picptk-0.5a.tar.gz 66629
diff --git a/dev-embedded/picptk/files/picptk-0.5a-r1-gccfixes.patch b/dev-embedded/picptk/files/picptk-0.5a-r1-gccfixes.patch
new file mode 100644
index 000000000000..3a07ea128373
--- /dev/null
+++ b/dev-embedded/picptk/files/picptk-0.5a-r1-gccfixes.patch
@@ -0,0 +1,278 @@
+diff -Naur --exclude '*.o' --exclude .deps --exclude '*~' --exclude config.cache --exclude config.log --exclude config.status --exclude itclInt.h --exclude picptk --exclude picpwish --exclude Makefile picptk-0.5a/Makefile.am ../../picptk-0.5a-safe/Makefile.am
+--- picptk-0.5a/Makefile.am 2006-02-25 03:35:56.583375801 -0800
++++ ../../picptk-0.5a-safe/Makefile.am 2006-02-25 03:35:30.266199861 -0800
+@@ -1,6 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+
+ bin_PROGRAMS = picpwish
++picpwish_LDADD = -ltcl -ltk -L/usr/lib/itk3.3
++picpwish_LDFLAGS = -Wl,-rpath,/usr/lib/itk3.3
+ picpwish_SOURCES = \
+ IoIntel.C \
+ PicCore.C \
+diff -Naur --exclude '*.o' --exclude .deps --exclude '*~' --exclude config.cache --exclude config.log --exclude config.status --exclude itclInt.h --exclude picptk --exclude picpwish --exclude Makefile picptk-0.5a/UiItk.C ../../picptk-0.5a-safe/UiItk.C
+--- picptk-0.5a/UiItk.C 2006-02-25 03:35:56.583375801 -0800
++++ ../../picptk-0.5a-safe/UiItk.C 2006-02-25 03:31:37.211800537 -0800
+@@ -78,7 +78,7 @@
+ int
+ Gui::TclExec(ClientData clientData,
+ Tcl_Interp *interp,
+- int argc, char *argv[]) {
++ int argc, const char *argv[]) {
+
+ if(argc < 2) {
+ Tcl_AppendResult(interp, "Wrong number of args to ", argv[0], 0);
+@@ -86,8 +86,8 @@
+ }
+
+ // TCL guarantees argv[argc] is zero, so this is safe, right?
+- char *obj = argv[0];
+- char *cmd = argv[1];
++ const char *obj = argv[0];
++ const char *cmd = argv[1];
+ Gui *me = (Gui *)clientData;
+
+ // Search through table of known commands and dispatch...
+@@ -102,7 +102,7 @@
+ // Called routine returns zero for success, error count
+ // otherwise. Messages are pretty stock...
+ try {
+- int errors = cHandlers[i].cProc(me, interp, argc, argv);
++ int errors = cHandlers[i].cProc(me, interp, argc, (const char**)argv);
+ if(errors) {
+ char tmp[10];
+ sprintf(tmp, "%d", errors);
+@@ -129,10 +129,10 @@
+ /* Load PIC RAM image from file...
+ *
+ */
+-int Gui::DoLoad(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
++int Gui::DoLoad(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
+ const char *file = argv[2];
+ char tmp[20];
+- int bytes = me->cPic.LoadRam(file);
++ int bytes = ((Gui*)me)->cPic.LoadRam(file);
+ sprintf(tmp, "%d", bytes);
+ Tcl_AppendResult(interp, "Loaded ", tmp, " bytes from '", file, "'\n", 0);
+ return(0);
+@@ -148,27 +148,27 @@
+ * You'll violate encapsulation and likely break something!
+ */
+ /* Set a preference variable... */
+-int Gui::DoSet(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- Tcl_AppendResult(interp, me->cPic.SetPref(argv[2], argv[3]), 0);
++int Gui::DoSet(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ Tcl_AppendResult(interp, ((Gui*)me)->cPic.SetPref(argv[2], argv[3]), 0);
+ return(0);
+ }
+ /* Set a preference variable... */
+-int Gui::DoGet(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- const char *val = me->cPic.GetPref(argv[2]);
++int Gui::DoGet(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char *val = ((Gui*)me)->cPic.GetPref(argv[2]);
+ if(val) Tcl_AppendResult(interp, val, 0);
+ return(0);
+ }
+ /* Save preference file... */
+-int Gui::DoSavePrefs(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- char *arg = argv[2];
+- if(!arg[0]) return(!me->cPic.SavePrefs());
+- else return(!me->cPic.SavePrefs(arg));
++int Gui::DoSavePrefs(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char *arg = argv[2];
++ if(!arg[0]) return(!((Gui*)me)->cPic.SavePrefs());
++ else return(!((Gui*)me)->cPic.SavePrefs(arg));
+ }
+
+-int Gui::DoLoadPrefs(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- char *arg = argv[2];
+- if(!arg[0]) return(!me->cPic.LoadPrefs());
+- else return(!me->cPic.LoadPrefs(arg));
++int Gui::DoLoadPrefs(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char *arg = argv[2];
++ if(!arg[0]) return(!((Gui*)me)->cPic.LoadPrefs());
++ else return(!((Gui*)me)->cPic.LoadPrefs(arg));
+ }
+
+
+@@ -180,13 +180,13 @@
+ * programming requirements.
+ */
+ int
+-Gui::DoChip(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
++Gui::DoChip(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
+ const char *arg = argv[2]; // checked previously
+ if(!arg[0]) {
+ // Query for default chip query...
+- Tcl_AppendResult(interp, me->cPic.SetChip(), 0);
++ Tcl_AppendResult(interp, ((Gui*)me)->cPic.SetChip(), 0);
+ } else {
+- arg = me->cPic.SetChip(arg);
++ arg = ((Gui*)me)->cPic.SetChip(arg);
+ Tcl_AppendResult(interp, "PIC type set to ", arg, "\n", 0);
+ }
+ return(0);
+@@ -199,41 +199,41 @@
+ * port programmer is currently implemented.
+ */
+ int
+-Gui::DoPort(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
++Gui::DoPort(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
+ const char *arg = argv[2];
+ if(!arg[0]) {
+ // Query for current port...
+- Tcl_AppendResult(interp, me->cPic.SetPort(), 0);
++ Tcl_AppendResult(interp, ((Gui*)me)->cPic.SetPort(), 0);
+ } else {
+- arg = me->cPic.SetPort(arg);
++ arg = ((Gui*)me)->cPic.SetPort(arg);
+ Tcl_AppendResult(interp, "Port now ", arg, "\n", 0);
+ }
+ return(0);
+ }
+
+ /* Read the PIC's memory into ram */
+-int Gui::DoRead(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- return(me->cPic.Read(CollectErrors, interp));
++int Gui::DoRead(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ return(((Gui*)me)->cPic.Read(CollectErrors, interp));
+ }
+
+ // Read pic memory into ram (all segments)
+-int Gui::DoErase(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- return(me->cPic.Erase(CollectErrors, interp));
++int Gui::DoErase(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ return(((Gui*)me)->cPic.Erase(CollectErrors, interp));
+ }
+
+ // Verify ram image against PIC memory image
+-int Gui::DoVerify(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- return(me->cPic.Verify(CollectErrors, interp));
++int Gui::DoVerify(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ return(((Gui*)me)->cPic.Verify(CollectErrors, interp));
+ }
+
+ // Burn this pic...
+-int Gui::DoBurn(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- return(me->cPic.Write(CollectErrors, interp));
++int Gui::DoBurn(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ return(((Gui*)me)->cPic.Write(CollectErrors, interp));
+ }
+
+ // Make list of what's available for chips...
+-int Gui::DoChips(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- const char **chips = me->cPic.Chips();
++int Gui::DoChips(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char **chips = ((Gui*)me)->cPic.Chips();
+ for(int i = 0; chips[i]; i++)
+ // #### Blech! Cast away const! Thank's alot Tcl!
+ Tcl_AppendElement(interp, (char *)chips[i]);
+@@ -243,8 +243,8 @@
+ }
+
+ // Make list of pin names for the chosen programmer...
+-int Gui::DoPins(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- const char **pins = me->cPic.Pins();
++int Gui::DoPins(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char **pins = ((Gui*)me)->cPic.Pins();
+ for(int i = 0; pins[i]; i++)
+ // #### Blech! Cast away const! Thank's alot Tcl!
+ Tcl_AppendElement(interp, (char *)pins[i]);
+@@ -253,8 +253,8 @@
+ }
+
+ // Get info on current chip's segments...
+-int Gui::DoInfo(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- const char *str = me->cPic.Info();
++int Gui::DoInfo(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char *str = ((Gui*)me)->cPic.Info();
+ // #### Blech! Cast away const! Thank's alot Tcl!
+ Tcl_SetResult(interp, (char *)str, TCL_VOLATILE);
+ delete [] str;
+@@ -262,8 +262,8 @@
+ }
+
+ // Get info on build version
+-int Gui::DoVersion(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
+- const char *str = me->cPic.Version();
++int Gui::DoVersion(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
++ const char *str = ((Gui*)me)->cPic.Version();
+ // #### Blech! Cast away const! Thank's alot Tcl!
+ Tcl_SetResult(interp, (char *)str, TCL_VOLATILE);
+ delete [] str;
+@@ -272,9 +272,9 @@
+
+ // Dump memory map info... (could be big!)
+ // The C-core attempts to compress this, though...
+-int Gui::DoDump(Gui *me, Tcl_Interp *interp, int argc, char *argv[]) {
++int Gui::DoDump(void *me, Tcl_Interp *interp, int argc, const char *argv[]) {
+ ostrstream os;
+- me->cPic.DumpRam(os);
++ ((Gui*)me)->cPic.DumpRam(os);
+ os << ends;
+ char *str = os.str();
+ Tcl_AppendResult(interp, str, 0);
+@@ -285,12 +285,12 @@
+ // Instantiate a new connection object...
+ int Gui::TclNew(ClientData clientData,
+ Tcl_Interp *interp,
+- int argc, char *argv[]) {
++ int argc, const char *argv[]) {
+ if(argc != 2) {
+ Tcl_AppendResult(interp, "Wrong number of arguments to ", argv[0], "\n", 0);
+ return(TCL_ERROR);
+ }
+- char *name = argv[1];
++ const char *name = argv[1];
+ if(!Tcl_CreateCommand(interp, name, Gui::TclExec,
+ (ClientData) new Gui(), Gui::TclDestroy)) {
+ Tcl_AppendResult(interp, "Error creating '", name, "'\n", 0);
+diff -Naur --exclude '*.o' --exclude .deps --exclude '*~' --exclude config.cache --exclude config.log --exclude config.status --exclude itclInt.h --exclude picptk --exclude picpwish --exclude Makefile picptk-0.5a/UiItk.h ../../picptk-0.5a-safe/UiItk.h
+--- picptk-0.5a/UiItk.h 2006-02-25 03:35:56.583375801 -0800
++++ ../../picptk-0.5a-safe/UiItk.h 2006-02-25 03:30:52.821822767 -0800
+@@ -49,27 +49,27 @@
+
+ // Bindings that TCL calls more or less directly
+ static int TclInit(Tcl_Interp *interp, char *cmd = "Pic");
+- static int TclNew(ClientData, Tcl_Interp *, int argc, char *argv[]);
+- static int TclExec(ClientData, Tcl_Interp *, int argc, char *argv[]);
++ static int TclNew(ClientData, Tcl_Interp *, int argc, const char *argv[]);
++ static int TclExec(ClientData, Tcl_Interp *, int argc, const char *argv[]);
+ static void TclDestroy(ClientData);
+
+ // Call handlers (dispached by TclExec)
+- static int DoLoad(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoRead(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoVerify(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoBurn(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoChips(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoPins(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoInfo(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoVersion(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoChip(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoPort(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoDump(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoErase(Gui *, Tcl_Interp *, int argc, char *argv[]);
+- static int DoSet(Gui *me, Tcl_Interp *interp, int argc, char *argv[]);
+- static int DoGet(Gui *me, Tcl_Interp *interp, int argc, char *argv[]);
+- static int DoSavePrefs(Gui *me, Tcl_Interp *interp, int argc, char *argv[]);
+- static int DoLoadPrefs(Gui *me, Tcl_Interp *interp, int argc, char *argv[]);
++ static int DoLoad(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoRead(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoVerify(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoBurn(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoChips(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoPins(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoInfo(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoVersion(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoChip(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoPort(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoDump(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoErase(void *, Tcl_Interp *, int argc, const char *argv[]);
++ static int DoSet(void *me, Tcl_Interp *interp, int argc, const char *argv[]);
++ static int DoGet(void *me, Tcl_Interp *interp, int argc, const char *argv[]);
++ static int DoSavePrefs(void *me, Tcl_Interp *interp, int argc, const char *argv[]);
++ static int DoLoadPrefs(void *me, Tcl_Interp *interp, int argc, const char *argv[]);
+
+ // Procedure to collect error reports...
+ static bool CollectErrors(void *interp, const char *seg, uint size,
diff --git a/dev-embedded/picptk/files/picptk-0.5a-r1-headerfix.patch b/dev-embedded/picptk/files/picptk-0.5a-r1-headerfix.patch
new file mode 100644
index 000000000000..4a4684d76994
--- /dev/null
+++ b/dev-embedded/picptk/files/picptk-0.5a-r1-headerfix.patch
@@ -0,0 +1,363 @@
+diff -urbB picptk-0.5a.old/IfParPort.C picptk-0.5a/IfParPort.C
+--- picptk-0.5a.old/IfParPort.C 1998-12-30 17:40:31.000000000 -0800
++++ picptk-0.5a/IfParPort.C 2003-10-20 02:42:14.000000000 -0700
+@@ -27,6 +27,9 @@
+ * Byte wide transfers GetByte()
+ * Support bidiriectional pins
+ */
++
++using namespace std;
++
+ #include <IfParPort.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -72,7 +75,8 @@
+ { out, 1, 2, 0x08 }, /* pin 17 (out) !SI */
+ { nc, 0, 1, 0x00 }, /* pin 18 GND */
+ };
+- cPinInfo = pinfo;
++ //cPinInfo = pinfo;
++ for(uint i = 0; i < kMaxPins; i++) cPinInfo[i] = pinfo[i];
+ if(port >= kMaxPorts)
+ throw("Bad printer port number");
+ cPort = ports[port];
+diff -urbB picptk-0.5a.old/IfParPort.h picptk-0.5a/IfParPort.h
+--- picptk-0.5a.old/IfParPort.h 1998-12-30 17:40:31.000000000 -0800
++++ picptk-0.5a/IfParPort.h 2003-10-20 02:42:14.000000000 -0700
+@@ -32,6 +32,7 @@
+ #ifndef _ParPort_h_
+ #define _ParPort_h_
+
++using namespace std;
+ #include <stdlib.h> // for uint
+ #include <UtEnvLite.h>
+
+@@ -45,12 +46,14 @@
+ uint cState[kPortSize]; // in bytes...
+
+ typedef enum { nc, in, out, } Dir_t;
+- struct PinInfo_t {
++ typedef struct PinInfo_t {
+ Dir_t dir;
+ char sense;
+ char offset;
+ char mask;
+- } cPinInfo[kMaxPins];
++ };
++
++ PinInfo_t cPinInfo[kMaxPins];
+
+
+ // Gain access to parallel port, return 0 on success...
+diff -urbB picptk-0.5a.old/IoIntel.C picptk-0.5a/IoIntel.C
+--- picptk-0.5a.old/IoIntel.C 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/IoIntel.C 2003-10-20 02:42:14.000000000 -0700
+@@ -22,6 +22,7 @@
+ * Intel Hex file I/O formatting and such...
+ *
+ */
++using namespace std;
+ #include <IoIntel.h>
+ #include <stdio.h> // for sscanf
+ // ParseLine(...) - parse one line of Intel Hex8 format
+@@ -65,7 +66,7 @@
+ // If length is zero, writes end of file marker...
+ // This should be smarter about supressing zeros, maybe?
+ bool
+-IntelHex::OutputLine(ostream &os, int len, uint addr = 0, char *buffer = 0) {
++IntelHex::OutputLine(ostream &os, int len, uint addr, char *buffer) {
+ char line[200];
+ int sum = 0;
+ int type = (len) ? 0 : 1;
+diff -urbB picptk-0.5a.old/IoIntel.h picptk-0.5a/IoIntel.h
+--- picptk-0.5a.old/IoIntel.h 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/IoIntel.h 2003-10-20 02:43:00.000000000 -0700
+@@ -24,10 +24,11 @@
+
+ #ifndef IntelHex_h
+ #define IntelHex_h
++using namespace std;
+
+ #include <stdlib.h> // for uint
+-#include <fstream.h>
+-#include <iostream.h>
++#include <fstream>
++#include <iostream>
+
+ // This probably should be more general and read multiple formats...
+ class IntelHex {
+diff -urbB picptk-0.5a.old/Makefile.am picptk-0.5a/Makefile.am
+--- picptk-0.5a.old/Makefile.am 1998-12-30 18:23:05.000000000 -0800
++++ picptk-0.5a/Makefile.am 2003-10-20 02:42:14.000000000 -0700
+@@ -24,7 +24,7 @@
+ .picprc \
+ picptk.itk
+
+-INCLUDES = -I . -I /usr/include/tcl8.0-int/generic/
++INCLUDES = -I. -I/usr/include/tcl8.0-int/generic/ -I/usr/lib/tcl8.3/include/generic -I/usr/lib/tcl8.4/include/generic
+
+ ##dnl info_TEXINFOS = picptk.texi
+
+diff -urbB picptk-0.5a.old/PicCore.C picptk-0.5a/PicCore.C
+--- picptk-0.5a.old/PicCore.C 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicCore.C 2003-10-20 02:42:14.000000000 -0700
+@@ -19,6 +19,7 @@
+ *
+ * $Id: picptk-0.5a-r1-headerfix.patch,v 1.1 2006/02/25 11:46:50 robbat2 Exp $
+ */
++using namespace std;
+ #include <PicCore.h>
+ #include <IoIntel.h>
+ #include <string.h> // for strcat()
+@@ -504,7 +505,7 @@
+ SetPin(pin_do, 0);
+ }
+ // SetPin() - Hook to the driver's set pin...
+-void Pic::SetPin(Pin_t pin, int val = 1) {
++void Pic::SetPin(Pin_t pin, int val) {
+ if(!cDriver) throw (cDriver); // Get the hint?
+ cDriver->SetPin(pin, val);
+ }
+diff -urbB picptk-0.5a.old/PicCore.h picptk-0.5a/PicCore.h
+--- picptk-0.5a.old/PicCore.h 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicCore.h 2003-10-20 02:43:17.000000000 -0700
+@@ -21,8 +21,9 @@
+ */
+ #ifndef Pic_h
+ #define Pic_h
++using namespace std;
+
+-#include <fstream.h>
++#include <fstream>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <UtEnvLite.h> // for Environment
+@@ -130,7 +131,7 @@
+ int VerifySegment(Segment &seg, ProgressCb_t cb=0, void *arg=0);
+ int EraseSegment (Segment &seg, ProgressCb_t cb=0, void *arg=0);
+ int InitSegment (Segment &seg, ProgressCb_t cb=0, void *arg=0) { seg.Init(); return(0); }
+- int DumpSegment (Segment &seg, ProgressCb_t cb=0, void *arg=0) { seg.Dump((ostream &)*arg); return(0); }
++ int DumpSegment (Segment &seg, ProgressCb_t cb=0, void *arg=0) { seg.Dump((ostream &)arg); return(0); }
+ int BlankCheckSegment (Segment &seg, ProgressCb_t cb=0, void *arg=0);
+
+ // Set/Get based on Pin name
+@@ -149,13 +150,13 @@
+ const char *GetPref(const char *attr) { return(cEnv.Get(attr)); }
+
+ // Make user functions apply to all segments...
+- int Read (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&ReadSegment, cb, obj)); }
+- int Write (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&WriteSegment, cb, obj)); }
+- int Verify(ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&VerifySegment, cb, obj)); }
+- int Erase (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&EraseSegment, cb, obj)); }
+- int DumpRam (ostream &os) { return(EachSegment(&DumpSegment, 0, &os, false)); }
++ int Read (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&Pic::ReadSegment, cb, obj)); }
++ int Write (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&Pic::WriteSegment, cb, obj)); }
++ int Verify(ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&Pic::VerifySegment, cb, obj)); }
++ int Erase (ProgressCb_t cb = 0, void *obj = 0) { return(EachSegment(&Pic::EraseSegment, cb, obj)); }
++ int DumpRam (ostream &os) { return(EachSegment(&Pic::DumpSegment, 0, &os, false)); }
+ int LoadRam (const char *file);
+- int InitRam () { return(EachSegment(&InitSegment, 0, 0, false)); }
++ int InitRam () { return(EachSegment(&Pic::InitSegment, 0, 0, false)); }
+
+ // Configuration functions...
+ virtual const char **Chips(); // What chip types we support...
+diff -urbB picptk-0.5a.old/PicDriver.h picptk-0.5a/PicDriver.h
+--- picptk-0.5a.old/PicDriver.h 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicDriver.h 2003-10-20 02:43:19.000000000 -0700
+@@ -25,6 +25,7 @@
+ */
+ #ifndef _PicDriver_h_
+ #define _PicDriver_h_
++using namespace std;
+
+ #include <stdlib.h> // for uint
+ #include <termios.h> // for serial port support
+diff -urbB picptk-0.5a.old/PicMem.h picptk-0.5a/PicMem.h
+--- picptk-0.5a.old/PicMem.h 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicMem.h 2003-10-20 02:43:22.000000000 -0700
+@@ -21,9 +21,10 @@
+ */
+ #ifndef Segment_h
+ #define Segment_h
++using namespace std;
+
+ #include <stdlib.h> // for uint
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h> // for sprintf()
+ #include <string.h> // for strcat()
+
+diff -urbB picptk-0.5a.old/PicParallel.C picptk-0.5a/PicParallel.C
+--- picptk-0.5a.old/PicParallel.C 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicParallel.C 2003-10-20 02:42:14.000000000 -0700
+@@ -27,6 +27,7 @@
+ * into actions...
+ */
+
++using namespace std;
+ #include <PicParallel.h>
+ #include <unistd.h> // for open(), close(), ...
+
+@@ -82,7 +83,7 @@
+ }
+
+ // Set specified pin...
+-void ParallelDriver::SetPin(Pic::Pin_t pin, int val = 1) {
++void ParallelDriver::SetPin(Pic::Pin_t pin, int val) {
+ int pinnum = cPinMap[pin];
+ if(pinnum < 0) cPort->SetPin(-pinnum, val^1);
+ else cPort->SetPin(pinnum, val);
+diff -urbB picptk-0.5a.old/PicParallel.h picptk-0.5a/PicParallel.h
+--- picptk-0.5a.old/PicParallel.h 1998-12-30 17:40:32.000000000 -0800
++++ picptk-0.5a/PicParallel.h 2003-10-20 02:43:24.000000000 -0700
+@@ -26,6 +26,7 @@
+ */
+ #ifndef _PicParallel_h_
+ #define _PicParallel_h_
++using namespace std;
+
+ #include <PicDriver.h>
+ #include <IfParPort.h>
+diff -urbB picptk-0.5a.old/PicPersonality.C picptk-0.5a/PicPersonality.C
+--- picptk-0.5a.old/PicPersonality.C 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/PicPersonality.C 2003-10-20 02:42:14.000000000 -0700
+@@ -24,6 +24,7 @@
+ * ToDo:
+ * Place this information in a config file rather than in code...
+ */
++using namespace std;
+ #include <PicCore.h>
+
+ // Pic::cAllPics - Description of all supported Pic members
+diff -urbB picptk-0.5a.old/PicSerial.C picptk-0.5a/PicSerial.C
+--- picptk-0.5a.old/PicSerial.C 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/PicSerial.C 2003-10-20 02:42:14.000000000 -0700
+@@ -34,6 +34,7 @@
+ * and they need a non-standard tty driver to hold TX low indefinately.
+ * The driver appears to be a seperate kernel patch...
+ */
++using namespace std;
+
+ #include <PicSerial.h>
+ #include <unistd.h> // for open(), close(), ...
+@@ -54,18 +55,18 @@
+ SerialDriver::SerialDriver(Environment &env) : Driver(env) {
+
+ #ifndef TIOCCBRK
+- throw("No TIOCCBRK ioctl?!
+-You probably can't use a serial port
+-programmer unless you install a kernel
++ throw("No TIOCCBRK ioctl?!\n\
++You probably can't use a serial port\n\
++programmer unless you install a kernel\n\
+ patch.");
+
+ // That'll get user's attention, now let compile it anyway...
+ #define TIOCCBRK 0
+ #endif
+ #ifndef TIOSCBRK
+- throw("No TIOCCBRK ioctl?!
+-You probably can't use a serial port
+-programmer unless you install a kernel
++ throw("No TIOCCBRK ioctl?!\n\
++You probably can't use a serial port\n\
++programmer unless you install a kernel\n\
+ patch.");
+ #define TIOSCBRK 0
+ #endif // TIOSCBRK
+@@ -94,7 +95,7 @@
+ }
+
+ // Set specified pin...
+-void SerialDriver::SetPin(Pic::Pin_t pin, int val = 1) {
++void SerialDriver::SetPin(Pic::Pin_t pin, int val) {
+ int tmp;
+ val &= 1;
+ switch(pin) {
+diff -urbB picptk-0.5a.old/PicSerial.h picptk-0.5a/PicSerial.h
+--- picptk-0.5a.old/PicSerial.h 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/PicSerial.h 2003-10-20 02:43:25.000000000 -0700
+@@ -26,6 +26,7 @@
+ */
+ #ifndef _PicSerial_h_
+ #define _PicSerial_h_
++using namespace std;
+
+ #include <PicDriver.h>
+ /* Serial port programmer...
+diff -urbB picptk-0.5a.old/UiItk.C picptk-0.5a/UiItk.C
+--- picptk-0.5a.old/UiItk.C 1998-12-31 08:33:53.000000000 -0800
++++ picptk-0.5a/UiItk.C 2003-10-20 02:42:50.000000000 -0700
+@@ -27,6 +27,7 @@
+ * a the need...)
+ *
+ */
++using namespace std;
+
+ #include <UiItk.h>
+
+@@ -34,7 +35,7 @@
+ #include <itk.h>
+ #endif
+
+-#include <strstream.h> // for ostrstream
++#include <strstream> // for ostrstream
+
+
+ /* Gui dispatch table for TCL commands...
+diff -urbB picptk-0.5a.old/UiItk.h picptk-0.5a/UiItk.h
+--- picptk-0.5a.old/UiItk.h 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/UiItk.h 2003-10-20 02:43:27.000000000 -0700
+@@ -30,6 +30,7 @@
+
+ // Even though the interface may be incrTk,
+ // <tk.h> contains what we need here...
++using namespace std;
+ #include <tk.h>
+ #include <PicCore.h>
+
+diff -urbB picptk-0.5a.old/UtEnvLite.h picptk-0.5a/UtEnvLite.h
+--- picptk-0.5a.old/UtEnvLite.h 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/UtEnvLite.h 2003-10-20 02:43:31.000000000 -0700
+@@ -27,8 +27,9 @@
+ */
+ #ifndef _Environment_h_
+ #define _Environment_h_
++using namespace std;
+
+-#include <fstream.h>
++#include <fstream>
+ #include <stdio.h>
+ #include <stdlib.h>
+
+diff -urbB picptk-0.5a.old/UtRealTime.h picptk-0.5a/UtRealTime.h
+--- picptk-0.5a.old/UtRealTime.h 1998-12-30 17:40:33.000000000 -0800
++++ picptk-0.5a/UtRealTime.h 2003-10-20 02:43:33.000000000 -0700
+@@ -25,6 +25,7 @@
+
+ #ifndef RealTime_h
+ #define RealTime_h
++using namespace std;
+
+ #include <time.h> // for uint
+ #include <sched.h> // for sched_setscheduler()
+diff -urbB picptk-0.5a.old/configure.in picptk-0.5a/configure.in
+--- picptk-0.5a.old/configure.in 1998-12-31 08:46:54.000000000 -0800
++++ picptk-0.5a/configure.in 2003-10-20 02:42:14.000000000 -0700
+@@ -7,12 +7,12 @@
+ AC_PROG_INSTALL
+
+ dnl Checks for libraries.
+-AC_CHECK_LIB(itk3.0, Itk_Init)
+-AC_CHECK_LIB(itk3.0, Itk_Init, cp picptk.itk picptk, cp picptk.tcl picptk)
++AC_CHECK_LIB(itk3.3, Itk_Init)
++AC_CHECK_LIB(itk3.3, Itk_Init, cp picptk.itk picptk, cp picptk.tcl picptk)
+
+ dnl The following isn't totally true, but let's force the issue...
+-AC_CHECK_LIB(itk3.0, Itk_Init,,AC_MSG_ERROR([
+-**** picptk now requires itcl3.0
++AC_CHECK_LIB(itk3.3, Itk_Init,,AC_MSG_ERROR([
++**** picptk now requires itcl3.3
+ **** See the README file for more info.
+ ]))
+
diff --git a/dev-embedded/picptk/picptk-0.5a-r1.ebuild b/dev-embedded/picptk/picptk-0.5a-r1.ebuild
new file mode 100644
index 000000000000..1f92ecfc506e
--- /dev/null
+++ b/dev-embedded/picptk/picptk-0.5a-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-embedded/picptk/picptk-0.5a-r1.ebuild,v 1.1 2006/02/25 11:46:50 robbat2 Exp $
+
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="Picptk is a programmer supporting the whole PIC family including all memory types (EEPROM, EPROM, and OTP)"
+HOMEPAGE="http://huizen.dds.nl/~gnupic/programmers_mike_butler.html"
+# http://huizen.dds.nl/~gnupic/picptk-0.5a.tar.gz
+SRC_URI="http://huizen.dds.nl/~gnupic/picptk-0.5a.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+RDEPEND="=dev-tcltk/itk-3.3*
+ dev-tcltk/iwidgets
+ dev-tcltk/itcl"
+DEPEND="${RDEPEND}
+ sys-devel/gcc
+ sys-devel/automake
+ sys-devel/autoconf"
+
+src_unpack() {
+ unpack ${A}
+ epatch ${FILESDIR}/${PF}-headerfix.patch
+ epatch ${FILESDIR}/${PF}-gccfixes.patch
+ cd ${S}
+ export WANT_AUTOMAKE=1.4
+ export WANT_AUTOCONF=2.1
+ sed -i.orig -e '49,53d' \
+ -e 's/AM_PROG_INSTALL/AC_PROG_INSTALL/g' \
+ ${S}/aclocal.m4 || die "sed failed"
+ eautoconf || die "autoconf failed"
+ eautomake || die "automake failed"
+}
+
+src_install() {
+ #dobin picprog
+ #dodoc README #jdm*.png adapter.jpg
+ #dohtml picprog.html *.jpg *.png
+ #doman picprog.1
+ einstall || die "einstall failed"
+ dodoc AUTHORS NEWS README TODO
+ newdoc .picprc sample.picprc
+}
diff --git a/dev-embedded/picptk/picptk-0.5a.ebuild b/dev-embedded/picptk/picptk-0.5a.ebuild
index 2706019b5cdd..66420dc75e4b 100644
--- a/dev-embedded/picptk/picptk-0.5a.ebuild
+++ b/dev-embedded/picptk/picptk-0.5a.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2005 Gentoo Foundation
+# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-embedded/picptk/picptk-0.5a.ebuild,v 1.6 2005/01/01 17:55:31 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-embedded/picptk/picptk-0.5a.ebuild,v 1.7 2006/02/25 11:46:50 robbat2 Exp $
#this is for autoconf
inherit kde-functions eutils
@@ -12,7 +12,7 @@ SRC_URI="http://huizen.dds.nl/~gnupic/picptk-0.5a.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="x86"
+KEYWORDS="~x86"
IUSE=""
RDEPEND="dev-tcltk/itcl"