On 2018/07/28 20:16, Kristaps Dzonsons wrote:
> Hi folks,
> 
> I'm working on a package for Subsurface, https://subsurface-divelog.org.
>  It now compiles fine (some pending stuff upstream for it) and I've been
> using it for a while on OpenBSD by way of a modified version of its
> baked-in build script.
> 
> The question is as follows.  I think I can get all the package parts
> right for the cmake.  Unfortunately, the build depends on a
> specially-modified version of a library, libdivecomputer, which it
> downloads and installs in-band.
> 
> I've already made a libdivecomputer port that I've let rot (I'll
> reintroduce it), so my thought is to make a libdivecomputer-subsurface
> package that installs into /usr/local/{lib,include}/subsurface.  Then
> depend upon the libdivecomputer-subsurface package when compiling
> subsurface.  This prevents the in-band build.
> 
> Does that sound like an appropriate approach?  The new package would
> only be used by subsurface, which seems backward, but I don't know of
> the correct ports magic to download, unpack, and install during the port
> creation.
> 
> Thoughts?
> 
> Kristaps
> 

You can list it in DISTFILES and it will be unpacked automatically,
e.g.

DISTFILES=      ${DISTNAME}${EXTRACT_SUFX} \
                libdivecomputer-subsurface-x.xx${EXTRACT_SUFX}

(or list the EXTRACT_SUFX in full if they differ between distfiles).

Then you often need a mv in post-extract, and maybe a little surgery on
the upstream Makefile.

Some ports get a bit more fancy to check the expected version (I do this
in Asterisk for the specially-compiled version of pjproject, for example).

Reply via email to