<pre style='margin:0'>
Vincent (Veence) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6ffdc8c3a92681b7c1abff7d9d54ed8489823db8">https://github.com/macports/macports-ports/commit/6ffdc8c3a92681b7c1abff7d9d54ed8489823db8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 6ffdc8c qgis3: initial commit (from svn — 2.99)
</span>6ffdc8c is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 6ffdc8c3a92681b7c1abff7d9d54ed8489823db8
</span>Author: Veence <vince@macports.org>
AuthorDate: Fri Dec 1 20:40:52 2017 +0100
<span style='display:block; white-space:pre;color:#404040;'> qgis3: initial commit (from svn — 2.99)
</span>---
gis/qgis3/Portfile | 191 +++++++++++++++++++++
gis/qgis3/files/patch-PyQtMacros.diff | 15 ++
gis/qgis3/files/patch-app_info_plist_in.diff | 24 +++
.../files/patch-python_core_conversions_sip.diff | 182 ++++++++++++++++++++
4 files changed, 412 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/Portfile b/gis/qgis3/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9a225e4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,191 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup qt5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name qgis3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set commit 1c1de3a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup qgis QGIS ${commit}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 2.99.20171201
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories gis
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers vince
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description QGIS 3 is a user-friendly GIS based on Qt 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description QGIS is a GIS. It can visualize, inject data into\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PostGres/PostGIS, or serve as a Qt front-end to\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Grass. Extended with Python plugins, it can become\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a quite powerful GIS of its own.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license GPL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage http://www.qgis.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-app_info_plist_in.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-PyQtMacros.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 a3d9d07479c61da4ce96e6e645eaf9a23c294c65 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 61d69356a7c53b201d733c1eb6e366c13f181bc022a7429fc17e38418e07bec0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir QGIS-${commit}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:expat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libzip \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/libssl.dylib:openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:proj \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:geos \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gdal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:sqlite3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gsl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:fcgi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:spatialindex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:postgis2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qtkeychain
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:bison \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# QWT must be built with qt5 dependency
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+require_active_variants qwt61 qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "mkdir build"
</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;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "s|@@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/mac/app.info.plist.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# reinplace -E "s|Clang|AppleClang|" ${worksrcpath}/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Handle legacy OS/XCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp $xcodeversion 4.6.3] <= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.compiler llvm-gcc-4.2
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Python related stuff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_GRASS=OFF"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_GRASS7=OFF"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_QWTPOLAR=FALSE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#configure.args-append "--trace"
</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 py_ver 3.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set Py_FRM ${frameworks_dir}/Python.framework/Versions/${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ldflags "-Wl,-rpath,${prefix}/libexec/qt5/lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_3D=ON"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_GLOBE=OFF"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DLIBZIP_CONF_INCLUDE_DIR=${prefix}/lib/pkgconfig"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DPYTHON_EXECUTABLE=${prefix}/bin/python${py_ver}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_BINDINGS=FALSE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQCA_INCLUDE_DIR=${prefix}/libexec/qt5/include/QtCrypto"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQCA_LIBRARY=${prefix}/libexec/qt5/lib/libqca-qt5.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQSCINTILLA_INCLUDE_DIR=${prefix}/libexec/qt5/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQSCINTILLA_LIBRARY=${prefix}/libexec/qt5/lib/libqscintilla2_qt5.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQWT_LIBRARY=${prefix}/libexec/qt5/lib/libqwt.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQWT_INCLUDE_DIR=${prefix}/libexec/qt5/lib/qwt.framework/Versions/6/Headers"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQT_LRELEASE_EXECUTABLE=${prefix}/libexec/qt5/bin/lrelease"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Server does not build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DWITH_SERVER=FALSE"
</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;'>+depends_lib-append port:python36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py36-pyqt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py36-qscintilla-qt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qt5-qtwebkit \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qt5-qtscript \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qt5-sqlite-plugin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qca-qt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qca-qt5-ossl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py36-gdal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qwt61 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:qjson-qt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append port:py36-sip
</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;'>+depends_run-append port:py36-psycopg2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py36-requests
</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;'>+# Database variants (from the GDAL port)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set postgresql_suffixes {95 96 10}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set portsgresql_variants {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${postgresql_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend portsgresql_variants postgresql${s}
</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;'>+foreach s ${postgresql_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set p postgresql${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set v [string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set i [lsearch -exact ${portsgresql_variants} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set c [lreplace ${portsgresql_variants} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ eval [subst {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant ${p} description "Enable PostgreSQL ${v} support" conflicts ${c} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:${p}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DPOSTGRES_CONFIG=${prefix}/lib/${p}/bin/pg_config"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# postgresql default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pgd "if {"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${postgresql_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set pgd "${pgd}!\[variant_isset postgresql${s}\] && "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pgd [string range ${pgd} 0 end-4]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pgd "${pgd}} { default_variants +postgresql10 }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+eval ${pgd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant grass description "Build Grass 7 plugin" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:grass7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete "-DWITH_GRASS7=OFF"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append "-DWITH_GRASS7=ON"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DGRASS_PREFIX7=${prefix}/share/grass-7.2.2"
</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;'>+configure.dir ${worksrcpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd cmake ..
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DCMAKE_CXX_COMPILER=${configure.cxx}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DCMAKE_C_COMPILER=${configure.cc}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DEXPAT_INCLUDE_DIR=${prefix}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DEXPAT_LIBRARY=${prefix}/lib/libexpat.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DCMAKE_INSTALL_PREFIX=${applications_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DQGIS_MACAPP_BUNDLE=0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGDAL_CONFIG=${prefix}/bin/gdal-config"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGDAL_INCLUDE_DIR=${prefix}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGDAL_LIBRARY=${prefix}/lib/libgdal.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGEOS_CONFIG=${prefix}/bin/geos-config"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGEOS_INCLUDE_DIR=${prefix}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGEOS_LIBRARY=${prefix}/lib/libgeos_c.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DGSL_CONFIG=${prefix}/bin/gsl-config"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DPROJ_INCLUDE_DIR=${prefix}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DPROJ_LIBRARY=${prefix}/lib/libproj.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DSPATIALINDEX_LIBRARY=${prefix}/lib/libspatialindex.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#configure.args-append "-DCMAKE_BUILD_TYPE=DEBUG"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append "-DCMAKE_BUILD_TYPE=RELEASE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # qgis_bench app doesn’t link properly. Who uses this anyway????
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}/Applications/MacPorts/QGIS.app/Contents/MacOS/bin "rm -rf qgis_bench.app"
</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;'>+use_parallel_build yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.dir ${worksrcpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.target install
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-PyQtMacros.diff b/gis/qgis3/files/patch-PyQtMacros.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c4d720a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/files/patch-PyQtMacros.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/PyQtMacros.cmake.old 2016-03-09 10:31:17.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/PyQtMacros.cmake 2016-03-09 10:31:53.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9,9 +9,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(PYUIC_PROG_NAMES pyuic5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(PYRCC_PROG_NAME pyrcc5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ELSE(ENABLE_QT5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SET(PYUIC_PROG_NAME pyuic4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SET(PYUIC_PROG_NAMES python2-pyuic4 pyuic4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SET(PYRCC_PROG_NAME pyrcc4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SET(PYUIC_PROG_NAME pyuic4-2.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SET(PYUIC_PROG_NAMES python2-pyuic4 pyuic4-2.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SET(PYRCC_PROG_NAME pyrcc4-2.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ENDIF(ENABLE_QT5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IF(NOT PYUIC_PROGRAM)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-app_info_plist_in.diff b/gis/qgis3/files/patch-app_info_plist_in.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4a9be79
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/files/patch-app_info_plist_in.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mac/app.info.plist.in.orig 2014-04-10 11:12:31.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mac/app.info.plist.in 2014-04-10 11:14:33.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <string>6.0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <key>CSResourcesFileMapped</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>LSEnvironment</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>PATH</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>/bin:/usr/bin:/usr/sbin:@@@/bin:@@@/sbin</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>GRASS_SH</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>/bin/sh</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>GRASS_PROJSHARE</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>@@@/lib/proj47/share/proj</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>GRASS_VERSION</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>7.2.2</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>GRASS_LD_LIBRARY_PATH</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>@@@/share/grass-7.2.2/lib</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <key>GRASS_PERL</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ <string>@@@/bin/perl</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <key>CFBundleDocumentTypes</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <dict>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-python_core_conversions_sip.diff b/gis/qgis3/files/patch-python_core_conversions_sip.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9a26e8e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/files/patch-python_core_conversions_sip.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,182 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- python/core/conversions.sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ python/core/conversions.sip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2041,3 +2041,178 @@ register_from_qvariant_convertor = (void (*)(FromQVariantConvertorFn))sipImportS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ register_from_qvariant_convertor(null_from_qvariant_convertor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// QList<QVariant> is implemented as a Python list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%MappedType QList<QVariant> /TypeHintIn="Sequence[QVariant]", TypeHintOut="List[QVariant]", TypeHintValue="[]"/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%TypeHeaderCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <qlist.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertFromTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Create the list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((l = PyList_New(sipCpp->size())) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Set the list elements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (int i = 0; i < sipCpp->size(); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QVariant *t = new QVariant(sipCpp->at(i));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *tobj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((tobj = sipConvertFromNewType(t, sipType_QVariant, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ delete t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return NULL;
</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;'>++ PyList_SET_ITEM(l, i, tobj);
</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;'>++ return l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertToTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SIP_SSIZE_T len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Check the type if that is all that is required.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (sipIsErr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool ok = (itm && sipCanConvertToType(itm, sipType_QVariant, SIP_NOT_NONE));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_XDECREF(itm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!ok)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</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;'>++ return 1;
</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;'>++ QList<QVariant> *ql = new QList<QVariant>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ len = PySequence_Size(sipPy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QVariant *t = reinterpret_cast<QVariant *>(sipConvertToType(itm, sipType_QVariant, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_DECREF(itm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (*sipIsErr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sipReleaseType(t, sipType_QVariant, state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ delete ql;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</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;'>++ ql->append(*t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sipReleaseType(t, sipType_QVariant, state);
</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;'>++ *sipCppPtr = ql;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return sipGetState(sipTransferObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</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;'>++// QList<QPolygonF> is implemented as a Python list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%MappedType QList<QPolygonF> /TypeHintIn="Sequence[QPolygonF]", TypeHintOut="List[QPolygonF]", TypeHintValue="[]"/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%TypeHeaderCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <qlist.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertFromTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Create the list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((l = PyList_New(sipCpp->size())) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Set the list elements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (int i = 0; i < sipCpp->size(); ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QPolygonF *t = new QPolygonF(sipCpp->at(i));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *tobj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((tobj = sipConvertFromNewType(t, sipType_QPolygonF, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ delete t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return NULL;
</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;'>++ PyList_SET_ITEM(l, i, tobj);
</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;'>++ return l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%ConvertToTypeCode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SIP_SSIZE_T len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Check the type if that is all that is required.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (sipIsErr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool ok = (itm && sipCanConvertToType(itm, sipType_QPolygonF, SIP_NOT_NONE));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_XDECREF(itm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!ok)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</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;'>++ return 1;
</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;'>++ QList<QPolygonF> *ql = new QList<QPolygonF>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ len = PySequence_Size(sipPy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QPolygonF *t = reinterpret_cast<QPolygonF *>(sipConvertToType(itm, sipType_QPolygonF, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Py_DECREF(itm);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (*sipIsErr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sipReleaseType(t, sipType_QPolygonF, state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ delete ql;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</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;'>++ ql->append(*t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sipReleaseType(t, sipType_QPolygonF, state);
</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;'>++ *sipCppPtr = ql;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return sipGetState(sipTransferObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%End
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>