py-shiboken cmake

Mark Brethen mark.brethen at gmail.com
Sat Jul 5 07:23:16 PDT 2014


On Jul 5, 2014, at 9:16 AM, Mark Moll <mmoll at rice.edu> wrote:

> 
> On Jul 5, 2014, at 8:58 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
> 
>> 
>> On Jul 5, 2014, at 8:30 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
>> 
>>> The port py-shiboken purposefully deletes the all of the *config.cmake files:
>>> 
>>>  post-destroot {
>>>      move ${destroot}${prefix}/bin/shiboken ${destroot}${prefix}/bin/shiboken-${python.branch}
>>>      move ${destroot}${prefix}/include/shiboken ${destroot}${prefix}/include/shiboken-${python.branch}
>>>      move ${destroot}${prefix}/share/man/man1/shiboken.1 ${destroot}${prefix}/share/man/man1/shiboken-${python.branch}.1
>>>      if {${python.version} < 30} {
>>>          move ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig-python${python.branch}.cmake
>>>      } else {
>>>          file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig.cpython-${python.version}m.cmake
>>>      }
>>>      file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig.cmake
>>>      file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfigVersion.cmake
>>>      file delete ${destroot}${prefix}/lib/pkgconfig/shiboken.pc
>>>  }
>>> 
>>> freecad requires them to build. I did not find ${prefix}/lib/cmake/ in my macports tree. Should the files go there or is there another location they should reside?
>>> 
>>> 
>>> Mark
>>> 
>>> 
>>> 
>>> 
>> 
>> Would it make more sense to put:
>> 
>> ${destroot}${prefix}/lib/pkgconfig/shiboken.pc --> ${destroot}${prefix}/Library/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig/shiboken.pc
>> ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig*.cmake --> ${destroot}${prefix}/Library/Frameworks/Python.framework/Versions/2.7/lib/cmake/Shiboken-${version}/ShibokenConfig*.cmake
> 
> That makes some sense, but you’d have to tell cmake and pkg-config explicitly where to find these files. 
> 
> My reason for deleting these files was that the different py*-shiboken ports write to the same files. I figure that dependent ports would just do something like:
> 
> 	cmake -DSHIBOKEN_INCLUDE_DIRS=…  -DSHIBOKEN_LIBRARIES=…
> 
> With your solution you still need to do something like this:
> 
> 	cmake -DCMAKE_PREFIX_PATH=${prefix}//Library/Frameworks/Python.framework/Versions/2.7
> 
> This might be more robust, though. Unless someone objects, I’ll make the suggested changed to py-shiboken.
> 
> -- 
> Mark Moll
> 
> 
> 

My freecad portfile already has this:

pre-configure {
	set python_prefix [exec ${prefix}/bin/python2.7-config --prefix]
	configure.args-append  -DFREECAD_BUILD_ROBOT=OFF \
        -DPYTHON_LIBRARY=${python_prefix}/Python \
		-DPYTHON_INCLUDE_DIR=${python_prefix}/Headers \
        -DPYTHON_EXECUTABLE=${python_prefix}/bin/python2.7 \
        -DOCE_DIR=${frameworks_dir}/OCE.framework/Versions/0.15/Resources \
        -DCOIN3D_LIBRARY=${frameworks_dir}/Inventor.framework/Inventor \
        -DCOIN3D_INCLUDE_DIR=${frameworks_dir}/Inventor.framework/Headers
}

I'l just add shiboken to the growing list ; )

BTW, freecad also requires pyside, so you probably need to do the same for it.

Mark






More information about the macports-dev mailing list