commit:     c7caaf374650078707df8ce9b313e967ceff56f6
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 18:02:44 2016 +0000
Commit:     Jason Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 18:03:42 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7caaf37

app-editors/vim-core: don't use vim's defaults (bug #594292)

Package-Manager: portage-2.3.1

 app-editors/vim-core/files/vimrc-r5              | 204 +++++++++++++++++++++
 app-editors/vim-core/vim-core-8.0.0005-r1.ebuild | 218 +++++++++++++++++++++++
 2 files changed, 422 insertions(+)

diff --git a/app-editors/vim-core/files/vimrc-r5 
b/app-editors/vim-core/files/vimrc-r5
new file mode 100644
index 00000000..fdc316b
--- /dev/null
+++ b/app-editors/vim-core/files/vimrc-r5
@@ -0,0 +1,204 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for Vim
+" $Id$
+
+" Written by Aron Griffis <agrif...@gentoo.org>
+" Modified by Ryan Phillips <rphill...@gentoo.org>
+" Modified some more by Ciaran McCreesh <ciar...@gentoo.org>
+" Added Redhat's vimrc info by Seemant Kulleen <seem...@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:
+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/vim-core-8.0.0005-r1.ebuild 
b/app-editors/vim-core/vim-core-8.0.0005-r1.ebuild
new file mode 100644
index 00000000..b270bdd
--- /dev/null
+++ b/app-editors/vim-core/vim-core-8.0.0005-r1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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-7.4.2102-gentoo-patches.tar.bz2";
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd 
~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~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/\<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.in || 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.in || 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" ; 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.in 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
+}

Reply via email to