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.

Reply via email to