Bug 218341 - graphics/qgis: remove certain dependencies from the port
Summary: graphics/qgis: remove certain dependencies from the port
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
Depends on:
Reported: 2017-04-03 21:35 UTC by jjachuf
Modified: 2018-03-04 08:50 UTC (History)
2 users (show)

See Also:
rhurlin: maintainer-feedback+


Note You need to log in before you can comment on or make changes to this bug.
Description jjachuf 2017-04-03 21:35:10 UTC

I am a qgis user and thank you very much for your work.
My proposal is to remove certain dependencies from the port.
Example: if I compile opt for adding postgis support, this causes postgresql + postgis + others to be installed, when in fact I just want to be able to connect to a postgis server installed on another computer and it would reach with install postgresql9x-client.
This can be put as a note at the end of the installation, it is more, given the profile of freebsd users may not be necessary
Another advantage of removing this is to be able to install with pkg install without conflicts between postgres93 and newer versions previously installed.

Best regards
Comment 1 Rainer Hurling 2017-04-04 17:03:50 UTC
Hi Jose,

Thanks for your report. I like the idea, to get rid of the PostgreSQL and PostGIS dependencies for the QGIS port.

At the moment, I am trying some port variants without these deps on Poudriere (12.0-CURRENT amd64). For PostreSQL, it seems to work already :)

If I am ready, would you be prepared to test the new port and/or package?
Comment 2 Rainer Hurling 2017-04-06 17:52:56 UTC
Hi Jose,

in the meantime I tried several combinations of disabling and enabling dependencies via the ports Makefile.

It seems, the best result to get rid of direct dependencies to PostgreSQL and PostGIS without loosing functionality is with the following patch:

#diff -urN Makefile.orig Makefile
--- Makefile.orig	2017-04-01 20:11:32.567399000 +0200
+++ Makefile	2017-04-05 18:11:52.243112000 +0200
@@ -87,8 +87,8 @@
-POSTGIS_LIB_DEPENDS=	liblwgeom.so:databases/postgis22
+#POSTGIS_USES=		pgsql
+#POSTGIS_LIB_DEPENDS=	liblwgeom.so:databases/postgis22

I was not able to find a solution to also avoid indirect dependencies to the PostgreSQL/PostGIS combo. The usage of databases/qt4-pgsql-plugin via USE_QT4=sql-pgsql is definitely necessary, if one wants to be able to establish to a PostgreSQL connection. The port databases/qt4-pgsql-plugin has a direct dependency to databases/postgresql9x-client ...

Disabling USE_QT4=sql-pgsql, for example via 

#diff -urN Makefile.orig Makefile
--- Makefile.orig	2017-04-01 20:11:32.567399000 +0200
+++ Makefile	2017-04-06 19:30:06.685875000 +0200
@@ -33,7 +33,7 @@
 USE_PYQT=	core gui network qscintilla2 sip sql svg xml webkit_run
 USE_QT4=	corelib designer doc gui linguist_build moc_build \
-		network qmake_build rcc_build script sql sql-pgsql \
+		network qmake_build rcc_build script sql \
 		sql-sqlite3 svg testlib uic_build webkit xml

removes all PostgreSQL functionality within QGIS.

It would be nice, if you could try these variants and give some feedback. Especially, it would be interesting, if you could confirm my findings for your installation. Thanks in advance.
Comment 3 jjachuf 2017-04-07 23:48:48 UTC
I modified the Makefile as indicated. I kept this line:

network qmake_build rcc_build script sql sql-pgsql

For me it works as I want. The only depedence is the postgresql client

Thank you very much for your work.
Comment 4 Rainer Hurling 2017-08-20 08:36:58 UTC
Hi Jose,

I just submitted bug #221644, with a QGIS update to 2.18.12.

In this update, I also commented out the lines concerning PostGIS dependencies:

#POSTGIS_LIB_DEPENDS=	liblwgeom.so:databases/postgis22

Could you please report back, if you run into trouble after updating QGIS, thanks in advance.
Comment 5 Walter Schwarzenfeld freebsd_triage 2018-01-16 16:21:35 UTC
Submitter feedback, please!