aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry')
-rw-r--r--sci-chemistry/pymol/ChangeLog4
-rw-r--r--sci-chemistry/pymol/files/pymol-9999-tk8.6.patch163
-rw-r--r--sci-chemistry/pymol/pymol-9999.ebuild21
3 files changed, 183 insertions, 5 deletions
diff --git a/sci-chemistry/pymol/ChangeLog b/sci-chemistry/pymol/ChangeLog
index 67954f09e..15af521b6 100644
--- a/sci-chemistry/pymol/ChangeLog
+++ b/sci-chemistry/pymol/ChangeLog
@@ -2,6 +2,10 @@
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 30 Oct 2014; Justin Lecher <jlec@gentoo.org> pymol-9999.ebuild,
+ +files/pymol-9999-tk8.6.patch:
+ Make it really multi py ABI ready; use internal apbs plugin
+
27 Oct 2014; Justin Lecher <jlec@gentoo.org> pymol-9999.ebuild:
Add missing PYTHON_USEDEP
diff --git a/sci-chemistry/pymol/files/pymol-9999-tk8.6.patch b/sci-chemistry/pymol/files/pymol-9999-tk8.6.patch
new file mode 100644
index 000000000..c4fa20954
--- /dev/null
+++ b/sci-chemistry/pymol/files/pymol-9999-tk8.6.patch
@@ -0,0 +1,163 @@
+ pymol/modules/pmg_tk/startup/apbs_tools.py | 36 +++++++++++++++---------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/pymol/modules/pmg_tk/startup/apbs_tools.py b/pymol/modules/pmg_tk/startup/apbs_tools.py
+index 9b76070..ad82df3 100644
+--- a/pymol/modules/pmg_tk/startup/apbs_tools.py
++++ b/pymol/modules/pmg_tk/startup/apbs_tools.py
+@@ -612,7 +612,7 @@ class APBSTools2:
+ # 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.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 +658,7 @@ class APBSTools2:
+ page = self.notebook.add('Configuration')
+
+ group = Pmw.Group(page,tag_text='Dielectric Constants')
+- 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 +677,7 @@ class APBSTools2:
+ #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.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 +735,7 @@ class APBSTools2:
+
+
+ group = Pmw.Group(page,tag_text='Ions')
+- 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 +794,7 @@ class APBSTools2:
+ 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.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 +809,7 @@ class APBSTools2:
+
+
+ group = Pmw.Group(page,tag_text = 'Fine Mesh Length')
+- 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 +824,7 @@ class APBSTools2:
+
+
+ group = Pmw.Group(page,tag_text = 'Grid Center')
+- 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 +838,7 @@ class APBSTools2:
+ 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.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 +856,7 @@ class APBSTools2:
+ 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.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 +955,7 @@ protein residues and AMBER charges. If wish that behavior, simply delete the "p
+
+ 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.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 +1003,17 @@ by setting the environment variable TEMP.
+ 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.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.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.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
+@@ -2271,7 +2271,7 @@ class VisualizationGroup(Pmw.Group):
+ 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.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)
+@@ -2322,7 +2322,7 @@ class VisualizationGroup(Pmw.Group):
+ 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)
++ self.ms_group.grid(padx = 4, pady = 5, 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)
+@@ -2337,7 +2337,7 @@ class VisualizationGroup(Pmw.Group):
+ 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.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+
+ self.pi_group = Pmw.Group(self.interior(),tag_text='Positive Isosurface')
+ self.pi_buttonbox = Pmw.ButtonBox(self.pi_group.interior(), padx=0)
+@@ -2356,7 +2356,7 @@ class VisualizationGroup(Pmw.Group):
+ 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.pi_group.grid(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)
+@@ -2375,7 +2375,7 @@ class VisualizationGroup(Pmw.Group):
+ 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.ni_group.grid(padx = 4, pady = 5, sticky=(N, S, E, W))
+
+
+
diff --git a/sci-chemistry/pymol/pymol-9999.ebuild b/sci-chemistry/pymol/pymol-9999.ebuild
index cd5715317..957afd086 100644
--- a/sci-chemistry/pymol/pymol-9999.ebuild
+++ b/sci-chemistry/pymol/pymol-9999.ebuild
@@ -32,11 +32,13 @@ DEPEND="
apbs? (
sci-chemistry/apbs[${PYTHON_USEDEP}]
sci-chemistry/pdb2pqr[${PYTHON_USEDEP}]
- sci-chemistry/pymol-apbs-plugin[${PYTHON_USEDEP}]
+ !sci-chemistry/pymol-apbs-plugin[${PYTHON_USEDEP}]
)
web? ( !dev-python/webpy[${PYTHON_USEDEP}] )"
RDEPEND="${DEPEND}"
+PATCHES=( "${FILESDIR}"/${P}-tk8.6.patch )
+
src_unpack() {
unpack ${A}
subversion_src_unpack
@@ -49,8 +51,6 @@ python_prepare_all() {
-e "/import/s:argparse:argparseX:g" \
-i setup.py || die
- rm ./modules/pmg_tk/startup/apbs_tools.py || die
-
sed \
-e "s:/opt/local:${EPREFIX}/usr:g" \
-e '/ext_comp_args/s:\[.*\]:[]:g' \
@@ -66,17 +66,28 @@ src_prepare() {
python_install() {
distutils-r1_python_install --pymol-path="${EPREFIX}/usr/share/pymol"
+
+ sed \
+ -e '1d' \
+ -e "/APBS_BINARY_LOCATION/s:None:\"${EPREFIX}/usr/bin/apbs\":g" \
+ -e "/APBS_PSIZE_LOCATION/s:None:\"$(python_get_sitedir)/pdb2pqr/src/\":g" \
+ -e "/APBS_PDB2PQR_LOCATION/s:None:\"$(python_get_sitedir)/pdb2pqr/\":g" \
+ -i "${D}/$(python_get_sitedir)"/pmg_tk/startup/apbs_tools.py || die
}
python_install_all() {
distutils-r1_python_install_all
- python_export python2_7 EPYTHON
+ sed \
+ -e '1i#!/usr/bin/env python' \
+ "${D}/$(python_get_sitedir)"/pymol/__init__.py > "${T}"/${PN} || die
+
+ python_foreach_impl python_doscript "${T}"/${PN}
# These environment variables should not go in the wrapper script, or else
# it will be impossible to use the PyMOL libraries from Python.
cat >> "${T}"/20pymol <<- EOF
- PYMOL_PATH="$(python_get_sitedir)/${PN}"
+ PYMOL_PATH="${EPREFIX}/usr/share/pymol"
PYMOL_DATA="${EPREFIX}/usr/share/pymol/data"
PYMOL_SCRIPTS="${EPREFIX}/usr/share/pymol/scripts"
EOF