Yifei Zhan <openbsd@zhan.science> writes: > Hi, > > 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? > > [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... > > [2. application/x-gzip; fcitx5.wip.tar.gz]...
Hello, (adding to what Stefan said) I noticed that both ports have V = ... PKGNAME = foo-$V DISTNAME = ${PKGNAME} which I think it's redundant, since $V is not used anywhere else in the makefiles you could simply do DISTNAME = foo-x.y.z regarding xcb-imd, I was told that ports that use extra-cmake-modules should use the devel/kf5 module which takes care of adding the needed build depends. (It also needs `MODQT5_DEPS = No' otherwise qtbase ends up as LDEPS.) There's no need to patch CMakeLists to change the default of the options, just pass them as CONFIGURE_ARGS += -DUSE_SYSTEM_UTHASH=OFF but why disable uthash? it builds fine with that enabled, it just needs CFLAGS += -I${LOCALBASE}/include, so I'm adding it to BUILD_DEPENDS. I'm dropping -Wno-dev as I don't think we need to add flags to silence cmake warnings. I'm also dropping DISTFILES in xcb-imdkit as that's the default value. make update-plist wants to add the lib/cmake directory. As a final note, xcb-imdkit doesn't build with base gcc (needs C11) and thus set COMPILER and COMPILER_LANGS accordingly. regarding fcitx5 itself, why disable enchant? I've added textproc/enchant2 as LDEP and it builds fine. Instead of patching CMakeList.txt to add /usr/X11R6/include (which is also hardcoded), you can just adjust CXXFLAGS from the makefile. Ditto for patch-src_im_keyboard_isocodes_cpp I've moved the *_DEPENDS after MODULE as per Makefile.template. These entries from the PLIST are suspicious: etc/ etc/xdg/ etc/xdg/autostart/ etc/xdg/autostart/org.fcitx.Fcitx5.desktop They should end up in ${PREFIX}/share/examples/xdg/... and then @sample'd as happens for other ports. cmake/kf5/qt is not really my area, but throwing a -DCMAKE_INSTALL_SYSCONFDIR in CONFIGURE_ARGS fixed the plist, not really sure why it's not happening by default... A grep confirms that there are some other instances of that in the port tree already (devel/ccache, net/icinga, net/mosquitto, ...) so maybe it's not completely wrong. I can't understand how it's supposed to be used, I ran fcitx5 and it switched from my custom dvorak to the us layout, fcitx5-configtool says that I'm "currently running Fcitx with GUI, but fcitx5-config-qt couldn't be found" and then opens up Emacs on the ~/.config/fcitx5/conf directory. I guess I should edit that file to customize it? Unfortunately there's no documentation in the package, I'll dig in HOMEPAGE later Tests are passing for both, good! I think both ports looks fine :) Cheers! Omar Polo
xcb-imdkit.tar.gz
Description: Binary data
fcitx5.tar.gz
Description: Binary data