<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/41a01a9fd31253c141116fb167416b64a478fecb">https://github.com/macports/macports-ports/commit/41a01a9fd31253c141116fb167416b64a478fecb</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 41a01a9fd31253c141116fb167416b64a478fecb
</span>Author: nilason <n_larsson@yahoo.com>
AuthorDate: Fri Sep 1 20:07:43 2023 +0200
<span style='display:block; white-space:pre;color:#404040;'> qgis3[-ltr]: general overhaul and bug fixes
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Notable changes:
</span><span style='display:block; white-space:pre;color:#404040;'> - Find out path to "mpi.h" for building against 'gdal +hdf5' (and remove mpi port group dependence)
</span><span style='display:block; white-space:pre;color:#404040;'> - Prettify PostgreSQL variant descriptions by removing dot in versions 10+
</span><span style='display:block; white-space:pre;color:#404040;'> - Fix flawed implementation of the `+python_support` variant
</span><span style='display:block; white-space:pre;color:#404040;'> - Fix failure to install grass dependency
</span><span style='display:block; white-space:pre;color:#404040;'> - Add note on plugin "missing PyQt5.QtWebKit module" error warning
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/67842
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/68006
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/68016
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/68081
</span>---
gis/qgis3/Portfile | 270 ++++++++++++++++++++++++++++++-----------------------
1 file changed, 152 insertions(+), 118 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/Portfile b/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6d7c437847b..c6a2ba69448 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,7 +27,7 @@ subport ${name-ltr} {}
</span> if {${subport} eq ${name}} {
# Latest version
github.setup qgis QGIS 3_32_2 final-
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span> conflicts ${name-ltr}
checksums rmd160 ddfec56299bc5bcd2bd574533daeab5db2e5978b \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,7 @@ if {${subport} eq ${name}} {
</span> } else {
# LTR version
github.setup qgis QGIS 3_28_10 final-
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span> conflicts ${name}
description {*}${description} (LTR)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,22 +112,24 @@ post-patch {
</span>
cmake.install_prefix ${applications_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#HD5/MPI related things
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![catch {set result [active_variants hdf5 mpich]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$result} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup mpi 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpi.setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpi.enforce_variant hdf5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![catch {set result [active_variants hdf5 openmpi]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$result} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PortGroup mpi 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpi.setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mpi.enforce_variant openmpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If GDAL is built with +hdf5 variant, QGIS needs to know the path to "mpi.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[active_variants gdal hdf5]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Figure out HDF5's mpi include directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mpl_include_dir ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {set result [active_variants hdf5 openmpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mpl_include_dir "-I${prefix}/include/openmpi-mp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {set result [active_variants hdf5 mpich]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mpl_include_dir "-I${prefix}/include/mpich-mp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$mpl_include_dir ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxxflags-append ${mpl_include_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -169,7 +171,6 @@ variant server description "Builds with the server (FCGI) option" {
</span> configure.args-replace -DWITH_SERVER=OFF -DWITH_SERVER=ON
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # PostgreSQL variants (from the GDAL port)
set postgresql_suffixes {15 14 13 12 11 10 95 96}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -180,7 +181,8 @@ foreach suffix ${postgresql_suffixes} {
</span>
foreach suffix ${postgresql_suffixes} {
set vrt postgresql${suffix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set pgversion [string index ${suffix} 0].[string index ${suffix} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set dot [expr {[string index ${suffix} 0] eq "9"} ? {"."} : {""}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set pgversion [string index ${suffix} 0]${dot}[string index ${suffix} 1]
</span> set index [lsearch -exact ${postgresql_variants} ${vrt}]
set conf [lreplace ${postgresql_variants} ${index} ${index}]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,9 +210,11 @@ eval ${pgdefault}
</span>
set python_suffixes {37 38 39 310 311}
set python_variants {}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set plugin_variants {}
</span>
foreach pyver ${python_suffixes} {
lappend python_variants python${pyver}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend plugin_variants plugin_support${pyver}
</span> }
foreach pyver ${python_suffixes} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -219,102 +223,122 @@ foreach pyver ${python_suffixes} {
</span> set index [lsearch -exact ${python_variants} ${vrt}]
set conf [lreplace ${python_variants} ${index} ${index}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- variant ${vrt} description "Use Python ${pyversion}" conflicts {*}${conf} "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:python${pyver} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pyqt5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pyqt5-scintilla \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-gdal \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-six \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-protobuf3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:py${pyver}-pyqt-builder \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:${frameworks_dir}/Python.framework/Versions/${pyversion}/bin/sip-build:py${pyver}-sip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run-append port:py${pyver}-psycopg2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-requests \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-owslib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-yaml \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-jinja2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pygments
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- destroot.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DPython_EXECUTABLE=${prefix}/bin/python${pyversion}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DWITH_BINDINGS=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DPYUIC_PROGRAM=${prefix}/bin/pyuic5-${pyversion}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DPYRCC_PROGRAM=${prefix}/bin/pyrcc5-${pyversion}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DQSCI_SIP_DIR=${frameworks_dir}/Python.framework/Versions/${pyversion}/lib/python${pyversion}/site-packages/PyQt5/bindings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- variant plugin_support description \"Add common Python modules for QGIS plugins\" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_run-append port:py${pyver}-affine \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-cycler \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-dateutil \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-fiona \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-geojson \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-h5py \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-llvmlite \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-markupsafe \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-matplotlib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-netcdf4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-numpy \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-opencv4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pandas \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-patsy \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-Pillow \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-plotly \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-psycopg2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pyproj \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-pysal \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-rasterio \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-requests \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-rsgislib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-rtree \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-scikit-learn \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-scipy \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-seaborn \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-shapely \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-sip \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-statsmodels \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:py${pyver}-termcolor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant ${vrt} description "Use Python ${pyversion} bindings" conflicts {*}${conf} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:python${pyver} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pyqt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pyqt5-scintilla \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-gdal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-six \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-protobuf3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:py${pyver}-pyqt-builder \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:${frameworks_dir}/Python.framework/Versions/${pyversion}/bin/sip-build:py${pyver}-sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:py${pyver}-psycopg2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-requests \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-owslib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-yaml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-jinja2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pygments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.env-append PATH=${frameworks_dir}/Python.framework/Versions/${pyversion}/bin:$env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DPython_EXECUTABLE=${prefix}/bin/python${pyversion}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DWITH_BINDINGS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DPYUIC_PROGRAM=${prefix}/bin/pyuic5-${pyversion}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DPYRCC_PROGRAM=${prefix}/bin/pyrcc5-${pyversion}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DQSCI_SIP_DIR=${frameworks_dir}/Python.framework/Versions/${pyversion}/lib/python${pyversion}/site-packages/PyQt5/bindings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Complies with py-gdal layout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gdal_py_prefix \"${worksrcpath}/python/plugins/processing/algs/gdal\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach file {\"AssignProjection\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"fillnodata\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"gdal2tiles\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"gdal2xyz\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"gdalcalc\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"merge\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"pansharp\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"pct2rgb\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"polygonize\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"proximity\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"retile\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"rgb2pct\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \"sieve\" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E \"s|else '.py'|else '.py-${pyversion}'|\" \${gdal_py_prefix}/\${file}.py
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +plugin_support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Complies with py-gdal layout
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set gdal_py_prefix \"${worksrcpath}/python/plugins/processing/algs/gdal\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach file {\"AssignProjection\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"fillnodata\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"gdal2tiles\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"gdal2xyz\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"gdalcalc\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"merge\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"pansharp\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"pct2rgb\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"polygonize\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"proximity\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"retile\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"rgb2pct\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- \"sieve\" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E \"s|else '.py'|else '.py-${pyversion}'|\" \${gdal_py_prefix}/\${file}.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set vrt2 plugin_support${pyver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set index2 [lsearch -exact ${plugin_variants} ${vrt2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set conf2 [lreplace ${plugin_variants} ${index2} ${index2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant ${vrt2} description "Add common Python ${pyversion} modules for QGIS plugins" conflicts {*}${conf2} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:py${pyver}-affine \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-cycler \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-dateutil \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-fiona \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-geojson \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-h5py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-llvmlite \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-markupsafe \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-matplotlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-numpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-opencv4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pandas \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-patsy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-Pillow \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-plotly \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pyproj \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-pysal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-rasterio \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-rsgislib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-rtree \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-scikit-learn \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-scipy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-seaborn \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-shapely \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-sip \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-statsmodels \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${pyver}-termcolor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "
</span> }
# Python default
set python_default "if {"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> foreach pyver ${python_suffixes} {
set python_default "${python_default}!\[variant_isset python${pyver}\] && "
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> set python_default [string range ${python_default} 0 end-4]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set python_default "${python_default}} { default_variants +python311 }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_default "${python_default}} { default_variants +python311 +plugin_support311}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+eval ${python_default}
</span>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Python support default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_default "if {"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach pyver ${python_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_default "${python_default}!\[variant_isset python${pyver}\] && "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_default [string range ${python_default} 0 end-4]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_default "${python_default}} { default_variants +python311 +plugin_support311}"
</span> eval ${python_default}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Assert +pythonXY and +plugin_supportXY variants are in sync
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set supp_py_list [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pyth_py_list [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach pyver ${python_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset plugin_support${pyver}]} {lappend supp_py_list ${pyver}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset python${pyver}]} {lappend pyth_py_list ${pyver}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { [expr ([llength $supp_py_list] > 0) && ([llength $pyth_py_list] > 0)] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex $supp_py_list 0] != [lindex $pyth_py_list 0] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set pyv [lindex $pyth_py_list 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "${subport} +pythonXY and +plugin_supportXY variants must be in sync"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "Try running `port install ${subport} +python${pyv} +plugin_support${pyv}`"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # PROJ variants
set proj_versions {6 7 8 9}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -327,12 +351,12 @@ foreach proj_ver ${proj_versions} {
</span> set index [lsearch -exact ${proj_variants} proj${proj_ver}]
set cflcts [lreplace ${proj_variants} ${index} ${index}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- variant proj${proj_ver} description "Use Proj${proj_ver}" conflicts {*}${cflcts} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant proj${proj_ver} description "Use Proj${proj_ver}" conflicts {*}${cflcts} "
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:proj${proj_ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DPROJ_INCLUDE_DIR=${prefix}/lib/proj${proj_ver}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPROJ_LIBRARY=${prefix}/lib/proj${proj_ver}/lib/libproj.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:proj${proj_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DPROJ_INCLUDE_DIR=${prefix}/lib/proj${proj_ver}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPROJ_LIBRARY=${prefix}/lib/proj${proj_ver}/lib/libproj.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "
</span> }
set projdf "if {"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -346,28 +370,32 @@ eval ${projdf}
</span> # GRASS variants
variant grass7 conflicts grass description "Build GRASS 7 plugin" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:grass7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:grass7
</span> global grass_version
set grass_version 78
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set grass_gis_base [exec ${prefix}/bin/grass${grass_version} --config path]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global grass_gis_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_GRASS7=OFF -DWITH_GRASS7=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DGRASS_PREFIX7=${grass_gis_base}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> post-patch {
reinplace "s|command = None|command = '${prefix}/bin/grass${grass_version}'|g" \
${worksrcpath}/python/plugins/grassprovider/Grass7Utils.py
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_GRASS7=OFF -DWITH_GRASS7=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DGRASS_PREFIX7=${grass_gis_base}
</span> }
variant grass conflicts grass7 description "Build GRASS (latest) plugin" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:grass
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set grass_gis_base [exec ${prefix}/bin/grass --config path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:grass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global grass_gis_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set grass_gis_base [exec ${prefix}/bin/grass --config path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace -DWITH_GRASS8=OFF -DWITH_GRASS8=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DGRASS_PREFIX8=${grass_gis_base}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> post-patch {
reinplace "s|command = None|command = '${prefix}/bin/grass'|g" \
${worksrcpath}/python/plugins/grassprovider/Grass7Utils.py
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-replace -DWITH_GRASS8=OFF -DWITH_GRASS8=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DGRASS_PREFIX8=${grass_gis_base}
</span> }
# Configure steps
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -403,3 +431,9 @@ if {${subport} eq ${name-ltr}} {
</span> livecheck.version ${version}
livecheck.regex #QGIS Version \[0-9\]{5}|Visit https://download.qgis.org to get your copy of version (\[0-9.\]+)|<html><body>
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Some QGIS plugins may fail with error message noting missing PyQt5.QtWebKit\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ module, this could be solved by manually installing the module with e.g.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ `sudo port install py311-pyqt5 +webkit` (just make sure you use the same Python\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version for py-pyqt5 as for the QGIS Python bindings)."
</span></pre><pre style='margin:0'>
</pre>