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