From 21435953e16cda318a82334ddbadb3b5c36d9ea7 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 15 Jan 2020 15:51:32 +0000 Subject: gentoo resync : 15.01.2020 --- app-editors/gvim/Manifest | 10 +- app-editors/gvim/gvim-8.1.1486.ebuild | 4 +- app-editors/gvim/gvim-8.1.1846.ebuild | 4 +- app-editors/gvim/gvim-8.2.0055.ebuild | 370 ++++++++++++++++++++++++++++++++++ app-editors/gvim/gvim-8.2.0114.ebuild | 367 +++++++++++++++++++++++++++++++++ app-editors/gvim/gvim-9999.ebuild | 34 ++-- 6 files changed, 764 insertions(+), 25 deletions(-) create mode 100644 app-editors/gvim/gvim-8.2.0055.ebuild create mode 100644 app-editors/gvim/gvim-8.2.0114.ebuild (limited to 'app-editors/gvim') diff --git a/app-editors/gvim/Manifest b/app-editors/gvim/Manifest index e831ad8ba9f7..96dfc867e22c 100644 --- a/app-editors/gvim/Manifest +++ b/app-editors/gvim/Manifest @@ -3,7 +3,11 @@ AUX gvimrc-r1 990 BLAKE2B 5fc0b805458aff22485e3e180ca8c32a62f2cfe49572edffa5725d DIST vim-8.0.0938-gentoo-patches.tar.bz2 2316 BLAKE2B 05a87f32fc5cc65e7f5e4e5a87c654b2040ad39f1555ddde7e0e6f473dc8b520916a795406bb6bbeaf5e7ae8748aacebe7a9679461e48802e69417e945eea827 SHA512 a6062be5e6a5c5b437081312df5742353242b5171bf26da04aa6ca216d2b142b2411a88bc1edd460d28e00a59a210c8e1729e801fac6f1efd86bb2e437a56a2b DIST vim-8.1.1486.tar.gz 14318109 BLAKE2B 6054df175a32e9ed36873802a4a669cc46e034bac879cb829e45ece53f9440e97cccad47e370ebdef8dc1bb963e8e8c84bd517a3a6561705786dcab7e2368d21 SHA512 0a521d74c60f2a32e8a11e16f256e2e99fb9c00f478cd8d7a9328315abbd445796153f03884ab2b240905260317809a33afb64627b9a71ac8d6db1cbd4026d20 DIST vim-8.1.1846.tar.gz 14415116 BLAKE2B 59c2864519e100f9bc2617dd7b31a8cc17ff20fc87a761eba653e91a70688c3b4a5f05c527acaf6d075830d23c7ef8842595b6558eac2ab5209029153f1adb10 SHA512 d5a5cb7733f3190915e2b1389fea48d119afef27eac6f04ac3967f57e894cab811727a694c6837bb5acef9997cd56018d4b37efeb413c654012aaaea02bf7c7a -EBUILD gvim-8.1.1486.ebuild 10484 BLAKE2B 705dc36a68203d67960bafd223e3470dbcf110ae2adb703a66a036471398062e8f67321dbab9be7a2ab7f55fad981b879374750540833d07572a0108687bded8 SHA512 0b5a4ec94b3be6c7617666ba76d205e6b049a242a449ae6276ed0e6b4fad7ac468a84016e3b7b9da851f32a20c113b219a490dab8e7c79da9b392c60192bfb69 -EBUILD gvim-8.1.1846.ebuild 10560 BLAKE2B f978c64faf723120390ff56bb17fcc91a3c4e325bd5bc592adfd68cfb8fc9421937de21d3343739364742289ade6ec77b0bd8ffd701995964b82de0f07a45025 SHA512 b400dd6a94ba7bde34c064d0444ec3d3d98d04aa14398e7e94a0b80142858155d28296fbbbcc12c3f8bbb3e7cdca5727c187cd1d6d24ee6db307677e4d332331 -EBUILD gvim-9999.ebuild 10469 BLAKE2B 71861c44a0a6013c1effbb221b499c8e6805b3263fe6064c2139ebc4970894250696d72faf72a4f5fcfd84ae41ad4d1ad7c4331898a30e41176bdbe4c7d99734 SHA512 d4948fb7f77706838f6d15ff8d7d25020dafd95e36899638199020ac363618b71a6614df9e27312a6d70e75d8dd0a70f356a37f6f5942b59821b32178c1db440 +DIST vim-8.2.0055.tar.gz 14655766 BLAKE2B 73703f4f08cd78f75c53cd446e3edc171805a19bce37bcc4f420f4800d50b515a265ceb885947668e8654666cfca52a189f2abc407d2db0f520a6ceb124e20ec SHA512 ccbf0bb4cd294292ef69c2b7f4539ed87aa3cbdb5e638dbcc3e86b8e3986c96419c033685a7b2293382ace0599457a523e3bf25815882cec74f6ecec87139d92 +DIST vim-8.2.0114.tar.gz 14667122 BLAKE2B 3f6219592a1b8ed85caee4cfa289e4042380da4e4a563692fb36d60fdec9e29930a8e20963fa57dddd4dd346928b34626ea51a8ab79085c1fac86c755bccfeac SHA512 0e45a63bc910f8f2972e2df076523d3a2612836bee0cffba6c2753eeadaff978054689af4029384713e822aabe0e57aa8c89bbb5f9a813781f381c3a2a416d1f +EBUILD gvim-8.1.1486.ebuild 10480 BLAKE2B 007b09cc3a0e77ac67dbe365e97df30a3c1741947f4b221a342b9e1166dcde9fc5f4e63c88a9953180bbfe3fe22759d6ca80fbff4d662c95bda3086790fff8af SHA512 8109c52b6d01e9620530d4b7f2a4a2be7ddeb3b512bdb4ebab48ff902f31e8b9850e99ff62b5505248de438264bdc57790b8711c9c9d01c63c52cc1ed812bea7 +EBUILD gvim-8.1.1846.ebuild 10556 BLAKE2B 7df798e79326c4bbf64be95fcae2f3ac4668dedc949211010cc6f82c69d2e85f6ae96089c063947bf424a33e2956bcbdaf044a43bbaa8375e5f5540c1daeb434 SHA512 acb4e88bd8fa52f8fc69eb038030f3d148ec916cbcdd812411b8bb58ed7a2801bdc32a04b7af057d925113c6353aade536cc1a5a8da138a1ffd0e54227bb4837 +EBUILD gvim-8.2.0055.ebuild 10556 BLAKE2B 66fd819bf91a53ef4535df4a63c0cc85b65c33d5d5db66219d5e895bddb5c7f2eea1fb2450456d549cfac2143d82fcd5bf1c2150cc39f4b91f60416fa367f2f4 SHA512 7e7693d91affa860adb941c25dad8583abbb5720d7fb2aa44919e9850cac8ef6b711dd138fb1799029f7f918164f4ebb175e4a9d461a5adcb234121f069dd62a +EBUILD gvim-8.2.0114.ebuild 10337 BLAKE2B c00d99958dcbf5113bfe5166f230d300ce4bca7419beeea2f2f18386da89e93bc475cc37613c20ec1f7d42cca1afae4095a98a3a5c602664c8d2df3ce2f80dcb SHA512 8e8fa7b48e4bd196dcbf7d13ba921ba5bf4039e72c2ab1f62a810d82db6de00d2bc62030a45b7d78593f7d29df55ded4993d07a19f555896d145ed690143c14f +EBUILD gvim-9999.ebuild 10337 BLAKE2B c00d99958dcbf5113bfe5166f230d300ce4bca7419beeea2f2f18386da89e93bc475cc37613c20ec1f7d42cca1afae4095a98a3a5c602664c8d2df3ce2f80dcb SHA512 8e8fa7b48e4bd196dcbf7d13ba921ba5bf4039e72c2ab1f62a810d82db6de00d2bc62030a45b7d78593f7d29df55ded4993d07a19f555896d145ed690143c14f MISC metadata.xml 633 BLAKE2B 5ecbefdb3a4a116a9e56113621970dd581f27dd42f8b6ed4fd445cb675bec4729bbce076a0d20de3dd329e00723f51d64df9a7b62658fa8f1348982aa8b8628d SHA512 bca6784d9746a7d98aaec2e3469b8bb3057802b869181c79622d16cfd31b06ca8c9dd89cb147f11c1f709fda2312973e7e115efea257a781905fb3a789b0cfce diff --git a/app-editors/gvim/gvim-8.1.1486.ebuild b/app-editors/gvim/gvim-8.1.1486.ebuild index 3db19e3bb9bc..a6611c41126a 100644 --- a/app-editors/gvim/gvim-8.1.1486.ebuild +++ b/app-editors/gvim/gvim-8.1.1486.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 VIM_VERSION="8.1" -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +PYTHON_COMPAT=( python{2_7,3_6,3_7} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby24 ruby25 ruby26" diff --git a/app-editors/gvim/gvim-8.1.1846.ebuild b/app-editors/gvim/gvim-8.1.1846.ebuild index 29b3e72b4e23..270617a27f6d 100644 --- a/app-editors/gvim/gvim-8.1.1846.ebuild +++ b/app-editors/gvim/gvim-8.1.1846.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 VIM_VERSION="8.1" -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +PYTHON_COMPAT=( python{2_7,3_6,3_7} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby24 ruby25 ruby26" diff --git a/app-editors/gvim/gvim-8.2.0055.ebuild b/app-editors/gvim/gvim-8.2.0055.ebuild new file mode 100644 index 000000000000..b03fab986ea8 --- /dev/null +++ b/app-editors/gvim/gvim-8.2.0055.ebuild @@ -0,0 +1,370 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VIM_VERSION="8.2" +PYTHON_COMPAT=( python{2_7,3_6,3_7} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby24 ruby25 ruby26" + +inherit vim-doc flag-o-matic xdg-utils gnome2-utils 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 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + >=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? ( + gtk? ( + x11-libs/gtk+:3 + x11-libs/libXft + ) + !gtk? ( + gtk2? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + ) + !gtk2? ( + 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 ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" +# temporarily use PDEPEND to allow upgrades past icon file collision, bug #673880 +PDEPEND="~app-editors/vim-core-${PV}" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +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/\> "$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 + --with-gnome=no + $(use_enable sound canberra) + $(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_with python python-command $(type -P $(eselect python show --python2))) + $(use_with python python3-command $(type -P $(eselect python show --python3))) + $(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 gtk GTK3 + # -aqua -gtk gtk2 GTK2 + # -aqua -gtk -gtk motif MOTIF + # -aqua -gtk -gtk -motif neXt NEXTAW + # -aqua -gtk -gtk -motif -neXt ATHENA + echo ; echo + if use aqua; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk; then + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + elif use gtk2; then + myconf+=( --enable-gtk2-check ) + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + 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() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # 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 + + # 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.2.0114.ebuild b/app-editors/gvim/gvim-8.2.0114.ebuild new file mode 100644 index 000000000000..2bdfc5eb2348 --- /dev/null +++ b/app-editors/gvim/gvim-8.2.0114.ebuild @@ -0,0 +1,367 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +VIM_VERSION="8.2" +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby24 ruby25 ruby26 ruby27" + +inherit vim-doc flag-o-matic xdg-utils 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 ~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 gtk gtk2 lua luajit motif neXt netbeans nls perl python racket ruby selinux session sound tcl" +REQUIRED_USE=" + 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? ( + gtk? ( + x11-libs/gtk+:3 + x11-libs/libXft + ) + !gtk? ( + gtk2? ( + >=x11-libs/gtk+-2.6:2 + x11-libs/libXft + ) + !gtk2? ( + 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 ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND="${RDEPEND} + sys-devel/autoconf + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +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/\> "$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 + --with-gnome=no + $(use_enable sound canberra) + $(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 python3interp) + $(use_with python python3-command $(type -P $(eselect python show --python3))) + $(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 gtk GTK3 + # -aqua -gtk gtk2 GTK2 + # -aqua -gtk -gtk motif MOTIF + # -aqua -gtk -gtk -motif neXt NEXTAW + # -aqua -gtk -gtk -motif -neXt ATHENA + echo ; echo + if use aqua; then + einfo "Building gvim with the Carbon GUI" + myconf+=( + --enable-darwin + --enable-gui=carbon + ) + elif use gtk; then + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + elif use gtk2; then + myconf+=( --enable-gtk2-check ) + einfo "Building gvim with the gtk+-2 GUI" + myconf+=( --enable-gui=gtk2 ) + 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() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # 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 + + # 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 + xdg_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 + xdg_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 index a26105139406..2bdfc5eb2348 100644 --- a/app-editors/gvim/gvim-9999.ebuild +++ b/app-editors/gvim/gvim-9999.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -VIM_VERSION="8.1" -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +EAPI=7 +VIM_VERSION="8.2" +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) PYTHON_REQ_USE="threads(+)" -USE_RUBY="ruby24 ruby25 ruby26" +USE_RUBY="ruby24 ruby25 ruby26 ruby27" -inherit vim-doc flag-o-matic xdg-utils gnome2-utils bash-completion-r1 prefix python-single-r1 ruby-single +inherit vim-doc flag-o-matic xdg-utils bash-completion-r1 prefix python-single-r1 ruby-single if [[ ${PV} == 9999* ]]; then inherit git-r3 @@ -199,9 +199,7 @@ src_configure() { $(use_enable netbeans) $(use_enable nls) $(use_enable perl perlinterp) - $(use_enable python pythoninterp) $(use_enable python python3interp) - $(use_with python python-command $(type -P $(eselect python show --python2))) $(use_with python python3-command $(type -P $(eselect python show --python3))) $(use_enable racket mzschemeinterp) $(use_enable ruby rubyinterp) @@ -341,29 +339,29 @@ src_install() { } pkg_postinst() { - # Update documentation tags (from vim-doc.eclass) + # update documentation tags (from vim-doc.eclass) update_vim_helptags - # Update fdo mime stuff, bug #78394 + # update fdo mime stuff, bug #78394 xdg_desktop_database_update - # Update icon cache - gnome2_icon_cache_update + # update icon cache + xdg_icon_cache_update - # Call eselect vi update + # call eselect vi update eselect_vi_update } pkg_postrm() { - # Update documentation tags (from vim-doc.eclass) + # update documentation tags (from vim-doc.eclass) update_vim_helptags - # Update fdo mime stuff, bug #78394 + # update fdo mime stuff, bug #78394 xdg_desktop_database_update - # Update icon cache - gnome2_icon_cache_update + # update icon cache + xdg_icon_cache_update - # Call eselect vi update + # call eselect vi update eselect_vi_update } -- cgit v1.2.3