mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 08:56:58 +02:00
Merge pull request #369 from flatcar/krnowak/vim-update
app-editors/vim: Sync with Gentoo
This commit is contained in:
commit
c601736c27
@ -5,6 +5,9 @@ app-arch/unzip
|
|||||||
|
|
||||||
app-crypt/adcli
|
app-crypt/adcli
|
||||||
|
|
||||||
|
app-editors/vim
|
||||||
|
app-editors/vim-core
|
||||||
|
|
||||||
app-portage/portage-utils
|
app-portage/portage-utils
|
||||||
|
|
||||||
dev-lang/duktape
|
dev-lang/duktape
|
||||||
|
4
sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest
vendored
Normal file
4
sdk_container/src/third_party/portage-stable/app-editors/vim-core/Manifest
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DIST vim-core-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||||
|
DIST vim-core-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
|
||||||
|
DIST vim-core-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
|
||||||
|
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
94
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/gvim.svg
vendored
Normal file
94
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/gvim.svg
vendored
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="256"
|
||||||
|
height="256"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.47 r22583"
|
||||||
|
sodipodi:docname="vim.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 526.18109 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||||
|
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||||
|
id="perspective10" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective2884"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.7"
|
||||||
|
inkscape:cx="107.83967"
|
||||||
|
inkscape:cy="146.01885"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="743"
|
||||||
|
inkscape:window-height="605"
|
||||||
|
inkscape:window-x="88"
|
||||||
|
inkscape:window-y="321"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-796.36218)">
|
||||||
|
<path
|
||||||
|
style="fill:#19953f;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="M 128.02596,805.31213 8.0259779,926.7407 127.31168,1046.0264 l 120,-120.71427 -119.28572,-120 z"
|
||||||
|
id="path2890" />
|
||||||
|
<path
|
||||||
|
style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 26.24294,816.92274 -5,5 0,19.28572 5.446429,5.26785 7.232142,0.17858 0.178571,168.12501 7.142857,7.1429 22.142858,0 177.142853,-180.00006 0,-18.57143 -5,-5 -80,-0.71428 -5,7.14285 0,15.71429 5,6.42857 6.42857,0 -62.142855,60.00001 0.625005,-59.73215 7.14285,-10e-6 5.80357,-5.98214 0,-15.71429 -6.42857,-7.14286 -80.71428,-1.42857 0,10e-6 z"
|
||||||
|
id="path3664"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 136.90826,933.24978 4.28572,-3.57143 12.14285,0.35715 3.92857,3.92857 -4.28571,12.14286 -3.57143,3.21428 -12.64794,-0.14794 -3.42349,-4.13777 3.57143,-11.78572 z"
|
||||||
|
id="path3666"
|
||||||
|
sodipodi:nodetypes="ccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 121.90826,956.10693 28.57143,0.35714 -15,45.00003 5.35714,0 -3.21428,8.9285 -26.78572,-0.3571 14.64286,-43.21429 -7.14286,0.35714 3.57143,-11.07142 z"
|
||||||
|
id="path3668" />
|
||||||
|
<path
|
||||||
|
style="fill:#d0d0cf;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 157.2654,956.46407 -3.71936,9.68618 6.82905,0 -15.25254,44.24235 23.57143,0 3.40554,-8.7193 -6.11475,-0.4005 8.42349,-26.2373 15,-0.35715 -11.07143,34.99995 23.15301,0.3572 2.91579,-8.2576 -5.56371,-0.1633 9.13777,-26.5791 12.85714,0 -11.07143,35 24.32904,0.2525 3.00508,-8.2729 -5.81626,-0.1939 11.69643,-37.14285 -4.64286,-7.5 -14.64285,0 -5.71429,5.71429 -5.71429,0 -6.07142,-6.07143 -12.5,0 -5.35715,5.35714 -6.07143,0 -6.07142,-5.71428 -18.92858,0 z"
|
||||||
|
id="path3670"
|
||||||
|
sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.5 KiB |
@ -0,0 +1,28 @@
|
|||||||
|
From bba26c9ed9d4ddc82afd0343f145dc9e14b91498 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Varsha Teratipally <teratipally@google.com>
|
||||||
|
Date: Tue, 2 Aug 2022 22:18:29 +0000
|
||||||
|
Subject: [PATCH] Configure check for timer_create may give wrong error.
|
||||||
|
Give a warning instead of an error
|
||||||
|
|
||||||
|
Partial solution from github.com/vim/vim/commit/5f6cae8b8a49c435556e32f84d067cd0b4d28e4c
|
||||||
|
|
||||||
|
---
|
||||||
|
src/configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/configure.ac b/src/configure.ac
|
||||||
|
index e8522ec05..41f41dee3 100644
|
||||||
|
--- a/src/configure.ac
|
||||||
|
+++ b/src/configure.ac
|
||||||
|
@@ -3850,7 +3850,7 @@ static void set_flag(union sigval sv) {}
|
||||||
|
])],
|
||||||
|
vim_cv_timer_create=yes,
|
||||||
|
vim_cv_timer_create=no),
|
||||||
|
- AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
|
||||||
|
+ AC_MSG_WARN(cross-compiling: please set 'vim_cv_timer_create')
|
||||||
|
)]
|
||||||
|
)
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
|
217
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6
vendored
Normal file
217
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/vimrc-r6
vendored
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
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 :
|
||||||
|
|
25
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/xxd-completion
vendored
Normal file
25
sdk_container/src/third_party/portage-stable/app-editors/vim-core/files/xxd-completion
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Author: Ciaran McCreesh <ciaranm@gentoo.org>
|
||||||
|
#
|
||||||
|
# completion for xxd
|
||||||
|
|
||||||
|
_xxd()
|
||||||
|
{
|
||||||
|
local cur prev cmd args
|
||||||
|
|
||||||
|
COMPREPLY=()
|
||||||
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||||
|
cmd=${COMP_WORDS[0]}
|
||||||
|
|
||||||
|
if [[ "${cur}" == -* ]] ; then
|
||||||
|
args='-a -b -c -E -g -h -i -l -ps -r -s -u -v'
|
||||||
|
COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
|
||||||
|
else
|
||||||
|
_filedir
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
complete -F _xxd xxd
|
||||||
|
|
||||||
|
# vim: set ft=sh sw=4 et sts=4 :
|
||||||
|
|
12
sdk_container/src/third_party/portage-stable/app-editors/vim-core/metadata.xml
vendored
Normal file
12
sdk_container/src/third_party/portage-stable/app-editors/vim-core/metadata.xml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>vim@gentoo.org</email>
|
||||||
|
<name>Gentoo Vim Project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">vim/vim</remote-id>
|
||||||
|
<remote-id type="cpe">cpe:/a:vim:vim</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
234
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0099.ebuild
vendored
Normal file
234
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0099.ebuild
vendored
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
# Copyright 1999-2022 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.0"
|
||||||
|
inherit vim-doc flag-o-matic bash-completion-r1 prefix desktop 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 -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/vim-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="vim and gvim shared files"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
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="sys-devel/autoconf"
|
||||||
|
# Avoid icon file collision, bug #673880
|
||||||
|
RDEPEND="!<app-editors/vim-8.2.4328-r1"
|
||||||
|
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i 's/ libc\.h / /' "${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"
|
||||||
|
|
||||||
|
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
# 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}
|
||||||
|
--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-r6 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
|
||||||
|
}
|
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0399.ebuild
vendored
Normal file
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0399.ebuild
vendored
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
# Copyright 1999-2022 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.0"
|
||||||
|
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 -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/vim-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="vim and gvim shared files"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
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="sys-devel/autoconf"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i 's/ libc\.h / /' "${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"
|
||||||
|
|
||||||
|
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
# 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}
|
||||||
|
--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-r6 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
|
||||||
|
}
|
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0655.ebuild
vendored
Normal file
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.0655.ebuild
vendored
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
# Copyright 1999-2022 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.0"
|
||||||
|
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 -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/vim-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="vim and gvim shared files"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
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="sys-devel/autoconf"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i 's/ libc\.h / /' "${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"
|
||||||
|
|
||||||
|
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
# 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}
|
||||||
|
--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-r6 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
|
||||||
|
}
|
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild
vendored
Normal file
230
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9999.ebuild
vendored
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
# Copyright 1999-2022 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.0"
|
||||||
|
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 -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/vim-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="vim and gvim shared files"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
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="sys-devel/autoconf"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i 's/ libc\.h / /' "${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"
|
||||||
|
|
||||||
|
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
# 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}
|
||||||
|
--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-r6 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
|
||||||
|
}
|
4
sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest
vendored
Normal file
4
sdk_container/src/third_party/portage-stable/app-editors/vim/Manifest
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||||
|
DIST vim-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
|
||||||
|
DIST vim-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
|
||||||
|
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
@ -0,0 +1,28 @@
|
|||||||
|
From bba26c9ed9d4ddc82afd0343f145dc9e14b91498 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Varsha Teratipally <teratipally@google.com>
|
||||||
|
Date: Tue, 2 Aug 2022 22:18:29 +0000
|
||||||
|
Subject: [PATCH] Configure check for timer_create may give wrong error.
|
||||||
|
Give a warning instead of an error
|
||||||
|
|
||||||
|
Partial solution from github.com/vim/vim/commit/5f6cae8b8a49c435556e32f84d067cd0b4d28e4c
|
||||||
|
|
||||||
|
---
|
||||||
|
src/configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/configure.ac b/src/configure.ac
|
||||||
|
index e8522ec05..41f41dee3 100644
|
||||||
|
--- a/src/configure.ac
|
||||||
|
+++ b/src/configure.ac
|
||||||
|
@@ -3850,7 +3850,7 @@ static void set_flag(union sigval sv) {}
|
||||||
|
])],
|
||||||
|
vim_cv_timer_create=yes,
|
||||||
|
vim_cv_timer_create=no),
|
||||||
|
- AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
|
||||||
|
+ AC_MSG_WARN(cross-compiling: please set 'vim_cv_timer_create')
|
||||||
|
)]
|
||||||
|
)
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
|
36
sdk_container/src/third_party/portage-stable/app-editors/vim/files/vim-completion
vendored
Normal file
36
sdk_container/src/third_party/portage-stable/app-editors/vim/files/vim-completion
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Author: Ciaran McCreesh <ciaranm@gentoo.org>
|
||||||
|
#
|
||||||
|
# completion for vim
|
||||||
|
|
||||||
|
_vim()
|
||||||
|
{
|
||||||
|
local cur prev cmd args
|
||||||
|
|
||||||
|
COMPREPLY=()
|
||||||
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||||
|
cmd=${COMP_WORDS[0]}
|
||||||
|
|
||||||
|
if [[ "${prev}" == "--servername" ]] ; then
|
||||||
|
local servers
|
||||||
|
servers=$(gvim --serverlist )
|
||||||
|
COMPREPLY=( $( compgen -W "${servers}" -- $cur ) )
|
||||||
|
|
||||||
|
elif [[ "${prev}" == -[uUi] ]] ; then
|
||||||
|
COMPREPLY=( $( compgen -W "NONE" ) \
|
||||||
|
$( compgen -f -X "!*vim*" -- "$cur" ) )
|
||||||
|
|
||||||
|
elif [[ "${cur}" == -* ]] ; then
|
||||||
|
args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \
|
||||||
|
-F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \
|
||||||
|
-T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \
|
||||||
|
--help --literal --noplugin --version'
|
||||||
|
COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
|
||||||
|
else
|
||||||
|
_filedir
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
complete -o filenames -F _vim vim ex vi view rvim rview vimdiff
|
||||||
|
|
||||||
|
# vim: set ft=sh sw=4 et sts=4 :
|
21
sdk_container/src/third_party/portage-stable/app-editors/vim/metadata.xml
vendored
Normal file
21
sdk_container/src/third_party/portage-stable/app-editors/vim/metadata.xml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>vim@gentoo.org</email>
|
||||||
|
<name>Gentoo Vim Project</name>
|
||||||
|
</maintainer>
|
||||||
|
<use>
|
||||||
|
<flag name="crypt">Use <pkg>dev-libs/libsodium</pkg> for crypto support</flag>
|
||||||
|
<flag name="cscope">Enable cscope interface</flag>
|
||||||
|
<flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg></flag>
|
||||||
|
<flag name="terminal">Enable terminal emulation support</flag>
|
||||||
|
<flag name="vim-pager">Install vimpager and vimmanpager links</flag>
|
||||||
|
<flag name="X">Link console vim against X11 libraries to enable title and
|
||||||
|
clipboard features in xterm</flag>
|
||||||
|
</use>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="cpe">cpe:/a:vim:vim</remote-id>
|
||||||
|
<remote-id type="github">vim/vim</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0099-r1.ebuild
vendored
Normal file
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0099-r1.ebuild
vendored
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||||
|
|
||||||
|
VIM_VERSION="9.0"
|
||||||
|
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
PYTHON_REQ_USE="threads(+)"
|
||||||
|
USE_RUBY="ruby27 ruby30 ruby31"
|
||||||
|
|
||||||
|
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
LICENSE="vim"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||||
|
REQUIRED_USE="
|
||||||
|
lua? ( ${LUA_REQUIRED_USE} )
|
||||||
|
python? ( ${PYTHON_REQUIRED_USE} )
|
||||||
|
vim-pager? ( !minimal )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-eselect/eselect-vi-1.1
|
||||||
|
>=sys-libs/ncurses-5.2-r2:0=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||||
|
crypt? ( dev-libs/libsodium:= )
|
||||||
|
cscope? ( dev-util/cscope )
|
||||||
|
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||||
|
lua? ( ${LUA_DEPS}
|
||||||
|
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||||
|
)
|
||||||
|
~app-editors/vim-core-${PV}
|
||||||
|
!<app-editors/vim-core-8.2.4328-r1
|
||||||
|
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||||
|
perl? ( dev-lang/perl:= )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
racket? ( dev-scheme/racket )
|
||||||
|
ruby? ( ${RUBY_DEPS} )
|
||||||
|
selinux? ( sys-libs/libselinux )
|
||||||
|
sound? ( media-libs/libcanberra )
|
||||||
|
tcl? ( dev-lang/tcl:0= )
|
||||||
|
X? ( x11-libs/libXt )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
# configure runs the Lua interpreter
|
||||||
|
BDEPEND="
|
||||||
|
sys-devel/autoconf
|
||||||
|
lua? ( ${LUA_DEPS} )
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
|
||||||
|
use lua && lua-single_pkg_setup
|
||||||
|
use python && python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup a script to use awk instead of nawk
|
||||||
|
sed -i -e \
|
||||||
|
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||||
|
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||||
|
|
||||||
|
# Read vimrc and gvimrc from /etc/vim
|
||||||
|
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
|
||||||
|
# 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 -e \
|
||||||
|
'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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i -e \
|
||||||
|
's/ libc\.h / /' \
|
||||||
|
"${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
|
||||||
|
|
||||||
|
# conditionally make the manpager.sh script
|
||||||
|
if use vim-pager; then
|
||||||
|
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||||
|
#!/bin/sh
|
||||||
|
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||||
|
vim \\
|
||||||
|
-c 'let no_plugin_maps = 1' \\
|
||||||
|
-c 'set nolist nomod ft=man ts=8' \\
|
||||||
|
-c 'let g:showmarks_enable=0' \\
|
||||||
|
-c 'runtime! macros/less.vim' -
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
rm src/auto/configure || die "rm failed"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
local myconf=()
|
||||||
|
if use minimal; then
|
||||||
|
myconf=(
|
||||||
|
--with-features=tiny
|
||||||
|
--disable-nls
|
||||||
|
--disable-canberra
|
||||||
|
--disable-acl
|
||||||
|
--enable-gui=no
|
||||||
|
--without-x
|
||||||
|
--disable-darwin
|
||||||
|
--disable-luainterp
|
||||||
|
--disable-perlinterp
|
||||||
|
--disable-pythoninterp
|
||||||
|
--disable-mzschemeinterp
|
||||||
|
--disable-rubyinterp
|
||||||
|
--disable-selinux
|
||||||
|
--disable-tclinterp
|
||||||
|
--disable-gpm
|
||||||
|
)
|
||||||
|
else
|
||||||
|
use debug && append-flags "-DDEBUG"
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--with-features=huge
|
||||||
|
$(use_enable sound canberra)
|
||||||
|
$(use_enable acl)
|
||||||
|
$(use_enable crypt libsodium)
|
||||||
|
$(use_enable cscope)
|
||||||
|
$(use_enable gpm)
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable perl perlinterp)
|
||||||
|
$(use_enable python python3interp)
|
||||||
|
$(use_with python python3-command "${PYTHON}")
|
||||||
|
$(use_enable racket mzschemeinterp)
|
||||||
|
$(use_enable ruby rubyinterp)
|
||||||
|
$(use_enable selinux)
|
||||||
|
$(use_enable tcl tclinterp)
|
||||||
|
$(use_enable terminal)
|
||||||
|
)
|
||||||
|
|
||||||
|
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||||
|
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||||
|
if ! use cscope; then
|
||||||
|
sed -i -e \
|
||||||
|
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lua; then
|
||||||
|
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||||
|
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||||
|
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--enable-luainterp
|
||||||
|
$(use_with lua_single_target_luajit luajit)
|
||||||
|
--with-lua-prefix="${EPREFIX}/usr"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't test USE=X here ... see bug #19115
|
||||||
|
# but need to provide a way to link against X ... see bug #20093
|
||||||
|
myconf+=(
|
||||||
|
--enable-gui=no
|
||||||
|
--disable-darwin
|
||||||
|
$(use_with X x)
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let package manager strip binaries
|
||||||
|
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||||
|
|
||||||
|
# keep 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 \
|
||||||
|
--with-modified-by=Gentoo-${PVR} \
|
||||||
|
"${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# The following allows emake to be used
|
||||||
|
emake -j1 -C src auto/osdef.h objects
|
||||||
|
|
||||||
|
emake
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
einfo
|
||||||
|
einfo "Starting vim tests. Several error messages will be shown"
|
||||||
|
einfo "while the tests run. This is normal behaviour and does not"
|
||||||
|
einfo "indicate a fault."
|
||||||
|
einfo
|
||||||
|
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||||
|
ewarn "state. Usually, running 'reset' will fix this."
|
||||||
|
einfo
|
||||||
|
|
||||||
|
# Don't let vim talk to X
|
||||||
|
unset DISPLAY
|
||||||
|
|
||||||
|
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||||
|
# to try anything to avoid random test hangs!
|
||||||
|
export TERM=xterm
|
||||||
|
|
||||||
|
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||||
|
# for more information on test variables we can use.
|
||||||
|
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||||
|
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||||
|
#
|
||||||
|
# Skipped tests:
|
||||||
|
# - Test_expand_star_star
|
||||||
|
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||||
|
# - Test_exrc
|
||||||
|
# Looks in wrong location? (bug #742710)
|
||||||
|
# - Test_job_tty_in_out
|
||||||
|
# Fragile and depends on TERM(?)
|
||||||
|
# - Test_spelldump_bang
|
||||||
|
# Hangs.
|
||||||
|
# - Test_fuzzy_completion_env
|
||||||
|
# Too sensitive to leaked environment variables.
|
||||||
|
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||||
|
# Hangs.
|
||||||
|
# - Test_spelldump
|
||||||
|
# Hangs.
|
||||||
|
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||||
|
|
||||||
|
emake -j1 -C src/testdir nongui
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call eselect vi update with --if-unset
|
||||||
|
# to respect user's choice (bug #187449)
|
||||||
|
eselect_vi_update() {
|
||||||
|
ebegin "Calling eselect vi update"
|
||||||
|
eselect vi update --if-unset
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||||
|
|
||||||
|
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||||
|
# managed by eselect-vi
|
||||||
|
dobin src/vim
|
||||||
|
if ! use minimal ; then
|
||||||
|
dosym vim /usr/bin/vimdiff
|
||||||
|
fi
|
||||||
|
dosym vim /usr/bin/rvim
|
||||||
|
dosym vim /usr/bin/rview
|
||||||
|
if use vim-pager ; then
|
||||||
|
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||||
|
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||||
|
insinto ${vimfiles}/macros
|
||||||
|
doins runtime/macros/manpager.sh
|
||||||
|
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
domenu runtime/vim.desktop
|
||||||
|
|
||||||
|
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||||
|
|
||||||
|
# keep in sync with 'complete ... -F' list
|
||||||
|
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
370
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0399.ebuild
vendored
Normal file
370
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0399.ebuild
vendored
Normal file
@ -0,0 +1,370 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||||
|
|
||||||
|
VIM_VERSION="9.0"
|
||||||
|
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
PYTHON_REQ_USE="threads(+)"
|
||||||
|
USE_RUBY="ruby27 ruby30 ruby31"
|
||||||
|
|
||||||
|
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
LICENSE="vim"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||||
|
REQUIRED_USE="
|
||||||
|
lua? ( ${LUA_REQUIRED_USE} )
|
||||||
|
python? ( ${PYTHON_REQUIRED_USE} )
|
||||||
|
vim-pager? ( !minimal )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-eselect/eselect-vi-1.1
|
||||||
|
>=sys-libs/ncurses-5.2-r2:0=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||||
|
crypt? ( dev-libs/libsodium:= )
|
||||||
|
cscope? ( dev-util/cscope )
|
||||||
|
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||||
|
lua? ( ${LUA_DEPS}
|
||||||
|
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||||
|
)
|
||||||
|
~app-editors/vim-core-${PV}
|
||||||
|
!<app-editors/vim-core-8.2.4328-r1
|
||||||
|
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||||
|
perl? ( dev-lang/perl:= )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
racket? ( dev-scheme/racket )
|
||||||
|
ruby? ( ${RUBY_DEPS} )
|
||||||
|
selinux? ( sys-libs/libselinux )
|
||||||
|
sound? ( media-libs/libcanberra )
|
||||||
|
tcl? ( dev-lang/tcl:0= )
|
||||||
|
X? ( x11-libs/libXt )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
# configure runs the Lua interpreter
|
||||||
|
BDEPEND="
|
||||||
|
sys-devel/autoconf
|
||||||
|
lua? ( ${LUA_DEPS} )
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
|
||||||
|
use lua && lua-single_pkg_setup
|
||||||
|
use python && python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup a script to use awk instead of nawk
|
||||||
|
sed -i -e \
|
||||||
|
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||||
|
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||||
|
|
||||||
|
# Read vimrc and gvimrc from /etc/vim
|
||||||
|
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
|
||||||
|
# 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 -e \
|
||||||
|
'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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i -e \
|
||||||
|
's/ libc\.h / /' \
|
||||||
|
"${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
|
||||||
|
|
||||||
|
# conditionally make the manpager.sh script
|
||||||
|
if use vim-pager; then
|
||||||
|
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||||
|
#!/bin/sh
|
||||||
|
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||||
|
vim \\
|
||||||
|
-c 'let no_plugin_maps = 1' \\
|
||||||
|
-c 'set nolist nomod ft=man ts=8' \\
|
||||||
|
-c 'let g:showmarks_enable=0' \\
|
||||||
|
-c 'runtime! macros/less.vim' -
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
rm src/auto/configure || die "rm failed"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
local myconf=()
|
||||||
|
if use minimal; then
|
||||||
|
myconf=(
|
||||||
|
--with-features=tiny
|
||||||
|
--disable-nls
|
||||||
|
--disable-canberra
|
||||||
|
--disable-acl
|
||||||
|
--enable-gui=no
|
||||||
|
--without-x
|
||||||
|
--disable-darwin
|
||||||
|
--disable-luainterp
|
||||||
|
--disable-perlinterp
|
||||||
|
--disable-pythoninterp
|
||||||
|
--disable-mzschemeinterp
|
||||||
|
--disable-rubyinterp
|
||||||
|
--disable-selinux
|
||||||
|
--disable-tclinterp
|
||||||
|
--disable-gpm
|
||||||
|
)
|
||||||
|
else
|
||||||
|
use debug && append-flags "-DDEBUG"
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--with-features=huge
|
||||||
|
$(use_enable sound canberra)
|
||||||
|
$(use_enable acl)
|
||||||
|
$(use_enable crypt libsodium)
|
||||||
|
$(use_enable cscope)
|
||||||
|
$(use_enable gpm)
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable perl perlinterp)
|
||||||
|
$(use_enable python python3interp)
|
||||||
|
$(use_with python python3-command "${PYTHON}")
|
||||||
|
$(use_enable racket mzschemeinterp)
|
||||||
|
$(use_enable ruby rubyinterp)
|
||||||
|
$(use_enable selinux)
|
||||||
|
$(use_enable tcl tclinterp)
|
||||||
|
$(use_enable terminal)
|
||||||
|
)
|
||||||
|
|
||||||
|
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||||
|
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||||
|
if ! use cscope; then
|
||||||
|
sed -i -e \
|
||||||
|
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lua; then
|
||||||
|
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||||
|
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||||
|
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--enable-luainterp
|
||||||
|
$(use_with lua_single_target_luajit luajit)
|
||||||
|
--with-lua-prefix="${EPREFIX}/usr"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't test USE=X here ... see bug #19115
|
||||||
|
# but need to provide a way to link against X ... see bug #20093
|
||||||
|
myconf+=(
|
||||||
|
--enable-gui=no
|
||||||
|
--disable-darwin
|
||||||
|
$(use_with X x)
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let package manager strip binaries
|
||||||
|
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||||
|
|
||||||
|
# keep 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 \
|
||||||
|
--with-modified-by=Gentoo-${PVR} \
|
||||||
|
"${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# The following allows emake to be used
|
||||||
|
emake -j1 -C src auto/osdef.h objects
|
||||||
|
|
||||||
|
emake
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
einfo
|
||||||
|
einfo "Starting vim tests. Several error messages will be shown"
|
||||||
|
einfo "while the tests run. This is normal behaviour and does not"
|
||||||
|
einfo "indicate a fault."
|
||||||
|
einfo
|
||||||
|
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||||
|
ewarn "state. Usually, running 'reset' will fix this."
|
||||||
|
einfo
|
||||||
|
|
||||||
|
# Don't let vim talk to X
|
||||||
|
unset DISPLAY
|
||||||
|
|
||||||
|
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||||
|
# to try anything to avoid random test hangs!
|
||||||
|
export TERM=xterm
|
||||||
|
|
||||||
|
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||||
|
# for more information on test variables we can use.
|
||||||
|
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||||
|
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||||
|
#
|
||||||
|
# Skipped tests:
|
||||||
|
# - Test_expand_star_star
|
||||||
|
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||||
|
# - Test_exrc
|
||||||
|
# Looks in wrong location? (bug #742710)
|
||||||
|
# - Test_job_tty_in_out
|
||||||
|
# Fragile and depends on TERM(?)
|
||||||
|
# - Test_spelldump_bang
|
||||||
|
# Hangs.
|
||||||
|
# - Test_fuzzy_completion_env
|
||||||
|
# Too sensitive to leaked environment variables.
|
||||||
|
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||||
|
# Hangs.
|
||||||
|
# - Test_spelldump
|
||||||
|
# Hangs.
|
||||||
|
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||||
|
|
||||||
|
emake -j1 -C src/testdir nongui
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call eselect vi update with --if-unset
|
||||||
|
# to respect user's choice (bug #187449)
|
||||||
|
eselect_vi_update() {
|
||||||
|
ebegin "Calling eselect vi update"
|
||||||
|
eselect vi update --if-unset
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||||
|
|
||||||
|
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||||
|
# managed by eselect-vi
|
||||||
|
dobin src/vim
|
||||||
|
if ! use minimal ; then
|
||||||
|
dosym vim /usr/bin/vimdiff
|
||||||
|
fi
|
||||||
|
dosym vim /usr/bin/rvim
|
||||||
|
dosym vim /usr/bin/rview
|
||||||
|
if use vim-pager ; then
|
||||||
|
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||||
|
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||||
|
insinto ${vimfiles}/macros
|
||||||
|
doins runtime/macros/manpager.sh
|
||||||
|
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
domenu runtime/vim.desktop
|
||||||
|
|
||||||
|
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||||
|
|
||||||
|
# keep in sync with 'complete ... -F' list
|
||||||
|
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0655-r1.ebuild
vendored
Normal file
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.0655-r1.ebuild
vendored
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||||
|
|
||||||
|
VIM_VERSION="9.0"
|
||||||
|
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
PYTHON_REQ_USE="threads(+)"
|
||||||
|
USE_RUBY="ruby27 ruby30 ruby31"
|
||||||
|
|
||||||
|
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
LICENSE="vim"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||||
|
REQUIRED_USE="
|
||||||
|
lua? ( ${LUA_REQUIRED_USE} )
|
||||||
|
python? ( ${PYTHON_REQUIRED_USE} )
|
||||||
|
vim-pager? ( !minimal )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-eselect/eselect-vi-1.1
|
||||||
|
>=sys-libs/ncurses-5.2-r2:0=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||||
|
crypt? ( dev-libs/libsodium:= )
|
||||||
|
cscope? ( dev-util/cscope )
|
||||||
|
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||||
|
lua? ( ${LUA_DEPS}
|
||||||
|
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||||
|
)
|
||||||
|
~app-editors/vim-core-${PV}
|
||||||
|
!<app-editors/vim-core-8.2.4328-r1
|
||||||
|
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||||
|
perl? ( dev-lang/perl:= )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
racket? ( dev-scheme/racket )
|
||||||
|
ruby? ( ${RUBY_DEPS} )
|
||||||
|
selinux? ( sys-libs/libselinux )
|
||||||
|
sound? ( media-libs/libcanberra )
|
||||||
|
tcl? ( dev-lang/tcl:0= )
|
||||||
|
X? ( x11-libs/libXt )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
# configure runs the Lua interpreter
|
||||||
|
BDEPEND="
|
||||||
|
sys-devel/autoconf
|
||||||
|
lua? ( ${LUA_DEPS} )
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
"
|
||||||
|
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
|
||||||
|
use lua && lua-single_pkg_setup
|
||||||
|
use python && python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup a script to use awk instead of nawk
|
||||||
|
sed -i -e \
|
||||||
|
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||||
|
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||||
|
|
||||||
|
# Read vimrc and gvimrc from /etc/vim
|
||||||
|
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
|
||||||
|
# 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 -e \
|
||||||
|
'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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i -e \
|
||||||
|
's/ libc\.h / /' \
|
||||||
|
"${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
|
||||||
|
|
||||||
|
# conditionally make the manpager.sh script
|
||||||
|
if use vim-pager; then
|
||||||
|
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||||
|
#!/bin/sh
|
||||||
|
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||||
|
vim \\
|
||||||
|
-c 'let no_plugin_maps = 1' \\
|
||||||
|
-c 'set nolist nomod ft=man ts=8' \\
|
||||||
|
-c 'let g:showmarks_enable=0' \\
|
||||||
|
-c 'runtime! macros/less.vim' -
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
rm src/auto/configure || die "rm failed"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
local myconf=()
|
||||||
|
if use minimal; then
|
||||||
|
myconf=(
|
||||||
|
--with-features=tiny
|
||||||
|
--disable-nls
|
||||||
|
--disable-canberra
|
||||||
|
--disable-acl
|
||||||
|
--enable-gui=no
|
||||||
|
--without-x
|
||||||
|
--disable-darwin
|
||||||
|
--disable-luainterp
|
||||||
|
--disable-perlinterp
|
||||||
|
--disable-pythoninterp
|
||||||
|
--disable-mzschemeinterp
|
||||||
|
--disable-rubyinterp
|
||||||
|
--disable-selinux
|
||||||
|
--disable-tclinterp
|
||||||
|
--disable-gpm
|
||||||
|
)
|
||||||
|
else
|
||||||
|
use debug && append-flags "-DDEBUG"
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--with-features=huge
|
||||||
|
$(use_enable sound canberra)
|
||||||
|
$(use_enable acl)
|
||||||
|
$(use_enable crypt libsodium)
|
||||||
|
$(use_enable cscope)
|
||||||
|
$(use_enable gpm)
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable perl perlinterp)
|
||||||
|
$(use_enable python python3interp)
|
||||||
|
$(use_with python python3-command "${PYTHON}")
|
||||||
|
$(use_enable racket mzschemeinterp)
|
||||||
|
$(use_enable ruby rubyinterp)
|
||||||
|
$(use_enable selinux)
|
||||||
|
$(use_enable tcl tclinterp)
|
||||||
|
$(use_enable terminal)
|
||||||
|
)
|
||||||
|
|
||||||
|
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||||
|
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||||
|
if ! use cscope; then
|
||||||
|
sed -i -e \
|
||||||
|
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lua; then
|
||||||
|
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||||
|
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||||
|
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--enable-luainterp
|
||||||
|
$(use_with lua_single_target_luajit luajit)
|
||||||
|
--with-lua-prefix="${EPREFIX}/usr"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't test USE=X here ... see bug #19115
|
||||||
|
# but need to provide a way to link against X ... see bug #20093
|
||||||
|
myconf+=(
|
||||||
|
--enable-gui=no
|
||||||
|
--disable-darwin
|
||||||
|
$(use_with X x)
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let package manager strip binaries
|
||||||
|
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||||
|
|
||||||
|
# keep 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 \
|
||||||
|
--with-modified-by=Gentoo-${PVR} \
|
||||||
|
"${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# The following allows emake to be used
|
||||||
|
emake -j1 -C src auto/osdef.h objects
|
||||||
|
|
||||||
|
emake
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
einfo
|
||||||
|
einfo "Starting vim tests. Several error messages will be shown"
|
||||||
|
einfo "while the tests run. This is normal behaviour and does not"
|
||||||
|
einfo "indicate a fault."
|
||||||
|
einfo
|
||||||
|
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||||
|
ewarn "state. Usually, running 'reset' will fix this."
|
||||||
|
einfo
|
||||||
|
|
||||||
|
# Don't let vim talk to X
|
||||||
|
unset DISPLAY
|
||||||
|
|
||||||
|
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||||
|
# to try anything to avoid random test hangs!
|
||||||
|
export TERM=xterm
|
||||||
|
|
||||||
|
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||||
|
# for more information on test variables we can use.
|
||||||
|
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||||
|
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||||
|
#
|
||||||
|
# Skipped tests:
|
||||||
|
# - Test_expand_star_star
|
||||||
|
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||||
|
# - Test_exrc
|
||||||
|
# Looks in wrong location? (bug #742710)
|
||||||
|
# - Test_job_tty_in_out
|
||||||
|
# Fragile and depends on TERM(?)
|
||||||
|
# - Test_spelldump_bang
|
||||||
|
# Hangs.
|
||||||
|
# - Test_fuzzy_completion_env
|
||||||
|
# Too sensitive to leaked environment variables.
|
||||||
|
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||||
|
# Hangs.
|
||||||
|
# - Test_spelldump
|
||||||
|
# Hangs.
|
||||||
|
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||||
|
|
||||||
|
emake -j1 -C src/testdir nongui
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call eselect vi update with --if-unset
|
||||||
|
# to respect user's choice (bug #187449)
|
||||||
|
eselect_vi_update() {
|
||||||
|
ebegin "Calling eselect vi update"
|
||||||
|
eselect vi update --if-unset
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||||
|
|
||||||
|
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||||
|
# managed by eselect-vi
|
||||||
|
dobin src/vim
|
||||||
|
if ! use minimal ; then
|
||||||
|
dosym vim /usr/bin/vimdiff
|
||||||
|
fi
|
||||||
|
dosym vim /usr/bin/rvim
|
||||||
|
dosym vim /usr/bin/rview
|
||||||
|
if use vim-pager ; then
|
||||||
|
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||||
|
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||||
|
insinto ${vimfiles}/macros
|
||||||
|
doins runtime/macros/manpager.sh
|
||||||
|
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
domenu runtime/vim.desktop
|
||||||
|
|
||||||
|
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||||
|
|
||||||
|
# keep in sync with 'complete ... -F' list
|
||||||
|
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild
vendored
Normal file
371
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9999.ebuild
vendored
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||||
|
|
||||||
|
VIM_VERSION="9.0"
|
||||||
|
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
PYTHON_REQ_USE="threads(+)"
|
||||||
|
USE_RUBY="ruby27 ruby30 ruby31"
|
||||||
|
|
||||||
|
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999* ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||||
|
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||||
|
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
||||||
|
|
||||||
|
LICENSE="vim"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||||
|
REQUIRED_USE="
|
||||||
|
lua? ( ${LUA_REQUIRED_USE} )
|
||||||
|
python? ( ${PYTHON_REQUIRED_USE} )
|
||||||
|
vim-pager? ( !minimal )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-eselect/eselect-vi-1.1
|
||||||
|
>=sys-libs/ncurses-5.2-r2:0=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||||
|
crypt? ( dev-libs/libsodium:= )
|
||||||
|
cscope? ( dev-util/cscope )
|
||||||
|
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||||
|
lua? ( ${LUA_DEPS}
|
||||||
|
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||||
|
)
|
||||||
|
~app-editors/vim-core-${PV}
|
||||||
|
!<app-editors/vim-core-8.2.4328-r1
|
||||||
|
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||||
|
perl? ( dev-lang/perl:= )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
racket? ( dev-scheme/racket )
|
||||||
|
ruby? ( ${RUBY_DEPS} )
|
||||||
|
selinux? ( sys-libs/libselinux )
|
||||||
|
sound? ( media-libs/libcanberra )
|
||||||
|
tcl? ( dev-lang/tcl:0= )
|
||||||
|
X? ( x11-libs/libXt )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
# configure runs the Lua interpreter
|
||||||
|
BDEPEND="
|
||||||
|
sys-devel/autoconf
|
||||||
|
lua? ( ${LUA_DEPS} )
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
"
|
||||||
|
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# people with broken alphabets run into trouble. bug #82186.
|
||||||
|
unset LANG LC_ALL
|
||||||
|
export LC_COLLATE="C"
|
||||||
|
|
||||||
|
use lua && lua-single_pkg_setup
|
||||||
|
use python && python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
|
||||||
|
if [[ ${PV} != 9999* ]] ; then
|
||||||
|
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||||
|
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fixup a script to use awk instead of nawk
|
||||||
|
sed -i -e \
|
||||||
|
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||||
|
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||||
|
|
||||||
|
# Read vimrc and gvimrc from /etc/vim
|
||||||
|
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||||
|
>> "${S}"/src/feature.h || die "echo failed"
|
||||||
|
|
||||||
|
# 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 -e \
|
||||||
|
'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'
|
||||||
|
|
||||||
|
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||||
|
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||||
|
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||||
|
sed -i -e \
|
||||||
|
's/ libc\.h / /' \
|
||||||
|
"${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
|
||||||
|
|
||||||
|
# conditionally make the manpager.sh script
|
||||||
|
if use vim-pager; then
|
||||||
|
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||||
|
#!/bin/sh
|
||||||
|
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||||
|
vim \\
|
||||||
|
-c 'let no_plugin_maps = 1' \\
|
||||||
|
-c 'set nolist nomod ft=man ts=8' \\
|
||||||
|
-c 'let g:showmarks_enable=0' \\
|
||||||
|
-c 'runtime! macros/less.vim' -
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
sed -i -e \
|
||||||
|
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||||
|
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
rm src/auto/configure || die "rm failed"
|
||||||
|
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
local myconf=()
|
||||||
|
if use minimal; then
|
||||||
|
myconf=(
|
||||||
|
--with-features=tiny
|
||||||
|
--disable-nls
|
||||||
|
--disable-canberra
|
||||||
|
--disable-acl
|
||||||
|
--enable-gui=no
|
||||||
|
--without-x
|
||||||
|
--disable-darwin
|
||||||
|
--disable-luainterp
|
||||||
|
--disable-perlinterp
|
||||||
|
--disable-pythoninterp
|
||||||
|
--disable-mzschemeinterp
|
||||||
|
--disable-rubyinterp
|
||||||
|
--disable-selinux
|
||||||
|
--disable-tclinterp
|
||||||
|
--disable-gpm
|
||||||
|
)
|
||||||
|
else
|
||||||
|
use debug && append-flags "-DDEBUG"
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--with-features=huge
|
||||||
|
$(use_enable sound canberra)
|
||||||
|
$(use_enable acl)
|
||||||
|
$(use_enable crypt libsodium)
|
||||||
|
$(use_enable cscope)
|
||||||
|
$(use_enable gpm)
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable perl perlinterp)
|
||||||
|
$(use_enable python python3interp)
|
||||||
|
$(use_with python python3-command "${PYTHON}")
|
||||||
|
$(use_enable racket mzschemeinterp)
|
||||||
|
$(use_enable ruby rubyinterp)
|
||||||
|
$(use_enable selinux)
|
||||||
|
$(use_enable tcl tclinterp)
|
||||||
|
$(use_enable terminal)
|
||||||
|
)
|
||||||
|
|
||||||
|
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||||
|
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||||
|
if ! use cscope; then
|
||||||
|
sed -i -e \
|
||||||
|
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lua; then
|
||||||
|
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||||
|
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||||
|
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||||
|
|
||||||
|
myconf+=(
|
||||||
|
--enable-luainterp
|
||||||
|
$(use_with lua_single_target_luajit luajit)
|
||||||
|
--with-lua-prefix="${EPREFIX}/usr"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# don't test USE=X here ... see bug #19115
|
||||||
|
# but need to provide a way to link against X ... see bug #20093
|
||||||
|
myconf+=(
|
||||||
|
--enable-gui=no
|
||||||
|
--disable-darwin
|
||||||
|
$(use_with X x)
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let package manager strip binaries
|
||||||
|
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||||
|
|
||||||
|
# keep 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 \
|
||||||
|
--with-modified-by=Gentoo-${PVR} \
|
||||||
|
"${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# The following allows emake to be used
|
||||||
|
emake -j1 -C src auto/osdef.h objects
|
||||||
|
|
||||||
|
emake
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
einfo
|
||||||
|
einfo "Starting vim tests. Several error messages will be shown"
|
||||||
|
einfo "while the tests run. This is normal behaviour and does not"
|
||||||
|
einfo "indicate a fault."
|
||||||
|
einfo
|
||||||
|
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||||
|
ewarn "state. Usually, running 'reset' will fix this."
|
||||||
|
einfo
|
||||||
|
|
||||||
|
# Don't let vim talk to X
|
||||||
|
unset DISPLAY
|
||||||
|
|
||||||
|
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||||
|
# to try anything to avoid random test hangs!
|
||||||
|
export TERM=xterm
|
||||||
|
|
||||||
|
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||||
|
# for more information on test variables we can use.
|
||||||
|
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||||
|
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||||
|
#
|
||||||
|
# Skipped tests:
|
||||||
|
# - Test_expand_star_star
|
||||||
|
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||||
|
# - Test_exrc
|
||||||
|
# Looks in wrong location? (bug #742710)
|
||||||
|
# - Test_job_tty_in_out
|
||||||
|
# Fragile and depends on TERM(?)
|
||||||
|
# - Test_spelldump_bang
|
||||||
|
# Hangs.
|
||||||
|
# - Test_fuzzy_completion_env
|
||||||
|
# Too sensitive to leaked environment variables.
|
||||||
|
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||||
|
# Hangs.
|
||||||
|
# - Test_spelldump
|
||||||
|
# Hangs.
|
||||||
|
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||||
|
|
||||||
|
emake -j1 -C src/testdir nongui
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call eselect vi update with --if-unset
|
||||||
|
# to respect user's choice (bug #187449)
|
||||||
|
eselect_vi_update() {
|
||||||
|
ebegin "Calling eselect vi update"
|
||||||
|
eselect vi update --if-unset
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||||
|
|
||||||
|
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||||
|
# managed by eselect-vi
|
||||||
|
dobin src/vim
|
||||||
|
if ! use minimal ; then
|
||||||
|
dosym vim /usr/bin/vimdiff
|
||||||
|
fi
|
||||||
|
dosym vim /usr/bin/rvim
|
||||||
|
dosym vim /usr/bin/rview
|
||||||
|
if use vim-pager ; then
|
||||||
|
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||||
|
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||||
|
insinto ${vimfiles}/macros
|
||||||
|
doins runtime/macros/manpager.sh
|
||||||
|
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
domenu runtime/vim.desktop
|
||||||
|
|
||||||
|
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||||
|
|
||||||
|
# keep in sync with 'complete ... -F' list
|
||||||
|
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
# Update documentation tags (from vim-doc.eclass)
|
||||||
|
update_vim_helptags
|
||||||
|
|
||||||
|
# Call eselect vi update
|
||||||
|
eselect_vi_update
|
||||||
|
|
||||||
|
# update desktop file mime cache
|
||||||
|
xdg_desktop_database_update
|
||||||
|
}
|
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-10-11-vim-update.md
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-10-11-vim-update.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
- vim ([CVE-2022-1725](https://nvd.nist.gov/vuln/detail/CVE-2022-1725), [CVE-2022-3234](https://nvd.nist.gov/vuln/detail/CVE-2022-3234), [CVE-2022-3235](https://nvd.nist.gov/vuln/detail/CVE-2022-3235), [CVE-2022-3278](https://nvd.nist.gov/vuln/detail/CVE-2022-3278), [CVE-2022-3256](https://nvd.nist.gov/vuln/detail/CVE-2022-3256), [CVE-2022-3296](https://nvd.nist.gov/vuln/detail/CVE-2022-3296), [CVE-2022-3297](https://nvd.nist.gov/vuln/detail/CVE-2022-3297), [CVE-2022-3324](https://nvd.nist.gov/vuln/detail/CVE-2022-3324), [CVE-2022-3352](https://nvd.nist.gov/vuln/detail/CVE-2022-3352))
|
1
sdk_container/src/third_party/portage-stable/changelog/updates/2022-10-11-vim-update.md
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/changelog/updates/2022-10-11-vim-update.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
- vim ([9.0.0655](https://github.com/vim/vim/releases/tag/v9.0.0655))
|
Loading…
Reference in New Issue
Block a user