jeanguyomarch / eovim

The Enlightened Neovim
https://github.com/jeanguyomarch/eovim/wiki
MIT License
193 stars 3 forks source link

Can the lib install directory be specified? #28

Closed roflcopter4 closed 4 years ago

roflcopter4 commented 6 years ago

I have had two rather minor issues with building eovim on Gentoo. The first only occured when I tried to build the package on its own, outside of Gentoo's portage build system. For some reason cmake choked on this line in CMakeLists.txt list(GET VERSION_LIST -1 VERSION) It would spit out: CMake Error at CMakeLists.txt:62 (list): list GET given empty list and crash while configuring. Commenting out the line got rid of the problem, but more oddly when I did move on to building the package though portage it had no trouble. I don't know if there is some obvious environment variable the build system was setting that I was not. I could provide plenty more data if desired, but this is so minor and likely my fault that I don't think it's worth the bother to look into. Just thought I'd mention it.

More notably I couldn't find any convenient way of setting the default library install directory. cmake just ignores anything along the lines of LIBDIR, PACKAGE_LIBDIR, INSTALL_LIBDIR, etc. The problem is that Gentoo is moving away from having /usr/lib link to /usr/lib64, and consequently doesn't allow anything to install to /usr/lib at all. The build succeeds, but when portage tries to do its install it crashes and complains of a multilib_strict error. This is not a bug with portage; it's working as intended. I managed to make it work by running sed -i 's,\(\${CMAKE_INSTALL_PREFIX}/lib\),\164,g' "${BUILD_DIR}/plugins/cmake_install.cmake" to change the install dir at the last minute before portage calls make install, but I feel like there must be a better way.

Again, these problems are very very minor. I admit to being largely ignorant of cmake, and half an hour of googling around yielded little help, so I just thought I'd ask if there might be something I'm missing here, or if perhaps there's some minor change that could be made to allow for overriding the libdir.

Incidentally, it might also be worth pointing out that eovim can be made to crash with certainty by rapidly resizing the window back and forth (segfault) and it refuses to allow one to size it smaller than the size at which it launched (in Plasma on both my PC and laptop, in Gentoo and Archlinux). It's stable otherwise, so this is somewhat curious.

jeanguyomarch commented 6 years ago

Hi @roflcopter4, thanks for these reports :)

$ cmake .. -DLIB_INSTALL_DIR=lib66
-- Up-to-date: /usr/local/lib66/libeovim.so
-- Installing: /usr/local/lib66/eovim/sizing.so
-- Set runtime path of "/usr/local/lib66/eovim/sizing.so" to ""
-- Installing: /usr/local/lib66/eovim/imageviewer.so
-- Set runtime path of "/usr/local/lib66/eovim/imageviewer.so" to ""
-- Installing: /usr/local/lib66/eovim/tooltip.so
-- Set runtime path of "/usr/local/lib66/eovim/tooltip.so" to ""
jeanguyomarch commented 4 years ago

As plugins have been removed, there is no libdir anymore.