mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-13 16:06:59 +02:00
app-editors/vim-core: Sync with Gentoo
It's from Gentoo commit dc0d830c133f2f2e8729bb9b192b8712f37ac182.
This commit is contained in:
parent
478d0a2bf6
commit
dc97826165
@ -1,217 +0,0 @@
|
||||
scriptencoding utf-8
|
||||
" ^^ Please leave the above line at the start of the file.
|
||||
|
||||
" Default configuration file for Vim
|
||||
|
||||
" Written by Aron Griffis <agriffis@gentoo.org>
|
||||
" Modified by Ryan Phillips <rphillips@gentoo.org>
|
||||
" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org>
|
||||
" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org>
|
||||
|
||||
" You can override any of these settings on a global basis via the
|
||||
" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may
|
||||
" need to create these.
|
||||
|
||||
" {{{ General settings
|
||||
" The following are some sensible defaults for Vim for most users.
|
||||
" We attempt to change as little as possible from Vim's defaults,
|
||||
" deviating only where it makes sense
|
||||
set nocompatible " Use Vim defaults (much better!)
|
||||
set bs=2 " Allow backspacing over everything in insert mode
|
||||
set ai " Always set auto-indenting on
|
||||
set history=50 " keep 50 lines of command history
|
||||
set ruler " Show the cursor position all the time
|
||||
|
||||
set viminfo='20,\"500 " Keep a .viminfo file.
|
||||
|
||||
" Don't use Ex mode, use Q for formatting
|
||||
map Q gq
|
||||
|
||||
" When doing tab completion, give the following files lower priority. You may
|
||||
" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
|
||||
" enhanced tab completion. These can be done in the user vimrc file.
|
||||
set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
|
||||
|
||||
" When displaying line numbers, don't use an annoyingly wide number column. This
|
||||
" doesn't enable line numbers -- :set number will do that. The value given is a
|
||||
" minimum width to use for the number column, not a fixed size.
|
||||
if v:version >= 700
|
||||
set numberwidth=3
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Modeline settings
|
||||
" We don't allow modelines by default. See bug #14088 and bug #73715.
|
||||
" If you're not concerned about these, you can enable them on a per-user
|
||||
" basis by adding "set modeline" to your ~/.vimrc file.
|
||||
set nomodeline
|
||||
" }}}
|
||||
|
||||
" {{{ Locale settings
|
||||
" Try to come up with some nice sane GUI fonts. Also try to set a sensible
|
||||
" value for fileencodings based upon locale. These can all be overridden in
|
||||
" the user vimrc file.
|
||||
if v:lang =~? "^ko"
|
||||
set fileencodings=euc-kr
|
||||
set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
|
||||
elseif v:lang =~? "^ja_JP"
|
||||
set fileencodings=euc-jp
|
||||
set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
|
||||
elseif v:lang =~? "^zh_TW"
|
||||
set fileencodings=big5
|
||||
set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
|
||||
elseif v:lang =~? "^zh_CN"
|
||||
set fileencodings=gb2312
|
||||
set guifontset=*-r-*
|
||||
endif
|
||||
|
||||
" If we have a BOM, always honour that rather than trying to guess.
|
||||
if &fileencodings !~? "ucs-bom"
|
||||
set fileencodings^=ucs-bom
|
||||
endif
|
||||
|
||||
" Always check for UTF-8 when trying to determine encodings.
|
||||
if &fileencodings !~? "utf-8"
|
||||
" If we have to add this, the default encoding is not Unicode.
|
||||
" We use this fact later to revert to the default encoding in plaintext/empty
|
||||
" files.
|
||||
let g:added_fenc_utf8 = 1
|
||||
set fileencodings+=utf-8
|
||||
endif
|
||||
|
||||
" Make sure we have a sane fallback for encoding detection
|
||||
if &fileencodings !~? "default"
|
||||
set fileencodings+=default
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Syntax highlighting settings
|
||||
" Switch syntax highlighting on, when the terminal has colors
|
||||
" Also switch on highlighting the last used search pattern.
|
||||
if &t_Co > 2 || has("gui_running")
|
||||
syntax on
|
||||
set hlsearch
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Terminal fixes
|
||||
if &term ==? "xterm"
|
||||
set t_Sb=^[4%dm
|
||||
set t_Sf=^[3%dm
|
||||
set ttymouse=xterm2
|
||||
endif
|
||||
|
||||
if &term ==? "gnome" && has("eval")
|
||||
" Set useful keys that vim doesn't discover via termcap but are in the
|
||||
" builtin xterm termcap. See bug #122562. We use exec to avoid having to
|
||||
" include raw escapes in the file.
|
||||
exec "set <C-Left>=\eO5D"
|
||||
exec "set <C-Right>=\eO5C"
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Filetype plugin settings
|
||||
" Enable plugin-provided filetype settings, but only if the ftplugin
|
||||
" directory exists (which it won't on livecds, for example).
|
||||
if isdirectory(expand("$VIMRUNTIME/ftplugin"))
|
||||
filetype plugin on
|
||||
|
||||
" Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
|
||||
" indent settings. Some people don't like these, so we won't turn them on by
|
||||
" default.
|
||||
" filetype indent on
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Fix &shell, see bug #101665.
|
||||
if "" == &shell
|
||||
if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash")
|
||||
set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash
|
||||
elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh")
|
||||
set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh
|
||||
endif
|
||||
endif
|
||||
"}}}
|
||||
|
||||
" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
|
||||
" files should default to bash. See :help sh-syntax and bug #101819.
|
||||
if has("eval")
|
||||
let is_bash=1
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" {{{ Autocommands
|
||||
if has("autocmd")
|
||||
|
||||
augroup gentoo
|
||||
au!
|
||||
|
||||
" Gentoo-specific settings for ebuilds. These are the federally-mandated
|
||||
" required tab settings. See the following for more information:
|
||||
" http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
|
||||
" Note that the rules below are very minimal and don't cover everything.
|
||||
" Better to emerge app-vim/gentoo-syntax, which provides full syntax,
|
||||
" filetype and indent settings for all things Gentoo.
|
||||
au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
|
||||
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
|
||||
|
||||
" In text files, limit the width of text to 78 characters, but be careful
|
||||
" that we don't override the user's setting.
|
||||
autocmd BufNewFile,BufRead *.txt
|
||||
\ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
|
||||
\ setlocal textwidth=78 |
|
||||
\ endif
|
||||
|
||||
" When editing a file, always jump to the last cursor position
|
||||
autocmd BufReadPost *
|
||||
\ if ! exists("g:leave_my_cursor_position_alone") |
|
||||
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
|
||||
\ exe "normal! g'\"" |
|
||||
\ endif |
|
||||
\ endif
|
||||
|
||||
" When editing a crontab file, set backupcopy to yes rather than auto. See
|
||||
" :help crontab and bug #53437.
|
||||
autocmd FileType crontab set backupcopy=yes
|
||||
|
||||
" If we previously detected that the default encoding is not UTF-8
|
||||
" (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
|
||||
" characters at all) isn't a Unicode file, but is in the default encoding.
|
||||
" Except of course if a byte-order mark is in effect.
|
||||
autocmd BufReadPost *
|
||||
\ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
|
||||
\ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
|
||||
\ set fileencoding= |
|
||||
\ endif
|
||||
|
||||
augroup END
|
||||
|
||||
endif " has("autocmd")
|
||||
" }}}
|
||||
|
||||
" We don't want VIM to load their own built-in defaults, preferring ours here
|
||||
" instead. This option cannot apply to minimal builds, so it is guarded by a
|
||||
" test that's guaranteed to fail for those, owing to the lack of +eval.
|
||||
if 1
|
||||
let g:skip_defaults_vim = 1
|
||||
endif
|
||||
|
||||
" Enable Omni completion when opening a file only if a specific plugin does
|
||||
" not already exist for that filetype. This allows Omni completion
|
||||
" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax
|
||||
" file exists for the said language.
|
||||
if exists("+omnifunc")
|
||||
autocmd Filetype *
|
||||
\ if &omnifunc == "" |
|
||||
\ setlocal omnifunc=syntaxcomplete#Complete |
|
||||
\ endif
|
||||
endif
|
||||
|
||||
" {{{ vimrc.local
|
||||
if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local")
|
||||
source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :
|
||||
|
233
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild
vendored
Normal file
233
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.1.1436-r1.ebuild
vendored
Normal file
@ -0,0 +1,233 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="9.1"
|
||||
VIM_PATCHES_VERSION="9.1.1432"
|
||||
inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
|
||||
# https://github.com/douglarek/gentoo-vim-patches/releases/download/vim-${VIM_PATCHES_VERSION}-patches/vim-${VIM_PATCHES_VERSION}-patches.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
S="${WORKDIR}/vim-${PV}"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
# ncurses is only needed by ./configure, so no subslot operator required
|
||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
||||
BDEPEND="dev-build/autoconf"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# platform-specific checks (bug #898406):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
|
||||
# bug 908961
|
||||
if use elibc_musl ; then
|
||||
sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
local myconf=(
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)"
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-rubyinterp
|
||||
--disable-gpm
|
||||
--disable-selinux
|
||||
$(use_enable nls)
|
||||
$(use_enable acl)
|
||||
)
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r7 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
||||
if [[ ${f} != */@(default).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -116,10 +116,6 @@ src_prepare() {
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
|
Loading…
Reference in New Issue
Block a user