From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- app-editors/vim-core/Manifest | 16 ++ app-editors/vim-core/files/vimrc-r5 | 203 ++++++++++++++++++++++++ app-editors/vim-core/files/xxd-completion | 25 +++ app-editors/vim-core/metadata.xml | 11 ++ app-editors/vim-core/vim-core-8.0.0386.ebuild | 217 ++++++++++++++++++++++++++ app-editors/vim-core/vim-core-8.0.0938.ebuild | 217 ++++++++++++++++++++++++++ app-editors/vim-core/vim-core-8.0.0983.ebuild | 217 ++++++++++++++++++++++++++ app-editors/vim-core/vim-core-8.0.1056.ebuild | 217 ++++++++++++++++++++++++++ app-editors/vim-core/vim-core-9999.ebuild | 217 ++++++++++++++++++++++++++ 9 files changed, 1340 insertions(+) create mode 100644 app-editors/vim-core/Manifest create mode 100644 app-editors/vim-core/files/vimrc-r5 create mode 100644 app-editors/vim-core/files/xxd-completion create mode 100644 app-editors/vim-core/metadata.xml create mode 100644 app-editors/vim-core/vim-core-8.0.0386.ebuild create mode 100644 app-editors/vim-core/vim-core-8.0.0938.ebuild create mode 100644 app-editors/vim-core/vim-core-8.0.0983.ebuild create mode 100644 app-editors/vim-core/vim-core-8.0.1056.ebuild create mode 100644 app-editors/vim-core/vim-core-9999.ebuild (limited to 'app-editors/vim-core') diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest new file mode 100644 index 000000000000..f86aa9c189eb --- /dev/null +++ b/app-editors/vim-core/Manifest @@ -0,0 +1,16 @@ +AUX vimrc-r5 6926 SHA256 19019ab68e724ed0aa2129959f12d6cbdc042de0a102f719bf757079c444c2c5 SHA512 ff99b53d542f6f85adb2062a0cb3605ddd6e447c1b2427e7e4ce58aea843a99cde13473ec53d89ddb380da0358e32a45aa7f857269baf5504751b9eb259418ba WHIRLPOOL 4aaa9a8a1ee817c73d6b93f1595201fdcf1e65beea637f666b30bbb826098cb6719e663985ddd88b54639f4bda4c1941a798cf9b3c93aca8746943d40cb5ef36 +AUX xxd-completion 461 SHA256 580064ca4db3ac149fd89c743bd9946241220c211721f978f7a3ef97b3c171df SHA512 fc92426ea657e86ff765aa5a60736cdc70db938156dd8946db0a30c54d3f557bd8af421f1713bd750e779ccacd73f8f290a12a5e71ed48259fe1e6dece2de19c WHIRLPOOL 65324afb44612f1dd8f8850b7caa8524cff055d83aaad74c5b5030787463d0a95dbe0ce1b91c1a7b7f3e6954db3c0608ac2a2e1e75572af94e83758237b18447 +DIST vim-8.0.0106-gentoo-patches.tar.bz2 2281 SHA256 9823a91b050eb4b001cc50f508d2ad03c7c256ed49183c1af7582318667f48d4 SHA512 39edd9f518c230d2b0486b18aa155572a9eada4a5e21108573d6e66e2eef1276f23b77d766648f018c9cf973a7d03712d8861be6ea13255d7b389912d554a47a WHIRLPOOL d6d01e3944d56762a2a999ee631f89e212360aa030ddd16ea96e32d518ec171e04d8565dcb89e804248d53e4c6e06b19be239ad2316ea88bb57364815b85d26b +DIST vim-8.0.0386.tar.gz 13000882 SHA256 25b28f6ef55a8d0b3f255f0fbed90ad1450bde7f7b231cc09d86c5119adc95bc SHA512 3169ea4dbc836c724f63d99cd345227f870a3a922beba84a6b42011685c0dd209f6bba8c69af0650c9a57bb47fc541e1150ca8cefb21fcada022259bf4c94a66 WHIRLPOOL 99a5582e0db0dc53fd8385cddf1fbf13d2fe1dd5c8e33c9959288c19d4b85f50139791269edd4ec3d5cbed6548cc3d9c7962ec1706eb422a4ef83c207aac009b +DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 SHA256 851418dbbbac25e581eeb44a24e62f8841a7df33f436d1986dd7332fb5d07c60 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b WHIRLPOOL 8521b344426b5d2b246ddab7768eae45e0ee54ef58085099f9e15575e7854eb461fbcf0093caee1326e29d2425c2d451de36812cda24fa767709fc5d6046236c +DIST vim-8.0.0938.tar.gz 13287289 SHA256 7a07fb164069ce82e5c90ff3831b6f3249e09193800f76d9c576867a63828071 SHA512 be4b6a29ace6a708cd7d0d3a3585cd3b88056e49f3869e18c6b895272e4ec01a8a7a68695ec2f885dd1fc139ae022a3f1b2d2d11e8b883362b9683cf5a8b0cd3 WHIRLPOOL 5098cf73f8b294686888c8b5a31199044ec1f409cc9c3de39e96911f688374282716a3137827e260c97e688bb42e79a77c53a29fa7d3364ce2c3375c2257b309 +DIST vim-8.0.0983.tar.gz 13292263 SHA256 5f3d5307d7055e3a55811546f6c787f1c65d209ae5b83e36c0de16d64fda8bf2 SHA512 985cdcf134c3513a973b4c91a899684a563fca4c347afba2d51892d737c8b58a2008bbf8573a98838da6df16552096e437a5064dc2ef653c7222bbac59ce6136 WHIRLPOOL 98a1ed102182f07e1dc2105b9bae73e1f6c0f7522b25ab91aba4767a3c9d805082a89bd964ab6441fb4185f4076b046a25ca92bf08f0446e4d2a53b0298bb3e0 +DIST vim-8.0.1056.tar.gz 13309986 SHA256 c061d1ddc0f4001415e68678780eac7121d08877a852fae484e6a93f633aec0c SHA512 19385736d4d97a66a2fb3fd8ce725d42c435da09a41e8b40234048626b28d2fa96c4db96a4313bd30f1c2d3733c52097e147c90e4bc11be80d3fcbf12fa4d13b WHIRLPOOL d81b3166f028867ebf48d43bf249675f16cda0118a2e443606a8cae01b0932d3f8a29ca568d088953d4b9d8afe8299ac207d0213ad247e1c10b9c52ed18514e1 +EBUILD vim-core-8.0.0386.ebuild 6754 SHA256 8f75d89c4ec220644790a21dcc4abf31764a22d8dfd9b064f57f2ae00c693f13 SHA512 ecdaf79298f242819af450ea366cb51b428f4d0054203dde424bce6ffd754954273f59802a3b1f582ad1d3455d2b844d3b6613f06fe3b17fe43e19102984b118 WHIRLPOOL f0f460dd828f67e5a34056c6610c273a4ff8f1fa06561e6b891adb8b54a6c33a21f1bdfa2e2ac957bbaac78c4a61d471fd67c077e96b67308cf2e9c72be5ec70 +EBUILD vim-core-8.0.0938.ebuild 6764 SHA256 1dc003559e492075c9577d13514860bff86440a114b16149c58569ef5ca7ec83 SHA512 ae48d1c1afd8a62f8f32afe6c6d9c6a9b52352eb594a6c973efae7f42ac480575c1e1f95b1527f346e04a6ad52f649c966daf98a97c684d6419fd9952a4e8e61 WHIRLPOOL 0136e67cd20a20e3d55e33ef92aef3af347eede30079180dcc62b93da218b7cc8f304d1a849c434f3c1f47980822bb67dfb7fcec97f2be689aa59a5d136e2943 +EBUILD vim-core-8.0.0983.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560 +EBUILD vim-core-8.0.1056.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560 +EBUILD vim-core-9999.ebuild 6772 SHA256 c72b168d4f25da2dfb4fad846855eaecd334b63103269809bec652508751a8f3 SHA512 60fa7940b9ed64b828fa59fcfa11b90b81e63e89d41e2f44c2e2281da620f0325673831cbb2d47c923078e16effdc6b588487f3636f75ae9fdb83ba3c0c0bb5a WHIRLPOOL 578a4dcea44d4116b3e015a06ff0dd48bd49da4d15a83744d94ba4289c1e4ad5e9f4624b6b505045a2551b57bc93ebeeae199c999ec932cca779e888d5113560 +MISC ChangeLog 8466 SHA256 568fecc9d283b1c6af99b67c5a0ba20fa02cbdfa3cdf7c869054c9ae13af394b SHA512 fc31c71c500181b09cfa36f324531392057e5b28c4990346435e9b7002083e15238fa16661178081122bdf58a5adc8ffd2f10b9527e6ddfcba79263ed58cdd83 WHIRLPOOL ddc6b0a57525d743a7e79dc67354b87f4a3ee054023d29aa976cd475373bf7d24501d51686d48257dc8cf67249dd7bb18b418e650d78ce706298c1647b8d6ba6 +MISC ChangeLog-2015 63585 SHA256 fcbf2e79dabadcfea37e13f90bd1a0da5060f06fa4676551bb5ae5c15b140d3b SHA512 f5431dc90fecae587bfe51915711f2cd117505a034dfa821d412e29898d2046feb7afa98762878b9554d602c4a24dce8807b75613ba7b01fb5747ebc5911fe54 WHIRLPOOL 2410b2440a6eecee31ac1f8b2ccfc0ebc5ffbaf043e95fb4734fd1e22fd4b29093296d1a6b63a8e6e66c5d845a3b300f7655c31e2397eddb2a582033796b680c +MISC metadata.xml 321 SHA256 f9326975290ccd756ea9e8aed462a63d5281409d82e6cf70c1cda86b1783c118 SHA512 7d4a40b09c24eb8f08e6c171a4cf0e332d82f06163846602db338a1ad2e51133ed18694f216ce061fd9964fba3380b9991d86b93f111c6f8d0bb62ac5e14f705 WHIRLPOOL df4da6e95b9dda591cf35853baebf9ebff792a7ba5f03c7060e41d319fcf40e31f5874b31c9841b27ed860e5a8d3346e3afb7cf80e93eb2b297c5975288e5b1a diff --git a/app-editors/vim-core/files/vimrc-r5 b/app-editors/vim-core/files/vimrc-r5 new file mode 100644 index 000000000000..3386b6c54ba0 --- /dev/null +++ b/app-editors/vim-core/files/vimrc-r5 @@ -0,0 +1,203 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for Vim + +" Written by Aron Griffis +" Modified by Ryan Phillips +" Modified some more by Ciaran McCreesh +" Added Redhat's vimrc info by Seemant Kulleen + +" 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 =\eO5D" + exec "set =\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: +let g:skip_defaults_vim = 1 + +" {{{ 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 : + diff --git a/app-editors/vim-core/files/xxd-completion b/app-editors/vim-core/files/xxd-completion new file mode 100644 index 000000000000..174a4093f39f --- /dev/null +++ b/app-editors/vim-core/files/xxd-completion @@ -0,0 +1,25 @@ +# Author: Ciaran McCreesh +# +# 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 : + diff --git a/app-editors/vim-core/metadata.xml b/app-editors/vim-core/metadata.xml new file mode 100644 index 000000000000..ef998248ce9d --- /dev/null +++ b/app-editors/vim-core/metadata.xml @@ -0,0 +1,11 @@ + + + + + vim@gentoo.org + Gentoo Vim Project + + + vim/vim + + diff --git a/app-editors/vim-core/vim-core-8.0.0386.ebuild b/app-editors/vim-core/vim-core-8.0.0386.ebuild new file mode 100644 index 000000000000..b0e2eda803b3 --- /dev/null +++ b/app-editors/vim-core/vim-core-8.0.0386.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.0" +inherit eutils vim-doc flag-o-matic versionator bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://dev.gentoo.org/~radhermit/vim/vim-8.0.0106-gentoo-patches.tar.bz2" + KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +S=${WORKDIR}/vim-${PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + eapply "${WORKDIR}"/patches + fi + + # Fixup a script to use awk instead of nawk + sed -i '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 + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # 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/\> "$c" ; 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 + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + eapply_user +} + +src_configure() { + local myconf + + # 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 + + # 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 -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --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) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + 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-r5 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. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-8.0.0938.ebuild b/app-editors/vim-core/vim-core-8.0.0938.ebuild new file mode 100644 index 000000000000..15a9ee340652 --- /dev/null +++ b/app-editors/vim-core/vim-core-8.0.0938.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.0" +inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="http://www.vim.org/ https://github.com/vim/vim" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +S=${WORKDIR}/vim-${PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + eapply "${WORKDIR}"/patches + fi + + # Fixup a script to use awk instead of nawk + sed -i '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 + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # 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/\> "$c" ; 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 + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + eapply_user +} + +src_configure() { + local myconf + + # 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 + + # 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 -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --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) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + 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-r5 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. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-8.0.0983.ebuild b/app-editors/vim-core/vim-core-8.0.0983.ebuild new file mode 100644 index 000000000000..a009ebab1f38 --- /dev/null +++ b/app-editors/vim-core/vim-core-8.0.0983.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.0" +inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +S=${WORKDIR}/vim-${PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + eapply "${WORKDIR}"/patches + fi + + # Fixup a script to use awk instead of nawk + sed -i '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 + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # 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/\> "$c" ; 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 + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + eapply_user +} + +src_configure() { + local myconf + + # 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 + + # 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 -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --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) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + 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-r5 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. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-8.0.1056.ebuild b/app-editors/vim-core/vim-core-8.0.1056.ebuild new file mode 100644 index 000000000000..a009ebab1f38 --- /dev/null +++ b/app-editors/vim-core/vim-core-8.0.1056.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.0" +inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +S=${WORKDIR}/vim-${PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + eapply "${WORKDIR}"/patches + fi + + # Fixup a script to use awk instead of nawk + sed -i '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 + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # 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/\> "$c" ; 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 + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + eapply_user +} + +src_configure() { + local myconf + + # 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 + + # 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 -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --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) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + 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-r5 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. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} diff --git a/app-editors/vim-core/vim-core-9999.ebuild b/app-editors/vim-core/vim-core-9999.ebuild new file mode 100644 index 000000000000..a009ebab1f38 --- /dev/null +++ b/app-editors/vim-core/vim-core-9999.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.0" +inherit estack vim-doc flag-o-matic versionator bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://dev.gentoo.org/~radhermit/vim/vim-8.0.0938-gentoo-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim" + +SLOT="0" +LICENSE="vim" +IUSE="nls acl minimal" + +DEPEND="sys-devel/autoconf" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +S=${WORKDIR}/vim-${PV} + +pkg_setup() { + # people with broken alphabets run into trouble. bug 82186. + unset LANG LC_ALL + export LC_COLLATE="C" + + # Gnome sandbox silliness. bug #114475. + mkdir -p "${T}"/home + export HOME="${T}"/home +} + +src_prepare() { + if [[ ${PV} != 9999* ]] ; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + eapply "${WORKDIR}"/patches + fi + + # Fixup a script to use awk instead of nawk + sed -i '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 + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h + + # 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/\> "$c" ; 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 + fi + + if version_is_at_least 7.3.122 ; then + cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk + fi + + # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 + if version_is_at_least 7.3 ; then + sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ + "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' + fi + + eapply_user +} + +src_configure() { + local myconf + + # 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 + + # 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 -f src/auto/configure + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do + [[ -e ${file} ]] && addwrite $file + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=" --without-local-dir" + + econf \ + --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) \ + ${myconf} +} + +src_compile() { + # The following allows emake to be used + 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-r5 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. + eshopts_push -s extglob + + rm -fr "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} + rm -fr "${ED}${vimfiles}"/{macros,print,tools,tutor} + rm "${ED}"/usr/bin/vimtutor + + local keep_colors="default" + ignore=$(rm -fr "${ED}${vimfiles}"/colors/!(${keep_colors}).vim ) + + local keep_syntax="conf|crontab|fstab|inittab|resolv|sshdconfig" + # tinkering with the next line might make bad things happen ... + keep_syntax="${keep_syntax}|syntax|nosyntax|synload" + ignore=$(rm -fr "${ED}${vimfiles}"/syntax/!(${keep_syntax}).vim ) + + eshopts_pop + fi + + # These files might have slight security issues, so we won't + # install them. See bug #77841. We don't mind if these don't + # exist. + rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null + + newbashcomp "${FILESDIR}"/xxd-completion xxd + + # We shouldn't be installing the ex or view man page symlinks, as they + # are managed by eselect-vi + rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 +} + +pkg_postinst() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags +} -- cgit v1.2.3