2019-03-14 00:36:21 +01:00
|
|
|
# Created by: Laurent Courty
|
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= qgis
|
|
|
|
DISTVERSIONPREFIX= final-
|
2021-01-20 12:32:16 +01:00
|
|
|
DISTVERSION= 3_10_14
|
2021-01-26 15:01:09 +01:00
|
|
|
PORTREVISION= 1
|
2019-03-14 00:36:21 +01:00
|
|
|
CATEGORIES= graphics geography
|
|
|
|
PKGNAMESUFFIX= -ltr
|
2020-08-29 21:59:41 +02:00
|
|
|
|
Update Qt/PySide2 to 5.15.2 / PyQt to 5.15.1 / SIP to 5.4.0
This commit combines several updates.
- Update Qt to 5.12.2
- Update PyQt to 5.15.1
- Since PySide 5.15.1 is broken with Qt 5.15.2, so PySide and Shiboken are also updated to 5.15.2.
- Update sip to 5.4.0
SIP is a collection of tools to create Python bindings for C and C++ libraries and used by PyQt and wxPython. There are some changes with sip5 [1]:
- python 3.5+ is required
- sip drops support of old deprecated methods as sipdistutils & cie.
- this version breaks also PyQt5 extension ABI. SIP files will be installed in ${PYTHON_SITELIBDIR}/PyQt${_PYQT_VERSION}/bindings
- some ports will use the new pyqtbuilder package with the pyproject.toml setup. Instead if the project have a setup.py, you should use sip-build to build it.
- if a port needs sip, it should also needs pysip. BTW, py-qt5-core requires pysip, so that should be enough for PyQt packages.
List of ports impacted by this change. Most of the patches have been integrated or are in the process of being integrated upstream:
- devel/libsavitar
- graphics/py-python-poppler-qt5
- net-im/scudcloud
- net/libarcus
- print/py-frescobaldi
- science/py-veusz
- graphics/qgis and graphics/qgis-ltr
- deskutils/calibre
A special note regarding calibre. New versions require sip>=5, we update it to the latest version (thanks to madpilot@)
science/scidavis will remove the PyQt binding soon and there is no patch planned, so we remove the python option (ok makc@)
While here, convert some ports to USE_PYQT (cad/cura, cad/uranium, devel/eric6, ...)
Thanks to tcberner and adridg!
[1] https://www.riverbankcomputing.com/static/Docs/sip/
PR: 250853
Exp-run by: antoine
2020-12-08 21:03:07 +01:00
|
|
|
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
|
|
|
|
PATCHFILES= 33192f38bc7d.patch:-p1 \
|
|
|
|
12203f0ce527.patch:-p1 \
|
|
|
|
6e9d42d70099.patch:-p1
|
|
|
|
|
2020-09-10 21:17:38 +02:00
|
|
|
MAINTAINER= rhurlin@FreeBSD.org
|
2019-03-14 00:36:21 +01:00
|
|
|
COMMENT= Free and Open Source Geographic Information System
|
|
|
|
|
|
|
|
LICENSE= GPLv2
|
2020-08-29 21:59:41 +02:00
|
|
|
LICENSE_FILE= ${WRKSRC}/doc/LICENSE
|
2019-03-14 00:36:21 +01:00
|
|
|
|
2020-04-01 21:59:45 +02:00
|
|
|
BUILD_DEPENDS= gpsbabel>=1.5.4:astro/gpsbabel \
|
2020-09-27 13:35:59 +02:00
|
|
|
opencl>=0:devel/opencl \
|
2019-03-14 00:36:21 +01:00
|
|
|
${PYTHON_PKGNAMEPREFIX}cycler>=0.10.0:devel/py-cycler@${PY_FLAVOR} \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}dateutil>=2.8.1:devel/py-dateutil@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}future>=0.18.2:devel/py-future@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}httplib2>=0.17.3:www/py-httplib2@${PY_FLAVOR} \
|
2019-08-29 07:47:54 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10.1:devel/py-Jinja2@${PY_FLAVOR} \
|
2020-12-05 15:22:47 +01:00
|
|
|
${PYTHON_PKGNAMEPREFIX}markupsafe>=1.1.1:textproc/py-markupsafe@${PY_FLAVOR} \
|
2019-05-05 07:57:18 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}matplotlib>=2.2.4:math/py-matplotlib@${PY_FLAVOR} \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}mock>=3.0.5:devel/py-mock@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}OWSLib>=0.20.0:graphics/py-OWSLib@${PY_FLAVOR} \
|
2019-03-14 00:36:21 +01:00
|
|
|
${PYTHON_PKGNAMEPREFIX}pbr>=3.1.1:devel/py-pbr@${PY_FLAVOR} \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}pip>=19.1.1:devel/py-pip@${PY_FLAVOR} \
|
2019-03-14 00:36:21 +01:00
|
|
|
${PYTHON_PKGNAMEPREFIX}plotly>=3.0.2:graphics/py-plotly@${PY_FLAVOR} \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}pygments>=2.5.2:textproc/py-pygments@${PY_FLAVOR} \
|
2019-08-29 07:47:54 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}pyproj>=2.1.3:graphics/py-pyproj@${PY_FLAVOR} \
|
2020-09-27 13:35:59 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}pytz>=2020.1:devel/py-pytz@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}requests>=2.22.0:www/py-requests@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}six>=1.14.0:devel/py-six@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}sqlite3>=3.7.7:databases/py-sqlite3@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}yaml>=5.3.1:devel/py-yaml@${PY_FLAVOR}
|
2019-03-14 00:36:21 +01:00
|
|
|
LIB_DEPENDS= libexiv2.so:graphics/exiv2 \
|
|
|
|
libexpat.so:textproc/expat2 \
|
|
|
|
libgdal.so:graphics/gdal \
|
|
|
|
libgeos.so:graphics/geos \
|
|
|
|
libgsl.so:math/gsl \
|
|
|
|
libhdf5.so:science/hdf5 \
|
|
|
|
libnetcdf.so:science/netcdf \
|
2020-09-27 13:35:59 +02:00
|
|
|
libOpenCL.so:devel/ocl-icd \
|
2019-03-14 00:36:21 +01:00
|
|
|
libproj.so:graphics/proj \
|
2020-09-27 13:35:59 +02:00
|
|
|
libprotobuf-lite.so:devel/protobuf \
|
2019-03-16 21:00:07 +01:00
|
|
|
libqjson-qt5.so:devel/qjson \
|
2019-03-14 00:36:21 +01:00
|
|
|
libqscintilla2_qt5.so:devel/qscintilla2-qt5 \
|
2019-03-16 19:46:13 +01:00
|
|
|
libqt5keychain.so:security/qtkeychain \
|
2019-03-16 21:48:15 +01:00
|
|
|
libqwt6.so:x11-toolkits/qwt6 \
|
2019-03-14 00:36:21 +01:00
|
|
|
libspatialindex.so:devel/spatialindex \
|
|
|
|
libspatialite.so:databases/spatialite \
|
2019-05-05 07:57:18 +02:00
|
|
|
libsz.so:science/szip \
|
2019-03-14 00:36:21 +01:00
|
|
|
libxerces-c.so:textproc/xerces-c3 \
|
2020-11-29 19:58:09 +01:00
|
|
|
libzip.so:archivers/libzip \
|
|
|
|
libzstd.so:archivers/zstd
|
2020-08-29 21:59:41 +02:00
|
|
|
RUN_DEPENDS= astyle:devel/astyle \
|
2020-09-27 13:35:59 +02:00
|
|
|
opencl>=0:devel/opencl \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}black>=19.10:devel/py-black@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}cycler>=0.10.0:devel/py-cycler@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}dateutil>=2.8.1:devel/py-dateutil@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}future>=0.18.2:devel/py-future@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}gdal>=3.1.0:graphics/py-gdal@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}geojson>=2.3.0:devel/py-geojson@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}geopandas>=0.7.0:graphics/py-geopandas@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}httplib2>=0.17.3:www/py-httplib2@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}jedi>=0.12.1:devel/py-jedi@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10.1:devel/py-Jinja2@${PY_FLAVOR} \
|
2020-12-05 15:22:47 +01:00
|
|
|
${PYTHON_PKGNAMEPREFIX}markupsafe>=1.1.1:textproc/py-markupsafe@${PY_FLAVOR} \
|
2020-08-29 21:59:41 +02:00
|
|
|
${PYTHON_PKGNAMEPREFIX}matplotlib>=2.2.4:math/py-matplotlib@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}mock>=3.0.5:devel/py-mock@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}nbformat>=5.0.7:devel/py-nbformat@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}networkx>=2.1:math/py-networkx@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}nltk>=3.4.1:textproc/py-nltk@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}numpy>=1.16.6:math/py-numpy@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}OWSLib>=0.18.0:graphics/py-OWSLib@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pandas>=0.24.2:math/py-pandas@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pbr>=3.1.1:devel/py-pbr@${PY_FLAVOR} \
|
|
|
|
${PY_PILLOW} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pip>=19.1.1:devel/py-pip@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}plotly>=3.0.2:graphics/py-plotly@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}psutil>=5.7.0:sysutils/py-psutil@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.5:databases/py-psycopg2@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pygments>=2.5.2:textproc/py-pygments@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pyproj>=2.1.3:graphics/py-pyproj@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pyrsgis>=0.2.6:graphics/py-pyrsgis@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}pytz>=2020.1:devel/py-pytz@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}requests>=2.22.0:www/py-requests@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}scikit-image>=0.14.3:graphics/py-scikit-image@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}Shapely>=1.6.4:devel/py-shapely@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}six>=1.14.0:devel/py-six@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}sqlite3>=3.7.7:databases/py-sqlite3@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}termcolor>=1.1.0:devel/py-termcolor@${PY_FLAVOR} \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}yaml>=5.3.1:devel/py-yaml@${PY_FLAVOR}
|
2019-03-14 00:36:21 +01:00
|
|
|
|
|
|
|
### Fortran is needed by numpy, GRASS, etc.
|
|
|
|
USES= bison cmake compiler:features cpe desktop-file-utils \
|
2021-01-30 14:29:58 +01:00
|
|
|
fortran gl gmake gnome pgsql pyqt:5 python:3.7+ qca qt:5 \
|
2019-05-05 07:57:18 +02:00
|
|
|
shebangfix sqlite:3
|
2020-08-29 21:59:41 +02:00
|
|
|
USE_GITHUB= yes
|
|
|
|
GH_PROJECT= ${PORTNAME:tu}
|
2020-09-27 13:35:59 +02:00
|
|
|
USE_GL= gl
|
2021-01-20 12:32:16 +01:00
|
|
|
USE_GNOME= libxml2
|
|
|
|
INSTALLS_ICONS= yes
|
|
|
|
USE_LDCONFIG= yes
|
|
|
|
USE_PYQT= core gui network qml quick quickwidgets qscintilla2 \
|
|
|
|
sip sql svg webkit_run webkitwidgets_run xml
|
2019-03-14 00:36:21 +01:00
|
|
|
USE_QT= 3d buildtools_build core concurrent dbus declarative \
|
2019-05-05 07:57:18 +02:00
|
|
|
designer doc gamepad gui linguist_build location \
|
|
|
|
network printsupport qmake_build script serialport \
|
2019-03-14 00:36:21 +01:00
|
|
|
sql sql-pgsql sql-sqlite3 svg testlib uitools \
|
|
|
|
webengine widgets webkit xml
|
|
|
|
|
2020-08-29 21:59:41 +02:00
|
|
|
SHEBANG_FILES= src/plugins/grass/scripts/*.py
|
2019-03-14 00:36:21 +01:00
|
|
|
|
|
|
|
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE:STRING=Release \
|
|
|
|
-DPYRCC_PROGRAM:FILEPATH=${LOCALBASE}/bin/pyrcc5-${PYTHON_VER} \
|
|
|
|
-DPYUIC_PROGRAM:FILEPATH=${LOCALBASE}/bin/pyuic5-${PYTHON_VER} \
|
|
|
|
-DQSCI_SIP_DIR:PATH=${PYQT_SIPDIR}/Qsci \
|
|
|
|
-DQWT_INCLUDE_DIR:PATH=${LOCALBASE}/include/qt5/qwt6 \
|
2019-08-29 07:47:54 +02:00
|
|
|
-DQWT_LIBRARY:FILEPATH=${LOCALBASE}/lib/qt5/libqwt6.so \
|
2020-09-27 13:35:59 +02:00
|
|
|
-DCMAKE_POLICY_DEFAULT_CMP0056:STRING=NEW
|
|
|
|
CMAKE_ON= BUILD_TESTING ENABLE_TESTS USE_OPENCL WITH_3D WITH_ASTYLE \
|
2020-04-01 21:59:45 +02:00
|
|
|
WITH_BINDINGS WITH_CUSTOM_WIDGETS WITH_INTERNAL_MDAL \
|
|
|
|
WITH_POSTGRESQL
|
2019-03-14 00:36:21 +01:00
|
|
|
CMAKE_OFF= WITH_GLOBE WITH_QWTPOLAR
|
|
|
|
|
|
|
|
.if !defined(MAINTAINER_MODE)
|
|
|
|
CMAKE_ARGS+= -Wno-dev
|
|
|
|
CMAKE_OFF+= SUPPRESS_QT_WARNINGS
|
|
|
|
.endif
|
|
|
|
|
2021-01-20 12:32:16 +01:00
|
|
|
CONFLICTS_INSTALL= qgis
|
|
|
|
|
|
|
|
SUB_FILES= pkg-message
|
|
|
|
|
|
|
|
PLIST_SUB= DISTVERSION=${PORTVERSION}
|
|
|
|
|
2019-03-14 00:36:21 +01:00
|
|
|
OPTIONS_DEFINE= GRASS SERVER
|
2019-05-05 07:57:18 +02:00
|
|
|
OPTIONS_DEFAULT= GRASS SERVER
|
2019-03-14 00:36:21 +01:00
|
|
|
NO_OPTIONS_SORT= yes
|
|
|
|
|
|
|
|
OPTIONS_SUB= yes
|
|
|
|
SERVER_DESC= Enable QGIS server
|
|
|
|
|
|
|
|
GRASS_BUILD_DEPENDS= grass7:databases/grass7
|
|
|
|
GRASS_RUN_DEPENDS= ${GRASS_BUILD_DEPENDS}
|
|
|
|
GRASS_CMAKE_BOOL= WITH_GRASS7
|
|
|
|
SERVER_LIB_DEPENDS= libfcgi.so:www/fcgi
|
2020-04-01 21:59:45 +02:00
|
|
|
SERVER_CMAKE_BOOL= WITH_SERVER WITH_SERVER_PLUGINS WITH_QSPATIALITE
|
2019-03-14 00:36:21 +01:00
|
|
|
|
2019-08-29 07:47:54 +02:00
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
|
2019-03-14 00:36:21 +01:00
|
|
|
post-patch:
|
2020-04-01 21:59:45 +02:00
|
|
|
# On i386, '-mllvm -inline-threshold=128' does not build under all circumstances
|
|
|
|
# See bugs 242557 and 241687.
|
|
|
|
.if ${OPSYS} == FreeBSD && ${ARCH} == "i386"
|
|
|
|
@${REINPLACE_CMD} -e 's|"-mllvm -inline-threshold=128"|"-O1"|g' \
|
|
|
|
${WRKSRC}/src/core/CMakeLists.txt
|
|
|
|
.endif
|
2020-08-29 21:59:41 +02:00
|
|
|
@${REINPLACE_CMD} -e 's|%%PYQT_SIPDIR%%|${PYQT_SIPDIR}|' \
|
|
|
|
${WRKSRC}/cmake/FindPyQt5.py \
|
|
|
|
${WRKSRC}/cmake/FindSIP.py
|
|
|
|
|
2019-03-14 00:36:21 +01:00
|
|
|
pre-configure:
|
|
|
|
${MKDIR} ${CONFIGURE_WRKSRC}/bin && ${LN} -s ${PYTHON_CMD} ${CONFIGURE_WRKSRC}/bin/python3
|
|
|
|
|
|
|
|
post-install:
|
|
|
|
@${RM} ${STAGEDIR}${DATADIR}/python/pytz/tzfile.py.bak
|
2020-09-27 13:35:59 +02:00
|
|
|
@${FIND} ${STAGEDIR}${LOCALBASE} -name "__pycache__" -delete
|
2019-03-14 00:36:21 +01:00
|
|
|
@${RM} /tmp/srs.db
|
|
|
|
|
|
|
|
check:
|
|
|
|
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} check
|
|
|
|
|
2019-08-29 07:47:54 +02:00
|
|
|
.include <bsd.port.post.mk>
|