Hi Vince,
> On Dec 2, 2017, at 9:56 AM, Vincent <vi...@macports.org> wrote: > > Vincent (Veence) pushed a commit to branch master > in repository macports-ports. > > https://github.com/macports/macports-ports/commit/b44d65244a43759c525b34dfb31a8fe2174c1ac6 > > <https://github.com/macports/macports-ports/commit/b44d65244a43759c525b34dfb31a8fe2174c1ac6> > The following commit(s) were added to refs/heads/master by this push: > new b44d652 qgis3: bunch of improvements to the Portfile > b44d652 is described below > > commit b44d65244a43759c525b34dfb31a8fe2174c1ac6 > Author: Veence <vi...@macports.org> > AuthorDate: Sat Dec 2 17:56:20 2017 +0100 > > qgis3: bunch of improvements to the Portfile > --- > gis/qgis3/Portfile | 163 > ++++++++++++++++++++++++++++++----------------------- > 1 file changed, 94 insertions(+), 69 deletions(-) > > diff --git a/gis/qgis3/Portfile b/gis/qgis3/Portfile > index ec992d6..e72535d 100644 > --- a/gis/qgis3/Portfile > +++ b/gis/qgis3/Portfile > @@ -3,7 +3,6 @@ > PortSystem 1.0 > PortGroup cmake 1.0 > PortGroup github 1.0 > -PortGroup active_variants 1.1 > PortGroup qt5 1.0 > > name qgis3 > @@ -13,20 +12,19 @@ version 2.99.20171201 > categories gis > maintainers vince > description QGIS 3 is a user-friendly GIS based on Qt 5 > -long_description QGIS is a GIS. It can visualize, inject data into\ > - PostGres/PostGIS, or serve as a Qt front-end to\ > - Grass. Extended with Python plugins, it can become\ > - a quite powerful GIS of its own. > +long_description QGIS is an open-source alternative to ArcGIS or other > commercial GIS.\ > + It can be used as a standalone GIS, or also as frontend > to other,\ > + less user-friendly GIS such as Grass or Saga. Also, it > can be used with\ > + OrfeoToolBox. > > platforms darwin > -license GPL > +license GPL-2+ > > use_parallel_build no > homepage http://www.qgis.org/ > > -patchfiles patch-app_info_plist_in.diff > - > -# patch-PyQtMacros.diff > +patchfiles patch-app_info_plist_in.diff \ > + patch-CMakelists_txt.diff > > checksums rmd160 a3d9d07479c61da4ce96e6e645eaf9a23c294c65 \ > sha256 > 61d69356a7c53b201d733c1eb6e366c13f181bc022a7429fc17e38418e07bec0 > @@ -45,109 +43,135 @@ depends_lib-append port:libiconv \ > port:fcgi \ > port:spatialindex \ > port:postgis2 \ > - port:qtkeychain > + port:qt5-qtwebkit \ > + port:qt5-qtscript \ > + port:qt5-sqlite-plugin \ > + port:qca-qt5 \ > + port:qca-qt5-ossl \ > + port:qtkeychain-qt5 \ > + port:qwt-qt5 \ > + port:qjson-qt5 > > depends_build-append \ > port:bison \ > - port:ld64 > + port:ld64 \ Please remove this trailing slash > + > > -# QWT must be built with qt5 dependency > -require_active_variants qwt61 qt5 > > post-extract { > system -W ${worksrcpath} "mkdir build" > } > > - > post-patch { > reinplace -E "s|@@@|${prefix}|g" \ > ${worksrcpath}/mac/app.info.plist.in > -# reinplace -E "s|Clang|AppleClang|" ${worksrcpath}/CMakeLists.txt > + > # Handle legacy OS/XCode > if {[vercmp $xcodeversion 4.6.3] <= 0} { > configure.compiler llvm-gcc-4.2 > } > } > > - > -# Python related stuff > - > +# Plug-ins > configure.args-append "-DWITH_GRASS=OFF" > configure.args-append "-DWITH_GRASS7=OFF" > -configure.args-append "-DWITH_QWTPOLAR=FALSE" > #configure.args-append "--trace" > > > -set py_ver 3.6 > -set Py_FRM ${frameworks_dir}/Python.framework/Versions/${py_ver} > - > configure.ldflags "-Wl,-rpath,${prefix}/libexec/qt5/lib" > configure.args-append "-DWITH_3D=ON" > configure.args-append "-DWITH_GLOBE=OFF" > configure.args-append "-DLIBZIP_CONF_INCLUDE_DIR=${prefix}/lib/pkgconfig" > -configure.args-append "-DPYTHON_EXECUTABLE=${prefix}/bin/python${py_ver}" > configure.args-append "-DWITH_BINDINGS=FALSE" > configure.args-append > "-DQCA_INCLUDE_DIR=${prefix}/libexec/qt5/include/QtCrypto" > configure.args-append > "-DQCA_LIBRARY=${prefix}/libexec/qt5/lib/libqca-qt5.dylib" > configure.args-append > "-DQSCINTILLA_INCLUDE_DIR=${prefix}/libexec/qt5/include" > configure.args-append > "-DQSCINTILLA_LIBRARY=${prefix}/libexec/qt5/lib/libqscintilla2_qt5.dylib" > -configure.args-append > "-DQWT_LIBRARY=${prefix}/libexec/qt5/lib/libqwt.dylib" > -configure.args-append > "-DQWT_INCLUDE_DIR=${prefix}/libexec/qt5/lib/qwt.framework/Versions/6/Headers" > +configure.args-append > "-DQWT_LIBRARY=${prefix}/libexec/qt5/lib/qwt.framework/Versions/Current/qwt" > +configure.args-append > "-DQWT_INCLUDE_DIR=${prefix}/libexec/qt5/lib/qwt.framework/Versions/Current/Headers" > +configure.args-append "-DWITH_QWTPOLAR=ON" > configure.args-append > "-DQT_LRELEASE_EXECUTABLE=${prefix}/libexec/qt5/bin/lrelease" > -# Server does not build > + > +# Server does not build so far > configure.args-append "-DWITH_SERVER=FALSE" > > > -depends_lib-append port:python36 \ > - port:py36-pyqt5 \ > - port:py36-qscintilla-qt5 \ > - port:py36-six \ > - port:qt5-qtwebkit \ > - port:qt5-qtscript \ > - port:qt5-sqlite-plugin \ > - port:qca-qt5 \ > - port:qca-qt5-ossl \ > - port:py36-gdal \ > - port:qwt61 \ > - port:qjson-qt5 > +# Database variants (from the GDAL port) > +set postgresql_suffixes {10 95 96} > > -depends_build-append port:py36-sip > +set portsgresql_variants {} > +foreach suffix ${postgresql_suffixes} { > + lappend portsgresql_variants postgresql${suffix} > +} > > +foreach suffix ${postgresql_suffixes} { > + set variant postgresql${suffix} > + set pgversion [string index ${suffix} 0].[string index ${suffix} 1] > + set index [lsearch -exact ${portsgresql_variants} ${variant}] > + set conflicts [lreplace ${portsgresql_variants} ${index} ${index}] > + > + variant ${variant} description "Use PostgreSQL ${pgversion}" conflicts > {*}${conflicts} " > + depends_lib-append port:${variant} > + configure.args-append \ > + -DPOSTGRES_CONFIG=${prefix}/lib/${variant}/bin/pg_config > + " > +} > > -depends_run-append port:py36-psycopg2 \ > - port:py36-requests > +# postgresql default > +set pgdefault "if {" > > +foreach suffix ${postgresql_suffixes} { > + set pgdefault "${pgdefault}!\[variant_isset postgresql${suffix}\] && " > +} > > -# Database variants (from the GDAL port) > -set postgresql_suffixes {95 96 10} > +set pgdefault [string range ${pgdefault} 0 end-4] > +set pgdefault "${pgdefault}} { default_variants +postgresql10 }" > > -set portsgresql_variants {} > -foreach s ${postgresql_suffixes} { > - lappend portsgresql_variants postgresql${s} > +eval ${pgdefault} > + > +# Python variants > +set python_suffixes {34 35 36} > +set python_variants {} > + > +foreach pyver ${python_suffixes} { > + lappend python_variants python${pyver} > } > > -foreach s ${postgresql_suffixes} { > - set p postgresql${s} > - set v [string index ${s} 0].[string index ${s} 1] > - set i [lsearch -exact ${portsgresql_variants} ${p}] > - set c [lreplace ${portsgresql_variants} ${i} ${i}] > - eval [subst { > - variant ${p} description "Enable PostgreSQL ${v} support" conflicts > ${c} { > - depends_lib-append port:${p} > - configure.args-append \ > - "-DPOSTGRES_CONFIG=${prefix}/lib/${p}/bin/pg_config" > - } > - }] > +foreach pyver ${python_suffixes} { > + set variant python${pyver} > + set pyversion [string index ${pyver} 0].[string index ${pyver} 1] > + set index [lsearch -exact ${python_variants} ${variant}] > + set conflicts [lreplace ${python_variants} ${index} ${index}] > + > + variant ${variant} description "Use Python ${pyversion}" conflicts > {*}${conflicts} " > + depends_lib-append port:python${pyver} \ > + port:py${pyver}-pyqt5 \ > + port:py${pyver}-qscintilla-qt5 \ > + port:py${pyver}-gdal \ > + port:py${pyver}-six > + > + depends_build-append port:py${pyver}-sip > + > + depends_run-append port:py${pyver}-psycopg2 \ > + port:py${pyver}-requests > + > + configure.args-append > -DPYTHON_EXECUTABLE=${prefix}/bin/python${pyversion} > + " > } > > -# postgresql default > -set pgd "if {" > -foreach s ${postgresql_suffixes} { > - set pgd "${pgd}!\[variant_isset postgresql${s}\] && " > +# Python default > +set python_default "if {" > + > +foreach pyver ${python_suffixes} { > + set python_default "${python_default}!\[variant_isset python${pyver}\] > && " > } > -set pgd [string range ${pgd} 0 end-4] > -set pgd "${pgd}} { default_variants +postgresql10 }" > -eval ${pgd} > + > +set python_default [string range ${python_default} 0 end-4] > +set python_default "${python_default}} { default_variants +python36 }" > + > +eval ${python_default} > + > +# Other variants > > variant grass description "Build Grass 7 plugin" { > > @@ -158,6 +182,8 @@ variant grass description "Build Grass 7 > plugin" { > "-DGRASS_PREFIX7=${prefix}/share/grass-7.2.2" > } > > +# Configure steps > + > configure.dir ${worksrcpath}/build > configure.cmd cmake .. > > @@ -176,17 +202,16 @@ configure.args-append > "-DGEOS_LIBRARY=${prefix}/lib/libgeos_c.dylib" > configure.args-append "-DGSL_CONFIG=${prefix}/bin/gsl-config" > configure.args-append "-DPROJ_INCLUDE_DIR=${prefix}/include" > configure.args-append "-DPROJ_LIBRARY=${prefix}/lib/libproj.dylib" > -configure.args-append \ > - "-DSPATIALINDEX_LIBRARY=${prefix}/lib/libspatialindex.dylib" > +configure.args-append > "-DSPATIALINDEX_LIBRARY=${prefix}/lib/libspatialindex.dylib" > #configure.args-append "-DCMAKE_BUILD_TYPE=DEBUG" > configure.args-append "-DCMAKE_BUILD_TYPE=RELEASE" > > post-destroot { > # qgis_bench app doesn’t link properly. Who uses this anyway???? > - system -W ${destroot}/Applications/MacPorts/QGIS.app/Contents/MacOS/bin > "rm -rf qgis_bench.app" > + system -W ${destroot}/Applications/MacPorts/Qgis3.app/Contents/MacOS/bin > "rm -rf qgis_bench.app" > + # system -W ${destroot}/Applications/MacPorts "mv QGIS.app QGIS3.app" > } > > - > use_parallel_build yes > build.dir ${worksrcpath}/build > destroot.target install >