On 2022/03/06 18:21, Rafael Sadowski wrote:
> > Yet another cmake patch, which needs a full bulk test. Many of you will
> > certainly know it, our cmake's SHARED_LIBS handling is broken for new
> > shared libs.
> > 
> > The default "0.0" version has been broken for several months/years.
> > Here is a attempt to fix this. With the following patch you get back the
> > following lines, if (a) LIBxxx_VERSION is not set and (b) SOVERSION for
> > the shared lib is set by cmake. (a) is clear but (b) helps us to handle
> > shared libs and not plugins (dlopen) aka shared libs without version.
> > 
> > ...
> > Warning: unregistered shared lib(s)
> > SHARED_LIBS +=  fmt                       0.0 # 0.0
> > /usr/ports/devel/fmt/pkg/PLIST is new
> > 
> > 
> > Patch changes:
> > 
> > - Remove MODULE_LIBRARY processing.
> >   "MODULE libraries are plugins that are not linked into other targets
> >   but may be loaded dynamically at runtime using dlopen-like
> >   functionality." --
> >   https://cmake.org/cmake/help/latest/command/add_library.html
> > 
> > - Add default "0.0" version:
> >   if type SHARED_LIBRARY AND empty LIBxxx_VERSION BUT SOVERSION is set.
> > 
> > I would appreciate a bulk test, unfortunately I can't do one.

Not finished yet, but this one looks a bit odd so I'm sending it early.
net/dino fails; despite having

SHARED_LIBS +=  dino                      1.0 # 0.0

the actual file produced is

-rw-r--r--   1 _pbuild  _pbuild  3085740 Mar  7 12:32 libdino.so.0.0

(audio/mumble failed too, but in that case I think the mumble port is
a bit broken.)

Reply via email to