[110734] trunk/dports/science/pymol
mojca at macports.org
mojca at macports.org
Wed Sep 4 14:18:34 PDT 2013
Revision: 110734
https://trac.macports.org/changeset/110734
Author: mojca at macports.org
Date: 2013-09-04 14:18:34 -0700 (Wed, 04 Sep 2013)
Log Message:
-----------
pymol: upgrade to 1.6.0, license, +gcc48/49, python26->python PortGroup (#38516, maintainer)
* handle the changes in current svn regarding the prefix_path search by placing macports' directory first
* eliminates the use of the pymol_path symlink
* upgrade to version 1.6.0 (SVN #4039)
* add license
* use PortGroup python instead of python26, add support for python 2.7
* add options +gcc48 and +gcc49
Modified Paths:
--------------
trunk/dports/science/pymol/Portfile
trunk/dports/science/pymol/files/apbs-psize.patch
trunk/dports/science/pymol/files/pmg_tk_platform.patch
trunk/dports/science/pymol/files/pymol_shell.diff
trunk/dports/science/pymol/files/setup_py.diff
Added Paths:
-----------
trunk/dports/science/pymol/files/apbs_tkinter.patch
trunk/dports/science/pymol/files/pymol-clang.diff
Modified: trunk/dports/science/pymol/Portfile
===================================================================
--- trunk/dports/science/pymol/Portfile 2013-09-04 21:03:40 UTC (rev 110733)
+++ trunk/dports/science/pymol/Portfile 2013-09-04 21:18:34 UTC (rev 110734)
@@ -2,13 +2,13 @@
# $Id$
PortSystem 1.0
-PortGroup python26 1.0
+PortGroup python 1.0
PortGroup active_variants 1.1
name pymol
-version 1.5
-revision 8
+version 1.6.0
categories science chemistry
+license GPL
maintainers bromo.med.uc.edu:howarth
description Molecular graphics system
long_description PyMOL is a molecular graphics system with an embedded Python interpreter \
@@ -21,17 +21,32 @@
master_sites sourceforge
fetch.type svn
-svn.url https://pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol
-svn.revision 4013
+svn.url https://svn.code.sf.net/p/pymol/code/trunk/pymol
+svn.revision 4039
worksrcdir pymol
-depends_lib port:freetype port:libpng port:python26 port:py26-pmw port:py26-numpy port:py26-scipy port:mesa port:glew port:py26-tkinter port:freeglut
+python.default_version 27
+
+depends_lib-append port:freeglut \
+ port:freetype \
+ port:glew \
+ port:libpng \
+ port:mesa \
+ port:py${python.version}-numpy \
+ port:py${python.version}-pmw \
+ port:py${python.version}-scipy \
+ port:py${python.version}-tkinter
depends_run port:xdpyinfo
-# py27-scipy is not universal
+# py-scipy is not universal
universal_variant no
-patchfiles setup_py.diff pymol_shell.diff pmg_tk_platform.patch apbs-psize.patch
+patchfiles setup_py.diff \
+ pymol_shell.diff \
+ pmg_tk_platform.patch \
+ apbs-psize.patch \
+ apbs_tkinter.patch \
+ pymol-clang.diff
require_active_variants tcl "" corefoundation
require_active_variants tk "" quartz
@@ -44,42 +59,50 @@
use_parallel_build yes
-variant gcc43 description conflicts gcc44 gcc45 gcc46 gcc47 description {build using macports-gcc-4.3} {
- python.add_archflags no
- configure.compiler macports-gcc-4.3
+variant gcc43 description conflicts gcc44 gcc45 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.3} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.3
}
-variant gcc44 description conflicts gcc43 gcc45 gcc46 gcc47 description {build using macports-gcc-4.4} {
- python.add_archflags no
- configure.compiler macports-gcc-4.4
+variant gcc44 description conflicts gcc43 gcc45 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.4} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.4
}
-variant gcc45 description conflicts gcc43 gcc44 gcc46 gcc47 description {build using macports-gcc-4.5} {
- python.add_archflags no
- configure.compiler macports-gcc-4.5
+variant gcc45 description conflicts gcc43 gcc44 gcc46 gcc47 gcc48 gcc49 description {build using macports-gcc-4.5} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.5
}
-variant gcc46 description conflicts gcc43 gcc44 gcc45 gcc47 description {build using macports-gcc-4.6} {
- python.add_archflags no
- configure.compiler macports-gcc-4.6
+variant gcc46 description conflicts gcc43 gcc44 gcc45 gcc47 gcc48 gcc49 description {build using macports-gcc-4.6} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.6
}
-variant gcc47 description conflicts gcc43 gcc44 gcc45 gcc46 description {build using macports-gcc-4.7} {
- python.add_archflags no
- configure.compiler macports-gcc-4.7
+variant gcc47 description conflicts gcc43 gcc44 gcc45 gcc46 gcc48 gcc49 description {build using macports-gcc-4.7} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.7
}
-build {
+variant gcc48 description conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc49 description {build using macports-gcc-4.8} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.8
}
+variant gcc49 description conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 description {build using macports-gcc-4.9} {
+ python.add_archflags no
+ configure.compiler macports-gcc-4.9
+}
+
+build {}
+
pre-destroot {
- destroot.env CC="${configure.cc}" CXX="${configure.cxx}"
+ destroot.env CC="${configure.cc}" CXX="${configure.cxx}"
}
post-destroot {
file copy ${worksrcpath}/setup/pymol_macports ${destroot}${prefix}/bin/pymol
file attributes ${destroot}${prefix}/bin/pymol -permissions a+x
- ln -s ${python.pkgd}/pymol ${destroot}${python.pkgd}/pymol/pymol_path
foreach d {data modules examples test scripts} {
copy ${worksrcpath}/${d} ${destroot}${python.pkgd}/pymol
}
Modified: trunk/dports/science/pymol/files/apbs-psize.patch
===================================================================
--- trunk/dports/science/pymol/files/apbs-psize.patch 2013-09-04 21:03:40 UTC (rev 110733)
+++ trunk/dports/science/pymol/files/apbs-psize.patch 2013-09-04 21:18:34 UTC (rev 110734)
@@ -1,11 +1,11 @@
---- modules/pmg_tk/startup/apbs_tools.py.orig 2012-02-18 17:28:11.000000000 -0500
-+++ modules/pmg_tk/startup/apbs_tools.py 2012-02-18 17:38:31.000000000 -0500
-@@ -832,7 +832,7 @@
- label_pyclass = FileDialogButtonClassFactory.get(self.setPsizeLocation),
- validate = {'validator':quickFileValidation,},
- #value = '/usr/local/apbs-0.3.1/tools/manip/psize.py',
-- value = get_default_location('psize.py'),
-+ value = get_default_location('apbs-psize.py'),
- label_text = 'APBS psize.py location:',
- )
- self.psize.pack(fill = 'x', padx = 20, pady = 10)
+--- modules/pmg_tk/startup/apbs_tools.py.orig
++++ modules/pmg_tk/startup/apbs_tools.py
+@@ -888,7 +888,7 @@
+ pass
+
+ if not psize_location:
+- psize_location = get_default_location('psize.py')
++ psize_location = get_default_location('apbs-psize.py')
+ if not apbs_location:
+ apbs_location = get_default_location('apbs.exe')
+ if not apbs_location:
Added: trunk/dports/science/pymol/files/apbs_tkinter.patch
===================================================================
--- trunk/dports/science/pymol/files/apbs_tkinter.patch (rev 0)
+++ trunk/dports/science/pymol/files/apbs_tkinter.patch 2013-09-04 21:18:34 UTC (rev 110734)
@@ -0,0 +1,196 @@
+--- modules/pmg_tk/startup/apbs_tools.py.orig
++++ modules/pmg_tk/startup/apbs_tools.py
+@@ -612,7 +612,8 @@
+ # Set up the Main page
+ page = self.notebook.add('Main')
+ group = Pmw.Group(page,tag_text='Main options')
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+ self.selection = Pmw.EntryField(group.interior(),
+ labelpos='w',
+ label_text='Selection to use: ',
+@@ -658,7 +659,8 @@
+ page = self.notebook.add('Configuration')
+
+ group = Pmw.Group(page,tag_text='Dielectric Constants')
+- group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+ group.grid(column=0, row=0)
+ self.interior_dielectric = Pmw.EntryField(group.interior(),labelpos='w',
+ label_text = 'Protein Dielectric:',
+@@ -677,7 +679,8 @@
+ #entry.pack(side='left',fill='both',expand=1,padx=4) # side-by-side
+ entry.pack(fill='x',expand=1,padx=4,pady=1) # vertical
+ group = Pmw.Group(page,tag_text='Other')
+- group.pack(fill='both',expand=1, padx=4, pady=5)
++ #group.pack(fill='both',expand=1, padx=4, pady=5)
++ group.grid(padx=4, pady=5, sticky=(N, S, E, W))
+ group.grid(column=1, row=1,columnspan=4)
+ self.max_mem_allowed = Pmw.EntryField(group.interior(),labelpos='w',
+ label_text = 'Maximum Memory Allowed (MB):',
+@@ -735,7 +738,8 @@
+
+
+ group = Pmw.Group(page,tag_text='Ions')
+- group.pack(fill='both',expand=1, padx=4, pady=5)
++ #group.pack(fill='both',expand=1, padx=4, pady=5)
++ group.grid(padx=4, pady=5, sticky=(N, S, E, W))
+ group.grid(column=0, row=1, )
+ self.ion_plus_one_conc = Pmw.EntryField(group.interior(),
+ labelpos='w',
+@@ -794,7 +798,8 @@
+ entry.pack(fill='x',expand=1,padx=4)
+
+ group = Pmw.Group(page,tag_text = 'Coarse Mesh Length')
+- group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+ group.grid(column = 1, row = 0)
+ for coord in 'x y z'.split():
+ setattr(self,'grid_coarse_%s'%coord,Pmw.EntryField(group.interior(),
+@@ -809,7 +814,8 @@
+
+
+ group = Pmw.Group(page,tag_text = 'Fine Mesh Length')
+- group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+ group.grid(column = 2, row = 0)
+ for coord in 'x y z'.split():
+ setattr(self,'grid_fine_%s'%coord,Pmw.EntryField(group.interior(),
+@@ -824,7 +830,8 @@
+
+
+ group = Pmw.Group(page,tag_text = 'Grid Center')
+- group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+ group.grid(column = 3, row = 0)
+ for coord in 'x y z'.split():
+ setattr(self,'grid_center_%s'%coord,Pmw.EntryField(group.interior(),
+@@ -838,7 +845,8 @@
+ getattr(self,'grid_center_%s'%coord).pack(fill='x', expand=1, padx=4, pady=1)
+
+ group = Pmw.Group(page,tag_text = 'Grid Points')
+- group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 4, pady = 5)
++ group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+ group.grid(column = 4, row = 0)
+ for coord in 'x y z'.split():
+ setattr(self,'grid_points_%s'%coord,Pmw.EntryField(group.interior(),
+@@ -856,7 +864,8 @@
+ page.grid_columnconfigure(5,weight=1)
+ page = self.notebook.add('Program Locations')
+ group = Pmw.Group(page,tag_text='Locations')
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+ def quickFileValidation(s):
+ if s == '': return Pmw.PARTIAL
+ elif os.path.isfile(s): return Pmw.OK
+@@ -955,7 +964,8 @@
+
+ page = self.notebook.add('Temp File Locations')
+ group = Pmw.Group(page,tag_text='Locations')
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+ self.pymol_generated_pqr_filename = Pmw.EntryField(group.interior(),
+ labelpos = 'w',
+ label_pyclass = FileDialogButtonClassFactory.get(self.setPymolGeneratedPqrFilename),
+@@ -1003,17 +1013,20 @@
+ page = self.notebook.add('Visualization (1)')
+ group = VisualizationGroup(page,tag_text='Visualization',visgroup_num=1)
+ self.visualization_group_1 = group
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+
+ page = self.notebook.add('Visualization (2)')
+ group = VisualizationGroup(page,tag_text='Visualization',visgroup_num=2)
+ self.visualization_group_2 = group
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+
+ # Create a couple of other empty pages
+ page = self.notebook.add('About')
+ group = Pmw.Group(page, tag_text='About PyMOL APBS Tools')
+- group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ #group.pack(fill = 'both', expand = 1, padx = 10, pady = 5)
++ group.grid(padx = 10, pady = 5, sticky=(N, S, E, W))
+ text = """This plugin integrates PyMOL (http://PyMOL.org/) with APBS (http://www.poissonboltzmann.org/apbs/).
+
+ Documentation may be found at
+@@ -2267,7 +2280,8 @@
+ self.update_buttonbox = Pmw.ButtonBox(self.mm_group.interior(), padx=0)
+ self.update_buttonbox.pack(side=LEFT)
+ self.update_buttonbox.add('Update',command=self.refresh)
+- self.mm_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
++ #self.mm_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
++ self.mm_group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+
+ self.ms_group = Pmw.Group(self.interior(),tag_text='Molecular Surface')
+ self.ms_buttonbox = Pmw.ButtonBox(self.ms_group.interior(), padx=0)
+@@ -2317,8 +2331,9 @@
+ )
+ bars = (self.mol_surf_low,self.mol_surf_middle,self.mol_surf_high)
+ Pmw.alignlabels(bars)
+- for bar in bars: bar.pack(side=LEFT)
+- self.ms_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ for bar in bars: bar.pack(expand = 1, side=LEFT)
++ #self.ms_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ self.ms_group.grid(column=0, row=1, padx = 4, pady = 5, rowspan = 2, sticky=(N, S, E, W))
+
+ self.fl_group = Pmw.Group(self.interior(),tag_text='Field Lines')
+ self.fl_buttonbox = Pmw.ButtonBox(self.fl_group.interior(), padx=0)
+@@ -2333,11 +2348,13 @@
+ text = """Follows same coloring as surface.""",
+ )
+ label.pack()
+- self.fl_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
++ #self.fl_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=TOP)
++ self.fl_group.grid(column = 1, row=0, padx = 4, pady = 5)
+
+ self.pi_group = Pmw.Group(self.interior(),tag_text='Positive Isosurface')
+ self.pi_buttonbox = Pmw.ButtonBox(self.pi_group.interior(), padx=0)
+- self.pi_buttonbox.pack()
++ #self.pi_buttonbox.pack()
++ self.pi_buttonbox.grid()
+ self.pi_buttonbox.add('Show',command=self.showPosSurface)
+ self.pi_buttonbox.add('Hide',command=self.hidePosSurface)
+ self.pi_buttonbox.add('Update',command=self.updatePosSurface)
+@@ -2351,12 +2368,15 @@
+ datatype = 'real',
+ entryfield_validate = {'validator' : 'real', 'min':0}
+ )
+- self.pos_surf_val.pack(side=LEFT)
+- self.pi_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ #self.pos_surf_val.pack(side=LEFT)
++ self.pos_surf_val.grid()
++ #self.pi_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ self.pi_group.grid(column = 1, row = 1, padx = 4, pady = 5, sticky=(N, S, E, W))
+
+ self.ni_group = Pmw.Group(self.interior(),tag_text='Negative Isosurface')
+ self.ni_buttonbox = Pmw.ButtonBox(self.ni_group.interior(), padx=0)
+- self.ni_buttonbox.pack()
++ #self.ni_buttonbox.pack()
++ self.ni_buttonbox.grid()
+ self.ni_buttonbox.add('Show',command=self.showNegSurface)
+ self.ni_buttonbox.add('Hide',command=self.hideNegSurface)
+ self.ni_buttonbox.add('Update',command=self.updateNegSurface)
+@@ -2370,8 +2390,10 @@
+ datatype = 'real',
+ entryfield_validate = {'validator' : 'real', 'max':0}
+ )
+- self.neg_surf_val.pack(side=LEFT)
+- self.ni_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ #self.neg_surf_val.pack(side=LEFT)
++ self.neg_surf_val.grid()
++ #self.ni_group.pack(fill = 'both', expand = 1, padx = 4, pady = 5, side=LEFT)
++ self.ni_group.grid(column = 1, row=2, padx = 4, pady = 5, sticky=(N, S, E, W))
+
+
+
Modified: trunk/dports/science/pymol/files/pmg_tk_platform.patch
===================================================================
--- trunk/dports/science/pymol/files/pmg_tk_platform.patch 2013-09-04 21:03:40 UTC (rev 110733)
+++ trunk/dports/science/pymol/files/pmg_tk_platform.patch 2013-09-04 21:18:34 UTC (rev 110734)
@@ -1,6 +1,6 @@
---- modules/pmg_tk/skins/normal/__init__.py.orig 2012-02-18 12:31:32.000000000 -0500
-+++ modules/pmg_tk/skins/normal/__init__.py 2012-02-18 12:32:53.000000000 -0500
-@@ -250,7 +250,7 @@
+--- modules/pmg_tk/skins/normal/__init__.py.orig
++++ modules/pmg_tk/skins/normal/__init__.py
+@@ -236,7 +236,7 @@
self.buttonArea.destroy()
def my_show(self,win,center=1):
@@ -9,7 +9,7 @@
win.show()
else: # autocenter, deiconify, and run mainloop
# this is a workaround for a bug in the
-@@ -269,13 +269,13 @@
+@@ -255,13 +255,13 @@
# win.show()
def my_withdraw(self,win):
@@ -25,7 +25,7 @@
win.activate()
else: # autocenter, deiconify, and run mainloop
# this is a workaround for a bug in the
-@@ -296,7 +296,7 @@
+@@ -282,7 +282,7 @@
win.mainloop()
def my_deactivate(self,win):
@@ -34,18 +34,18 @@
win.deactivate()
else: # autocenter, deiconify, and run mainloop
win.destroy()
---- modules/pmg_tk/PMGApp.py.orig 2012-02-18 12:35:29.000000000 -0500
-+++ modules/pmg_tk/PMGApp.py 2012-02-18 12:36:46.000000000 -0500
-@@ -219,7 +219,7 @@
+--- modules/pmg_tk/PMGApp.py.orig
++++ modules/pmg_tk/PMGApp.py
+@@ -184,7 +184,7 @@
+ self.fifo.put(cmmd)
-
def my_show(self,win,center=1):
- if sys.platform!='linux2':
+ if (sys.platform!='linux2') and (sys.platform!='darwin'):
win.show()
else: # autocenter, deiconify, and run mainloop
# this is a workaround for a bug in the
-@@ -237,7 +237,7 @@
+@@ -202,7 +202,7 @@
win.deiconify()
def my_withdraw(self,win):
Added: trunk/dports/science/pymol/files/pymol-clang.diff
===================================================================
--- trunk/dports/science/pymol/files/pymol-clang.diff (rev 0)
+++ trunk/dports/science/pymol/files/pymol-clang.diff 2013-09-04 21:18:34 UTC (rev 110734)
@@ -0,0 +1,636 @@
+Index: layer0/ShaderMgr.c
+===================================================================
+--- layer0/ShaderMgr.c (revision 4039)
++++ layer0/ShaderMgr.c (working copy)
+@@ -150,7 +150,7 @@ void CShaderPrg_ReplaceStringsInPlace(Py
+ while (replaceStrings[i]){
+ slen = strlen(replaceStrings[i]);
+ rlen = strlen(replaceStrings[i+1]);
+- while(rstr=strstr(dest_line, replaceStrings[i])){
++ while((rstr=strstr(dest_line, replaceStrings[i]))){
+ strcpy(tmp_line, rstr + slen);
+ strcpy(rstr, replaceStrings[i+1]);
+ strcpy(rstr+rlen, tmp_line);
+@@ -488,15 +488,15 @@ void CShaderPrg_BindAttribLocations(PyMO
+ if (I){
+ GLenum err ;
+ glBindAttribLocation(I->id, VERTEX_POS, "a_Vertex");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: a_Vertex: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(I->id, VERTEX_NORMAL, "a_Normal");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: a_Normal: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(I->id, VERTEX_COLOR, "a_Color");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: a_Color: %d\n", err ENDFB(G);
+ }
+ CShaderPrg_Link(I);
+@@ -510,19 +510,19 @@ void CShaderPrg_BindCylinderAttribLocati
+ if (I){
+ GLenum err ;
+ glBindAttribLocation(I->id, CYLINDER_ORIGIN, "attr_origin");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: attr_origin: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(I->id, CYLINDER_AXIS, "attr_axis");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: attr_axis: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(I->id, CYLINDER_COLOR, "attr_color");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: attr_color: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(I->id, CYLINDER_COLOR2, "attr_color2");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: attr_color2: %d\n", err ENDFB(G);
+ }
+ CShaderPrg_Link(I);
+@@ -842,11 +842,11 @@ void ShaderMgrConfig(PyMOLGlobals * G) {
+ if (indicatorShader){
+ GLenum err ;
+ glBindAttribLocation(indicatorShader->id, VERTEX_POS, "a_Vertex");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: a_Vertex: %d\n", err ENDFB(G);
+ }
+ glBindAttribLocation(indicatorShader->id, VERTEX_COLOR, "a_Color");
+- if (err = glGetError()){
++ if ((err = glGetError())){
+ PRINTFB(G, FB_ShaderMgr, FB_Warnings) "GLERROR: a_Color: %d\n", err ENDFB(G);
+ }
+ CShaderPrg_Link(indicatorShader);
+Index: layer0/Tetsurf.c
+===================================================================
+--- layer0/Tetsurf.c (revision 4039)
++++ layer0/Tetsurf.c (working copy)
+@@ -679,8 +679,7 @@ static void TetsurfPurge(CTetsurf * II)
+ if(I->Tri) {
+ VLAFreeP(I->Tri);
+ }
+- if(I->PtLink);
+- {
++ if(I->PtLink) {
+ VLAFreeP(I->PtLink);
+ }
+ if(I->VertexCodes) {
+Index: layer0/Map.c
+===================================================================
+--- layer0/Map.c (revision 4039)
++++ layer0/Map.c (working copy)
+@@ -588,7 +588,7 @@ int MapSetupExpress(MapType * I)
+ register int *link = I->Link;
+ register int st, flag;
+ register int *i_ptr3, *i_ptr4, *i_ptr5;
+- register int *e_list;
++ register int *e_list = NULL;
+ #ifdef _MemoryCache_ON
+ register int block_offset = I->block_base + cCache_map_elist_offset;
+ register int group_id = I->group_id;
+Index: layer1/Basis.c
+===================================================================
+--- layer1/Basis.c (revision 4039)
++++ layer1/Basis.c (working copy)
+@@ -2868,11 +2868,11 @@ int BasisMakeMap(CBasis * I, int *vert2p
+ float ll;
+ CPrimitive *prm;
+ register int i;
+- register int *tempRef;
+- int n, h, q, x, y, z, j, k, l, e;
++ register int *tempRef = NULL;
++ int n = 0, h, q, x, y, z, j, k, l, e;
+ int extra_vert = 0;
+ float p[3], dd[3], *d1, *d2, vd[3], cx[3], cy[3];
+- float *tempVertex;
++ float *tempVertex = NULL;
+ float xs, ys;
+ int remapMode = true; /* remap mode means that some objects will span more
+ * than one voxel, so we have to worry about populating
+Index: layer1/CGO.c
+===================================================================
+--- layer1/CGO.c (revision 4039)
++++ layer1/CGO.c (working copy)
+@@ -47,7 +47,7 @@ Z* -------------------------------------
+ #define CLIP_NORMAL_VALUE(cv) ((cv>1.f) ? 127 : (cv < -1.f) ? -128 : pymol_roundf(((cv + 1.f)/2.f) * 255) - 128 )
+
+ #define CHECK_GL_ERROR_OK(printstr) \
+- if (err = glGetError()){ \
++ if ((err = glGetError())){ \
+ PRINTFB(I->G, FB_CGO, FB_Errors) printstr, err ENDFB(I->G); \
+ }
+
+@@ -2279,7 +2279,7 @@ void CGOCountNumVerticesForScreen(CGO *I
+ *num_total_vertices = 0;
+ *num_total_indexes = 0;
+
+- while(op = (CGO_MASK & CGO_read_int(pc))) {
++ while((op = (CGO_MASK & CGO_read_int(pc)))) {
+ save_pc = pc;
+ err = 0;
+ switch (op) {
+@@ -4339,7 +4339,7 @@ CGO *CGOOptimizeGLSLCylindersToVBOIndexe
+ GL_C_INT_TYPE *indexVals = 0;
+ int tot = 4 * 4 * 3 * num_total_cylinders;
+ short copyToLeftOver, copyColorToLeftOver, copyPickColorToLeftOver, copyAlphaToLeftOver, copyToReturnCGO ;
+- float *org_originVals;
++ float *org_originVals= NULL;
+ float *org_axisVals;
+ float *org_colorVals;
+ float *org_color2Vals = NULL;
+@@ -7101,7 +7101,7 @@ static void CGO_gl_draw_label(CCGORender
+ int texture_id = CGO_get_int(*pc);
+ float worldPos[4], screenMin[3], screenMax[3], textExtent[4];
+ CShaderPrg * shaderPrg;
+- int buf1, buf2, attr_worldpos, attr_screenoffset, attr_texcoords;
++ int buf1 = 0, buf2 = 0, attr_worldpos, attr_screenoffset, attr_texcoords;
+ copy3f(*pc, worldPos); worldPos[3] = 1.f;
+ copy3f(*pc+3, screenMin);
+ copy3f(*pc+6, screenMax);
+@@ -7142,7 +7142,7 @@ static void CGO_gl_draw_texture(CCGORend
+ int texture_id = CGO_get_int(*pc);
+ float worldPos[4], screenMin[3], screenMax[3], textExtent[4];
+ CShaderPrg * shaderPrg;
+- int buf1, buf2, attr_worldpos, attr_screenoffset, attr_texcoords;
++ int buf1 = 0, buf2 = 0, attr_worldpos, attr_screenoffset, attr_texcoords;
+ copy3f(*pc, worldPos); worldPos[3] = 1.f;
+ copy3f(*pc+3, screenMin);
+ copy3f(*pc+6, screenMax);
+@@ -9528,7 +9528,7 @@ int CGOCountNumberCustomCylinders(CGO *I
+ int CGOChangeShadersTo(CGO *I, int frommode, int tomode){
+ register float *pc = I->op;
+ int op = 0, totops = 0;
+- while(op = (CGO_MASK & CGO_read_int(pc))) {
++ while((op = (CGO_MASK & CGO_read_int(pc)))) {
+ totops++;
+ switch (op) {
+ case CGO_ENABLE:
+Index: layer1/Ortho.c
+===================================================================
+--- layer1/Ortho.c (revision 4039)
++++ layer1/Ortho.c (working copy)
+@@ -1014,7 +1014,7 @@ void OrthoKey(PyMOLGlobals * G, unsigned
+ curLine = I->CurLine & OrthoSaveLines;
+ if(I->PromptChar) {
+ strcpy(buffer, I->Line[curLine]);
+- if(PComplete(G, buffer + I->PromptChar, sizeof(OrthoLineType) - I->PromptChar)); /* just print, don't complete */
++ PComplete(G, buffer + I->PromptChar, sizeof(OrthoLineType) - I->PromptChar); /* just print, don't complete */
+ }
+ }
+ break;
+@@ -1394,7 +1394,7 @@ void bg_grad(PyMOLGlobals * G) {
+
+ {
+ if (!I->bgCGO) {
+- CGO *cgo = CGONew(G), *cgo2;
++ CGO *cgo = CGONew(G), *cgo2 = NULL;
+ ok &= CGOBegin(cgo, GL_TRIANGLE_STRIP);
+ if (ok)
+ ok &= CGOVertex(cgo, -1.f, -1.f, 0.98f);
+Index: layer1/P.c
+===================================================================
+--- layer1/P.c (revision 4039)
++++ layer1/P.c (working copy)
+@@ -2613,7 +2613,7 @@ int PFlush(PyMOLGlobals * G)
+ /* don't run if we're currently banned */
+ char *buffer = 0;
+ int size, curSize = 0;
+- while(size = OrthoCommandOutSize(G)){
++ while((size = OrthoCommandOutSize(G))){
+ if (!curSize){
+ buffer = VLACalloc(char, size);
+ curSize = size;
+@@ -2657,7 +2657,7 @@ int PFlushFast(PyMOLGlobals * G)
+ int did_work = false;
+ char *buffer = 0;
+ int size, curSize = 0;
+- while(size = OrthoCommandOutSize(G)){
++ while((size = OrthoCommandOutSize(G))){
+ if (!curSize){
+ buffer = VLACalloc(char, size);
+ curSize = size;
+Index: layer1/Extrude.c
+===================================================================
+--- layer1/Extrude.c (revision 4039)
++++ layer1/Extrude.c (working copy)
+@@ -753,7 +753,7 @@ int ExtrudeCGOSurfaceTube(CExtrude * I,
+ float *v;
+ float *n;
+ float *c;
+- float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
++ float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
+ float v0[3];
+ int start, stop;
+ int ok = true;
+@@ -1683,7 +1683,7 @@ int ExtrudeCGOSurfacePolygon(CExtrude *
+ float *v;
+ float *n;
+ float *c;
+- float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
++ float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
+ float v0[3];
+ int ok = true;
+
+@@ -1737,7 +1737,7 @@ int ExtrudeCGOSurfacePolygon(CExtrude *
+ for(b = 0; ok && b < I->Ns; b += 2) {
+ #ifdef _PYMOL_CGO_DRAWARRAYS
+ int nverts = 2*I->N, pl = 0, plc = 0, damode = CGO_VERTEX_ARRAY | CGO_NORMAL_ARRAY | CGO_PICK_COLOR_ARRAY, nxtn = 3;
+- float *vertexVals, *normalVals, *colorVals = 0, *nxtVals = 0, *tmp_ptr;
++ float *vertexVals = NULL, *normalVals, *colorVals = 0, *nxtVals = 0, *tmp_ptr;
+ float *pickColorVals;
+ GLenum mode = GL_LINE_STRIP;
+ if(SettingGetGlobal_i(I->G, cSetting_cartoon_debug) < 1.5)
+@@ -2048,7 +2048,7 @@ int ExtrudeCGOSurfacePolygonTaper(CExtru
+ i = I->i;
+ if (ok){
+ int nverts = 2*I->N, pl = 0, plc = 0, damode = CGO_VERTEX_ARRAY | CGO_NORMAL_ARRAY | CGO_PICK_COLOR_ARRAY, nxtn = 3;
+- float *vertexVals, *normalVals, *colorVals = 0, *nxtVals = 0, *tmp_ptr;
++ float *vertexVals = NULL, *normalVals, *colorVals = 0, *nxtVals = 0, *tmp_ptr;
+ float *pickColorVals;
+ if (color_override)
+ ok &= CGOColorv(cgo, color_override);
+@@ -2156,7 +2156,7 @@ int ExtrudeCGOSurfaceStrand(CExtrude * I
+ float *v;
+ float *n;
+ float *c;
+- float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN;
++ float *sv, *sn, *tv, *tn, *tv1, *tn1, *TV, *TN = NULL;
+ float v0[3], n0[3], s0[3], z[3] = { 1.0, 0.0, 1.0 };
+ int subN;
+ int ok = true;
+Index: layer1/Scene.c
+===================================================================
+--- layer1/Scene.c (revision 4039)
++++ layer1/Scene.c (working copy)
+@@ -7640,7 +7640,7 @@ void SceneUpdate(PyMOLGlobals * G, int f
+ /* update all gadgets first (single-threaded since they're thread-unsafe) */
+ rec = NULL;
+ while(ListIterate(I->Obj, rec, next)) {
+- if((rec->obj->type == cObjectGadget)) {
++ if(rec->obj->type == cObjectGadget) {
+ if(rec->obj->fUpdate)
+ rec->obj->fUpdate(rec->obj);
+ }
+Index: layer1/Control.c
+===================================================================
+--- layer1/Control.c (revision 4039)
++++ layer1/Control.c (working copy)
+@@ -637,7 +637,7 @@ static void ControlDraw(Block * block OR
+ but_bottom = y - (cControlBoxSize - 1);
+ but_height = cControlBoxSize;
+
+- if((but_num == I->Active)) {
++ if(but_num == I->Active) {
+ draw_button(but_left, but_bottom,
+ but_width, but_height, lightEdge, darkEdge, pushed ORTHOCGOARGVAR);
+ } else if(((but_num == 6) && (SettingGetGlobal_b(G, cSetting_seq_view))) ||
+Index: layer2/RepCylBond.c
+===================================================================
+--- layer2/RepCylBond.c (revision 4039)
++++ layer2/RepCylBond.c (working copy)
+@@ -1998,7 +1998,7 @@ Rep *RepCylBondNew(CoordSet * cs, int st
+ I->NSPC++;
+ }
+
+- if(s2 && (!marked[b2]) && (!stick_ball_filter_single_atoms || (ord==1 || adjacent_atoms[a2] && adjacent_atoms[a2][0] > 1))) {
++ if(s2 && (!marked[b2]) && (!stick_ball_filter_single_atoms || (ord==1 || (adjacent_atoms[a2] && adjacent_atoms[a2][0] > 1)))) {
+ /* just once for each atom..., if stick_ball_filter is on, then only for atoms that have more than one adjacent atom */
+ float vdw =
+ stick_ball_ratio * ((ati2->protons == cAN_H) ? bd_radius : bd_radius_full);
+Index: layer2/RepSphere.c
+===================================================================
+--- layer2/RepSphere.c (revision 4039)
++++ layer2/RepSphere.c (working copy)
+@@ -1991,8 +1991,8 @@ static void RepSphereRender(RepSphere *
+ int a;
+ SphereRec *sp = I->SP;
+ float alpha;
+- int n_quad_verts;
+- float radius;
++ int n_quad_verts = 0;
++ float radius = 0.0;
+ int ok = true;
+ short use_shader = SettingGetGlobal_b(G, cSetting_sphere_use_shader) &
+ SettingGetGlobal_b(G, cSetting_use_shaders);
+Index: layer2/ObjectMolecule2.c
+===================================================================
+--- layer2/ObjectMolecule2.c (revision 4039)
++++ layer2/ObjectMolecule2.c (working copy)
+@@ -3678,7 +3678,7 @@ int ObjectMoleculeNewFromPyList(PyMOLGlo
+ #else
+ int ok = true;
+ ObjectMolecule *I = NULL;
+- int discrete_flag;
++ int discrete_flag = 0;
+ int ll;
+ (*result) = NULL;
+
+@@ -4305,7 +4305,7 @@ int ObjectMoleculeSort(ObjectMolecule *
+ register int a, b;
+ CoordSet *cs, **dcs;
+ AtomInfoType *atInfo;
+- int *dAtmToIdx;
++ int *dAtmToIdx = NULL;
+ int ok = true;
+ if(!I->DiscreteFlag) { /* currently, discrete objects are never sorted */
+ int n_bytes = sizeof(int) * I->NAtom;
+Index: layer2/RepDot.c
+===================================================================
+--- layer2/RepDot.c (revision 4039)
++++ layer2/RepDot.c (working copy)
+@@ -192,7 +192,7 @@ static void RepDotRender(RepDot * I, Ren
+ ok &= CGOColorv(cgo, v);
+ v += 3;
+ }
+- /* if(normals) /* NORMALS do not get set for points
++ /* if(normals) NORMALS do not get set for points
+ CGONormalv(cgo, v);*/
+ v += 3;
+ if (ok)
+@@ -210,7 +210,7 @@ static void RepDotRender(RepDot * I, Ren
+ I->shaderCGO = CGOOptimizeSpheresToVBONonIndexed(cgo, CGO_BOUNDING_BOX_SZ + CGO_DRAW_SPHERE_BUFFERS_SZ);
+ CHECKOK(ok, I->shaderCGO);
+ } else {
+- CGO *convertcgo = CGOCombineBeginEnd(cgo, 0), *tmpCGO;
++ CGO *convertcgo = CGOCombineBeginEnd(cgo, 0), *tmpCGO = NULL;
+ CHECKOK(ok, convertcgo);
+ if (ok)
+ tmpCGO = CGOOptimizeToVBONotIndexed(convertcgo, CGO_BOUNDING_BOX_SZ + I->N * 3 + 7);
+@@ -344,7 +344,7 @@ Rep *RepDotDoNew(CoordSet * cs, int mode
+ float *countPtr = NULL;
+ int colorCnt, lastColor;
+ Vector3f v1;
+- MapType *map;
++ MapType *map = NULL;
+ SphereRec *sp = G->Sphere->Sphere[0];
+ int ds;
+ float max_vdw = MAX_VDW;
+Index: layer2/RepSurface.c
+===================================================================
+--- layer2/RepSurface.c (revision 4039)
++++ layer2/RepSurface.c (working copy)
+@@ -3304,7 +3304,7 @@ static void RepSurfaceRender(RepSurface
+ if (ok)
+ convertcgo->use_shader = true;
+ } else if (I->Type == 2) {
+- CGO *convertcgo2, *simple;
++ CGO *convertcgo2, *simple = NULL;
+ convertcgo2 = CGOConvertLinesToShaderCylinders(I->shaderCGO, 0);
+ CHECKOK(ok, convertcgo2);
+ if (ok)
+@@ -4503,7 +4503,7 @@ static int SurfaceJobRun(PyMOLGlobals *
+ }
+ ok &= !G->Interrupt;
+ if(ok) {
+- MapType *map, *solv_map;
++ MapType *map, *solv_map = NULL;
+ map = MapNewFlagged(G, I->maxVdw + probe_rad_more,
+ I->coord, VLAGetSize(I->coord) / 3, NULL, NULL);
+ CHECKOK(ok, map);
+@@ -5747,7 +5747,7 @@ static SolventDot *SolventDotNew(PyMOLGl
+ SurfaceJobAtomInfo *j_atom_info = atom_info + j;
+ if(j > a) /* only check if this is atom trails */
+ if((!present) || present[j]) {
+- if((j_atom_info->vdw == a_atom_info->vdw)) { /* handle singularities */
++ if(j_atom_info->vdw == a_atom_info->vdw) { /* handle singularities */
+ float *v1 = coord + 3 * j;
+ if((v0[0] == v1[0]) && (v0[1] == v1[1]) && (v0[2] == v1[2]))
+ skip_flag = true;
+@@ -5842,7 +5842,7 @@ static SolventDot *SolventDotNew(PyMOLGl
+ SurfaceJobAtomInfo *j_atom_info = atom_info + j;
+ if(j > a) /* only check if this is atom trails */
+ if((!present) || present[j]) {
+- if((j_atom_info->vdw == a_atom_info->vdw)) { /* handle singularities */
++ if(j_atom_info->vdw == a_atom_info->vdw) { /* handle singularities */
+ float *v2 = coord + 3 * j;
+ if((v0[0] == v2[0]) && (v0[1] == v2[1]) && (v0[2] == v2[2]))
+ skip_flag = true;
+@@ -6002,7 +6002,7 @@ static SolventDot *SolventDotNew(PyMOLGl
+ SurfaceJobAtomInfo *j_atom_info = atom_info + j;
+ if(j > a) /* only check if this is atom trails */
+ if((!present) || present[j]) {
+- if((j_atom_info->vdw == a_atom_info->vdw)) { /* handle singularities */
++ if(j_atom_info->vdw == a_atom_info->vdw) { /* handle singularities */
+ float *v1 = coord + 3 * j;
+ if((v0[0] == v1[0]) && (v0[1] == v1[1]) && (v0[2] == v1[2]))
+ skip_flag = true;
+Index: layer2/RepCartoon.c
+===================================================================
+--- layer2/RepCartoon.c (revision 4039)
++++ layer2/RepCartoon.c (working copy)
+@@ -2615,7 +2615,7 @@ CGO *GenerateRepCartoonCGO(CoordSet *cs,
+
+ #ifdef _PYMOL_CGO_DRAWARRAYS
+ int nverts = nAt * 4, pl = 0;
+- float *vertexVals, *tmp_ptr;
++ float *vertexVals = NULL, *tmp_ptr;
+ if (ok)
+ vertexVals = CGODrawArrays(cgo, GL_LINES, CGO_VERTEX_ARRAY, nverts);
+ CHECKOK(ok, vertexVals);
+Index: layer2/ObjectMolecule.c
+===================================================================
+--- layer2/ObjectMolecule.c (revision 4039)
++++ layer2/ObjectMolecule.c (working copy)
+@@ -1448,7 +1448,7 @@ CoordSet *ObjectMoleculeTOPStr2CoordSet(
+ int NPHIH, MPHIA, NHPARM, NPARM, NNB, NRES;
+ int NBONA, NTHETA, NPHIA, NUMBND, NUMANG, NPTRA;
+ int NATYP, NPHB, IFPERT, NBPER, NGPER, NDPER;
+- int MBPER, MGPER, MDPER, IFBOX, NMXRS, IFCAP;
++ int MBPER, MGPER, MDPER, IFBOX = 0, NMXRS, IFCAP;
+ int NEXTRA, IPOL = 0;
+ int wid, col;
+ float BETA;
+@@ -2076,7 +2076,7 @@ CoordSet *ObjectMoleculeTOPStr2CoordSet(
+
+ if(IFBOX > 0) {
+
+- int IPTRES, NSPM, NSPSOL;
++ int IPTRES, NSPM = 0, NSPSOL;
+
+ if(amber7) {
+ p = findflag(G, buffer, "SOLVENT_POINTERS", "3I8");
+@@ -4431,7 +4431,7 @@ int ObjectMoleculeAttach(ObjectMolecule
+ AtomInfoType *ai;
+ int n, nn;
+ float v[3], v0[3], d;
+- CoordSet *cs;
++ CoordSet *cs = NULL;
+ int ok = true;
+
+ ok &= ObjectMoleculeUpdateNeighbors(I);
+@@ -9755,7 +9755,7 @@ int ObjectMoleculeMerge(ObjectMolecule *
+ CoordSet * cs, int bondSearchFlag, int aic_mask, int invalidate)
+ {
+ PyMOLGlobals *G = I->Obj.G;
+- int *index, *outdex, *a2i, *i2a;
++ int *index, *outdex, *a2i, *i2a = NULL;
+ BondType *bond = NULL;
+ register int a, b, lb = 0, ac;
+ int c, nb, a1, a2;
+@@ -10539,7 +10539,7 @@ void ObjectMoleculeSeleOp(ObjectMolecule
+ rms = MatrixFitRMSTTTf(G, op->nvv1, op->vv1, vt, NULL, op->ttt);
+ else
+ rms = MatrixGetRMS(G, op->nvv1, op->vv1, vt, NULL);
+- if((op->i1 == 2)) {
++ if(op->i1 == 2) {
+ ObjectMoleculeTransformTTTf(I, op->ttt, b);
+
+ if(op->i3) {
+Index: layer3/Selector.c
+===================================================================
+--- layer3/Selector.c (revision 4039)
++++ layer3/Selector.c (working copy)
+@@ -8615,11 +8615,11 @@ static int SelectorSelect0(PyMOLGlobals
+ for(a = cNDummyAtoms; a < I->NAtom; a++) {
+ b = i_obj[i_table[a].model]->AtomInfo[i_table[a].atom].protons;
+ base[0].sele[a] = (
+- b > 2 && b < 5 ||
+- b > 10 && b < 14 ||
+- b > 18 && b < 32 ||
+- b > 36 && b < 51 ||
+- b > 54 && b < 85 ||
++ (b > 2 && b < 5) ||
++ (b > 10 && b < 14) ||
++ (b > 18 && b < 32) ||
++ (b > 36 && b < 51) ||
++ (b > 54 && b < 85) ||
+ b > 86);
+ }
+ break;
+Index: layer3/Executive.c
+===================================================================
+--- layer3/Executive.c (revision 4039)
++++ layer3/Executive.c (working copy)
+@@ -15915,7 +15915,7 @@ static int ExecutiveDrag(Block * block,
+ ExecutiveSpecSetVisibility(G, rec, true, mod, false);
+ I->LastChanged = rec;
+ }
+- if((mod == (cOrthoSHIFT | cOrthoCTRL))) {
++ if(mod == (cOrthoSHIFT | cOrthoCTRL)) {
+ if(rec != I->LastZoomed)
+ ExecutiveWindowZoom(G, rec->name, 0.0F, -1, false, -1.0F,
+ true);
+Index: layer3/PlugIOManager.c
+===================================================================
+--- layer3/PlugIOManager.c (revision 4039)
++++ layer3/PlugIOManager.c (working copy)
+@@ -225,7 +225,7 @@ int PlugIOManagerLoadTraj(PyMOLGlobals *
+ ENDFB(G);
+ }
+
+- if(stop > 0 && cnt >= stop || max > 0 && ncnt >= max) {
++ if((stop > 0 && cnt >= stop) || (max > 0 && ncnt >= max)) {
+ cs = NULL;
+ break;
+ }
+Index: layer4/Cmd.c
+===================================================================
+--- layer4/Cmd.c (revision 4039)
++++ layer4/Cmd.c (working copy)
+@@ -1846,7 +1846,7 @@ static PyObject *CmdMapHalve(PyObject *
+ static PyObject *CmdGetRenderer(PyObject * self, PyObject * args)
+ {
+ PyMOLGlobals *G = NULL;
+- char *vendor, *renderer, *version;
++ char *vendor = NULL, *renderer = NULL, *version = NULL;
+ int ok = false;
+ ok = PyArg_ParseTuple(args, "O", &self);
+ if(ok) {
+Index: contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp
+===================================================================
+--- contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp (revision 4039)
++++ contrib/uiuc/plugins/molfile_plugin/src/pbeqplugin.cpp (working copy)
+@@ -259,7 +259,7 @@ static int read_pbeq_data(void *v, int s
+ int addr = z*nclx*ncly + y*nclx + x;
+ if (fread(datablock + addr, 4, 1, fd) != 1) {
+ printf("pbeqplugin) Error reading potential map cell: %d,%d,%d\n", x, y, z);
+- printf("pbeqplugin) offset: %d\n", ftell(fd));
++ printf("pbeqplugin) offset: %ld\n", ftell(fd));
+ return MOLFILE_ERROR;
+ }
+ count++;
+Index: contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c
+===================================================================
+--- contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c (revision 4039)
++++ contrib/uiuc/plugins/molfile_plugin/src/moldenplugin.c (working copy)
+@@ -99,7 +99,7 @@ static void *open_molden_read(const char
+ const char *filetype,
+ int *natoms) {
+ FILE *fd;
+- qmdata_t *data;
++ qmdata_t *data = NULL;
+ moldendata_t *moldendata;
+ char buffer[1024];
+ char keystring[20];
+Index: contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c
+===================================================================
+--- contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c (revision 4039)
++++ contrib/uiuc/plugins/molfile_plugin/src/gamessplugin.c (working copy)
+@@ -375,7 +375,7 @@ static void *open_gamess_read(const char
+ const char *filetype, int *natoms) {
+
+ FILE *fd;
+- qmdata_t *data;
++ qmdata_t *data = NULL;
+ gmsdata *gms;
+
+ /* open the input file */
+Index: contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp
+===================================================================
+--- contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp (revision 4039)
++++ contrib/uiuc/plugins/molfile_plugin/src/maeffplugin.cpp (working copy)
+@@ -1983,7 +1983,7 @@ namespace {
+ }
+ }
+ catch (std::exception &e) {
+- fprintf(stderr, e.what());
++ fprintf(stderr, "%s", e.what());
+ return MOLFILE_ERROR;
+ }
+ return MOLFILE_SUCCESS;
+Index: contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp
+===================================================================
+--- contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp (revision 4039)
++++ contrib/uiuc/plugins/molfile_plugin/src/graspplugin.cpp (working copy)
+@@ -104,7 +104,7 @@ void Get_Property_Values(GRASSP *grassp,
+
+ ///ojo aqui le quite el !
+ if ((grassp->flag)!=POTENTIALS) {
+- if (index >=0 && index <= 4)
++ if (index <= 4)
+ printf("graspplugin) No data available for '%s' option\n", name[index]);
+ else
+ printf("graspplugin) out of range property, flag: %d index: %d\n", grassp->flag, index);
+Index: modules/cealign/src/tnt/tnt_fortran_array1d.h
+===================================================================
+--- modules/cealign/src/tnt/tnt_fortran_array1d.h (revision 4039)
++++ modules/cealign/src/tnt/tnt_fortran_array1d.h (working copy)
+@@ -221,7 +221,7 @@ inline Fortran_Array1D<T> Fortran_Array1
+ #ifdef TNT_DEBUG
+ std::cout << "entered subarray. \n";
+ #endif
+- if ((i0 > 0) && (i1 < n_) || (i0 <= i1))
++ if (((i0 > 0) && (i1 < n_)) || (i0 <= i1))
+ {
+ Fortran_Array1D<T> X(*this); /* create a new instance of this array. */
+ X.n_ = i1-i0+1;
+Index: modules/cealign/src/tnt/tnt_array1d.h
+===================================================================
+--- modules/cealign/src/tnt/tnt_array1d.h (revision 4039)
++++ modules/cealign/src/tnt/tnt_array1d.h (working copy)
+@@ -258,7 +258,7 @@ inline int Array1D<T>::ref_count() const
+ template <class T>
+ inline Array1D<T> Array1D<T>::subarray(int i0, int i1)
+ {
+- if ((i0 >= 0) && (i1 < n_) || (i0 <= i1))
++ if (((i0 >= 0) && (i1 < n_)) || (i0 <= i1))
+ {
+ Array1D<T> X(*this); /* create a new instance of this array. */
+ X.n_ = i1-i0+1;
Modified: trunk/dports/science/pymol/files/pymol_shell.diff
===================================================================
--- trunk/dports/science/pymol/files/pymol_shell.diff 2013-09-04 21:03:40 UTC (rev 110733)
+++ trunk/dports/science/pymol/files/pymol_shell.diff 2013-09-04 21:18:34 UTC (rev 110734)
@@ -1,6 +1,6 @@
---- /dev/null 2011-04-22 23:16:48.000000000 -0400
-+++ setup/pymol_macports 2011-04-22 23:19:48.000000000 -0400
-@@ -0,0 +1,16 @@
+--- /dev/null
++++ setup/pymol_macports
+@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# PyMOL startup script
@@ -16,4 +16,9 @@
+#
+# python modules
+#
-+exec @@PYTHON_BINARY@@ @@PYTHON_PKGDIR@@/pymol/__init__.py -d "_ set stereo_double_pump_mono,quiet=1" "$@"
++HasRadeon=($(system_profiler SPDisplaysDataType | grep Radeon ))
++if [[ -z "$HasRadeon" ]];then
++ exec @@PYTHON_BINARY@@ @@PYTHON_PKGDIR@@/pymol/__init__.py -d "_ set stereo_double_pump_mono,quiet=1" "$@"
++else
++ exec @@PYTHON_BINARY@@ @@PYTHON_PKGDIR@@/pymol/__init__.py -d "_ set stereo_double_pump_mono,quiet=1" "-M" "$@"
++fi
Modified: trunk/dports/science/pymol/files/setup_py.diff
===================================================================
--- trunk/dports/science/pymol/files/setup_py.diff 2013-09-04 21:03:40 UTC (rev 110733)
+++ trunk/dports/science/pymol/files/setup_py.diff 2013-09-04 21:18:34 UTC (rev 110734)
@@ -1,11 +1,48 @@
---- setup.py.orig 2012-02-17 13:06:52.000000000 -0500
-+++ setup.py 2012-02-17 20:20:00.000000000 -0500
-@@ -153,7 +153,7 @@
- outputheader.close()
- outputfile.close()
+--- setup.py.orig
++++ setup.py
+@@ -47,18 +47,6 @@
+ pmap(_single_compile, objects)
+ return objects
-- EXT = "/opt/local"
-+ EXT = "@PREFIX@"
- inc_dirs=["ov/src",
- "layer0","layer1","layer2",
- "layer3","layer4","layer5",
+-# handle extra arguments
+-class options:
+- osx_frameworks = False
+-
+-try:
+- import argparse
+- parser = argparse.ArgumentParser()
+- parser.add_argument('--osx-frameworks', action="store_true")
+- options, sys.argv = parser.parse_known_args(namespace=options)
+-except ImportError:
+- print "argparse not available"
+-
+ jobs = int(os.getenv('JOBS', 0))
+ pmap = map if jobs == 1 else multiprocessing.pool.ThreadPool(jobs or None).map
+
+@@ -246,22 +234,17 @@
+ try:
+ prefix_path = os.environ['PREFIX_PATH'].split(os.pathsep)
+ except KeyError:
+- prefix_path = ["/usr", "/usr/X11", "/opt/local", "/sw"]
++ prefix_path = ["@PREFIX@", "/usr", "/usr/X11"]
+
+ for prefix in prefix_path:
+ inc_dirs += filter(os.path.isdir, [prefix + s for s in ["/include", "/include/freetype2"]])
+ lib_dirs += filter(os.path.isdir, [prefix + s for s in ["/lib64", "/lib"]])
+
+- if sys.platform == 'darwin' and options.osx_frameworks:
+- ext_link_args += [
+- "-framework", "OpenGL",
+- "-framework", "GLUT",
+- ]
+- else:
+- glut = posix_find_lib(['glut', 'freeglut'], lib_dirs)
+- pyogl_libs += ["GL", "GLU", glut]
++ glut = posix_find_lib(['glut', 'freeglut'], lib_dirs)
+
+ libs += ["GLEW"]
++ pyogl_libs += ["GL", "GLU", glut]
++
+ libs += pyogl_libs
+
+ ext_comp_args += ["-ffast-math", "-funroll-loops", "-O3", "-fcommon"]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130904/a695d916/attachment-0001.html>
More information about the macports-changes
mailing list