summaryrefslogtreecommitdiff
path: root/app-editors/gvim
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-editors/gvim
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-editors/gvim')
-rw-r--r--app-editors/gvim/Manifest17
-rw-r--r--app-editors/gvim/files/gvim-completion40
-rw-r--r--app-editors/gvim/files/gvim.svg94
-rw-r--r--app-editors/gvim/files/gvimrc-r128
-rw-r--r--app-editors/gvim/gvim-8.0.1298.ebuild371
-rw-r--r--app-editors/gvim/gvim-8.0.1428.ebuild371
-rw-r--r--app-editors/gvim/gvim-8.0.1645.ebuild371
-rw-r--r--app-editors/gvim/gvim-8.0.1699-r1.ebuild372
-rw-r--r--app-editors/gvim/gvim-8.0.1699.ebuild373
-rw-r--r--app-editors/gvim/gvim-8.1.0034.ebuild372
-rw-r--r--app-editors/gvim/gvim-9999.ebuild372
-rw-r--r--app-editors/gvim/metadata.xml16
12 files changed, 2797 insertions, 0 deletions
diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest
new file mode 100644
index 000000000000..616e4cad3f74
--- /dev/null
+++ b/app-editors/gvim/Manifest
@@ -0,0 +1,17 @@
+AUX gvim-completion 1219 BLAKE2B 8a8d8ac5b42be0103da00ecda3445f24993df0b2762310dcc1a9e1cf892048b57c02b7da2ea19d900c40b782cabeda4c6f7b79b9b7b44b6fb7ad7ae723b46f88 SHA512 08bb32a3c9fcbdd00977b7343dda9cda44b389a13b1717ebddb462e22b6cf9d4db37d5b49ff752b931e305bf57e8f9f4a7d6e32ea25f8acd1b00e5f8320ac132
+AUX gvim.svg 4584 BLAKE2B 53d896f90404df6b185d1f4404c22e6bd6035722beb61d2223a6003e7c274cdfd4d97d7274346427d873a8e98a4ad32321c0a3ceab2b436124f90c707045b233 SHA512 78f5fb460281ab5d8b0ff6e28bf24231c1ade5ae46caab2e2d345d82b983ada7d945dd7d603b3e470c77dbd1eb329027852b6ba22afc441d64a1b66a1ee3867a
+AUX gvimrc-r1 990 BLAKE2B 5fc0b805458aff22485e3e180ca8c32a62f2cfe49572edffa5725d2cfc4ed9a7bded20c1a5cd1f19f41e0849e3ca08be4798ff23edd66a92bcbb31aee16c433a SHA512 f6538550f1ecadcccf74a6bbd5a6a0b71d18a234a854d1a0179144125555c42280000df9523e7c3d5a8b449f421af7bafcca1034951f085279cee0dd1160808a
+DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 BLAKE2B 05a87f32fc5cc65e7f5e4e5a87c654b2040ad39f1555ddde7e0e6f473dc8b520916a795406bb6bbeaf5e7ae8748aacebe7a9679461e48802e69417e945eea827 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b
+DIST vim-8.0.1298.tar.gz 13395459 BLAKE2B 4b6e3c4443cd675dc3727e8609b89c422f66c7d32908b5136ee312d48427568a8236214c85135242269b6575e0e1336b0973395a6372664435f8bae4d7bee843 SHA512 7704c493359c1a922f876e4d6f3b4ad265d8ce974a59d51a39e5a4424251105250ffc803bcf6c6750daeb5e6376cbbfd24557b075eacf2b0274d7c432db2f681
+DIST vim-8.0.1428.tar.gz 13415243 BLAKE2B 88f86c371d0a644212b9e4dc1a15d61244847037f36262a225c361bfc2799b741c128de21ac92bb3fb4a4955894e46d34dc01baa7cbf58f1371d772b36887103 SHA512 f635c53c7e2ca808dc1cb424e6e4b16d8c41c66a86c3c7584444dab3d2482904795fea7c071d65862ae6ac6b2b66b7ad5ac832e1e30f4624d46f220c6f41e2e9
+DIST vim-8.0.1645.tar.gz 13535252 BLAKE2B a5c7463e85eed12825bdf46d15eb7e7513d62831eba76cbb90af875010b33662b7a6ef2c4c5cecddface415d75e97caf0a670e69835ecd3b4a89704f3b18b905 SHA512 367b9e205e776f84fcfbb92725afd5e7aa66898110d46dbea1a33f7b74c239559e829b5104c45360539c8f2b23c375ed59ccea7ee35a5dd10770400d9a7be085
+DIST vim-8.0.1699.tar.gz 13546105 BLAKE2B cabf29d5a89c55e2fe3bc5e39eb499412f5907ddf856f8644b466f1e0fbffefff3cd801b6bc5e49e62ffdf8805b0556058b9a913015a9f9fbe1a4f580132fd49 SHA512 b0fe8e1dc05fdc3758896caf4746da40988ca7604d77dbe78c47525cbf8f0d7e6c05f690687268eda581009050d4e02e93fb4d30734cbbab4cfd6a8a1488c1e7
+DIST vim-8.1.0034.tar.gz 13652586 BLAKE2B 98dac6b37c04ea8c15f0b0e2e4145d6529138e0532e92751fd07be04a2180519135d386dfc19e7f12c8eb37b3e15ee81ba357680d453afab56d96299b69cb511 SHA512 b2b85035c6c60a09e903d8f6deb500e42ab8bfc2f9a5b959d0055a8e02dab3a91d5460fd5028e6634c5ef6ab034186b7155e341fa25e84b9851290708e892d19
+EBUILD gvim-8.0.1298.ebuild 10469 BLAKE2B b0f04d4d5a1df2854184d2d0f9b64129524af078e86096704348a86710b8b551b77f3d8b0a2071a56a650cd747b45cf437e58ec7a3259b5b1332c46de1dd7f2e SHA512 27f0671ee4de3ffbbd4d6d56c09550fe4774ec1d9b5b45513f6314719e1f1c6e0ea55215dfe5b88c253d16bd97bbcc7cbf734d7c9049b11df625da300e7c589c
+EBUILD gvim-8.0.1428.ebuild 10477 BLAKE2B 764132ab93aa42aeef1f26fdfaf1095630ddcbdf148681d2ff929611a6fc736ab7c325947d39752dbe112c869cdf1ff51fb0419c9316f9e05eb0440a662cc38f SHA512 ca3474ac8e4ffa20bb0d96677f4bee91683cafeceb6db4d2654c4d3f3037adc7a5a78bf57bc019222fbde96d06a5731c4d6474324ac676941115e728dcc085bf
+EBUILD gvim-8.0.1645.ebuild 10502 BLAKE2B 47db270abf2ea71b92173df98377634c0b59d04383059ac557c0c8fcd8aeeb11ff8aaa1a7cb4b40819f386b040952ca356457e500d9b0a9a553e1bea60379a16 SHA512 da4f6c564a06f5f8eb50a56836235eddadd20515afe66a74efd0fce24a3a048db52a0cc0ae8d7e5fbf5fd57f0861e0a50e966a4a31f106059f0952ceccb7b589
+EBUILD gvim-8.0.1699-r1.ebuild 10448 BLAKE2B c8002b9f8669abd503875a20cc9064210201c6dd88525290264395f8ac3f94bd9bbe25b2af0a6cd22105e380eada731c524c7cc53aca1a3943dd2de6345134ea SHA512 e5918d554625e921f081a536646075100ffceaefc67c610c6948f154f3a3e69a37cdee9bd87acdb9774df58ecdaa4213ab0ecdc09756d9a15f7bce523a672ad0
+EBUILD gvim-8.0.1699.ebuild 10490 BLAKE2B 18c912fb875ea79a541ecdc6723714782520d9f6524dc9eced18b3704c46ece46f296c45ad8a817978755b9367b43b04bf82e1692996fd08027e1db6a45553ef SHA512 bdf28681e8503cde8067c013ab634bdc0dbfab4d6367b3bdd5c4f11cd90e3f8c49471a87cd50086e80f305f797a7c7d5203ab7cee30dd41436a7f787c1f32a35
+EBUILD gvim-8.1.0034.ebuild 10447 BLAKE2B 52bf51193fadf512feccc8691d923cf7ca9e62faf037db5bced7a43cdcfe3b2bbd0b487cec1aa8f93674760cf5a9212c4b5a64bb68ebeb0e497ea50526e32839 SHA512 dc9f1fe1479fa607f376762abc8525118db403450e86547545f0aa05b7d53f0eb8fe7ac190ea65e08137501f3e4bb41b739ab580797f98ff707a4ab290f442c4
+EBUILD gvim-9999.ebuild 10447 BLAKE2B 52bf51193fadf512feccc8691d923cf7ca9e62faf037db5bced7a43cdcfe3b2bbd0b487cec1aa8f93674760cf5a9212c4b5a64bb68ebeb0e497ea50526e32839 SHA512 dc9f1fe1479fa607f376762abc8525118db403450e86547545f0aa05b7d53f0eb8fe7ac190ea65e08137501f3e4bb41b739ab580797f98ff707a4ab290f442c4
+MISC metadata.xml 578 BLAKE2B a0b7e41324455706748f79109affec89e72dece0b41346d0cc804742cc7e5aa88f89556623b1aac4f53387afe6e6145049079b1cd44d3411bcf2f8ee8c7c2bfd SHA512 b2db961a6e59b803e2371c4e6dda496917d6c5e332f36062be8dbfa4fb47b4b640d8deb6871c9ff3c5a527fdf9c16aa13f14b9e0a37f93a3a10c6f6b57808126
diff --git a/app-editors/gvim/files/gvim-completion b/app-editors/gvim/files/gvim-completion
new file mode 100644
index 000000000000..6488a82bc76e
--- /dev/null
+++ b/app-editors/gvim/files/gvim-completion
@@ -0,0 +1,40 @@
+# Author: Ciaran McCreesh <ciaranm@gentoo.org>
+#
+# completion for gvim
+
+_gvim()
+{
+ 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'
+ args="${args} --echo-wid --remote --remote-expr \
+ --remote-send --remote-silent --remote-wait \
+ --remote-wait-silent --serverlist \
+ --servername --socketid"
+ COMPREPLY=( $( compgen -W "${args}" -- $cur ) )
+ else
+ _filedir
+ fi
+}
+
+complete -o filenames -F _gvim gvim evim eview gview gvimdiff rgvim rgview
+
+# vim: set ft=sh sw=4 et sts=4 :
diff --git a/app-editors/gvim/files/gvim.svg b/app-editors/gvim/files/gvim.svg
new file mode 100644
index 000000000000..b82742a79012
--- /dev/null
+++ b/app-editors/gvim/files/gvim.svg
@@ -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>
diff --git a/app-editors/gvim/files/gvimrc-r1 b/app-editors/gvim/files/gvimrc-r1
new file mode 100644
index 000000000000..27f398c1011c
--- /dev/null
+++ b/app-editors/gvim/files/gvimrc-r1
@@ -0,0 +1,28 @@
+scriptencoding utf-8
+" ^^ Please leave the above line at the start of the file.
+
+" Default configuration file for gvim
+"
+" Written by Aron Griffis <agriffis@gentoo.org>
+"
+" This file is read AFTER normal Vim initializations, like reading your .vimrc
+" file (and the default /usr/share/vim/vimrc). So there's no reason to
+" duplicate settings from vimrc. Red Hat has had this wrong for years, to the
+" great annoyance of users.
+
+" Pre-GUI settings
+set columns=80 lines=30 " don't inherit geometry from parent term
+set mousemodel=popup " right mouse button pops up a menu in the GUI
+
+" Use a sufficiently wide window automatically when started as "gvimdiff"
+if (&foldmethod == 'diff')
+ set columns=165
+endif
+
+" For bug 33327, add a mapping which allows shift-insert to function
+" as expected in insert and command-line modes
+map! <s-insert> <c-r>*
+
+if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local")
+ source @GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local
+endif
diff --git a/app-editors/gvim/gvim-8.0.1298.ebuild b/app-editors/gvim/gvim-8.0.1298.ebuild
new file mode 100644
index 000000000000..3fdb1bbddf1f
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1298.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+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 ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.0.1428.ebuild b/app-editors/gvim/gvim-8.0.1428.ebuild
new file mode 100644
index 000000000000..b19e4d692308
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1428.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.0.1645.ebuild b/app-editors/gvim/gvim-8.0.1645.ebuild
new file mode 100644
index 000000000000..7b9da4cf8c27
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1645.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE=threads
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1
+
+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 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( || ( dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 ) )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.0.1699-r1.ebuild b/app-editors/gvim/gvim-8.0.1699-r1.ebuild
new file mode 100644
index 000000000000..5cc2db95231c
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1699-r1.ebuild
@@ -0,0 +1,372 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE="threads"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1 ruby-single
+
+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 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )"
+
+DEPEND="
+ ${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.0.1699.ebuild b/app-editors/gvim/gvim-8.0.1699.ebuild
new file mode 100644
index 000000000000..bb0c86ef868e
--- /dev/null
+++ b/app-editors/gvim/gvim-8.0.1699.ebuild
@@ -0,0 +1,373 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE="threads"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1 ruby-single
+
+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 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ gnome? ( >=gnome-base/libgnomeui-2.6 )
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-8.1.0034.ebuild b/app-editors/gvim/gvim-8.1.0034.ebuild
new file mode 100644
index 000000000000..57cb962fe0ba
--- /dev/null
+++ b/app-editors/gvim/gvim-8.1.0034.ebuild
@@ -0,0 +1,372 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE="threads"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1 ruby-single
+
+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 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/gvim-9999.ebuild b/app-editors/gvim/gvim-9999.ebuild
new file mode 100644
index 000000000000..57cb962fe0ba
--- /dev/null
+++ b/app-editors/gvim/gvim-9999.ebuild
@@ -0,0 +1,372 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIM_VERSION="8.0"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE="threads"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+inherit vim-doc flag-o-matic xdg-utils gnome2-utils versionator bash-completion-r1 prefix python-single-r1 ruby-single
+
+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 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+fi
+
+DESCRIPTION="GUI version of the Vim text editor"
+HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
+
+SLOT="0"
+LICENSE="vim"
+IUSE="acl aqua cscope debug gnome gtk gtk3 lua luajit motif neXt netbeans nls perl python racket ruby selinux session tcl"
+REQUIRED_USE="
+ luajit? ( lua )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ ~app-editors/vim-core-${PV}
+ >=app-eselect/eselect-vi-1.1
+ >=sys-libs/ncurses-5.2-r2:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXt
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ !aqua? (
+ gtk3? (
+ x11-libs/gtk+:3
+ x11-libs/libXft
+ )
+ !gtk3? (
+ gtk? (
+ >=x11-libs/gtk+-2.6:2
+ x11-libs/libXft
+ )
+ !gtk? (
+ motif? ( >=x11-libs/motif-2.3:0 )
+ !motif? (
+ neXt? ( x11-libs/neXtaw )
+ !neXt? ( x11-libs/libXaw )
+ )
+ )
+ )
+ )
+ cscope? ( dev-util/cscope )
+ lua? (
+ luajit? ( dev-lang/luajit:2= )
+ !luajit? ( dev-lang/lua:0[deprecated] )
+ )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ racket? ( dev-scheme/racket )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+ session? ( x11-libs/libSM )
+ tcl? ( dev-lang/tcl:0= )
+"
+DEPEND="${RDEPEND}
+ dev-util/ctags
+ sys-devel/autoconf
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+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 || die
+ export HOME="${T}"/home
+
+ 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}"/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
+
+ # 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
+ 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'
+
+ 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 -e \
+ 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
+ rm -v src/auto/configure || die "rm failed"
+ emake -j1 -C src autoconf
+
+ # This should fix a sandbox violation (see bug 24447). The hvc
+ # things are for ppc64, see bug 86433.
+ local file
+ for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
+ if [[ -e ${file} ]]; then
+ addwrite $file
+ fi
+ done
+
+ use debug && append-flags "-DDEBUG"
+
+ myconf=(
+ --with-features=huge
+ --disable-gpm
+ --enable-multibyte
+ $(use_enable acl)
+ $(use_enable cscope)
+ $(use_enable lua luainterp)
+ $(use_with luajit)
+ $(use_enable netbeans)
+ $(use_enable nls)
+ $(use_enable perl perlinterp)
+ $(use_enable python pythoninterp)
+ $(use_enable python python3interp)
+ $(use_enable racket mzschemeinterp)
+ $(use_enable ruby rubyinterp)
+ $(use_enable selinux)
+ $(use_enable session xsmp)
+ $(use_enable tcl tclinterp)
+ )
+
+ # --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 "couldn't disable cscope"
+ fi
+
+ # gvim's GUI preference order is as follows:
+ # aqua CARBON (not tested)
+ # -aqua gtk3 GTK3
+ # -aqua -gtk3 gnome GNOME2
+ # -aqua -gtk3 -gnome gtk GTK2
+ # -aqua -gtk -gtk3 motif MOTIF
+ # -aqua -gtk -gtk3 -motif neXt NEXTAW
+ # -aqua -gtk -gtk3 -motif -neXt ATHENA
+ echo ; echo
+ if use aqua; then
+ einfo "Building gvim with the Carbon GUI"
+ myconf+=(
+ --enable-darwin
+ --enable-gui=carbon
+ )
+ elif use gtk3; then
+ myconf+=( --enable-gtk3-check )
+ einfo "Building gvim with the gtk+-3 GUI"
+ myconf+=( --enable-gui=gtk3 )
+ elif use gtk; then
+ myconf+=( --enable-gtk2-check )
+ if use gnome; then
+ einfo "Building gvim with the Gnome 2 GUI"
+ myconf+=( --enable-gui=gnome2 )
+ else
+ einfo "Building gvim with the gtk+-2 GUI"
+ myconf+=( --enable-gui=gtk2 )
+ fi
+ elif use motif; then
+ einfo "Building gvim with the MOTIF GUI"
+ myconf+=( --enable-gui=motif )
+ elif use neXt; then
+ einfo "Building gvim with the neXtaw GUI"
+ myconf+=( --enable-gui=nextaw )
+ else
+ einfo "Building gvim with the Athena GUI"
+ myconf+=( --enable-gui=athena )
+ fi
+ echo ; echo
+
+ # 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 [[ ${CHOST} == *-interix* ]]; then
+ # avoid finding of this function, to avoid having to patch either
+ # configure or the source, which would be much more hackish.
+ # after all vim does it right, only interix is badly broken (again)
+ export ac_cv_func_sigaction=no
+ fi
+
+ econf \
+ --with-modified-by=Gentoo-${PVR} \
+ --with-vim-name=gvim \
+ --with-x \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ # The following allows emake to be used
+ emake -j1 -C src auto/osdef.h objects
+
+ emake
+}
+
+src_test() {
+ echo
+ 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."
+ echo
+ ewarn "If the tests fail, your terminal may be left in a strange"
+ ewarn "state. Usually, running 'reset' will fix this."
+ echo
+
+ # Don't let vim talk to X
+ unset DISPLAY
+
+ # Make gvim not try to connect to X. See :help gui-x11-start in vim for how
+ # this evil trickery works.
+ ln -s "${S}"/src/gvim "${S}"/src/testvim || die
+
+ # Make sure our VIMPROG is used.
+ sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die
+
+ # Don't do additional GUI tests.
+ emake -j1 VIMPROG=../testvim -C src/testdir nongui
+}
+
+# Call eselect vi update with --if-unset
+# to respect user's choice (bug 187449)
+eselect_vi_update() {
+ einfo "Calling eselect vi update..."
+ eselect vi update --if-unset
+ eend $?
+}
+
+src_install() {
+ local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
+
+ dobin src/gvim
+ dosym gvim /usr/bin/gvimdiff
+ dosym gvim /usr/bin/evim
+ dosym gvim /usr/bin/eview
+ dosym gvim /usr/bin/gview
+ dosym gvim /usr/bin/rgvim
+ dosym gvim /usr/bin/rgview
+
+ emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons
+
+ dodir /usr/share/man/man1
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed"
+ echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed"
+ echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \
+ die "echo failed"
+
+ insinto /etc/vim
+ newins "${FILESDIR}"/gvimrc-r1 gvimrc
+ eprefixify "${ED}"/etc/vim/gvimrc
+
+ doicon -s scalable "${FILESDIR}"/gvim.svg
+
+ # bash completion script, bug #79018.
+ newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
+
+ # don't install vim desktop file
+ rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop"
+}
+
+pkg_postinst() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
+
+pkg_postrm() {
+ # Update documentation tags (from vim-doc.eclass)
+ update_vim_helptags
+
+ # Update fdo mime stuff, bug #78394
+ xdg_desktop_database_update
+
+ # Update icon cache
+ gnome2_icon_cache_update
+
+ # Call eselect vi update
+ eselect_vi_update
+}
diff --git a/app-editors/gvim/metadata.xml b/app-editors/gvim/metadata.xml
new file mode 100644
index 000000000000..aa4ea747bcc9
--- /dev/null
+++ b/app-editors/gvim/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Enable GTK+3 interface</flag>
+ <flag name="netbeans">Include netbeans external editor integration support</flag>
+ <flag name="racket">Enable support for Scheme using <pkg>dev-scheme/racket</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">vim/vim</remote-id>
+ </upstream>
+</pkgmetadata>