Vim 9 - Build From Scratch on R3

There were a few old threads wondering how to build Vim from source on Haiku. There was an error in the Vim documentation that has since been fixed in vim 9.0.719+.

Here are the directions for those of you still trying on older instances. As always, you can install older versions than current using the excellent HaikuDepot.

  1. Make sure git is installed/working
  2. Download ncurses-develop from HaikuDepot (Show>Develop Tools>All Packages>Search)
  3. Open terminal
  4. mkdir Projects (optional)
  5. cd Projects
  6. git clone https://github.com/vim/vim.git
  7. cd vim
  8. ./configure --prefix=finddir B_SYSTEM_NONPACKAGED_DIRECTORY \ --datarootdir=finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY \ --mandir=finddir B_SYSTEM_NONPACKAGED_DIRECTORY/documentation/man \ --with-tlib=ncurses
  9. make clean (just to be sure if you’ve already tried this before)
  10. make install

Should run error free and get you the latest/greatest of the most improved version of vi.

4 Likes

Don’t get me wrong, but you should use HaikuPorter for this.

1 Like

You are right, but interesting showing a way to do things out of haikuports for testing.

Interesting yes
But not sustainable if people start to build their own versions causing dependecy hell and incompatible versions, etc. and start reporting problems.

1 Like

Haiku is a single user OS in Beta not a production worthy server OS so for many (most?) it’s meant for fun.

This script for people who want to run head for fun or people who want to work on/customize vim. Package managers are great but some people like to tinker.

1 Like

@tillman, thanks for fixing the documentation. If you are able, improving Vim further on Haiku would be great!

You are right at some points, but as @extrowerk already pointed out, today you build your project (and don’t get me wrong, I do this all the time when checking up on something new), but tomorrow one of the required dependencies gets an update and once you update your system it could mean that your program/binary stops working because of a missing dependency …