# $Id$ PortSystem 1.0 PortGroup cmake 1.0 PortGroup active_variants 1.1 PortGroup compiler_blacklist_versions 1.0 name ompl version 0.13.0 categories science maintainers mmoll description The Open Motion Planning Library (OMPL) long_description The Open Motion Planning Library (OMPL) consists of a set \ of sampling-based motion planning algorithms. homepage http://ompl.kavrakilab.org platforms darwin license BSD master_sites https://bitbucket.org/ompl/ompl/downloads checksums md5 c1169e918a067218562d6c93716b2bce \ sha1 c07dbd0a4e4f4f54813a9171e8182394eed10a7e \ rmd160 91e1ec4740c46c55638f06d9c7c483aeb45921d3 distname ${name}-${version}-Source depends_lib-append port:boost port:ode port:flann # Some code in the Boost.Graph Library, which OMPL uses, doesn't compile with these compilers compiler.blacklist-append llvm-gcc-4.2 apple-gcc-4.2 apple-gcc-4.0 gcc-4.2 gcc-4.0 gcc-3.3 # Xcode 3.2.x included clang but not clang++, so it used llvm-g++-4.2 instead. compiler.blacklist-append {clang < 137} # no universal of gccxml-devel universal_variant no configure.args-append -DOMPL_BUILD_DEMOS=OFF # generate the extra C++ code needed for Python bindings. This code seems # somewhat dependent on compiler and/or boost version, so we can't # pre-generate them and make them available as an extra download. post-configure { # enable parallel build on at most 2 cores. Generating the bindings # uses large amounts of memory, so don't use more cores. if { ${use_parallel_build} } { set cj "-j 2" } else { set cj "" } system "cd ${worksrcpath}; ${build.cmd} ${cj} update_bindings" } # The +app variant includes all the content of the regular OMPL version, but # adds a simple GUI and an extra library with bindings to the assimp and fcl # libraries. The cascade of dependencies due to pyqt4 is rather large, so by # default the +app variant is not enabled. Also, the additions to OMPL in # this variant are distributed under a slightly different license than the # regular OMPL version. variant app description {Include GUI and extra demo code} { distname omplapp-${version}-Source license noncommercial pre-extract { ui_warn "The +app variant causes some extra code to be compiled that is distributed under the Rice University Software Distribution License. For details, please read: http://ompl.kavrakilab.org/license.html#ricelicense" } depends_build-append port:pkgconfig depends_lib-append port:assimp port:fcl configure.args-append -DOMPLAPP_PQP=OFF -DOMPLAPP_RESOURCE_DIR=${prefix}/share/ompl/resources checksums md5 9f3757e2533419cd6a51686dcc7c8129 \ sha1 cbc3be0a2e123d41056f62cd86e46105f1de2396 \ rmd160 ad96c6d2a1632ad32fa2deb88af4ce3f1b940afa } set pythons_suffixes {26 27 31 32 33} set pythons_ports {} foreach s ${pythons_suffixes} { lappend pythons_ports python${s} } proc python_dir {} { global pythons_suffixes foreach s ${pythons_suffixes} { if {[variant_isset python${s}]} { set p python[string index ${s} 0].[string index ${s} 1] return [file normalize [exec ${p} -c "import sys; print(sys.prefix)"]/lib/${p}/site-packages] } } error "Python support not enabled." } foreach s ${pythons_suffixes} { set p python${s} set v [string index ${s} 0].[string index ${s} 1] set i [lsearch -exact ${pythons_ports} ${p}] set c [lreplace ${pythons_ports} ${i} ${i}] eval [subst { variant ${p} description "Use Python ${v} for python bindings" conflicts ${c} debug { depends_build-append port:py${s}-pyplusplus-devel depends_lib-append port:${p} configure.args-append -DPYTHON_EXEC=${prefix}/bin/python${v} # the python bindings rely on Boost.Python, so make sure it is installed. require_active_variants boost ${p} if { [variant_isset app] } { depends_lib-append port:py${s}-pyqt4 port:py${s}-opengl post-destroot { reinplace "s|#!/usr/bin/env python|#!${prefix}/bin/python${v}|g" \ ${destroot}${prefix}/bin/ompl_app # extra copy of libs not needed in site_packages and causes problems with rpaths set site_packages \[python_dir\] delete ${destroot}\${site_packages}/ompl/util/libompl.dylib \ ${destroot}\${site_packages}/ompl/app/libompl_app.dylib } } else { post-destroot { # extra copy of libs not needed in site_packages and causes problems with rpaths set site_packages \[python_dir\] delete ${destroot}\${site_packages}/ompl/util/libompl.dylib } } } }] } # enable one python variant so that the python bindings can be compiled set selected_python python27 foreach s ${pythons_suffixes} { if {[variant_isset python${s}]} { set selected_python python${s} } } default_variants +${selected_python} livecheck.type regex livecheck.url http://ompl.kavrakilab.org/download.html livecheck.regex (\[0-9.\]+), released