On 2019/10/22 21:45, Travis Cole wrote:
> On Mon, Oct 21, 2019, at 06:10, Edd Barrett wrote:
> > Hi Stuart,
> >
> > Thanks for looking at this is more detail.
> >
> > On Mon, Oct 21, 2019 at 01:12:57PM +0100, Stuart Henderson wrote:
> > > Then I looked again at Neovim's "following head" page. "Nvim core
> > > requires libluv. This may require building with -DUSE_BUNDLED_LUV=ON if
> > > you were previously using -DUSE_BUNDLED_LUV=OFF". Since libluv is a bit
> > > of an awkward port in several ways, would it be a better idea to just
> > > use the bundled libluv instead?
> >
> > I don't object as long as we have a comment in the neovim port
> > describing this decision.
> >
>
> Thanks for looking at this again!
>
> I went to see if I could just add -DUSE_BUNDLED_LOV=ON to
> MAKE_FLAGS and sadly, it doesn't seem so simple. The configure step fails
> because it can't find luv.
>
> -- Found Msgpack: /usr/local/lib/libmsgpackc.so.1.0 (found suitable version
> "2.1.5", minimum required is "1.0.0")
> CMake Error at
> /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137
> (message):
> Could NOT find LibLUV (missing: LIBLUV_LIBRARY LIBLUV_INCLUDE_DIR)
> (Required is at least version "1.30.0")
> Call Stack (most recent call first):
> /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378
> (_FPHSA_FAILURE_MESSAGE)
> cmake/FindLibLUV.cmake:29 (find_package_handle_standard_args)
> CMakeLists.txt:375 (find_package)
>
>
> -- Configuring incomplete, errors occurred!
>
>
> I'm a bit new to cmake, but from my reading of this, the USE_BUNDLED
> is all or nothing.
>
> from: neovim-0.4.2/third-party/CMakeLists.txt
>
> option(USE_BUNDLED "Use bundled dependencies." ON)
>
> option(USE_BUNDLED_GPERF "Use the bundled version of gperf." ${USE_BUNDLED})
> option(USE_BUNDLED_UNIBILIUM "Use the bundled unibilium." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBTERMKEY "Use the bundled libtermkey." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBVTERM "Use the bundled libvterm." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBUV "Use the bundled libuv." ${USE_BUNDLED})
> option(USE_BUNDLED_MSGPACK "Use the bundled msgpack." ${USE_BUNDLED})
> option(USE_BUNDLED_LUAJIT "Use the bundled version of luajit." ${USE_BUNDLED})
> option(USE_BUNDLED_LUAROCKS "Use the bundled version of luarocks."
> ${USE_BUNDLED})
> option(USE_BUNDLED_LUV "Use the bundled version of luv." ${USE_BUNDLED})
>
> And hard coding USE_BUNDLED_LUV to ON didn't do it either.
>
> Similar with their included Makefile:
>
> deps: | build/.ran-third-party-cmake
> ifeq ($(call filter-true,$(USE_BUNDLED)),)
> +$(BUILD_CMD) -C $(DEPS_BUILD_DIR)
> endif
>
> Setting USE_BUNDLED=ON doesn't even work... I think neovim is actually using
> gmake
> AND cmake for much of the 3rd party deps. So some of that may have to be
> replicated.
>
> So I think it will require some more surgery to make this work.
>
> I'll see what headway I can make in evenings this week, unless someone else
> has
> a smarter solution.
So you should be able to do
-DUSE_BUNDLED_GPERF=Off \
-DUSE_BUNDLED_UNIBILIUM=Off \
-DUSE_BUNDLED_LIBTERMKEY=Off \
-DUSE_BUNDLED_LIBVTERM=Off \
-DUSE_BUNDLED_LIBUV=Off \
-DUSE_BUNDLED_MSGPACK=Off \
-DUSE_BUNDLED_LUAJIT=Off \
-DUSE_BUNDLED_LUAROCKS=Off \
-DUSE_BUNDLED_LUV=On