summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/conf/distro/include/maintainers.inc2
-rw-r--r--meta/files/common-licenses/vim81
-rw-r--r--meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch46
-rw-r--r--meta/recipes-support/vim/files/disable_acl_header_check.patch39
-rw-r--r--meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch42
-rw-r--r--meta/recipes-support/vim/vim-tiny_8.1.0347.bb15
-rw-r--r--meta/recipes-support/vim/vim_8.1.0347.bb129
7 files changed, 354 insertions, 0 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index e6a2f736ca..34e578abd7 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -702,6 +702,8 @@ RECIPE_MAINTAINER_pn-util-macros = "Armin Kuster <akuster808@gmail.com>"
702RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>" 702RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>"
703RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>" 703RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>"
704RECIPE_MAINTAINER_pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>" 704RECIPE_MAINTAINER_pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>"
705RECIPE_MAINTAINER_pn-vim = "Tom Rini <trini@konsulko.com>"
706RECIPE_MAINTAINER_pn-vim-tiny = "Tom Rini <trini@konsulko.com>"
705RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>" 707RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
706RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>" 708RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
707RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>" 709RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/files/common-licenses/vim b/meta/files/common-licenses/vim
new file mode 100644
index 0000000000..4aa818eb24
--- /dev/null
+++ b/meta/files/common-licenses/vim
@@ -0,0 +1,81 @@
1VIM LICENSE
2
3I) There are no restrictions on distributing unmodified copies of Vim except
4 that they must include this license text. You can also distribute
5 unmodified parts of Vim, likewise unrestricted except that they must
6 include this license text. You are also allowed to include executables
7 that you made from the unmodified Vim sources, plus your own usage
8 examples and Vim scripts.
9
10II) It is allowed to distribute a modified (or extended) version of Vim,
11 including executables and/or source code, when the following four
12 conditions are met:
13 1) This license text must be included unmodified.
14 2) The modified Vim must be distributed in one of the following five ways:
15 a) If you make changes to Vim yourself, you must clearly describe in
16 the distribution how to contact you. When the maintainer asks you
17 (in any way) for a copy of the modified Vim you distributed, you
18 must make your changes, including source code, available to the
19 maintainer without fee. The maintainer reserves the right to
20 include your changes in the official version of Vim. What the
21 maintainer will do with your changes and under what license they
22 will be distributed is negotiable. If there has been no negotiation
23 then this license, or a later version, also applies to your changes.
24 The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
25 changes it will be announced in appropriate places (most likely
26 vim.sf.net, www.vim.org and/or comp.editors). When it is completely
27 impossible to contact the maintainer, the obligation to send him
28 your changes ceases. Once the maintainer has confirmed that he has
29 received your changes they will not have to be sent again.
30 b) If you have received a modified Vim that was distributed as
31 mentioned under a) you are allowed to further distribute it
32 unmodified, as mentioned at I). If you make additional changes the
33 text under a) applies to those changes.
34 c) Provide all the changes, including source code, with every copy of
35 the modified Vim you distribute. This may be done in the form of a
36 context diff. You can choose what license to use for new code you
37 add. The changes and their license must not restrict others from
38 making their own changes to the official version of Vim.
39 d) When you have a modified Vim which includes changes as mentioned
40 under c), you can distribute it without the source code for the
41 changes if the following three conditions are met:
42 - The license that applies to the changes permits you to distribute
43 the changes to the Vim maintainer without fee or restriction, and
44 permits the Vim maintainer to include the changes in the official
45 version of Vim without fee or restriction.
46 - You keep the changes for at least three years after last
47 distributing the corresponding modified Vim. When the maintainer
48 or someone who you distributed the modified Vim to asks you (in
49 any way) for the changes within this period, you must make them
50 available to him.
51 - You clearly describe in the distribution how to contact you. This
52 contact information must remain valid for at least three years
53 after last distributing the corresponding modified Vim, or as long
54 as possible.
55 e) When the GNU General Public License (GPL) applies to the changes,
56 you can distribute the modified Vim under the GNU GPL version 2 or
57 any later version.
58 3) A message must be added, at least in the output of the ":version"
59 command and in the intro screen, such that the user of the modified Vim
60 is able to see that it was modified. When distributing as mentioned
61 under 2)e) adding the message is only required for as far as this does
62 not conflict with the license used for the changes.
63 4) The contact information as required under 2)a) and 2)d) must not be
64 removed or changed, except that the person himself can make
65 corrections.
66
67III) If you distribute a modified version of Vim, you are encouraged to use
68 the Vim license for your changes and make them available to the
69 maintainer, including the source code. The preferred way to do this is
70 by e-mail or by uploading the files to a server and e-mailing the URL.
71 If the number of changes is small (e.g., a modified Makefile) e-mailing a
72 context diff will do. The e-mail address to be used is
73 <maintainer@vim.org>
74
75IV) It is not allowed to remove this license from the distribution of the Vim
76 sources, parts of it or from a modified version. You may use this
77 license for previous Vim releases instead of the license that they came
78 with, at your option.
79
80===
81Read more about this license at http://vimdoc.sourceforge.net/htmldoc/uganda.html#license
diff --git a/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
new file mode 100644
index 0000000000..63a7b78f12
--- /dev/null
+++ b/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
@@ -0,0 +1,46 @@
1From 133ab27cdb17ca20ef6b0304cf30621d2bcbe757 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Thu, 31 Jan 2019 21:32:26 -0800
4Subject: [PATCH] src/Makefile: improve reproducibility
5
6Clear all_cflags, all_lflags, compiled_user
7and compiled_sys to avoid introducing build
8info to improve reproducibility as below:
9
10WARNING: vim-8.1.0347-r0 do_package_qa: QA Issue: File /work/core2-64-wrs-linux/vim/8.1.0347-r0/packages-split/vim/usr/bin/vim.vim in package contained reference to tmpdir [buildpaths]
11
12Upstream-Status: Inappropriate [oe specific]
13
14Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
15---
16 src/Makefile | 14 ++++----------
17 1 file changed, 4 insertions(+), 10 deletions(-)
18
19diff --git a/src/Makefile b/src/Makefile
20index f2fafa4dc..7148d4bd9 100644
21--- a/src/Makefile
22+++ b/src/Makefile
23@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk
24 -@echo '#include "vim.h"' >> $@
25 -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@
26 -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@
27- -@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir) $(ALL_CFLAGS)";' | $(QUOTESED) >> $@
28- -@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS) $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >> $@
29- -@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@
30- -@if test -n "$(COMPILEDBY)"; then \
31- echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \
32- else ((logname) 2>/dev/null || whoami) | tr -d $(NL) >> $@; fi
33- -@echo '";' >> $@
34- -@echo 'char_u *compiled_sys = (char_u *)"' | tr -d $(NL) >> $@
35- -@if test -z "$(COMPILEDBY)"; then hostname | tr -d $(NL) >> $@; fi
36- -@echo '";' >> $@
37+ -@echo 'char_u *all_cflags = (char_u *)"";' | $(QUOTESED) >> $@
38+ -@echo 'char_u *all_lflags = (char_u *)"";' | $(QUOTESED) >> $@
39+ -@echo 'char_u *compiled_user = (char_u *)"";' >> $@
40+ -@echo 'char_u *compiled_sys = (char_u *)"";' >> $@
41 -@sh $(srcdir)/pathdef.sh
42
43 GUI_GTK_RES_INPUTS = \
44--
452.17.1
46
diff --git a/meta/recipes-support/vim/files/disable_acl_header_check.patch b/meta/recipes-support/vim/files/disable_acl_header_check.patch
new file mode 100644
index 0000000000..4720003c25
--- /dev/null
+++ b/meta/recipes-support/vim/files/disable_acl_header_check.patch
@@ -0,0 +1,39 @@
1From 5ed25c076a1fb1889a3c50dddf29f21850b59a13 Mon Sep 17 00:00:00 2001
2From: Wenzong Fan <wenzong.fan@windriver.com>
3Date: Tue, 26 Jun 2018 17:29:09 +0800
4Subject: [PATCH] disable acl header check
5
6Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
7
8Upstream-Status: pending
9
10Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
11Signed-off-by: Changqing Li <changqing.li@windriver.com>
12---
13 src/configure.ac | 3 ++-
14 1 file changed, 2 insertions(+), 1 deletion(-)
15
16diff --git a/src/configure.ac b/src/configure.ac
17index 107c170..0ee86ad 100644
18--- a/src/configure.ac
19+++ b/src/configure.ac
20@@ -3220,7 +3220,7 @@ AC_CHECK_HEADERS(stdint.h stdlib.h string.h \
21 sys/systeminfo.h locale.h sys/stream.h termios.h \
22 libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
23 utime.h sys/param.h libintl.h libgen.h \
24- util/debug.h util/msg18n.h frame.h sys/acl.h \
25+ util/debug.h util/msg18n.h frame.h \
26 sys/access.h sys/sysinfo.h wchar.h wctype.h)
27
28 dnl sys/ptem.h depends on sys/stream.h on Solaris
29@@ -3848,6 +3848,7 @@ AC_ARG_ENABLE(acl,
30 , [enable_acl="yes"])
31 if test "$enable_acl" = "yes"; then
32 AC_MSG_RESULT(no)
33+ AC_CHECK_HEADERS(sys/acl.h)
34 AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
35 AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
36 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
37--
382.7.4
39
diff --git a/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
new file mode 100644
index 0000000000..37914d4cd9
--- /dev/null
+++ b/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
@@ -0,0 +1,42 @@
1From 38de4bccdb8a861ffdd447f12fdab19d6d852c02 Mon Sep 17 00:00:00 2001
2From: Chong Lu <Chong.Lu@windriver.com>
3Date: Tue, 26 Jun 2018 17:34:15 +0800
4Subject: [PATCH] vim: add knob whether elf.h are checked
5
6Previously, it still was checked when there was no elf library in sysroots directory.
7Add knob to decide whether elf.h are checked or not.
8
9Upstream-Status: Pending
10
11Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
12Signed-off-by: Changqing Li <changqing.li@windriver.com>
13---
14 src/configure.ac | 7 +++++++
15 1 file changed, 7 insertions(+)
16
17diff --git a/src/configure.ac b/src/configure.ac
18index 0ee86ad..64736f0 100644
19--- a/src/configure.ac
20+++ b/src/configure.ac
21@@ -3192,11 +3192,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));],
22 AC_MSG_RESULT(no))
23
24 dnl Checks for header files.
25+AC_MSG_CHECKING(whether or not to look for elf.h)
26+AC_ARG_ENABLE(elf-check,
27+ [ --enable-elf-check If elfutils, check for elf.h [default=no]],
28+ , enable_elf_check="no")
29+AC_MSG_RESULT($enable_elf_check)
30+if test "x$enable_elf_check" != "xno"; then
31 AC_CHECK_HEADER(elf.h, HAS_ELF=1)
32 dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
33 if test "$HAS_ELF" = 1; then
34 AC_CHECK_LIB(elf, main)
35 fi
36+fi
37
38 AC_HEADER_DIRENT
39
40--
412.7.4
42
diff --git a/meta/recipes-support/vim/vim-tiny_8.1.0347.bb b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
new file mode 100644
index 0000000000..8b1fb7b115
--- /dev/null
+++ b/meta/recipes-support/vim/vim-tiny_8.1.0347.bb
@@ -0,0 +1,15 @@
1require vim_${PV}.bb
2
3SUMMARY += " (with tiny features)"
4
5PROVIDES_remove = "xxd"
6ALTERNATIVE_${PN}_remove = "xxd"
7
8PACKAGECONFIG += "tiny"
9
10do_install() {
11 install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
12}
13
14ALTERNATIVE_PRIORITY = "90"
15ALTERNATIVE_TARGET = "${bindir}/vim.tiny"
diff --git a/meta/recipes-support/vim/vim_8.1.0347.bb b/meta/recipes-support/vim/vim_8.1.0347.bb
new file mode 100644
index 0000000000..1c41caaf10
--- /dev/null
+++ b/meta/recipes-support/vim/vim_8.1.0347.bb
@@ -0,0 +1,129 @@
1SUMMARY = "Vi IMproved - enhanced vi editor"
2SECTION = "console/utils"
3
4PROVIDES = "xxd"
5DEPENDS = "ncurses gettext-native"
6# vimdiff doesn't like busybox diff
7RSUGGESTS_${PN} = "diffutils"
8LICENSE = "vim"
9LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
10
11SRC_URI = "git://github.com/vim/vim.git \
12 file://disable_acl_header_check.patch;patchdir=.. \
13 file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
14 file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
15"
16SRCREV = "f1c118be93184e8e57e3e80b1b3383f464ed649e"
17
18S = "${WORKDIR}/git/src"
19
20VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
21
22inherit autotools-brokensep update-alternatives
23
24CLEANBROKEN = "1"
25
26# vim configure.in contains functions which got 'dropped' by autotools.bbclass
27do_configure () {
28 rm -f auto/*
29 touch auto/config.mk
30 aclocal
31 autoconf
32 oe_runconf
33 touch auto/configure
34 touch auto/config.mk auto/config.h
35}
36
37#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
38PACKAGECONFIG ??= ""
39PACKAGECONFIG += " \
40 ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
41 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
42"
43PACKAGECONFIG_class-native = ""
44
45PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+,"
46PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
47PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
48PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
49PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
50PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
51
52EXTRA_OECONF = " \
53 --disable-gpm \
54 --disable-gtktest \
55 --disable-xim \
56 --disable-netbeans \
57 --with-tlib=ncurses \
58 ac_cv_small_wchar_t=no \
59 vim_cv_getcwd_broken=no \
60 vim_cv_memmove_handles_overlap=yes \
61 vim_cv_stat_ignores_slash=no \
62 vim_cv_terminfo=yes \
63 vim_cv_tgetent=non-zero \
64 vim_cv_toupper_broken=no \
65 vim_cv_tty_group=world \
66 STRIP=/bin/true \
67"
68
69do_install() {
70 autotools_do_install
71
72 # Work around file-rdeps picking up csh, awk, perl or python as a dep
73 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
74 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
75 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
76 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
77
78 # Install example vimrc from runtime files
79 install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
80
81 # we use --with-features=big as default
82 mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
83
84 if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then
85 # The mouse being autoenabled is just annoying in xfce4-terminal (mouse
86 # drag make vim go into visual mode and there is no right click menu),
87 # delete the block.
88 sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc
89 fi
90}
91
92PARALLEL_MAKEINST = ""
93
94PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
95FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
96FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
97FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
98FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
99FILES_${PN}-data = "${datadir}/${BPN}"
100FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
101FILES_${PN}-common = " \
102 ${datadir}/${BPN}/${VIMDIR}/*.vim \
103 ${datadir}/${BPN}/${VIMDIR}/autoload \
104 ${datadir}/${BPN}/${VIMDIR}/colors \
105 ${datadir}/${BPN}/${VIMDIR}/compiler \
106 ${datadir}/${BPN}/${VIMDIR}/ftplugin \
107 ${datadir}/${BPN}/${VIMDIR}/indent \
108 ${datadir}/${BPN}/${VIMDIR}/keymap \
109 ${datadir}/${BPN}/${VIMDIR}/lang \
110 ${datadir}/${BPN}/${VIMDIR}/macros \
111 ${datadir}/${BPN}/${VIMDIR}/plugin \
112 ${datadir}/${BPN}/${VIMDIR}/print \
113 ${datadir}/${BPN}/${VIMDIR}/spell \
114 ${datadir}/icons \
115"
116
117RDEPENDS_${BPN} = "ncurses-terminfo-base"
118# Recommend that runtime data is installed along with vim
119RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
120
121ALTERNATIVE_${PN} = "vi vim xxd"
122ALTERNATIVE_PRIORITY = "100"
123ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
124ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
125ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
126ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
127ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
128
129BBCLASSEXTEND = "native"