Gentoo Archives: gentoo-commits

From: "Tim Harder (radhermit)" <radhermit@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-editors/vim: ChangeLog vim-7.4.155.ebuild
Date: Thu, 23 Jan 2014 10:32:27
Message-Id: 20140123103221.4DB282004C@flycatcher.gentoo.org
1 radhermit 14/01/23 10:32:21
2
3 Modified: ChangeLog
4 Added: vim-7.4.155.ebuild
5 Log:
6 Version bump.
7
8 (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 4AB3E85B4F064CA3)
9
10 Revision Changes Path
11 1.451 app-editors/vim/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?rev=1.451&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?rev=1.451&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?r1=1.450&r2=1.451
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v
20 retrieving revision 1.450
21 retrieving revision 1.451
22 diff -u -r1.450 -r1.451
23 --- ChangeLog 27 Dec 2013 22:06:19 -0000 1.450
24 +++ ChangeLog 23 Jan 2014 10:32:21 -0000 1.451
25 @@ -1,6 +1,11 @@
26 # ChangeLog for app-editors/vim
27 -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.450 2013/12/27 22:06:19 tomwij Exp $
29 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
30 +# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.451 2014/01/23 10:32:21 radhermit Exp $
31 +
32 +*vim-7.4.155 (23 Jan 2014)
33 +
34 + 23 Jan 2014; Tim Harder <radhermit@g.o> +vim-7.4.155.ebuild:
35 + Version bump.
36
37 27 Dec 2013; Tom Wijsman <TomWij@g.o> -files/vimrc:
38 [QA] Remove unused files. The vimrc file has been moved to app-editors/vim-
39
40
41
42 1.1 app-editors/vim/vim-7.4.155.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/vim-7.4.155.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/vim-7.4.155.ebuild?rev=1.1&content-type=text/plain
46
47 Index: vim-7.4.155.ebuild
48 ===================================================================
49 # Copyright 1999-2014 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/app-editors/vim/vim-7.4.155.ebuild,v 1.1 2014/01/23 10:32:21 radhermit Exp $
52
53 EAPI=5
54 VIM_VERSION="7.4"
55 PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
56 PYTHON_REQ_USE=threads
57 inherit eutils vim-doc flag-o-matic fdo-mime versionator bash-completion-r1 python-single-r1
58
59 if [[ ${PV} == 9999* ]] ; then
60 inherit mercurial
61 EHG_REPO_URI="https://vim.googlecode.com/hg/"
62 EHG_PROJECT="vim"
63 else
64 VIM_ORG_PATCHES="vim-patches-${PV}.patch.bz2"
65
66 SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-${VIM_VERSION}.tar.bz2
67 http://dev.gentoo.org/~radhermit/vim/${VIM_ORG_PATCHES}"
68 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
69 fi
70
71 DESCRIPTION="Vim, an improved vi-style text editor"
72 HOMEPAGE="http://www.vim.org/"
73
74 SLOT="0"
75 LICENSE="vim"
76 IUSE="X acl cscope debug gpm lua luajit minimal nls perl python racket ruby selinux tcl vim-pager"
77 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
78
79 RDEPEND=">=app-admin/eselect-vi-1.1
80 >=sys-libs/ncurses-5.2-r2
81 nls? ( virtual/libintl )
82 acl? ( kernel_linux? ( sys-apps/acl ) )
83 cscope? ( dev-util/cscope )
84 gpm? ( >=sys-libs/gpm-1.19.3 )
85 lua? (
86 luajit? ( dev-lang/luajit )
87 !luajit? ( dev-lang/lua )
88 )
89 !minimal? (
90 ~app-editors/vim-core-${PV}
91 dev-util/ctags
92 )
93 perl? ( dev-lang/perl )
94 python? ( ${PYTHON_DEPS} )
95 racket? ( dev-scheme/racket )
96 ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) )
97 selinux? ( sys-libs/libselinux )
98 tcl? ( dev-lang/tcl )
99 X? ( x11-libs/libXt )"
100 DEPEND="${RDEPEND}
101 >=app-admin/eselect-vi-1.1
102 sys-devel/autoconf
103 >=sys-libs/ncurses-5.2-r2
104 nls? ( sys-devel/gettext )"
105
106 S=${WORKDIR}/vim${VIM_VERSION/.}
107
108 pkg_setup() {
109 # people with broken alphabets run into trouble. bug 82186.
110 unset LANG LC_ALL
111 export LC_COLLATE="C"
112
113 # Gnome sandbox silliness. bug #114475.
114 mkdir -p "${T}"/home
115 export HOME="${T}"/home
116
117 use python && python-single-r1_pkg_setup
118 }
119
120 src_prepare() {
121 if [[ ${PV} != 9999* ]] ; then
122 if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then
123 # Apply any patches available from vim.org for this version
124 epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2}
125 fi
126 fi
127
128 # Fixup a script to use awk instead of nawk
129 sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
130 || die "mve.awk sed failed"
131
132 # Read vimrc and gvimrc from /etc/vim
133 echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
134 echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
135
136 # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
137 # Hopefully this pattern won't break for a while at least.
138 # This fixes bug 29398 (27 Sep 2003 agriffis)
139 sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
140 "${S}"/runtime/doc/syntax.txt \
141 "${S}"/runtime/doc/tagsrch.txt \
142 "${S}"/runtime/doc/usr_29.txt \
143 "${S}"/runtime/menu.vim \
144 "${S}"/src/configure.in || die 'sed failed'
145
146 # Don't be fooled by /usr/include/libc.h. When found, vim thinks
147 # this is NeXT, but it's actually just a file in dev-libs/9libs
148 # This fixes bug 43885 (20 Mar 2004 agriffis)
149 sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
150
151 # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
152 # correctly. To avoid some really entertaining error messages about stuff
153 # which isn't even in the source file being invalid, we'll do some trickery
154 # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
155 find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
156
157 # conditionally make the manpager.sh script
158 if use vim-pager ; then
159 cat <<-END > "${S}"/runtime/macros/manpager.sh
160 #!/bin/sh
161 sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
162 vim \\
163 -c 'let no_plugin_maps = 1' \\
164 -c 'set nolist nomod ft=man' \\
165 -c 'let g:showmarks_enable=0' \\
166 -c 'runtime! macros/less.vim' -
167 END
168 fi
169
170 # Try to avoid sandbox problems. Bug #114475.
171 if [[ -d "${S}"/src/po ]] ; then
172 sed -i '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
173 "${S}"/src/po/Makefile
174 fi
175
176 if version_is_at_least 7.3.122 ; then
177 cp "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk
178 fi
179
180 # Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
181 if version_is_at_least 7.3 ; then
182 sed -i "s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
183 "${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
184 fi
185 }
186
187 src_configure() {
188 local myconf
189
190 # Fix bug 37354: Disallow -funroll-all-loops on amd64
191 # Bug 57859 suggests that we want to do this for all archs
192 filter-flags -funroll-all-loops
193
194 # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
195 # everyone since previous flag filtering bugs have turned out to affect
196 # multiple archs...
197 replace-flags -O3 -O2
198
199 # Fix bug 18245: Prevent "make" from the following chain:
200 # (1) Notice configure.in is newer than auto/configure
201 # (2) Rebuild auto/configure
202 # (3) Notice auto/configure is newer than auto/config.mk
203 # (4) Run ./configure (with wrong args) to remake auto/config.mk
204 sed -i 's/ auto.config.mk:/:/' src/Makefile || die "Makefile sed failed"
205 rm -f src/auto/configure
206 emake -j1 -C src autoconf
207
208 # This should fix a sandbox violation (see bug 24447). The hvc
209 # things are for ppc64, see bug 86433.
210 for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc* ; do
211 [[ -e ${file} ]] && addwrite $file
212 done
213
214 if use minimal ; then
215 myconf="--with-features=tiny \
216 --disable-nls \
217 --disable-multibyte \
218 --disable-acl \
219 --enable-gui=no \
220 --without-x \
221 --disable-darwin \
222 --disable-luainterp \
223 --disable-perlinterp \
224 --disable-pythoninterp \
225 --disable-mzschemeinterp \
226 --disable-rubyinterp \
227 --disable-selinux \
228 --disable-tclinterp \
229 --disable-gpm"
230 else
231 use debug && append-flags "-DDEBUG"
232
233 myconf="--with-features=huge --enable-multibyte"
234 myconf+=" $(use_enable acl)"
235 myconf+=" $(use_enable cscope)"
236 myconf+=" $(use_enable gpm)"
237 myconf+=" $(use_enable lua luainterp)"
238 myconf+=" $(use_with luajit)"
239 myconf+=" $(use_enable nls)"
240 myconf+=" $(use_enable perl perlinterp)"
241 myconf+=" $(use_enable racket mzschemeinterp)"
242 myconf+=" $(use_enable ruby rubyinterp)"
243 myconf+=" $(use_enable selinux)"
244 myconf+=" $(use_enable tcl tclinterp)"
245
246 if use python ; then
247 if [[ ${EPYTHON} == python3* ]] ; then
248 myconf+=" --enable-python3interp"
249 export vi_cv_path_python3="${PYTHON}"
250 else
251 myconf+=" --enable-pythoninterp"
252 export vi_cv_path_python="${PYTHON}"
253 fi
254 else
255 myconf+=" --disable-pythoninterp --disable-python3interp"
256 fi
257
258 # --with-features=huge forces on cscope even if we --disable it. We need
259 # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
260 if ! use cscope ; then
261 sed -i '/# define FEAT_CSCOPE/d' src/feature.h || \
262 die "couldn't disable cscope"
263 fi
264
265 # don't test USE=X here ... see bug #19115
266 # but need to provide a way to link against X ... see bug #20093
267 myconf+=" --enable-gui=no --disable-darwin $(use_with X x)"
268 fi
269
270 # Let Portage do the stripping. Some people like that.
271 export ac_cv_prog_STRIP="$(type -P true ) faking strip"
272
273 # Keep Gentoo Prefix env contained within the EPREFIX
274 use prefix && myconf+=" --without-local-dir"
275
276 econf \
277 --with-modified-by=Gentoo-${PVR} \
278 ${myconf}
279 }
280
281 src_compile() {
282 # The following allows emake to be used
283 emake -j1 -C src auto/osdef.h objects
284
285 emake
286 }
287
288 src_test() {
289 echo
290 einfo "Starting vim tests. Several error messages will be shown"
291 einfo "while the tests run. This is normal behaviour and does not"
292 einfo "indicate a fault."
293 echo
294 ewarn "If the tests fail, your terminal may be left in a strange"
295 ewarn "state. Usually, running 'reset' will fix this."
296 echo
297
298 # Don't let vim talk to X
299 unset DISPLAY
300
301 # We've got to call make test from within testdir, since the Makefiles
302 # don't pass through our VIMPROG argument
303 cd "${S}"/src/testdir
304
305 # Test 49 won't work inside a portage environment
306 einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
307 sed -i 's~test49.out~~g' Makefile
308
309 # We don't want to rebuild vim before running the tests
310 sed -i 's,: \$(VIMPROG),: ,' Makefile
311
312 # Don't try to do the additional GUI test
313 emake -j1 VIMPROG=../vim nongui
314 }
315
316 # Make convenience symlinks, hopefully without stepping on toes. Some
317 # of these links are "owned" by the vim ebuild when it is installed,
318 # but they might be good for gvim as well (see bug 45828)
319 update_vim_symlinks() {
320 has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}"
321 local f syms
322 syms="vimdiff rvim rview"
323 einfo "Calling eselect vi update..."
324 # Call this with --if-unset to respect user's choice (bug 187449)
325 eselect vi update --if-unset
326
327 # Make or remove convenience symlink, vim -> gvim
328 if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
329 ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
330 elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
331 rm "${EROOT}"/usr/bin/vim
332 fi
333
334 # Make or remove convenience symlinks to vim
335 if [[ -f "${EROOT}"/usr/bin/vim ]]; then
336 for f in ${syms}; do
337 ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
338 done
339 else
340 for f in ${syms}; do
341 if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
342 rm -f "${EROOT}"/usr/bin/${f}
343 fi
344 done
345 fi
346
347 # This will still break if you merge then remove the vi package,
348 # but there's only so much you can do, eh? Unfortunately we don't
349 # have triggers like are done in rpm-land.
350 }
351
352 src_install() {
353 local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
354
355 # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
356 # managed by eselect-vi
357 dobin src/vim
358 dosym vim /usr/bin/vimdiff
359 dosym vim /usr/bin/rvim
360 dosym vim /usr/bin/rview
361 if use vim-pager ; then
362 dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
363 dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
364 insinto ${vimfiles}/macros
365 doins runtime/macros/manpager.sh
366 fperms a+x ${vimfiles}/macros/manpager.sh
367 fi
368
369 newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
370
371 # We shouldn't be installing the ex or view man page symlinks, as they
372 # are managed by eselect-vi
373 rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
374 }
375
376 pkg_postinst() {
377 # Update documentation tags (from vim-doc.eclass)
378 update_vim_helptags
379
380 if [[ -z ${REPLACING_VERSIONS} ]] ; then
381 if use X ; then
382 echo
383 elog "The 'X' USE flag enables vim <-> X communication, like"
384 elog "updating the xterm titlebar. It does not install a GUI."
385 fi
386 echo
387 elog "To install a GUI version of vim, use the app-editors/gvim"
388 elog "package."
389 echo
390 elog "Vim 7 includes an integrated spell checker. You need to install"
391 elog "word list files before you can use it. There are ebuilds for"
392 elog "some of these named app-vim/vim-spell-*. If your language of"
393 elog "choice is not included, please consult vim-spell.eclass for"
394 elog "instructions on how to make a package."
395 echo
396 ewarn "Note that the English word lists are no longer installed by"
397 ewarn "default."
398 fi
399
400 # Make convenience symlinks
401 update_vim_symlinks
402 }
403
404 pkg_postrm() {
405 # Update documentation tags (from vim-doc.eclass)
406 update_vim_helptags
407
408 # Make convenience symlinks
409 update_vim_symlinks
410 }