nvi port on Ventura
Kastus Shchuka
macports at tprfct.net
Thu Jun 15 06:31:30 UTC 2023
I got an MBP modern enough to run Ventura. (My workhorse MBA cannot go above High Sierra).
For my personal needs I prefer nvi over vim that comes with macOS. This is my daily driver on MBA.
I can build nvi on High Sierra just fine, also binary package for High Sierra is available from buildbots.
When I tried to install nvi on Ventura, first I noticed absence of binary package. Next, my attempt to build port failed miserably.
I also found ticket #64197 on trac.
My first instinct was to try clang of the same version as on High Sierra (clang-9.0), but that did not make any change. Build was still failing.
Then I checked nvi on homebrew and found out that it builds there on all macOS versions and they have binaries available.
Homebrew formula adds this flag to configure:
# Xcode 12 needs the "-Wno-implicit-function-declaration" to compile successfully
# The usual trick of setting $CFLAGS in the environment doesn't work for this
# configure file though, but specifying an explicit CC setting does
system "./configure", "--prefix=#{prefix}",
"--program-prefix=n",
"--disable-dependency-tracking",
"CC=" + ENV.cc + " -Wno-implicit-function-declaration"
This got me over the error "implicit declaration of function 'conv_enc'", but the build was still breaking on the linking step.
What I found next was that configure script populates libtool with correct setting of allow_undefined_flag on High Sierra, but not on Ventura. Apparently, the logic in configure works for MACOSX_DEPLOYMENT_TARGET 10.* but not on any higher versions of macOS.
I guess homebrew works around it by running autoreconfigure, but I was unsuccessful in that as it complained about missing configure.ac file.
So my crude fix was a patch for configure script (with appropriate adjustments to the portfile).
With this patch I was able to build nvi, and it is quite usable (in my limited testing)
I commented on my findings in https://trac.macports.org/ticket/64197.
Thanks,
Kastus
More information about the macports-users
mailing list