Friday, August 30, 2024

Re: Should implicit {RUN,BUILD,LIB}_DEPENDS be listed?

Tell vtk configure what to look for if possible. Definitely check it doesn't pick up other optional deps if they're present (add configure flags to disable if possible, otherwise it may need patching).

-- 
  Sent from a phone, apologies for poor formatting.


On 30 August 2024 13:17:27 "Johannes Thyssen Tishman" <johannes@thyssentishman.com> wrote:

2024-08-30T12:02:05Z Landry Breuil:
Le Fri, Aug 30, 2024 at 01:29:53PM +0200, Johannes Thyssen Tishman a écrit :
Given the following scenario:

Port A dependencies: X, Y, Z
Port B dependencies: A, X, Y, Z

Should port B explicitly list the X, Y and Z dependencies in
{RUN,BUILD,LIB}_DEPENDS, even if they are pulled by port A already?

probably not the reply you want, but 'it depends'.

if that's 'classic' dependencies that port A is unlikely to lose, then
its no need to list them. But say it's a python port where dependencies
come and go, it might be a good idea to list them in B, in case A loses
the dep on something B uses..

for things that are for @tag (gtk4,-guic, desktop-file-utils)
annotations its expected to list them, because the port installation
*uses* them.

for LIB_DEPENDS, keep it to the bare minimum until
port-lib-depends-check stops complaining, you don't see devel/glib2
in all gtkX ports.

for BUILD/RUN depends; generally you list the ones upstream specifies.
"Implicit" ones from dependencies .. that depends.

it would have helped a lot if you said which port/language you were
referring to :p

Thanks for the quick reply Landry. I understand. I'm working on porting
VTK as it is a dependency of FreeCAD. VTK requires the dependencies
listed below. When FreeCAD looks for VTK during the build configuration
phase it looks for all of these as well.

BUILD_DEPENDS = devel/utfcpp \
  math/exprtk

LIB_DEPENDS = archivers/lz4 \
  archivers/xz \
  graphics/glew \
  graphics/jpeg \
  graphics/png \
  graphics/tiff \
  math/double-conversion \
  math/hdf5

I believe FreeCAD looks for these because VTK can be compiled with many
different options (which may or may not cause these dependencies to be
required). However I built VTK mostly with the default options.

Similarly, FreeCAD uses the x11/qt6 module which, among other packages,
pulls the following:

graphics/vulkan-loader
x11/xkbcommon

This are also looked for by FreeCAD explicitly.

No comments:

Post a Comment