# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup cmake 1.0 PortGroup github 1.0 PortGroup active_variants 1.1 PortGroup boost 1.0 name volk-gnss-sdr maintainers {michaelld @michaelld} {gmail.com:carles.fernandez @carlesfernandez} openmaintainer description Volk modules for GNSS-SDR categories science license GPL-3 platforms darwin dist_subdir gnss-sdr compiler.cxx_standard 2014 if {${subport} eq "volk-gnss-sdr"} { long_description ${description}: \ This port is kept up with the VOLK-GNSS-SDR release, which is typically updated every few months. github.setup gnss-sdr gnss-sdr 0.0.19 v revision 0 checksums rmd160 11daaaa2e4acbbcc837d8bd4f42546a6440675bc \ sha256 e1f555da5ed8d0e0002441b771993409af29ed897784a0ebc7ee8d6c74b0cb98 \ size 4086145 conflicts volk-gnss-sdr-devel } subport volk-gnss-sdr-devel { long_description ${description}: \ This port is kept up with the VOLK-GNSS-SDR GIT next branch, which is typically updated daily to weekly. This version of VOLK-GNSS-SDR generally contains fixes and new features that will be incorporated in an upcoming release. github.setup gnss-sdr gnss-sdr ec180d852574e10c621f9bf498d3ef70d26342ce version 20240126-[string range ${github.version} 0 7] checksums rmd160 6171d3966487f1cdf78fcc18e9a3f33f7a6f87a4 \ sha256 6fbf9bfa1813a00daefdaa5a11b3f15f396af4c957b1792378e4f2a92952723a \ size 4086092 revision 0 conflicts volk-gnss-sdr # specify version info configure.args-append \ -DGIT_BRANCH="next-MacPorts" \ -DGIT_COMMIT_HASH="${version}" # overload the github livecheck branch github.livecheck.branch next } # override github PortGroup homepage setting homepage https://gnss-sdr.org depends_build-append port:pkgconfig # can use either the Volk release or devel port. # the Volk API is required, not the ABI. depends_lib-append \ path:lib/libvolk.dylib:volk \ port:orc # specify the Python dependencies; these are checked for at configure, # then used for building, but not at runtime. set pythons_suffixes {38 39 310 311 312} 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 range ${s} 1 end] 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 range ${s} 1 end] set i [lsearch -exact ${pythons_ports} ${p}] set c [lreplace ${pythons_ports} ${i} ${i}] variant ${p} description "Build Volk using Python ${v}" conflicts {*}${c} " # required Python depends_lib-append \ port:${p} depends_build-append \ port:py${s}-six \ port:py${s}-mako # specify the Python version to use configure.args-append \ -DPYTHON_EXECUTABLE=${frameworks_dir}/Python.framework/Versions/${v}/bin/python${v} \ -DVOLK_PYTHON_DIR=${frameworks_dir}/Python.framework/Versions/${v}/lib/python${v}/site-packages " } if {![variant_isset debug]} { set selected_python python39 foreach s ${pythons_suffixes} { if {[variant_isset python${s}]} { set selected_python python${s} } } default_variants +${selected_python} } # do VPATH (out of source tree) build cmake.out_of_source yes # set work directory worksrcdir ${worksrcdir}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr # remove top-level library path, such that internal libraries are used # instead of any already-installed ones. configure.ldflags-delete -L${prefix}/lib # specify where to install cmake files configure.args-append \ -DCMAKE_MODULES_DIR=${prefix}/share/cmake test.run yes