Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: Should implicit {RUN,BUILD,LIB}_DEPENDS be listed?
To:
Johannes Thyssen Tishman <johannes@thyssentishman.com>, Landry Breuil <landry@openbsd.org>
Cc:
<ports@openbsd.org>
Date:
Fri, 30 Aug 2024 14:04:08 +0100

Download raw body.

Thread
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.