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