Bug 233726 - graphics/qgis: Update to 3.4.2
Summary: graphics/qgis: Update to 3.4.2
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Tobias C. Berner
URL:
Keywords:
Depends on: 233715 233716 233717 233718
Blocks:
  Show dependency treegraph
 
Reported: 2018-12-02 17:39 UTC by Rainer Hurling
Modified: 2018-12-13 05:25 UTC (History)
3 users (show)

See Also:


Attachments
patch to update QGIS from 2.18.26 to 3.4.2 (325.91 KB, patch)
2018-12-02 17:39 UTC, Rainer Hurling
rhurlin: maintainer-approval+
Details | Diff
patch to update QGIS from 2.18.26 to 3.4.2, with more functionality (465.43 KB, patch)
2018-12-12 20:54 UTC, Rainer Hurling
rhurlin: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Hurling 2018-12-02 17:39:57 UTC
Created attachment 199758 [details]
patch to update QGIS from 2.18.26 to 3.4.2

This is a major update from QGIS version 2 to 3 (2.18.26 to 3.4.2).

After QGIS 2 is no longer the LTR version[1] and QT4 in the ports tree is marked for removal on 2019-03-15 (r486467), it is time to introduce the long awaited QGIS 3 port on FreeBSD ;)


Changes of the port:
- Update to 3.4.2
- Change from QT4 to QT5
- Change from Python 2.7 to Python 3.6
- Change and/or update several dependencies
- Add and delete several Python modules
- Reorder CMAKE_ARGS
- Update patches under files
- Update pkg-plist


======================================================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Before commit this update, please commit the following
PRs, they are showstoppers for QGIS3:

bug #233715, bug #233716, bug #233717, and bug #233718

In addition, the QGIS 3 patch already has the upcoming
GRASS 7.4.3 (instead of 7.4.1) as dependency.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================================


The patch is tested on Poudriere (11.2i/a, 12.0RC3i/a, and HEADi/a),
'portlint -AC' seems happy.


[1] https://qgis.org/en/site/
Comment 1 Rainer Hurling 2018-12-12 20:54:37 UTC
Created attachment 200068 [details]
patch to update QGIS from 2.18.26 to 3.4.2, with more functionality

This second, reworked update of QGIS from 2.18.26 to 3.4.2 brings, additionally to the initial patch, several more improvements.

Changes of the port are now:
- Update to 3.4.2
- Change from QT4 to QT5
- Change from Python 2.7 to Python 3.6
- Always build PYTHON and POSTGIS
- Remove DEVELOPER group
- Always build CUSTOMWIDGETS, ASTYLE, and TESTS
- Add 3D functionality
- correct time_t for i386
- Change and/or update several dependencies
- Add and delete several Python modules
- Reorder and simplify CMAKE_ARGS
- Add some FreeBSD upstream code
- Update patches under files
- Update pkg-plist


Other than stated in the first patch, it is _not_ necessary to commit bug #233715, bug #233716, bug #233717, and bug #233718 before the QGIS3 update. It turned out, that those PR's likely have problems with a first install via portmaster.


The patch is tested on Poudriere (11.2i/a, 12.0i/a, and HEADi/a),
'portlint -AC' seems happy.
Comment 2 Tobias C. Berner freebsd_committer 2018-12-13 05:25:41 UTC
Moin moin

Thanks for the patch :) 


I noticed some issues when looking at it:

-DQSCI_SIP_DIR:PATH=${LOCALBASE}/share/PyQt5/3.6/sip/Qsci 
this should probably be 
-DQSCI_SIP_DIR:PATH=${PYQT_APIDIR}

and this
-DSIP_DEFAULT_SIP_DIR:FILEPATH=${LOCALBASE}/share/PyQt5/3.6/sip
should be
-DQSCI_SIP_DIR:PATH=${PYQT_SIPDIR}



Instead of writing
CMAKE_ARGS= -DWITH_3D:BOOL=TRUE 
you can do
CMAKE_ON=  WITH_3D
respectively 
CMAKE_OFF=  WITH_QWTPOLAR



Instead of
GRASS_CMAKE_ON=		-DWITH_GRASS7:BOOL=TRUE
GRASS_CMAKE_OFF=	-DWITH_GRASS7:BOOL=FALSE
you could write 
GRASS_CMAKE_BOOL=   WITH_GRASS7


* Your pre-configure looks like something for BINARY_ALIAS, or shebangfix
* Your post-configure targets should again use the ${OYQT_APIDIR}, otherwise it will only work for python-3.6.


* patch-cmake_PyQtMacros.cmake is wrong :D 




mfg Tobias