Bug 241855 - devel/pyside2: Missing dependencies
Summary: devel/pyside2: Missing dependencies
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Christoph Moench-Tegeder
Depends on:
Reported: 2019-11-10 10:58 UTC by Rainer Hurling
Modified: 2019-11-10 20:49 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (cmt)

patch to add dependencies to devel/pyside2 (797 bytes, patch)
2019-11-10 10:58 UTC, Rainer Hurling
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Hurling freebsd_committer 2019-11-10 10:58:16 UTC
Created attachment 209030 [details]
patch to add dependencies to devel/pyside2

Building devel/pyside2 with DEVELOPER=yes in /etc/make.conf gives the following error in stage-qa:

====> Running Q/A tests (stage-qa)
Error: /usr/local/lib/python3.6/site-packages/PySide2/Qt3DExtras.cpython-36m.so is linked to /usr/local/lib/qt5/libQt5Gamepad.so.5 from x11-toolkits/qt5-gamepad but it is not declared as a dependency
Warning: you need USES=qt:5 and USE_QT+=gamepad
Error: /usr/local/lib/python3.6/site-packages/PySide2/QtRemoteObjects.cpython-36m.so is linked to /usr/local/lib/qt5/libQt5RemoteObjects.so.5 from devel/qt5-remoteobjects but it is not declared as a dependency
Warning: you need USES=qt:5 and USE_QT+=remoteobjects

The attached patch adds the wanted deps into the ports Makefile.

portlint -AC seems happy.

Tested with Poudriere HEADa/i, 12.1a/i and 11.3a/i.
Comment 1 Christoph Moench-Tegeder freebsd_committer 2019-11-10 20:39:10 UTC
This looks like a case of a contaminated build: pyside2 only picks up qt5-remoteobjects if that is found at build-time. I suspect the same is true for qt5-3d (libQt53dExtras.so) picking up qt5-gamepad (pyside2 itself does not pick up qt5-gamepad). Anyhow, depending on those packages unconditionally looks like an improvement - especially in the case of qt5-remoteobjects, where it enables more funtionality in pyside2.

I'm not sure how you could get this patch through poudriere - adding a module (qt5-remoteobjects in this case) creates new binding files (lib, typesystem, python interface) - they have to show up in pkg-plist.
Comment 2 commit-hook freebsd_committer 2019-11-10 20:45:27 UTC
A commit references this bug:

Author: cmt
Date: Sun Nov 10 20:45:18 UTC 2019
New revision: 517224
URL: https://svnweb.freebsd.org/changeset/ports/517224

  devel/pyside2: add more qt5 dependencies

  Qt5RemoteObjects is an "optional" module for pyside2 - it will be picked
  up automatically when qt5-remoteobjects is found during pyside2's build.
  Add it to enable the full functionality of pyside2, and to avoid staging
  errors in unclean environments. [1]
  The Qt53DExtras module may pull in qt5-gamepad (another contaminated-
  build-issue is suspected), depend on qt5-gamepad to avoid breakage in
  case this had happened with qt53DExtras. [1]
  While here, remove some now-obsolete staging area cleanup, the files are
  not installed anymore by the port. [2]

  PR:		241855
  Reported by:	rhurlin@gwdg.de [1]

Comment 3 Christoph Moench-Tegeder freebsd_committer 2019-11-10 20:49:41 UTC
this should now be fixed, ports r517224 - thanks for reporting.