Hello!

I'm preparing a port of a Linux application (Zoom conferencing client).

The vendor (zoom.us) offers RPMs for both x86_64 and i686, which makes it tempting to just USE_LINUX_RPM. However, that knob unconditionally turns on the USE_LINUX_PREFIX, which bsd.port.mk says /not/ to use "for leaf ports (e.g. a game or program)".

Not using the USE_LINUX_PREFIX, poses another challenge. Zoom comes with quite a few Linux libraries of its own, which are all dumped into a non-standard location. My port is installing a /compat/linux/etc/ld.so.conf.d/zoom.conf listing that location, but that will be ignored unless ldconfig -- a Linux one -- is invoked, wouldn't it be?

Finally, if I do rely USE_LINUX_PREFIX and the bulk of the port gets installed under /compat/linux/opt/zoom, there is a problem with the DESKTOP_ENTRIES -- because they would be under /compat/linux too, instead of under ${LOCALBASE}.

   usr/share/applications/Zoom.desktop
   usr/share/mime/packages/zoom.xml
   usr/share/pixmaps/Zoom.png
   usr/share/pixmaps/application-x-zoom.png

(I think, the current setting of DESKTOPDIR based on PREFIX is incorrect -- it should be under LOCALBASE instead. But that's a separate story.)

What are my options with this new port?

1. Follow the examples of existing ports (like citrix_ica):
    1. Do not use the USE_LINUX_RPM.
    2. Do not bother with Linux' ldconfig.
    3. Instead of ${LINUXBASE}/etc/ld.so.conf.d/zoom.conf, create the
       ${PREFIX}/bin/zoom script with LD_LIBRARY_PATH setting. (This
       will keep the libraries bundled with Zoom unavailable to other
       Linux programs.)
2. An alternative method:
    1. Do declare the USE_LINUX_RPM (and set the SRC_DISTFILES to empty).
    2. Install the ${LINUXBASE}/etc/ld.so.conf.d/zoom.conf and declare
       the USE_LDCONFIG. (This will make the Zoom-libraries available
       to other Linux apps.)
    3. Explicitly set DESKTOPDIR based on LOCALBASE.

Opinions? Thank you! Yours,

   -mi

_______________________________________________
freebsd-emulation@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "freebsd-emulation-unsubscr...@freebsd.org"

Reply via email to