summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2005-12-15 20:33:37 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2005-12-15 20:33:37 +0000
commit7491ec27723e236090c9936e6c4c8d2d23605985 (patch)
treefadfcbace971aa399bc834b5a2e2c2f37a950c57 /sci-chemistry
parentNew upstream version (diff)
downloadhistorical-7491ec27723e236090c9936e6c4c8d2d23605985.tar.gz
historical-7491ec27723e236090c9936e6c4c8d2d23605985.tar.bz2
historical-7491ec27723e236090c9936e6c4c8d2d23605985.zip
MAID does automatic fitting of protein X-ray crystallography electron density maps. It can correctly build about 60% of alpha carbons on medium-resolution maps and about 80% on high-resolution maps.
Package-Manager: portage-2.0.53
Diffstat (limited to 'sci-chemistry')
-rw-r--r--sci-chemistry/maid/ChangeLog13
-rw-r--r--sci-chemistry/maid/Manifest6
-rw-r--r--sci-chemistry/maid/files/digest-maid-200111121
-rw-r--r--sci-chemistry/maid/files/fix-compilation.patch570
-rw-r--r--sci-chemistry/maid/files/fix-warnings.patch419
-rw-r--r--sci-chemistry/maid/maid-20011112.ebuild62
-rw-r--r--sci-chemistry/maid/metadata.xml9
7 files changed, 1080 insertions, 0 deletions
diff --git a/sci-chemistry/maid/ChangeLog b/sci-chemistry/maid/ChangeLog
new file mode 100644
index 000000000000..8ffeed693bec
--- /dev/null
+++ b/sci-chemistry/maid/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for sci-chemistry/maid
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/maid/ChangeLog,v 1.1 2005/12/15 20:33:37 spyderous Exp $
+
+*maid-20011112 (15 Dec 2005)
+
+ 15 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
+ +files/fix-compilation.patch, +files/fix-warnings.patch, +metadata.xml,
+ +maid-20011112.ebuild:
+ MAID does automatic fitting of protein X-ray crystallography electron
+ density maps. It can correctly build about 60% of alpha carbons on
+ medium-resolution maps and about 80% on high-resolution maps.
+
diff --git a/sci-chemistry/maid/Manifest b/sci-chemistry/maid/Manifest
new file mode 100644
index 000000000000..2369c2aa1ad8
--- /dev/null
+++ b/sci-chemistry/maid/Manifest
@@ -0,0 +1,6 @@
+MD5 bdf0475dbae5eb052a07b5867eaf848b ChangeLog 602
+MD5 ff5b0305adfcf24af5bdcabee62ebeb8 files/digest-maid-20011112 69
+MD5 d0c424b73bb547a1277338c40972d7ad files/fix-compilation.patch 22977
+MD5 bcc6fdf88e85ccb7f3a06ef3dd9011b7 files/fix-warnings.patch 17141
+MD5 1689aa68a1cafc5d932d148a1722a14a maid-20011112.ebuild 1366
+MD5 af1bfbb0777267a03e889b08173f2757 metadata.xml 248
diff --git a/sci-chemistry/maid/files/digest-maid-20011112 b/sci-chemistry/maid/files/digest-maid-20011112
new file mode 100644
index 000000000000..3df05a9dc28a
--- /dev/null
+++ b/sci-chemistry/maid/files/digest-maid-20011112
@@ -0,0 +1 @@
+MD5 23066037ad06f256d26e61a69d91c84a maid_unix_12nov01.tar.gz 480609
diff --git a/sci-chemistry/maid/files/fix-compilation.patch b/sci-chemistry/maid/files/fix-compilation.patch
new file mode 100644
index 000000000000..da280e4436f5
--- /dev/null
+++ b/sci-chemistry/maid/files/fix-compilation.patch
@@ -0,0 +1,570 @@
+diff -ur glmaid_dist.orig/drawwindow.c++ glmaid_dist/drawwindow.c++
+--- glmaid_dist.orig/drawwindow.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/drawwindow.c++ 2005-12-15 08:09:55.000000000 -0800
+@@ -659,7 +659,7 @@
+ { "OK", fuse_ok_pushed, NULL },
+ { "PICK AGAIN", pickagain_pushed ,NULL },
+ { "QUIT", fuse_cancel_pushed, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -737,7 +737,7 @@
+ { "OK", assign_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", assignclose_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -805,7 +805,7 @@
+ { "OK", remove_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", removecancel_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+diff -ur glmaid_dist.orig/fit.c++ glmaid_dist/fit.c++
+--- glmaid_dist.orig/fit.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/fit.c++ 2005-12-15 08:15:43.000000000 -0800
+@@ -305,7 +305,7 @@
+ { "OK", inputfit_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -430,7 +430,7 @@
+ fit[ii].val2= -1;
+ }
+ savefit(); //save the val2 segment unassignments
+-#endif;
++#endif
+ #if 0
+ strcpy(ranknum,"rank1fit");
+ readset("set1",fitset);
+@@ -710,16 +710,16 @@
+ buildmenu=XmVaCreateSimplePulldownMenu (menubar, "build_menu", 3, build_cb,
+ XmVaPUSHBUTTON,traceonoff,'T', NULL, NULL, // button_0
+ XmVaPUSHBUTTON,extend,'T', NULL, NULL, // button_1
+- XmVaPUSHBUTTON,fusepicks,'FP', NULL, NULL, // button_2
++ XmVaPUSHBUTTON,fusepicks,"FP", NULL, NULL, // button_2
+ XmVaPUSHBUTTON,recallfit,'F', NULL, NULL, // button_3
+ XmVaPUSHBUTTON,recallbackupfit,'F', NULL, NULL, // button_4
+- XmVaCHECKBUTTON,drawfit,'DF', NULL, NULL, // button_5
+- XmVaCHECKBUTTON,pickfit,'DF', NULL, NULL, // button_6
+- XmVaPUSHBUTTON,inputfit,'DF', NULL, NULL, // button_7
+- XmVaPUSHBUTTON,drawrankfit,'DR', NULL, NULL, // button_8
+- XmVaPUSHBUTTON,drawrankset,'DR', NULL, NULL, // button_9
+- XmVaPUSHBUTTON,fittopdb,'DR', NULL, NULL, // button_10
+- XmVaPUSHBUTTON,deletefit,'DR', NULL, NULL, // button_11
++ XmVaCHECKBUTTON,drawfit,"DF", NULL, NULL, // button_5
++ XmVaCHECKBUTTON,pickfit,"DF", NULL, NULL, // button_6
++ XmVaPUSHBUTTON,inputfit,"DF", NULL, NULL, // button_7
++ XmVaPUSHBUTTON,drawrankfit,"DR", NULL, NULL, // button_8
++ XmVaPUSHBUTTON,drawrankset,"DR", NULL, NULL, // button_9
++ XmVaPUSHBUTTON,fittopdb,"DR", NULL, NULL, // button_10
++ XmVaPUSHBUTTON,deletefit,"DR", NULL, NULL, // button_11
+ NULL);
+ #if 1
+ XmStringFree (traceonoff);
+@@ -774,12 +774,12 @@
+ XmVaPUSHBUTTON,tordyncen,'M', NULL, NULL, // button_3
+ XmVaCASCADEBUTTON,addcresidue,'W', // button_4
+ XmVaCASCADEBUTTON,addnresidue,'W', // button_5
+- XmVaPUSHBUTTON,remcresidue,'RC', NULL, NULL, // button_6
+- XmVaPUSHBUTTON,remnresidue,'RN', NULL, NULL, // button_7
+- XmVaPUSHBUTTON,extendpickcterm,'RN', NULL, NULL, // button_8
+- XmVaCHECKBUTTON,drawgeo,'DF', NULL, NULL, // button_9
+- XmVaPUSHBUTTON,savepickfit,'DF', NULL, NULL, // button_10
+- XmVaPUSHBUTTON,drawrotomer,'DR', NULL, NULL, // button_11
++ XmVaPUSHBUTTON,remcresidue,"RC", NULL, NULL, // button_6
++ XmVaPUSHBUTTON,remnresidue,"RN", NULL, NULL, // button_7
++ XmVaPUSHBUTTON,extendpickcterm,"RN", NULL, NULL, // button_8
++ XmVaCHECKBUTTON,drawgeo,"DF", NULL, NULL, // button_9
++ XmVaPUSHBUTTON,savepickfit,"DF", NULL, NULL, // button_10
++ XmVaPUSHBUTTON,drawrotomer,"DR", NULL, NULL, // button_11
+ NULL);
+
+ addcpullright = XmVaCreateSimplePulldownMenu (fitmenu,
+diff -ur glmaid_dist.orig/global.h glmaid_dist/global.h
+--- glmaid_dist.orig/global.h 2001-11-12 05:35:51.000000000 -0800
++++ glmaid_dist/global.h 2005-12-15 08:09:55.000000000 -0800
+@@ -6,7 +6,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+-//#include <iostream.h>
++//#include <iostream>
+ //#include <iomanip.h>
+ #include <time.h>
+ #include <math.h>
+diff -ur glmaid_dist.orig/mainscreen.c++ glmaid_dist/mainscreen.c++
+--- glmaid_dist.orig/mainscreen.c++ 2001-11-12 05:35:49.000000000 -0800
++++ glmaid_dist/mainscreen.c++ 2005-12-15 08:09:55.000000000 -0800
+@@ -1,7 +1,7 @@
+ // mainscreen.c++ - Screen version (most general) of maid
+ // the motif organizatrion was originally adapted from program levitt/motifman/ch04/dynapix.c
+
+-#include <CC/iostream.h>
++#include <iostream>
+ #include "Xgl.h"
+ #include "drawwindow.h" // also calls global.h
+ #include "trace.h"
+@@ -53,7 +53,7 @@
+ int splitscreen =1; // if = 1 then use standard splitscreen stereo,
+ //int splitscreen =0; // = 0 use wholescreen - also set geo.linewidth = 4 below
+
+-void main(int argc, char *argv[]) {
++int main(int argc, char *argv[]) {
+
+ Arg resources[20];
+ int n;
+@@ -209,5 +209,7 @@
+ #endif
+ #endif
+ XtAppMainLoop(sc.appctx);
++
++ return 0;
+ }
+
+diff -ur glmaid_dist.orig/makefile_graphics glmaid_dist/makefile_graphics
+--- glmaid_dist.orig/makefile_graphics 2001-11-12 05:35:52.000000000 -0800
++++ glmaid_dist/makefile_graphics 2005-12-15 08:16:00.000000000 -0800
+@@ -36,109 +36,111 @@
+ COMBINE = combine.h
+ SELENOMET = selenomet.h
+
+-CC = CC -c -O
++Cgeneric = gcc
++Clink = $(Cgeneric)
++Copt = $(Cgeneric) -c -O
+
+
+ auto: $(OBJ)
+- CC $(OBJ) -lGLw -lGL -lGLU -lXm -lXt -lX11 -lm -o maid
++ $(Clink) $(OBJ) -lGLw -lGL -lGLU -lXm -lXt -lX11 -lm -o maid
+
+ mainscreen.o: mainscreen.c++ $(DRAWWIND) $(MATH) $(CONTROL) $(PEPTIDE) $(TORDYN) $(TRACE) $(ASSIGNSEQ) $(EXTENDFIT) $(EDITBONES)
+- $(CC) mainscreen.c++
++ $(Copt) mainscreen.c++
+
+ symmate.o: symmate.c++ $(GLOBAL) $(PEPTIDE) $(TRACE) $(MATH) $(PDBTOLEV) $(SYMMATE) $(COMBINE)
+- $(CC) symmate.c++
++ $(Copt) symmate.c++
+
+ selenomet.o: selenomet.c++ $(GLOBAL) $(MATH) $(SELENOMET)
+- $(CC) selenomet.c++
++ $(Copt) selenomet.c++
+
+ combine.o: combine.c++ $(GLOBAL) $(PEPTIDE) $(TRACE) $(MATH) $(COMBINE) $(SYMMATE) $(FITTOPDB)
+- $(CC) combine.c++
++ $(Copt) combine.c++
+
+ control.o: control.c++ $(GLOBAL) $(PEPTIDE) $(CONTROL) $(TORDYN) $(ASSIGNSEQ) $(PDBTOLEV) $(TRACE) $(RANKSIDE) $(BONE)
+- $(CC) control.c++
++ $(Copt) control.c++
+
+ extend2.o: extend2.c++ $(MATH) $(TRACE) $(GLOBAL) $(EXTENDFIT) $(PEPTIDE) $(BONE) $(EXTEND2) $(TORDYN)
+- $(CC) extend2.c++
++ $(Copt) extend2.c++
+
+ checkfit.o: checkfit.c++ $(MATH) $(TRACE) $(GLOBAL) $(PEPTIDE) $(TORDYN) $(CHECKFIT) $(EDITBONES) $(BONE)
+- $(CC) checkfit.c++
++ $(Copt) checkfit.c++
+
+ refine.o: refine.c++ $(MATH) $(TRACE) $(GLOBAL) $(REFINE) $(PEPTIDE) $(TORDYN)
+- $(CC) refine.c++
++ $(Copt) refine.c++
+
+ rankside.o: rankside.c++ $(PDBTOLEV) $(MATH) $(TRACE) $(RANKSIDE) $(GLOBAL) $(TORDYN) $(MODEL) $(PEPTIDE) $(EDITBONES)
+- $(CC) rankside.c++
++ $(Copt) rankside.c++
+
+ extendfit.o: extendfit.c++ $(DRAWWIND) $(SYMMATE) $(REFINE) $(MATH) $(BONE) $(PEPTIDE) $(TRACE) $(TORDYN) $(EXTENDFIT) $(FITTOPDB) $(EDITBONES) $(RANKSIDE) $(ASSIGNSEQ)
+- $(CC) extendfit.c++
++ $(Copt) extendfit.c++
+
+ editbones.o: editbones.c++ $(EDITBONES) $(DRAWWIND) $(MATH) $(BONE) $(PEPTIDE) $(TRACE) $(TORDYN) $(EXTENDFIT)
+- $(CC) editbones.c++
++ $(Copt) editbones.c++
+
+ fittopdb.o: fittopdb.c++ $(DRAWWIND) $(PEPTIDE) $(FITTOPDB) $(PDBTOLEV)
+- $(CC) fittopdb.c++
++ $(Copt) fittopdb.c++
+
+ tordyn.o: tordyn.c++ $(TORDYN) $(DRAWWIND) $(PEPTIDE) $(MENU) $(TRACE) $(ASSIGNSEQ) $(RUNTORDYN) $(EDITBONES) $(EXTENDFIT) $(REFINE)
+- $(CC) tordyn.c++
++ $(Copt) tordyn.c++
+
+ runtordynnew.o: runtordynnew.c++ $(TRACE) $(TORDYN) $(RUNTORDYN) $(PEPTIDE) $(EDITBONES) $(REFINE)
+- $(CC) runtordynnew.c++
++ $(Copt) runtordynnew.c++
+
+ assignseq.o: assignseq.c++ $(PDBTOLEV) $(TRACE) $(ASSIGNSEQ) $(GLOBAL) $(TORDYN) $(MODEL) $(PEPTIDE) $(RANKSIDE) $(EDITBONES) $(SYMMATE)
+- $(CC) assignseq.c++
++ $(Copt) assignseq.c++
+
+ peptide.o: peptide.c++ $(DRAWWIND) $(MATH) $(PEPTIDE)
+- $(CC) peptide.c++
++ $(Copt) peptide.c++
+
+ initialize.o: initialize.c++ $(DRAWWIND) $(PEPTIDE) $(TORDYN) $(BONE) $(TRACE)
+- $(CC) initialize.c++
++ $(Copt) initialize.c++
+
+ bone.o: bone.c++ $(DRAWWIND) $(MATH) $(BONE)
+- $(CC) bone.c++
++ $(Copt) bone.c++
+
+ trace.o: trace.c++ $(DRAWWIND) $(MATH) $(BONE) $(PEPTIDE) $(TRACE) $(TORDYN) $(EXTENDFIT) $(CHECKFIT) $(FITTOPDB)
+- $(CC) trace.c++
++ $(Copt) trace.c++
+
+ pdbtolev.o: pdbtolev.c++ $(INITIALIZE) $(PDBTOLEV) $(GLOBAL) $(MENU) $(DRAWWIND) $(PEPTIDE) $(FITTOPDB)
+- $(CC) pdbtolev.c++
++ $(Copt) pdbtolev.c++
+
+ math.o: math.c++ $(MATH) $(PEPTIDE) $(TRACE)
+- $(CC) math.c++
++ $(Copt) math.c++
+
+ global.o: global.c++ $(GLOBAL)
+- $(CC) global.c++
++ $(Copt) global.c++
+
+ drawwindow.o: drawwindow.c++ $(MENU) $(DRAWWIND) $(CUBE) $(PEPTIDE) $(ASSIGNSEQ) $(FIT) $(EXTENDFIT) $(EDITBONES)
+- $(CC) drawwindow.c++
++ $(Copt) drawwindow.c++
+
+
+ mapmenu.o: mapmenu.c++ $(MAPMENU) $(DRAWWIND) $(MENU) $(CORE) $(COMBINE) $(PEPTIDE) $(EXTENDFIT) $(CONTROL) $(EDITBONES) $(INITIALIZE)
+- $(CC) mapmenu.c++
++ $(Copt) mapmenu.c++
+
+
+ menu.o: menu.c++ $(MENU) $(DRAWWIND) $(PDBTOLEV) $(MATH) $(MARCH) $(PEPTIDE) $(TRACE) $(INITIALIZE)
+- $(CC) menu.c++
++ $(Copt) menu.c++
+
+ pdbmenu.o: pdbmenu.c++ $(PDBMENU) $(DRAWWIND) $(MENU) $(FITTOPDB) $(COMBINE) $(PEPTIDE)
+- $(CC) pdbmenu.c++
++ $(Copt) pdbmenu.c++
+
+ sphere.o: sphere.c++ $(DRAWWIND) $(MATH) $(SPHERE)
+- $(CC) sphere.c++
++ $(Copt) sphere.c++
+
+ cube.o: cube.c++ $(CUBE) $(DRAWWIND)
+- $(CC) cube.c++
++ $(Copt) cube.c++
+
+ model.o: model.c++ $(MODEL) $(DRAWWIND) $(PDBTOLEV) $(MATH)
+- $(CC) model.c++
++ $(Copt) model.c++
+
+ fit.o: fit.c++ testfit.inc $(DRAWWIND) $(RANKSIDE) $(TRACE) $(FIT) $(MENU) $(BONE) $(TORDYN) $(PEPTIDE) $(ASSIGNSEQ) $(FITTOPDB) $(EXTENDFIT) $(RANKSIDE)
+- $(CC) fit.c++
++ $(Copt) fit.c++
+
+ contour.o: contour.c++ $(CONTOUR) $(DRAWWIND) $(TRACE)
+- $(CC) contour.c++
++ $(Copt) contour.c++
+
+ initializescreen.o: initializescreen.c++ $(INITIALIZESCREEN) $(DRAWWIND) $(PEPTIDE) $(TORDYN) $(BONE)
+- $(CC) initializescreen.c++
+-
+-
++ $(Copt) initializescreen.c++
+
++clean:
++ rm -f *.o maid
+diff -ur glmaid_dist.orig/mapmenu.c++ glmaid_dist/mapmenu.c++
+--- glmaid_dist.orig/mapmenu.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/mapmenu.c++ 2005-12-15 08:09:55.000000000 -0800
+@@ -188,7 +188,7 @@
+ { "OK", inputfitnum_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -241,7 +241,7 @@
+ { "OK", inputbone_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -806,7 +806,7 @@
+ XmVaCASCADEBUTTON,contlevel,NULL,
+ XmVaCASCADEBUTTON,boneminset,NULL,
+ NULL);
+- for(i=1;i<NMAPS;i++) // Turn off sensitivitivity - look pale
++ for(int i=1;i<NMAPS;i++) // Turn off sensitivitivity - look pale
+ XtSetSensitive(sc.mappullright[i],0);
+
+ colorpullright[1]=XmVaCreateSimplePulldownMenu (sc.mappullright[1],
+@@ -1156,11 +1156,11 @@
+ XtVaSetValues (widget, XmNset,False, NULL);
+ if (widget = XtNameToWidget (mapmenu,"button_9")) //DEFAULT: Turn off check box for highlight bone point on/off button
+ XtVaSetValues (widget, XmNset,False, NULL);
+- for(i=0;i<=6;i++){
++ for(int i=0;i<=6;i++){
+ XmStringFree (radius[i]);
+ XmStringFree (minden[i]);
+ }
+- for(i=0;i<=9;i++){
++ for(int i=0;i<=9;i++){
+ XmStringFree (colorv[i]);
+ XmStringFree (level[i]);
+ }
+@@ -1175,7 +1175,7 @@
+ XmStringFree(editboneonoff);
+ XmStringFree(inputbonept);
+ XmStringFree(inputfitnum);
+- for(i=1;i<NMAPS;i++)
++ for(int i=1;i<NMAPS;i++)
+ XmStringFree (xmpdb[i]);
+ }
+
+diff -ur glmaid_dist.orig/menu.c++ glmaid_dist/menu.c++
+--- glmaid_dist.orig/menu.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/menu.c++ 2005-12-15 08:09:55.000000000 -0800
+@@ -1,5 +1,5 @@
+ // This is primarily the menus associated with FILE pulldown menu
+-#include <CC/iostream.h>
++#include <iostream>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
+@@ -85,7 +85,7 @@
+ { "OK", new_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -159,7 +159,7 @@
+ { "OK", old_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -211,7 +211,7 @@
+
+
+ /* The "ok" button was pushed or the user pressed Return */
+-static void old_ok_pushed(Widget w,XtPointer client_data,XtPointer call_data)
++extern void old_ok_pushed(Widget w,XtPointer client_data,XtPointer call_data)
+ {
+ char* text[5];
+ char text0[100];
+@@ -219,14 +219,14 @@
+ text[i] = XmTextFieldGetString (ss.w[i]);
+
+ strcpy(text0,text[0]);
+- for( i = 0;i< ss.num;i++)
++ for(int i = 0;i< ss.num;i++)
+ XtFree (text[i]);
+ strcat(text0,".maid");
+ strcpy(maidfile.name,text0);
+ // readmaidfile(maidfile,map,core);
+ readmaidfile(maidfile,map,bone);
+ printf(" npdbfile = %d\n",maidfile.npdb);
+-for(i=1;i<=maidfile.npdb;i++)
++for(int i=1;i<=maidfile.npdb;i++)
+ printf("pdbfilename%d = %s\n",i,maidfile.pdb[i].name);
+ Widget shell = (Widget) client_data;
+ XtDestroyWidget (shell);
+@@ -240,7 +240,7 @@
+ }
+
+ /* The "ok" button was pushed or the user pressed Return */
+-static void new_ok_pushed(Widget w,XtPointer client_data,XtPointer call_data)
++extern void new_ok_pushed(Widget w,XtPointer client_data,XtPointer call_data)
+ {
+ char* text[5];
+ char text0[100],ich[10];
+@@ -277,7 +277,7 @@
+ XtDestroyWidget (shell);
+ printf ("Name = %s pdbfile = %s mapfile = %s\n",
+ maidfile.name,maidfile.pdb[1].name,text[2]);
+- for( i = 0;i< ss.num;i++)
++ for(int i = 0;i< ss.num;i++)
+ XtFree (text[i]);
+ maidfile.start=0; // This starts routine (as set by RUN command)
+ }
+@@ -654,7 +654,7 @@
+ for(int i = 0;i< ss.num;i++)
+ text[i] = XmTextFieldGetString (ss.w[i]);
+ strcpy(text0,text[0]);
+- for( i = 0;i< ss.num;i++)
++ for(int i = 0;i< ss.num;i++)
+ XtFree (text[i]);
+
+ if( (fp=fopen(text[0],"r") ) ==NULL) { // check if file exists
+@@ -694,7 +694,7 @@
+ { "OK", pdb_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+@@ -749,7 +749,7 @@
+ for(int i = 0;i< ss.num;i++)
+ text[i] = XmTextFieldGetString (ss.w[i]);
+ strcpy(text0,text[0]);
+- for( i = 0;i< ss.num;i++)
++ for(int i = 0;i< ss.num;i++)
+ XtFree (text[i]);
+
+ if( (fp=fopen(text0,"r") ) ==NULL) { // check if file exists
+@@ -788,7 +788,7 @@
+ { "OK", map_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+diff -ur glmaid_dist.orig/pdbmenu.c++ glmaid_dist/pdbmenu.c++
+--- glmaid_dist.orig/pdbmenu.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/pdbmenu.c++ 2005-12-15 08:09:55.000000000 -0800
+@@ -755,7 +755,7 @@
+ XmNradioBehavior, True, /* RowColumn resources to enforce */
+ XmNradioAlwaysOne, True, /* radio behavior in Menu */
+ NULL);
+- for(i=1;i<MAXPDB;i++){ // set default values for main color = yellow
++ for(int i=1;i<MAXPDB;i++){ // set default values for main color = yellow
+ if (widget = XtNameToWidget (colorpullright[i], "button_3"))
+ XtVaSetValues (widget, XmNset,True, NULL);
+ }
+@@ -895,11 +895,11 @@
+ XmNradioBehavior, True, /* RowColumn resources to enforce */
+ XmNradioAlwaysOne, True, /* radio behavior in Menu */
+ NULL);
+- for(i=1;i<MAXPDB;i++){ // set default values for side color = light blue
++ for(int i=1;i<MAXPDB;i++){ // set default values for side color = light blue
+ if (widget = XtNameToWidget (colorpullright[i], "button_2"))
+ XtVaSetValues (widget, XmNset,True, NULL);
+ }
+- for(i=1;i<MAXPDB;i++){ // Turn off sensitivitivity - look pale
++ for(int i=1;i<MAXPDB;i++){ // Turn off sensitivitivity - look pale
+ XtSetSensitive(sc.pullright[i],0);
+ }
+ if (widget = XtNameToWidget (radpullright, "button_2"))
+@@ -917,11 +917,11 @@
+ XmStringFree (refineside);
+ XmStringFree (refineallside);
+ XmStringFree (rotatepdb);
+- for(i=1;i<MAXPDB;i++)
++ for(int i=1;i<MAXPDB;i++)
+ XmStringFree (xmpdb[i]);
+- for(i=0;i<=6;i++)
++ for(int i=0;i<=6;i++)
+ XmStringFree (radius[i]);
+- for(i=0;i<=9;i++)
++ for(int i=0;i<=9;i++)
+ XmStringFree (colorv[i]);
+ XmStringFree( setradius);
+ XmStringFree(maincolor);
+@@ -976,7 +976,7 @@
+ pdbn = 1;
+ printf("segn = %d pdbn = %d\n",segn,pdbn);
+
+- for(i=1;i<=maidfile.pdb[pdbn].resdat[segn+1][0][0];i++) {
++ for(int i=1;i<=maidfile.pdb[pdbn].resdat[segn+1][0][0];i++) {
+ if(strcmp(text[0],maidfile.pdb[pdbn].resnumch[segn][i])== 0){
+ resn =i;
+ goto quiti;
+@@ -995,7 +995,7 @@
+ errormessage(toplevel,"You are near allowed limit of pdb labels.. 'Delete Label' and continue");
+ maidfile.pdb[pdbn].pickres[pnum].seg = segn;
+ maidfile.pdb[pdbn].pickres[pnum].num = resn;
+- for(i=0;i<=2;i++)
++ for(int i=0;i<=2;i++)
+ sc.centerpos[i] = maidfile.pdb[pdbn].mainch[segn][resn][1][i];
+ if(sc.pdbwindow==1){ // Then window about centerpos
+ findpdbwind();
+@@ -1004,7 +1004,7 @@
+ }
+ else if (sc.pdbwindow !=1)
+ sc.windowselect = -1;
+- for(i=1;i<= maidfile.nden;i++){ // contour about input fit
++ for(int i=1;i<= maidfile.nden;i++){ // contour about input fit
+ if(map[i].contonoff ==1)
+ contourmap(map[i],sc.centerpos);
+ sc.drawcontour = 1; // Turn on drawing of contour
+@@ -1024,7 +1024,7 @@
+ { "OK", center_ok_pushed, NULL },
+ { "Clear", clear_pushed, NULL },
+ { "Cancel", close_dialog, NULL },
+- { "Help", help, "Help Button" },
++ { "Help", help, (void *) "Help Button" },
+ };
+ /* Create a TemplateDialog that will contain the control area
+ * and the action area buttons for the dialog
+diff -ur glmaid_dist.orig/selenomet.c++ glmaid_dist/selenomet.c++
+--- glmaid_dist.orig/selenomet.c++ 2001-11-12 05:35:50.000000000 -0800
++++ glmaid_dist/selenomet.c++ 2005-12-15 08:18:11.000000000 -0800
+@@ -75,7 +75,7 @@
+ for (line_col = 0; line_col < LINE_WIDTH; line_col++) {
+
+ digit = op_line[line_col];
+- if (digit == NULL || digit == '\n') {
++ if (digit == 0 || digit == '\n') {
+ break;
+ }
+ else if(digit == ',') {
+diff -ur glmaid_dist.orig/tordyn.c++ glmaid_dist/tordyn.c++
+--- glmaid_dist.orig/tordyn.c++ 2001-11-12 05:35:49.000000000 -0800
++++ glmaid_dist/tordyn.c++ 2005-12-15 08:13:32.000000000 -0800
+@@ -2748,7 +2748,7 @@
+ #if 1
+ if(geo.quit==1){
+ if(verbose>=2)// 30nov00 - do not print this line
+- printf(" For quitcond >2: NOTE NOTE!! geo.quit = 1 after tordyn (near boundary??) - quitting\n");
++ printf(" For quitcond >2: NOTE NOTE!! geo.quit = 1 after tordyn (near boundary\?\?) - quitting\n");
+ goto quit1;
+ }
+ if(checkanglimit(tordata) ==1){
+@@ -2824,7 +2824,7 @@
+ runtordyn(den1,geo,tordata,tordata2);
+ #if 1
+ if(geo.quit==1){
+- printf("NOTE NOTE!!: geo.quit = 1 after tordyn at 2 (near boundary??) - quitting\n");
++ printf("NOTE NOTE!!: geo.quit = 1 after tordyn at 2 (near boundary\?\?) - quitting\n");
+ goto quitwhile;
+ }
+ if(checkanglimit(tordata) ==1){
+diff -ur glmaid_dist.orig/Xgl.h glmaid_dist/Xgl.h
+--- glmaid_dist.orig/Xgl.h 2001-11-12 05:35:51.000000000 -0800
++++ glmaid_dist/Xgl.h 2005-12-15 08:09:55.000000000 -0800
+@@ -11,7 +11,7 @@
+ #include <Xm/RowColumn.h>
+ #include <Xm/MessageB.h>
+ #include <Xm/CascadeBG.h>
+-#include <X11/GLw/GLwMDrawA.h>
++#include <GL/GLwMDrawA.h>
+ #include <X11/keysym.h>
+ #include <X11/Xutil.h>
+ #include <GL/glx.h>
diff --git a/sci-chemistry/maid/files/fix-warnings.patch b/sci-chemistry/maid/files/fix-warnings.patch
new file mode 100644
index 000000000000..b4f48d244a69
--- /dev/null
+++ b/sci-chemistry/maid/files/fix-warnings.patch
@@ -0,0 +1,419 @@
+diff -ur glmaid_dist.orig/assignseq.c++ glmaid_dist/assignseq.c++
+--- glmaid_dist.orig/assignseq.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/assignseq.c++ 2005-12-15 08:36:47.000000000 -0800
+@@ -2630,9 +2630,9 @@
+ if(ibestden <= 1) // 0.8 or 1.0
+ *maxngap = geo.maxngap;
+ else if(ibestden ==2) // 1.2
+- *maxngap = 1.5*geo.maxngap;
++ *maxngap = (int) (1.5*geo.maxngap);
+ else if (ibestden >2) // 1.4 or 1.6
+- *maxngap = 2.0 *geo.maxngap;
++ *maxngap = (int) (2.0 *geo.maxngap);
+ }
+ #endif
+
+diff -ur glmaid_dist.orig/bone.c++ glmaid_dist/bone.c++
+--- glmaid_dist.orig/bone.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/bone.c++ 2005-12-15 08:31:26.000000000 -0800
+@@ -815,7 +815,7 @@
+ }
+
+
+- bonemin = bone1.minden*maidfile.denscale; // lower limit used to make bone (round down)
++ bonemin = (int) (bone1.minden*maidfile.denscale); // lower limit used to make bone (round down)
+ fprintf(fpout,"bonemin = %d\n",bonemin);
+ defineiden(bone1,iden,den1,bonemin); // set point on boundary = REMOVE
+ bsort(den1,bone1,sortv,bonemin,sortnum,&maxsize); // sort density into bins; sort[i] is vector of 1 ..... max
+diff -ur glmaid_dist.orig/checkfit.c++ glmaid_dist/checkfit.c++
+--- glmaid_dist.orig/checkfit.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/checkfit.c++ 2005-12-15 08:22:14.000000000 -0800
+@@ -2977,7 +2977,7 @@
+ *maxden = -1000.0;
+ xtof(den1,pos,fd); /* convert from double word to float sccreen*/
+ for(k=0;k<=2;k++)
+- ir[k]=fd[k]+0.5; /*round to integer*/
++ ir[k]=(int) (fd[k]+0.5); /*round to integer*/
+ for(ii=ir[0]-2;ii<=ir[0]+2;ii++){
+ if( (ii>=1)&& (ii<=den1.amax[0]-den1.amin[0]-1) )
+ for(jj=ir[1]-2;jj<=ir[1]+2;jj++)
+diff -ur glmaid_dist.orig/extend2.c++ glmaid_dist/extend2.c++
+--- glmaid_dist.orig/extend2.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/extend2.c++ 2005-12-15 08:24:45.000000000 -0800
+@@ -363,7 +363,7 @@
+ nend[3]=geo.nend[1]+3;
+ #if 1 // Works well in most cases
+ mrot[0]= 2*nrot;
+- mrot[1]= 1.5*nrot;
++ mrot[1]= (int) (1.5*nrot);
+ mrot[2]= nrot;
+ mrot[3]= nrot;
+ #endif
+diff -ur glmaid_dist.orig/extendfit.c++ glmaid_dist/extendfit.c++
+--- glmaid_dist.orig/extendfit.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/extendfit.c++ 2005-12-15 08:26:43.000000000 -0800
+@@ -4024,7 +4024,7 @@
+ ext.usenfits = 3;// I do not think this makes any difference since it reset in other routines -Number of unassigned connected that must be linked to assigne seq. value
+ geo.deldist = sqrt( dot(den1.delx,den1.delx) ); // length of den1.delx vector = 1.445 for shad , res = 2.5
+ if(geo.deldist < 1.445)
+- geo.gnmax = 7*(1.445/geo.deldist) +1;
++ geo.gnmax = (int) (7*(1.445/geo.deldist) +1);
+ else
+ geo.gnmax = 7;
+ geo.maxugap = 8; //Maximum gap allowed to connect unassigned fits
+diff -ur glmaid_dist.orig/fit.c++ glmaid_dist/fit.c++
+--- glmaid_dist.orig/fit.c++ 2005-12-15 08:15:43.000000000 -0800
++++ glmaid_dist/fit.c++ 2005-12-15 08:36:24.000000000 -0800
+@@ -65,7 +65,7 @@
+ tordata.torconst=torconstorig;
+ tordata2.torconst=torconstorig;
+ tordata.rfor=rfororig; //-BE CAREFUL - MUST BE SURE rfororig defined/geo.maxside = origmaxside;
+-geo.maxside = origmaxside;
++geo.maxside = (int) origmaxside;
+ if (&client_data) {
+ XtRemoveWorkProc (work_id);
+ }
+diff -ur glmaid_dist.orig/initialize.c++ glmaid_dist/initialize.c++
+--- glmaid_dist.orig/initialize.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/initialize.c++ 2005-12-15 08:34:02.000000000 -0800
+@@ -300,7 +300,7 @@
+ nless=nless+1;
+ dds= -MAXCHAR+1;
+ }
+- den1.den[i][j][k]=dds;
++ den1.den[i][j][k]=(signed) dds;
+ }
+ }
+ }
+Files glmaid_dist.orig/initialize.o and glmaid_dist/initialize.o differ
+diff -ur glmaid_dist.orig/mapmenu.c++ glmaid_dist/mapmenu.c++
+--- glmaid_dist.orig/mapmenu.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/mapmenu.c++ 2005-12-15 08:35:53.000000000 -0800
+@@ -430,7 +430,7 @@
+ {
+ int i;
+ for(i=0;i<3;i++)
+- map.crange[i] = fcontradius[item_no]/map.delx[i];
++ map.crange[i] = (int) (fcontradius[item_no]/map.delx[i]);
+ //printf("map radius = %d\n",map.crange[0]);
+ }
+
+diff -ur glmaid_dist.orig/math.c++ glmaid_dist/math.c++
+--- glmaid_dist.orig/math.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/math.c++ 2005-12-15 08:31:55.000000000 -0800
+@@ -51,9 +51,9 @@
+ z=xx[2]/den1.cvz;
+ y=(xx[1]-z*den1.cvy)/den1.singam;
+ x=xx[0]-y*den1.cosgam-z*den1.cosbe;
+- ijk[0]=x/den1.delx[0] - den1.amin[0];
+- ijk[1]=y/den1.delx[1] - den1.amin[1];
+- ijk[2]=z/den1.delx[2] - den1.amin[2];
++ ijk[0]=(int) (x/den1.delx[0] - den1.amin[0]);
++ ijk[1]=(int) (y/den1.delx[1] - den1.amin[1]);
++ ijk[2]=(int) (z/den1.delx[2] - den1.amin[2]);
+ }
+
+ void imcv(struct griddata& den1,int xi[3],float sx[3]) /*convert from integer xi,xj (grid point)
+diff -ur glmaid_dist.orig/menu.c++ glmaid_dist/menu.c++
+--- glmaid_dist.orig/menu.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/menu.c++ 2005-12-15 08:35:15.000000000 -0800
+@@ -321,7 +321,7 @@
+ {
+ int i;
+ sc.cubecol[0] += 0.01;
+- i= sc.cubecol[0];
++ i= (int) sc.cubecol[0];
+ sc.cubecol[0]= sc.cubecol[0]-i;;
+ draw_screen(client_data);
+ return False; // Runs continually
+@@ -987,14 +987,14 @@
+ int i;
+
+ for(i=0;i<=2;i++) // Use default contour radius
+- den1.crange[i]=sc.contourradius/den1.delx[i];
++ den1.crange[i]=(int) (sc.contourradius/den1.delx[i]);
+ den1.contonoff = -1;
+ den1.selectcontonoff = -1;
+ for(i=0;i<3;i++)
+ den1.color[i]=bluev[i];
+ den1.conlevel = sc.conlevel*maidfile.denscale; // Set contourleve to default value
+ // Allocate arrays for contour routines
+- den1.ntri = NTRI/(den1.delx[0]*den1.delx[1]*den1.delx[2]); // Scale ntri relative del = 1
++ den1.ntri = (int) (NTRI/(den1.delx[0]*den1.delx[1]*den1.delx[2])); // Scale ntri relative del = 1
+ printf("Allocating arrays for contour routines ntriangles = %d\n",den1.ntri);
+ imat2(den1.tri,den1.ntri,9);
+ printf(" Done\n");
+diff -ur glmaid_dist.orig/pdbtolev.c++ glmaid_dist/pdbtolev.c++
+--- glmaid_dist.orig/pdbtolev.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/pdbtolev.c++ 2005-12-15 08:27:19.000000000 -0800
+@@ -645,7 +645,7 @@
+ {
+ int i,j,natot,bi;
+ float bsqr;
+- natot=subst[snum].pos[0][0]; /*total # of atoms*/
++ natot=(int) subst[snum].pos[0][0]; /*total # of atoms*/
+ bsqr=tsqr(bondlength);
+ for(i=1;i<=natot;i++)
+ cmat[i][0]=0; /*initally no connections to i*/
+diff -ur glmaid_dist.orig/rankside.c++ glmaid_dist/rankside.c++
+--- glmaid_dist.orig/rankside.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/rankside.c++ 2005-12-15 08:33:32.000000000 -0800
+@@ -201,13 +201,13 @@
+ #endif
+ tbad = fit.ibad[resn][a1] + fit.ibad[resn][a2] +fit.ibad[resn][a3];
+ if(tbad==0)
+- return 0+iadd;
++ return 0+(int) iadd;
+ if(tbad ==1)
+- return 1+iadd;
++ return 1+(int) iadd;
+ if(tbad==2)
+- return 2+iadd;
++ return 2+(int) iadd;
+ if(tbad==3)
+- return 4+iadd;
++ return 4+(int) iadd;
+ else if ((fit.ibad[resn][MET]==0)||(fit.ibad[resn][GLU]==0)||(fit.ibad[resn][GLN]==0) )
+ return 3;
+ else
+@@ -245,11 +245,11 @@
+ iadd = iadd+1;
+ #endif
+ if(fit.ibad[resn][a1]==0 )
+- return 0+iadd;
++ return 0+(int) iadd;
+ else if( fit.ibad[resn][a2]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if( fit.ibad[resn][a3]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if ((fit.ibad[resn][MET]==0)||(fit.ibad[resn][GLU]==0)||(fit.ibad[resn][GLN]==0) )
+ return 3;
+ else
+@@ -285,11 +285,11 @@
+ iadd = iadd+1;
+ #endif
+ if(fit.ibad[resn][a1]==0 )
+- return 0+iadd;
++ return 0+(int) iadd;
+ else if( fit.ibad[resn][a2]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if( fit.ibad[resn][a3]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if ((fit.ibad[resn][MET]==0)||(fit.ibad[resn][GLU]==0)||(fit.ibad[resn][GLN]==0) )
+ return 3;
+ else
+@@ -316,11 +316,11 @@
+ if(valden> 1.1*ringden) //change2
+ iadd = iadd+1;
+ if(fit.ibad[resn][a1]==0 )
+- return 0+iadd;
++ return 0+(int) iadd;
+ else if( fit.ibad[resn][a2]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if( fit.ibad[resn][a3]==0 )
+- return 1+iadd;
++ return 1+(int) iadd;
+ else if ((fit.ibad[resn][MET]==0)||(fit.ibad[resn][GLU]==0)||(fit.ibad[resn][GLN]==0) )
+ return 3;
+ else
+Files glmaid_dist.orig/rankside.o and glmaid_dist/rankside.o differ
+diff -ur glmaid_dist.orig/refine.c++ glmaid_dist/refine.c++
+--- glmaid_dist.orig/refine.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/refine.c++ 2005-12-15 08:26:15.000000000 -0800
+@@ -67,8 +67,8 @@
+ */
+ {
+ int ix,rnd;
+- ix = floor(x);
+- rnd = nn*(x-ix) + 0.5;
++ ix = (int) floor(x);
++ rnd = (int) (nn*(x-ix) + 0.5);
+ printf("nn = %d x = %5.3f rnd = %d Grid point %5.3f\n",nn,x,rnd,ix+(float)rnd/nn);
+ return rnd;
+ }
+@@ -82,8 +82,8 @@
+ int k;
+
+ for(k=0;k<=2;k++){
+- ivec[k] = floor(fvec[k]);
+- ival[k] = nn*(fvec[k]-ivec[k]) + 0.5;
++ ivec[k] = (int) floor(fvec[k]);
++ ival[k] = (int) (nn*(fvec[k]-ivec[k]) + 0.5);
+ }
+ }
+
+@@ -115,9 +115,9 @@
+ }
+ for(k=0;k<=2;k++)
+ gzd.dvec[gzd.num][k] =ivec[k];
+- gzd.den[gzd.num] = scalechar* exp(-rad*rad/bfact) +0.5; // mult by 100 and round
++ gzd.den[gzd.num] = (int) (scalechar* exp(-rad*rad/bfact) +0.5); // mult by 100 and round
+ for(k=0;k<=2;k++)
+- gzd.forv[gzd.num][k] = 4.0*rad*gzd.den[gzd.num]*diffv[k]/bfact;
++ gzd.forv[gzd.num][k] = (int) (4.0*rad*gzd.den[gzd.num]*diffv[k]/bfact);
+ }
+
+ void assignforce(gzdhead)
+@@ -421,7 +421,7 @@
+ gzd[0].num = 0;
+ oneatomgrid(den1,geo,ivec0,cenpos,gzd[0],bfact,countfunc);
+ printf("totnum = %d\n",gzd[0].num);
+- maxgzd = gzd[0].num = 1.5*gzd[0].num; // increase by 15%
++ maxgzd = gzd[0].num = (int) (1.5*gzd[0].num); // increase by 15%
+ allocategzd(gzd[0].num);
+ del = 1.0/NDIV;
+ for(i=0;i<=NDIV;i++){
+diff -ur glmaid_dist.orig/sphere.c++ glmaid_dist/sphere.c++
+--- glmaid_dist.orig/sphere.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/sphere.c++ 2005-12-15 08:36:06.000000000 -0800
+@@ -95,7 +95,7 @@
+ fclose(fp);
+ } // spherefile opened
+ sc.isphere = maidfile.nsphere; // set active sphere to last read
+- sc.drawspheres =1.0;
++ sc.drawspheres =1;
+ if (widget = XtNameToWidget (spheremenu,"button_0")) //DEFAULT: Turn off check box for label on/off button
+ XtVaSetValues (widget, XmNset,TRUE, NULL);
+ }
+diff -ur glmaid_dist.orig/tordyn.c++ glmaid_dist/tordyn.c++
+--- glmaid_dist.orig/tordyn.c++ 2005-12-15 08:13:32.000000000 -0800
++++ glmaid_dist/tordyn.c++ 2005-12-15 08:28:27.000000000 -0800
+@@ -337,8 +337,8 @@
+ xtof(den1,apos,fd);
+ /* New version, interpolates all neighbors*/
+ for(k=0;k<=2;k++){
+- ir[k]=fd[k]; /*round down*/
+- irh[k]=fd[k]+0.5; /*round to next 1/2*/
++ ir[k]=(int) fd[k]; /*round down*/
++ irh[k]=(int) (fd[k]+0.5); /*round to next 1/2*/
+ if( (ir[k]<1)|| (irh[k]>den1.amax[k]-den1.amin[k]-1) ){
+ // if(verbose>=1)
+ if(verbose>=2) // 30nov00 - do not print this line
+@@ -683,7 +683,7 @@
+ atomden = 0;
+ xtof(den1,pos,fd); /* convert from double word to float sccreen*/
+ for(kc=0;kc<=2;kc++)
+- ir[kc]=fd[kc]; /*round down to integer*/
++ ir[kc]=(int) fd[kc]; /*round down to integer*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ir[k]<2)|| (ir[k]>den1.amax[k]-den1.amin[k]-2) ){
+ if(verbose>=2)
+@@ -2898,7 +2898,7 @@
+ //printf("oneside = %d geopos6(x) = geo.pos[geo.nend[0]+oneside][6][0] = %5.3f\n",geo.oneside,geo.pos[geo.nend[0]+geo.oneside][6][0]);
+ }
+ *returnden = bestden; // return best cterm density
+- *returnbad = bestbad;
++ *returnbad = (int) bestbad;
+ }// quitcont <5
+ quitrout:;
+ geo.fixend = origfixend; // set back to original value
+diff -ur glmaid_dist.orig/trace.c++ glmaid_dist/trace.c++
+--- glmaid_dist.orig/trace.c++ 2005-12-15 08:09:55.000000000 -0800
++++ glmaid_dist/trace.c++ 2005-12-15 08:31:07.000000000 -0800
+@@ -1079,7 +1079,7 @@
+
+ xtoi(den1,pos[resnum][atomnum],ig);
+ for(k=0;k<=2;k++)
+- ig[k]=ig[k]+0.5; /*rounds to nearest grid point*/
++ ig[k]=(int) (ig[k]+0.5); /*rounds to nearest grid point*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ig[k]<2)|| (ig[k]>den1.amax[k]-den1.amin[k]-2) )
+ return 0;
+@@ -1099,7 +1099,7 @@
+
+ xtof(den1,pos,ijk); /*convert from world co-ord to floating grid i,j,k co-ord*/
+ for(k=0;k<=2;k++)
+- ig[k]=ijk[k]+0.5; /*rounds to nearest grid point*/
++ ig[k]=(int) (ijk[k]+0.5); /*rounds to nearest grid point*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ig[k]<1)|| (ig[k]>den1.amax[k]-den1.amin[k]-1) ){
+ if(verbose>=2)
+@@ -1127,7 +1127,7 @@
+
+ xtof(den1,pos,ijk); /*convert from world co-ord to floating grid i,j,k co-ord*/
+ for(k=0;k<=2;k++)
+- ig[k]=ijk[k]+0.5; /*rounds to nearest grid point*/
++ ig[k]=(int) (ijk[k]+0.5); /*rounds to nearest grid point*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ig[k]<1)|| (ig[k]>den1.amax[k]-den1.amin[k]-1) ){
+ if(verbose>=2)
+@@ -1204,7 +1204,7 @@
+
+ xtof(den1,pos,ijk); /*convert from world co-ord to floating grid i,j,k co-ord*/
+ for(k=0;k<=2;k++)
+- ig[k]=ijk[k]+0.5; /*rounds to nearest grid point*/
++ ig[k]=(int) (ijk[k]+0.5); /*rounds to nearest grid point*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( ((ig[k]-geo.setrad)<0)|| ((ig[k]+geo.setrad)>den1.griddim[k]-1) ){
+ if(verbose>=2)
+@@ -2543,7 +2543,7 @@
+ atomden = 0;
+ xtof(den1,pos,fd); /* convert from double word to float sccreen*/
+ for(kc=0;kc<=2;kc++)
+- ir[kc]=fd[kc]; /*round down to integer*/
++ ir[kc]=(int) fd[kc]; /*round down to integer*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ir[k]<1)|| (ir[k]>den1.amax[k]-den1.amin[k]-1) ){
+ //if(verbose>=2)
+@@ -2569,7 +2569,7 @@
+ atomden = 0;
+ xtof(den1,pos[inum][itype],fd); /* convert from double word to float sccreen*/
+ for(kc=0;kc<=2;kc++)
+- ir[kc]=fd[kc]; /*round down to integer*/
++ ir[kc]=(int) fd[kc]; /*round down to integer*/
+ for(k=0;k<=2;k++){ // check if pos in density range
+ if( (ir[k]<1)|| (ir[k]>den1.amax[k]-den1.amin[k]-1) ){
+ if(verbose>=2)
+@@ -3438,7 +3438,7 @@
+ dist =distv(pos[1][1],pos[n0+1][1]); // distance from Ca[geo.cafix] to Ca[1]
+ dist = dist/2.0;
+ thdel = rotdel/dist; // step size of theta rotation
+- mth =1+ thtot/thdel; // max # of theta steps - round up
++ mth =1+ (int) (thtot/thdel); // max # of theta steps - round up
+ thdel = thtot/mth; // reset th del so that equal steps from 0 to thttot
+ maxden = -10000.0;
+ for(iaxis=0;iaxis<8;iaxis++){// rotate about origingalca1 caend axis
+@@ -3455,7 +3455,7 @@
+ }
+ else{
+ delph = rotdel/(dist*sin(th));//the delta phi angle step
+- mphi = phitot/delph +1; // round up
++ mphi = (int) (phitot/delph) +1; // round up
+ delph = phitot/mphi; // make phitot = mphi*delph
+ }
+ for(iph = 0;iph<=mphi;iph++){ // the phi step
+@@ -3545,7 +3545,7 @@
+ dist =distv(pos[1][1],pos[n0+1][1]); // distance from Ca[geo.cafix] to Ca[1]
+ dist = dist/2.0;
+ thdel = rotdel/dist; // step size of theta rotation
+- mth =1+ thtot/thdel; // max # of theta steps - round up
++ mth =1+ (int) (thtot/thdel); // max # of theta steps - round up
+ thdel = thtot/mth; // reset th del so that equal steps from 0 to thttot
+ maxden = -10000.0;
+ for(iaxis=0;iaxis<8;iaxis++){// rotate about origingalca1 caend axis
+@@ -3562,7 +3562,7 @@
+ }
+ else{
+ delph = rotdel/(dist*sin(th));//the delta phi angle step
+- mphi = phitot/delph +1; // round up
++ mphi = (int) (phitot/delph) +1; // round up
+ delph = phitot/mphi; // make phitot = mphi*delph
+ }
+ for(iph = 0;iph<=mphi;iph++){ // the phi step
+@@ -6905,8 +6905,8 @@
+ for(i=0;i<=2;i++)
+ avegrid = avegrid+den1.delx[i];
+ avegrid = avegrid/3.0;
+- geo.nihel = 0.5 + geo.curdist[1]/(1.414*avegrid); // 0.5 so that rounds to nearest int
+- geo.nisheet = geo.curdist[2]/(1.414*avegrid);
++ geo.nihel = (int) (0.5 + geo.curdist[1]/(1.414*avegrid)); // 0.5 so that rounds to nearest int
++ geo.nisheet = (int) (geo.curdist[2]/(1.414*avegrid));
+ printf("\nGRID SIZE: %5.3f %5.3f %5.3f avegrid = %5.3f nihel = %d\n",
+ den1.delx[0],den1.delx[1],den1.delx[2],avegrid,geo.nihel);
+
+Files glmaid_dist.orig/trace.o and glmaid_dist/trace.o differ
diff --git a/sci-chemistry/maid/maid-20011112.ebuild b/sci-chemistry/maid/maid-20011112.ebuild
new file mode 100644
index 000000000000..2c76a5c00c4e
--- /dev/null
+++ b/sci-chemistry/maid/maid-20011112.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/maid/maid-20011112.ebuild,v 1.1 2005/12/15 20:33:37 spyderous Exp $
+
+inherit eutils toolchain-funcs
+
+MY_PN="${PN}_unix"
+MY_PV="${PV:6:2}nov${PV:0:2}"
+MY_P="${MY_PN}_${MY_PV}"
+DESCRIPTION="Automates the fitting of protein X-ray crystallographic electron density maps"
+HOMEPAGE="http://www.msi.umn.edu/~levitt/"
+SRC_URI="http://www.msi.umn.edu/~levitt/maid_unix_12nov01.tar.gz"
+LICENSE="molmol"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="X"
+DEPEND="X? ( virtual/motif
+ virtual/glu
+ virtual/opengl
+ || ( x11-libs/libXt virtual/x11 )
+ )"
+S="${WORKDIR}/glmaid_dist"
+
+src_unpack() {
+ if best_version virtual/opengl | grep mesa; then
+ if ! built_with_use media-libs/mesa motif; then
+ msg="Build media-libs/mesa with USE=motif"
+ eerror "${msg}"
+ die "${msg}"
+ fi
+ fi
+
+ unpack ${A}
+ cd ${S}
+
+ epatch ${FILESDIR}/fix-compilation.patch
+ epatch ${FILESDIR}/fix-warnings.patch
+
+ if use X; then
+ ln -s makefile_graphics makefile
+ else
+ ln -s makefile_batch makefile
+ fi
+
+ sed -i \
+ -e "s:^Cgeneric = .*:Cgeneric = $(tc-getCXX):g" \
+ -e "s:\(Copt.*\)-O:\1${CFLAGS}:g" \
+ makefile
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ dodoc MANUAL*
+ if use X; then
+ dobin maid
+ else
+ dobin maidbatch
+ fi
+}
diff --git a/sci-chemistry/maid/metadata.xml b/sci-chemistry/maid/metadata.xml
new file mode 100644
index 000000000000..211b8bd0f0a4
--- /dev/null
+++ b/sci-chemistry/maid/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<maintainer>
+<email>spyderous@gentoo.org</email>
+<name>Donnie Berkholz</name>
+</maintainer>
+</pkgmetadata>