diff options
Diffstat (limited to 'app-editors/gvim/gvim-7.4.5.ebuild')
-rw-r--r-- | app-editors/gvim/gvim-7.4.5.ebuild | 401 |
1 files changed, 0 insertions, 401 deletions
diff --git a/app-editors/gvim/gvim-7.4.5.ebuild b/app-editors/gvim/gvim-7.4.5.ebuild deleted file mode 100644 index 435a530c304e..000000000000 --- a/app-editors/gvim/gvim-7.4.5.ebuild +++ /dev/null @@ -1,401 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-editors/gvim/gvim-7.4.5.ebuild,v 1.2 2013/08/18 18:34:46 radhermit Exp $ - -EAPI=5 -VIM_VERSION="7.4" -PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) -PYTHON_REQ_USE=threads -inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 prefix python-single-r1 - -if [[ ${PV} == 9999* ]] ; then - inherit mercurial - EHG_REPO_URI="https://vim.googlecode.com/hg/" - EHG_PROJECT="vim" -else - VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2" - - SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2 - http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}" - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" -fi - -DESCRIPTION="vim and gvim shared files" -HOMEPAGE="http://www.vim.org/" - -SLOT="0" -LICENSE="vim" -IUSE="X acl aqua cscope debug gnome gpm gtk lua luajit minimal motif neXt netbeans nls perl python ruby" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=">=app-admin/eselect-vi-1.1 - >=sys-libs/ncurses-5.2-r2 - nls? ( virtual/libintl ) - acl? ( kernel_linux? ( sys-apps/acl ) ) - cscope? ( dev-util/cscope ) - gpm? ( >=sys-libs/gpm-1.19.3 ) - lua? ( - luajit? ( dev-lang/luajit ) - !luajit? ( dev-lang/lua ) - ) - !minimal? ( - ~app-editors/vim-core-${PV} - dev-util/ctags - ) - perl? ( dev-lang/perl ) - python? ( ${PYTHON_DEPS} ) - ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) ) - X? ( x11-libs/libXt )" -DEPEND="${RDEPEND} - >=app-admin/eselect-vi-1.1 - dev-util/ctags - sys-devel/autoconf - >=sys-libs/ncurses-5.2-r2 - !aqua? ( - gtk? ( - virtual/pkgconfig - ) - ) - nls? ( sys-devel/gettext )" - -S=${WORKDIR}/vim${VIM_VERSION/.} - -pkg_setup() { - # people with broken alphabets run into trouble. bug 82186. - unset LANG LC_ALL - export LC_COLLATE="C" - - # Gnome sandbox silliness. bug #114475. - mkdir -p "${T}"/home - export HOME="${T}"/home - - use python && python-single-r1_pkg_setup -} - -src_prepare() { - if [[ ${PV} != 9999* ]] ; then - if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then - # Apply any patches available from vim.org for this version - epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} - fi - - if [[ -d "${WORKDIR}"/gentoo/patches-core/ ]]; then - # Patches for vim-core only (runtime/*) - EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/gentoo/patches-core/ - fi - fi - - # Fixup a script to use awk instead of nawk - sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \ - || die "mve.awk sed failed" - - # Patch to build with ruby-1.8.0_pre5 and following - sed -i 's/defout/stdout/g' "${S}"/src/if_ruby.c - - # Read vimrc and gvimrc from /etc/vim - echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h - echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h - - # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. - # Hopefully this pattern won't break for a while at least. - # This fixes bug 29398 (27 Sep 2003 agriffis) - sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \ - "${S}"/runtime/doc/syntax.txt \ - "${S}"/runtime/doc/tagsrch.txt \ - "${S}"/runtime/doc/usr_29.txt \ - "${S}"/runtime/menu.vim \ - "${S}"/src/configure.in || die 'sed failed' - - # Don't be fooled by /usr/include/libc.h. When found, vim thinks - # this is NeXT, but it's actually just a file in dev-libs/9libs - # This fixes bug 43885 (20 Mar 2004 agriffis) - sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed' - - # gcc on sparc32 has this, uhm, interesting problem with detecting EOF - # correctly. To avoid some really entertaining error messages about stuff - # which isn't even in the source file being invalid, we'll do some trickery - # to make the error never occur. bug 66162 (02 October 2004 ciaranm) - find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done - - # Try to avoid sandbox problems. Bug #114475. - if [[ -d "${S}"/src/po ]] ; then - sed -i -e \ - '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ - "${S}"/src/po/Makefile - fi - - if version_is_at_least 7.3.122 ; then - cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk - fi - - # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0 - if version_is_at_least 7.3 ; then - sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \ - "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed' - fi -} - -src_configure() { - local myconf - - # Fix bug 37354: Disallow -funroll-all-loops on amd64 - # Bug 57859 suggests that we want to do this for all archs - filter-flags -funroll-all-loops - - # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for - # everyone since previous flag filtering bugs have turned out to affect - # multiple archs... - replace-flags -O3 -O2 - - # Fix bug 18245: Prevent "make" from the following chain: - # (1) Notice configure.in is newer than auto/configure - # (2) Rebuild auto/configure - # (3) Notice auto/configure is newer than auto/config.mk - # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed" - rm -f src/auto/configure - emake -j1 -C src autoconf - - # This should fix a sandbox violation (see bug 24447). The hvc - # things are for ppc64, see bug 86433. - for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do - [[ -e ${file} ]] && addwrite $file - done - - use debug && append-flags "-DDEBUG" - - myconf="--with-features=huge --enable-multibyte" - myconf+=" $(use_enable acl)" - myconf+=" $(use_enable cscope)" - myconf+=" $(use_enable gpm)" - myconf+=" $(use_enable nls)" - myconf+=" $(use_enable perl perlinterp)" - - if use python ; then - if [[ ${EPYTHON} == python3* ]] ; then - myconf+=" --enable-python3interp" - export vi_cv_path_python3="${PYTHON}" - else - myconf+=" --enable-pythoninterp" - export vi_cv_path_python="${PYTHON}" - fi - else - myconf+=" --disable-pythoninterp --disable-python3interp" - fi - - # tclinterp is broken; when you --enable-tclinterp flag, then - # the following command never returns: - # VIMINIT='let OS=system("uname -s")' vim - # mzscheme support is currently broken. bug #91970 - #myconf+=" $(use_enable mzscheme mzschemeinterp)" - - # --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 gnome GNOME2 - # -aqua gtk -gnome GTK2 - # -aqua -gtk motif MOTIF - # -aqua -gtk -motif neXt NEXTAW - # -aqua -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-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 Portage do the stripping. Some people like that. - export ac_cv_prog_STRIP="$(type -P true ) faking strip" - - # Keep Gentoo Prefix env contained within the EPREFIX - use prefix && myconf+=" --without-local-dir" - - 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 \ - --disable-selinux \ - $(use_enable lua luainterp) \ - $(use_with luajit) \ - $(use_enable netbeans) \ - $(use_enable ruby rubyinterp) \ - ${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 - - # We've got to call make test from within testdir, since the Makefiles - # don't pass through our VIMPROG argument - cd "${S}"/src/testdir - - # Test 49 won't work inside a portage environment - einfo "Test 49 isn't sandbox-friendly, so it will be skipped." - sed -i -e 's~test49.out~~g' Makefile - - # We don't want to rebuild vim before running the tests - sed -i -e 's,: \$(VIMPROG),: ,' Makefile - - # 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 - - # Don't try to do the additional GUI test - emake -j1 VIMPROG=../testvim nongui \ - || die "At least one test failed" -} - -# Make convenience symlinks, hopefully without stepping on toes. Some -# of these links are "owned" by the vim ebuild when it is installed, -# but they might be good for gvim as well (see bug 45828) -update_vim_symlinks() { - has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}" - local f syms - syms="vimdiff rvim rview" - einfo "Calling eselect vi update..." - # Call this with --if-unset to respect user's choice (bug 187449) - eselect vi update --if-unset - - # Make or remove convenience symlink, vim -> gvim - if [[ -f "${EROOT}"/usr/bin/gvim ]]; then - ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null - elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then - rm "${EROOT}"/usr/bin/vim - fi - - # Make or remove convenience symlinks to vim - if [[ -f "${EROOT}"/usr/bin/vim ]]; then - for f in ${syms}; do - ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null - done - else - for f in ${syms}; do - if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then - rm -f "${EROOT}"/usr/bin/${f} - fi - done - fi - - # This will still break if you merge then remove the vi package, - # but there's only so much you can do, eh? Unfortunately we don't - # have triggers like are done in rpm-land. -} - -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 - - dodir /usr/share/man/man1 - echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 - echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 - echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 - - insinto /etc/vim - newins "${FILESDIR}"/gvimrc-r1 gvimrc - eprefixify "${ED}"/etc/vim/gvimrc - - insinto /usr/share/applications - newins "${FILESDIR}"/gvim.desktop-r2 gvim.desktop - insinto /usr/share/pixmaps - doins "${FILESDIR}"/gvim.xpm - - # bash completion script, bug #79018. - newbashcomp "${FILESDIR}"/${PN}-completion ${PN} - - # We shouldn't be installing the ex or view man page symlinks, as they - # are managed by eselect-vi - rm -f "${ED}"/usr/share/man/man1/{ex,view}.1 -} - -vim_pkg_postinst() { - # Update documentation tags (from vim-doc.eclass) - update_vim_helptags - - # Update fdo mime stuff, bug #78394 - fdo-mime_mime_database_update - - if [[ -z ${REPLACING_VERSIONS} ]] ; then - echo - elog "Vim 7 includes an integrated spell checker. You need to install" - elog "word list files before you can use it. There are ebuilds for" - elog "some of these named app-vim/vim-spell-*. If your language of" - elog "choice is not included, please consult vim-spell.eclass for" - elog "instructions on how to make a package." - echo - ewarn "Note that the English word lists are no longer installed by" - ewarn "default." - echo - fi - - echo - einfo "To see what's new in this release, use :help version${VIM_VERSION/.*/}.txt" - - # Make convenience symlinks - update_vim_symlinks -} - -vim_pkg_postrm() { - # Update documentation tags (from vim-doc.eclass) - update_vim_helptags - - # Update fdo mime stuff, bug #78394 - fdo-mime_mime_database_update - - # Make convenience symlinks - update_vim_symlinks -} |