macports 2.0.4 breaks the usage of clang on Xcode 4.3.2

Jack Howarth howarth at bromo.med.uc.edu
Mon Apr 9 08:00:03 PDT 2012


On Mon, Apr 09, 2012 at 10:51:05AM -0400, Jack Howarth wrote:
> On Tue, Apr 10, 2012 at 12:29:49AM +1000, Joshua Root wrote:
> > On 2012-4-9 22:55 , Jack Howarth wrote:
> > >    My concern is that the usage of...
> > > 
> > > configure.compiler  macports-gcc-4.5
> > > 
> > > and
> > > 
> > > build.env CC="${configure.cc}" CXX="${configure.cxx}"
> > > 
> > > appears to be broken now. This was recommended to me as the appropriate way to handle
> > > the compiler variants...
> > > 
> > > http://trac.macports.org/wiki/PortfileRecipes#gcc
> > > 
> > > This used to work such that...
> > > 
> > > sudo port -d install pymol +gcc45
> > > 
> > > would compile pymol with the gcc-mp-4.5 compiler but current port in MacPorts 2.0.4
> > > seems to have broken this feature and, under Xcode 4.3.2, the clang compilers are
> > > always used.
> > 
> > Nothing in base has changed to affect this. You changed the pymol port
> > to declare an empty build phase 6 weeks ago, so of course setting
> > build.env doesn't do anything useful.
> > 
> > - Josh
> 
> Josh,
>    Pymol upstream changed their build procedure in 1.5 so that they no longer 
> support...
> 
> python setup.py build
> python setup.py install
> 
> but only...
> 
> python setup.py install
> 
> which both compiles and installs pymol. So I guess I may need to have an explicit
> install phase instead of using the default python port one in order to pass CC
> and CXX in front of the 'python2.x setup.py install' if build.env isn't available
> in the install phase.
>              Jack

   If I understand the macports documentation correctly, since the  pymol developer has forced the build
into the install phase, I should be able to just use something like...

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem          1.0
PortGroup           python26 1.0

name                pymol
version             1.5
revision            1
categories          science
maintainers         bromo.med.uc.edu:howarth
description         Molecular graphics system
long_description    PyMOL is a molecular graphics system with an embedded Python interpreter \
                    designed for real-time visualization and rapid generation of high-quality \
                    molecular graphics images and animations.

platforms           darwin

homepage            http://www.pymol.org/

master_sites        sourceforge
fetch.type          svn
svn.url             https://pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol
svn.revision        3996
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
depends_run         port:xdpyinfo

patchfiles          setup_py.diff pymol_shell.diff pmg_tk_platform.patch apbs-psize.patch

post-patch {
    reinplace  "s|@PREFIX@|${prefix}|g" ${worksrcpath}/setup.py
    reinplace  "s|@@PYTHON_PKGDIR@@|${python.pkgd}|g" ${worksrcpath}/setup/pymol_macports
    reinplace  "s|@@PYTHON_BINARY@@|${python.bin}|g" ${worksrcpath}/setup/pymol_macports
}

use_parallel_build yes

variant gcc43 description conflicts gcc44 gcc45 gcc46 description {build using macports-gcc-4.3} {
    depends_lib-append  port:gcc43
    python.add_archflags   no
    configure.compiler  macports-gcc-4.3
}

variant gcc44 description conflicts gcc43 gcc45 gcc46 description {build using macports-gcc-4.4} {
    depends_lib-append  port:gcc44
    python.add_archflags   no
    configure.compiler  macports-gcc-4.4
}

variant gcc45 description conflicts gcc43 gcc44 gcc46 description {build using macports-gcc-4.5} {
    depends_lib-append  port:gcc45
    python.add_archflags   no
    configure.compiler  macports-gcc-4.5
}

variant gcc46 description conflicts gcc43 gcc44 gcc45 description {build using macports-gcc-4.6} {
    depends_lib-append  port:gcc46
    python.add_archflags   no
    configure.compiler  macports-gcc-4.6
}

destroot {
   CC="${configure.cc}" CXX="${configure.cxx}" ${python.bin} setup.py --no-user-cfg
}

build {
}

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
    }
}

> _______________________________________________
> macports-dev mailing list
> macports-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev


More information about the macports-dev mailing list