tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: buildlink issue with symlink include subdir



* On 2023-10-15 at 03:42 BST, Mark Davies wrote:

The graphics/wcslib package installs (among other things)


   include/wcslib

which is a symlink to include/${PKGNAME}

ls -ld /usr/pkg/include/wcslib*
lrwxr-xr-x 1 root wheel 11 Oct 15 13:43 /usr/pkg/include/wcslib -> wcslib-7.11
drwxr-xr-x  2 root  wheel  1024 Oct 15 13:43 /usr/pkg/include/wcslib-7.11

but if you then have another package that depends on this package (via buildlink) the wcslib symlink does not get added to the .buildlink/include tree and if that package then tries to
"-I/usr/pkg/include/wcslib"  as per the wcslib pkgconf file it fails.

Any suggestions on the best way to fix this?

Currently I have a hack in the calling package that does

pre-configure:
       ${LN}  -s wcslib-7.11 ${BUILDLINK_DIR}/include/wcslib

If the package is only doing this to theoretically support multiple versions of wcslib, but we'll never have more than 1 available at a time from pkgsrc, then I'd patch the package to install to wcslib instead of a versioned directory for simplicity.

Otherwise I'd either add your pre-configure target to wcslib's buildlink3.mk so that all deps get it, or add a BUILDLINK_FNAME_TRANSFORM that rewrites the installed buildlink files, e.g something like.

  BUILDLINK_FNAME_TRANSFORM.wcslib+=	-e s,/wcslib-7.11/,/wcslib/,

Cheers,

--
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index