Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#43111 closed defect (fixed)

qgis should not require a devel package

Reported by: lockhart (Thomas Lockhart) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: haspatch Cc: Veence (Vincent), petrrr, cooljeanius (Eric Gallager), cmutel (Chris Mutel)
Port: qgis

Description

The current qgis Portfile requires py26-pyqt4-devel and/or py27-pyqt4-devel but this produces a large number of uncaught conflicts with py27-pyqt4 and fails to build. Require the production version of pyqt4 rather than the devel version to be compatible with other packages requiring pyqt4.

Attachments (1)

Portfile.diff (881 bytes) - added by lockhart (Thomas Lockhart) 10 years ago.
Require pyqt4 rather than pyqt4-devel

Download all attachments as: .zip

Change History (13)

Changed 10 years ago by lockhart (Thomas Lockhart)

Attachment: Portfile.diff added

Require pyqt4 rather than pyqt4-devel

comment:1 Changed 10 years ago by Veence (Vincent)

Yup. That was the only graceful way I saw to work around a bug in pyqt4 4.10.3 that was corrected in trunk a few days after the release. Now, with the release of pyqt4 4.10.4, this may be fixed, I'm going to test it right now.

comment:2 Changed 10 years ago by Veence (Vincent)

It works but for a bug in py27-pyqt4. I get this in /opt/local/bin/pyuic4-2.7

exec arch -x -8 -6 -_ -6 -4 pythonw2.7 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/uic/pyuic.py ${1+"$@"}

instead of

exec arch -x86_64 pythonw2.7 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyQt4/uic/pyuic.py ${1+"$@"}

As soon as this bug is fixed, I will update the Portfile for qgis and get rid of py-pyqt4-devel

comment:3 Changed 10 years ago by Veence (Vincent)

PS : cf. #43090

comment:4 Changed 10 years ago by Veence (Vincent)

Besides, the Qsci extension does not load because of the sip upgrade to 3.0:

RuntimeError: the sip module implements API v11.0 but the PyQt4.Qsci module requires API v10.1

comment:5 in reply to:  4 Changed 10 years ago by lockhart (Thomas Lockhart)

Replying to vince@…:

Besides, the Qsci extension does not load because of the sip upgrade to 3.0:

RuntimeError: the sip module implements API v11.0 but the PyQt4.Qsci module requires API v10.1

I'm not seeing any of these failures (maybe because I do not also install these other packages?). Am I left with anything to do here or is this all getting magically fixed by someone else? The dependency on py27-pyqt4-devel caused massive file conflicts that port tried to resolve by renaming the old (duplicate) file to some other name. I removed those manually but then port complained that these files did not exist. It was ugly. Should I submit patches to have these -devel versions explicitly conflict with the non -devel versions? They should...

comment:6 Changed 10 years ago by petrrr

Cc: Peter.Danecek@… added

Cc Me!

comment:7 in reply to:  description Changed 10 years ago by jeabraham

py27-pyqt4 is now fixed. I can confirm that changing the qgis portfile to use py27-pyqt4 instead of py27-pyqt4 leads to a successful compile and install on my machine. So go ahead and change the portfile officially. In the mean time try

sudo port edit qgis

on your local machine and change the dependency.

comment:8 Changed 10 years ago by Veence (Vincent)

Resolution: fixed
Status: newclosed

Done in r118614. But since QScintilla is not abreast with SIP, you will lose the processing plug-in. That's the price to pay, until QScintilla is updated.

comment:9 in reply to:  8 Changed 10 years ago by cooljeanius (Eric Gallager)

Replying to vince@…:

Done in r118614. But since QScintilla is not abreast with SIP, you will lose the processing plug-in. That's the price to pay, until QScintilla is updated.

Could a path-style dependency be used instead, to allow either version to be used?

comment:10 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:11 Changed 10 years ago by cmutel (Chris Mutel)

Cc: cmutel@… added

Cc Me!

comment:12 Changed 10 years ago by Veence (Vincent)

It is, as I found out, unnecessary. Just reinstall py27-qscintilla using the new version of SIP, and reinstall QGis just after. It should work. Now, I have some difficulties using the Processing plug-in (Sextant), because it fails to find Saga and Grass binaries. I’ll have a look at that tomorrow.

Note: See TracTickets for help on using tickets.