blob: 08e5027a8a8fa4edd1b0f4aab04ab0c84570f559 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Vi IMproved - enhanced vi editor"
2SECTION = "console/utils"
3DEPENDS = "ncurses gettext-native"
4# vimdiff doesn't like busybox diff
5RSUGGESTS_${PN} = "diffutils"
6LICENSE = "vim"
7LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=c74ec0ada9a68354f9461e81d3596f61"
8
9SRC_URI = "git://github.com/vim/vim.git \
10 file://disable_acl_header_check.patch;patchdir=.. \
11 file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
12"
13SRCREV = "2693ca21cee8a729d74682fd86a4818f2b050228"
14
15S = "${WORKDIR}/git/src"
16
17VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
18
19inherit autotools update-alternatives
20inherit autotools-brokensep
21
22# vim configure.in contains functions which got 'dropped' by autotools.bbclass
23do_configure () {
24 rm -f auto/*
25 touch auto/config.mk
26 aclocal
27 autoconf
28 oe_runconf
29 touch auto/configure
30 touch auto/config.mk auto/config.h
31}
32
33#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
34PACKAGECONFIG ??= ""
35PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
36PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
37
38PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
39PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
40PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
41PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
42PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
43PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
44
45EXTRA_OECONF = " \
46 --disable-gpm \
47 --disable-gtktest \
48 --disable-xim \
49 --disable-netbeans \
50 --with-tlib=ncurses \
51 ac_cv_small_wchar_t=no \
52 vim_cv_getcwd_broken=no \
53 vim_cv_memmove_handles_overlap=yes \
54 vim_cv_stat_ignores_slash=no \
55 vim_cv_terminfo=yes \
56 vim_cv_tgent=non-zero \
57 vim_cv_toupper_broken=no \
58 vim_cv_tty_group=world \
59 STRIP=/bin/true \
60"
61
62do_install() {
63 autotools_do_install
64
65 # Work around rpm picking up csh or awk or perl as a dep
66 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
67 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
68 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
69
70 # Install example vimrc from runtime files
71 install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
72
73 # we use --with-features=big as default
74 mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
75}
76
77PARALLEL_MAKEINST = ""
78
79PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc"
80FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
81FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
82FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
83FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
84FILES_${PN}-data = "${datadir}/${BPN}"
85FILES_${PN}-common = " \
86 ${datadir}/${BPN}/${VIMDIR}/*.vim \
87 ${datadir}/${BPN}/${VIMDIR}/autoload \
88 ${datadir}/${BPN}/${VIMDIR}/colors \
89 ${datadir}/${BPN}/${VIMDIR}/compiler \
90 ${datadir}/${BPN}/${VIMDIR}/ftplugin \
91 ${datadir}/${BPN}/${VIMDIR}/indent \
92 ${datadir}/${BPN}/${VIMDIR}/keymap \
93 ${datadir}/${BPN}/${VIMDIR}/lang \
94 ${datadir}/${BPN}/${VIMDIR}/macros \
95 ${datadir}/${BPN}/${VIMDIR}/plugin \
96 ${datadir}/${BPN}/${VIMDIR}/print \
97 ${datadir}/${BPN}/${VIMDIR}/spell \
98 ${datadir}/${BPN}/${VIMDIR}/tools \
99"
100
101RDEPENDS_${PN} = "ncurses-terminfo-base"
102# Recommend that runtime data is installed along with vim
103RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
104
105ALTERNATIVE_${PN} = "vi vim"
106ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
107ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
108ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
109ALTERNATIVE_PRIORITY = "100"