Files
haikuports/app-editors/vim/vim-8.0.1176.recipe
2017-10-20 22:02:57 +02:00

147 lines
3.3 KiB
Bash

SUMMARY="A highly configurable text editor"
DESCRIPTION="Vim is a highly configurable text editor built to enable \
efficient text editing. It is an improved version of the vi editor \
distributed with most UNIX systems.
Vim is often called a \"programmer's editor,\" and so useful for programming \
that many consider it an entire IDE. It's not just for programmers, though. \
Vim is perfect for all kinds of text editing, from composing email to editing \
configuration files.
Despite this, Vim can be configured to work in a very simple (Notepad-like) \
way, called evim or Easy Vim."
HOMEPAGE="http://www.vim.org"
COPYRIGHT="1991-2017 Bram Moleenar et al."
LICENSE="Vim"
REVISION="1"
SOURCE_URI="https://github.com/vim/vim/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="1485524d747b2046b9e1ea3bfcf80148e6a9a65e29d972d23cf88152ad9dcca2"
SOURCE_DIR="vim-$portVersion"
PATCHES="vim-$portVersion.patchset"
ARCHITECTURES="?x86_gcc2 ?x86 x86_64"
PROVIDES="
vim = $portVersion
cmd:ex = $portVersion
cmd:gview = $portVersion
cmd:gvim = $portVersion
cmd:gvimdiff = $portVersion
cmd:rgview = $portVersion
cmd:rgvim = $portVersion
cmd:rview = $portVersion
cmd:rvim = $portVersion
cmd:vi = $portVersion
cmd:view = $portVersion
cmd:vim = $portVersion
cmd:vimdiff = $portVersion
cmd:vimtutor = $portVersion
cmd:xxd = $portVersion
"
REQUIRES="
haiku
lib:libiconv
lib:libintl
lib:libncurses
"
BUILD_REQUIRES="
haiku_devel
devel:libiconv
devel:libintl
# devel:liblua
devel:libncurses
devel:libruby
devel:libtclstub8.5
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:find
cmd:gcc
cmd:gettext
cmd:grep
cmd:make
# cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python2
# cmd:python3
cmd:ruby
cmd:sed
"
BUILD()
{
# Global ----------------------------------------
cd src
autoconf
export CFLAGS="\
`pkg-config --cflags python2` \
-fPIC"
# CLI -------------------------------------------
runConfigure ./configure \
--disable-gui \
--with-features=big \
--enable-cscope \
--enable-multibyte \
--enable-pythoninterp=dynamic \
--enable-rubyinterp=dynamic \
--enable-tclinterp=dynamic \
--with-compiledby=Haikuports
# --enable-luainterp=dynamic
# --enable-python3interp=dynamic currently broken
# --enable-perlinterp=dynamic not dynamic yet
make $jobArgs
cp vim vim.con # preserve gui-less executable
rm objects/*.o
# GUI -------------------------------------------
MAJOR="`echo "$portVersion" | cut -d. -f1`"
MIDDLE="`echo "$portVersion" | cut -d. -f2`"
MINOR="`echo "$portVersion" | cut -d. -f3`"
sed -i "s|@MAJOR@|$MAJOR|" os_haiku.rdef
sed -i "s|@MIDDLE@|$MIDDLE|" os_haiku.rdef
sed -i "s|@MINOR@|$MINOR|" os_haiku.rdef
runConfigure ./configure \
--with-features=big \
--enable-cscope \
--enable-multibyte \
--enable-pythoninterp=dynamic \
--enable-rubyinterp=dynamic \
--enable-tclinterp==dynamic \
--with-compiledby=Haikuports
# --enable-luainterp=dynamic
# --enable-python3interp=dynamic currently broken
# --enable-perlinterp=dynamic not dynamic yet
make $jobArgs
}
INSTALL()
{
make install
# Make arrow keys, backspace, delete, etc behave as expected.
echo "set nocompatible" > $dataDir/vim/vimrc
# Workaround to get the themes and plugins work
echo "set runtimepath+=`finddir B_USER_SETTINGS_DIRECTORY`/vim" > $dataDir/vim/vimrc
ln -s vim $binDir/vi
addAppDeskbarSymlink $binDir/gvim Vim
}
TEST()
{
cd src
make check
}