Hello, Yifei Zhan wrote: > Here is a WIP port for fcitx5, the successor of inputmethods/fcitx. I > would like to find someone to import this as fcitx4 is no longer being > actively developed. ("no new issue and PR should be created.") [0] > > At the moment I'm able to build/package/test/install it with no problem > and I've been daily driving[1] it on both my arm64 and amd64 systems for > about a month. However I'm unable to tame `make port-lib-depends-check`: > > fcitx5-5.0.11(inputmethods/fcitx5): > Missing lib: cairo.13 (/usr/local/lib/fcitx5/libclassicui.so) (NOT REACHABLE) > Missing lib: event_core.2 (/usr/local/lib/libFcitx5Utils.so.0.0) (NOT > REACHABLE) > Missing lib: harfbuzz.16 (/usr/local/lib/fcitx5/libclassicui.so) (NOT > REACHABLE) > Missing lib: pango-1.0.3801 (/usr/local/lib/fcitx5/libclassicui.so) (NOT > REACHABLE) > Missing lib: pangocairo-1.0.3801 (/usr/local/lib/fcitx5/libclassicui.so) (NOT > REACHABLE) > Missing lib: xkbcommon-x11.1 (/usr/local/lib/fcitx5/libxcb.so) (NOT REACHABLE) > Missing lib: xkbcommon.1 (/usr/local/lib/libFcitx5Core.so.0.0) (NOT REACHABLE) > *** Error 1 in target 'port-lib-depends-check' (ignored) > > I tried to figure out this by reading the source of > port-lib-depends-check, but with little success, anyone know how can I > tame this?
These libs are used, but not referenced in the Makefile. This means this port only builds if the libs are already present on the system. A "make" in the ports directory would not lead to them getting installed. I have attached the port and updated the libraries. The above libs had to be added to WANTLIB and LIB_DEPENDS. You can roughly follow this workflow to find the LIB_DEPENDS entry. Let's take this entry: > Missing lib: harfbuzz.16 (/usr/local/lib/fcitx5/libclassicui.so) (NOT > REACHABLE) $ objdump -p /usr/local/lib/fcitx5/libclassicui.so | grep harfbuzz NEEDED libharfbuzz.so.16.2 This gives you the exact file, which is referenced by your library. To include it into the port, we need to find out in which port this file is. $ pkglocate libharfbuzz.so.16.2 harfbuzz-3.2.0:devel/harfbuzz,-main:/usr/local/lib/libharfbuzz.so.16.2 pkglocate is very handy for this. Now we know which package is requred and can add it to lib depends: LIB_DEPENDS += devel/harfbuzz,-main > [0]: https://github.com/fcitx/fcitx/blob/master/README > [1]: I also ported many fcitx5 IME IM modules but they would be too many > for this email... Some other nitpicks: - after = and += comes a tab, not a space. (exception for big wantlib blocks) - align the sequence to the template in /usr/ports/infrastructure/templates/Makefile.template this is not a technical requirement, but makes ports easier to read, when the different blocks are roughly in the same spot. I hope this helps! Best Regards, Stefan
fcitx5.tgz
Description: application/tar-gz