Bug 124611 - pymol 0.99 version bump, approximate ebuild enclosed
Bug#: 124611 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: enhancement Priority: P2
Resolution: FIXED Assigned To: sci@gentoo.org Reported By: hodak@nemo.physics.ncsu.edu
Component: Applications
URL: 
Summary: pymol 0.99 version bump, approximate ebuild enclosed
Keywords:  
Status Whiteboard: 
Opened: 2006-03-02 01:15 0000
Description:   Opened: 2006-03-02 01:15 0000
PyMOL v0.99 is released, portage version bump should be in order. In a moment I
will attach almost working ebuild for new pymol version.

------- Comment #1 From hodak@nemo.physics.ncsu.edu 2006-03-02 01:50:28 0000 -------
Created an attachment (id=81095) [details]
pymol 0.99 ebuild

I am submitting almost working ebuild, I need some help to make it fully
functional.

Changes from 0.98:
Tarball name is pymol-0_99rc1-src.tgz (note rc1, even though this is the actual
release, not just release candidate)
Added dependencies:
dev-lang/tcl
media-libs/freetype

Now the problems I am having:
In 0.98 there was pymol.com thatp was filtered through sed and became the pymol
binary. In 0.99 there is no pymol.com there are several files pymol.com.* in
setup subdirectory. pymol.com.basic seems to be working but it needs to be
changed. Original pymol.com.basic looks like this:

#!/bin/sh
PYMOL_PATH=${HOME}/pymol
export PYMOL_PATH

if [ "$PYTHONPATH" == "" ]; then
PYTHONPATH=${PYMOL_PATH}/modules
else
PYTHONPATH=${PYMOL_PATH}/modules:${PYTHONPATH}
fi
export PYTHONPATH
#
python $PYMOL_PATH/modules/pymol/__init__.py "$@"


The PYMOL_PATH is obviously wrong ($HOME ?)
This file needs to be chnaging to this:

#!/bin/sh
PYMOL_PATH=/usr/share/doc/pymol-0.99/
export PYMOL_PATH
/usr/bin/python /usr/lib/python2.4/site-packages/pymol/__init__.py "$@"

Unfortunately, I do not know enough sed/ebuild to accomplish this, I really do
not know how to find python version and setup path /usr/lib/python2.4.


There is one more important change in 0.99: In 0.98 during installation the
following directory is created:
/usr/lib/python2.4/site-packages/pymol/pymol_path/
This containts 4 subdirectories and a file:
data  examples  LICENSE  scripts  test
I am not sure if examples, scripts or test are good for something, but data is
important since it contains demo files.
In 0.99 the pymol_path dir is not created during installation and thus demo
files are missing. Looking into 0.98 ebuild, it turns out that there is special
handling for examples subdirectories, it is copied into
/usr/share/doc/pymol-0.99/examples/. Therefore I moved content of the other
subdirectories into /usr/share/doc/pymol-0.99/ as well. Once PYMOL_PATH is
setup 
to /usr/share/doc/pymol-0.99/ everything works as expected.

To sum up, what is required is write couple of lines that will convert
pymol.com.basic to the form I specified above, or just create pymol script with
the three lines from scratch. The only tricky part (for me) is to figure out
python2.4. 
In my case, I changed pymol script by hand and everything seems to be working
fine.

------- Comment #2 From Jeffrey Gardner 2006-03-02 06:16:12 0000 -------
I did about the same thing as you, only after I "ebuild pymol-0.99.ebuild
unpack" I edited
/var/tmp/portage/pymol-0.99/work/pymol-0.99/setup/pymol.com.basic
to the following:

#!/bin/sh
#
# PyMOL startup script for "ext"-based installs
#
# ==============================================================
# Set PYMOL_PATH to point at the correct location on your system
#
PYMOL_PATH=/usr/lib64/python2.4/site-packages/pymol
export PYMOL_PATH
#
# ==============================================================
# (no changes usually required below here)
#
# python modules
#
if [ "$PYTHONPATH" == "" ]; then
PYTHONPATH=${PYMOL_PATH}/modules
else
PYTHONPATH=${PYMOL_PATH}/modules:${PYTHONPATH}
fi
export PYTHONPATH
#
python $PYMOL_PATH/__init__.py "$@"


So far everything is working okay...I have some scripts from the pymol wiki
that are running fine, (in /usr/lib64/python2.4/site-packages) and
/usr/share/doc/pymol-0.99 was created (with CHANGES.gz  DEVELOPERS.gz 
README.gz).
Looks good....

------- Comment #3 From Donnie Berkholz 2006-03-02 06:33:10 0000 -------
You get the python version from python.eclass. First run python_version(), then
$PYVER is set to the major.minor (e.g., 2.3, 2.4).

------- Comment #4 From hodak@nemo.physics.ncsu.edu 2006-03-02 15:02:51 0000 -------
je_fro: I think that for your configuration demos do not work. Can you test it?

------- Comment #5 From hodak@nemo.physics.ncsu.edu 2006-03-02 15:15:42 0000 -------
Created an attachment (id=81151) [details]
Updated pymol ebuild

Here is updated ebuild, it does everything I wanted and works for me without
problems. 

The only thing is that I would prefer that examples, data, tests and scripts
would go to /usr/lib/python2.4/site-packages/pymol/ instead of /usr/share/doc/,
but when I try this I get "permission denied":

mv: cannot move `data' to `/usr/lib/python2.4/site-packages/pymol/data':
Permission denied

Is there something that can be done about this?

------- Comment #6 From Donnie Berkholz 2006-03-03 09:33:08 0000 -------
Added 0.99 to portage. If you'd like, take a look at how I've done things
differently.