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.41.ebuild
Date: Fri, 27 Sep 2013 19:26:30
Message-Id: 20130927192625.CF2B52004C@flycatcher.gentoo.org
1 radhermit 13/09/27 19:26:25
2
3 Modified: ChangeLog
4 Added: vim-7.4.41.ebuild
5 Log:
6 Version bump.
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 4AB3E85B4F064CA3)
9
10 Revision Changes Path
11 1.445 app-editors/vim/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?rev=1.445&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?rev=1.445&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/ChangeLog?r1=1.444&r2=1.445
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v
20 retrieving revision 1.444
21 retrieving revision 1.445
22 diff -u -r1.444 -r1.445
23 --- ChangeLog 6 Sep 2013 07:34:51 -0000 1.444
24 +++ ChangeLog 27 Sep 2013 19:26:25 -0000 1.445
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.444 2013/09/06 07:34:51 radhermit Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.445 2013/09/27 19:26:25 radhermit Exp $
30 +
31 +*vim-7.4.41 (27 Sep 2013)
32 +
33 + 27 Sep 2013; Tim Harder <radhermit@g.o> +vim-7.4.41.ebuild:
34 + Version bump.
35
36 06 Sep 2013; Tim Harder <radhermit@g.o> -vim-7.4.ebuild,
37 -vim-7.4.5.ebuild:
38
39
40
41 1.1 app-editors/vim/vim-7.4.41.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/vim-7.4.41.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/vim/vim-7.4.41.ebuild?rev=1.1&content-type=text/plain
45
46 Index: vim-7.4.41.ebuild
47 ===================================================================
48 # Copyright 1999-2013 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.41.ebuild,v 1.1 2013/09/27 19:26:25 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 and gvim shared files"
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 ruby vim-pager"
76 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
77
78 RDEPEND=">=app-admin/eselect-vi-1.1
79 >=sys-libs/ncurses-5.2-r2
80 nls? ( virtual/libintl )
81 acl? ( kernel_linux? ( sys-apps/acl ) )
82 cscope? ( dev-util/cscope )
83 gpm? ( >=sys-libs/gpm-1.19.3 )
84 lua? (
85 luajit? ( dev-lang/luajit )
86 !luajit? ( dev-lang/lua )
87 )
88 !minimal? (
89 ~app-editors/vim-core-${PV}
90 dev-util/ctags
91 )
92 perl? ( dev-lang/perl )
93 python? ( ${PYTHON_DEPS} )
94 ruby? ( || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 ) )
95 X? ( x11-libs/libXt )"
96 DEPEND="${RDEPEND}
97 >=app-admin/eselect-vi-1.1
98 sys-devel/autoconf
99 >=sys-libs/ncurses-5.2-r2
100 nls? ( sys-devel/gettext )"
101
102 S=${WORKDIR}/vim${VIM_VERSION/.}
103
104 pkg_setup() {
105 # people with broken alphabets run into trouble. bug 82186.
106 unset LANG LC_ALL
107 export LC_COLLATE="C"
108
109 # Gnome sandbox silliness. bug #114475.
110 mkdir -p "${T}"/home
111 export HOME="${T}"/home
112
113 use python && python-single-r1_pkg_setup
114 }
115
116 src_prepare() {
117 if [[ ${PV} != 9999* ]] ; then
118 if [[ -f "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2} ]] ; then
119 # Apply any patches available from vim.org for this version
120 epatch "${WORKDIR}"/${VIM_ORG_PATCHES%.bz2}
121 fi
122 fi
123
124 # Fixup a script to use awk instead of nawk
125 sed -i '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' "${S}"/runtime/tools/mve.awk \
126 || die "mve.awk sed failed"
127
128 # Patch to build with ruby-1.8.0_pre5 and following
129 sed -i 's/defout/stdout/g' "${S}"/src/if_ruby.c
130
131 # Read vimrc and gvimrc from /etc/vim
132 echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h
133 echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h
134
135 # Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
136 # Hopefully this pattern won't break for a while at least.
137 # This fixes bug 29398 (27 Sep 2003 agriffis)
138 sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
139 "${S}"/runtime/doc/syntax.txt \
140 "${S}"/runtime/doc/tagsrch.txt \
141 "${S}"/runtime/doc/usr_29.txt \
142 "${S}"/runtime/menu.vim \
143 "${S}"/src/configure.in || die 'sed failed'
144
145 # Don't be fooled by /usr/include/libc.h. When found, vim thinks
146 # this is NeXT, but it's actually just a file in dev-libs/9libs
147 # This fixes bug 43885 (20 Mar 2004 agriffis)
148 sed -i 's/ libc\.h / /' "${S}"/src/configure.in || die 'sed failed'
149
150 # gcc on sparc32 has this, uhm, interesting problem with detecting EOF
151 # correctly. To avoid some really entertaining error messages about stuff
152 # which isn't even in the source file being invalid, we'll do some trickery
153 # to make the error never occur. bug 66162 (02 October 2004 ciaranm)
154 find "${S}" -name '*.c' | while read c ; do echo >> "$c" ; done
155
156 # conditionally make the manpager.sh script
157 if use vim-pager ; then
158 cat <<-END > "${S}"/runtime/macros/manpager.sh
159 #!/bin/sh
160 sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
161 vim \\
162 -c 'let no_plugin_maps = 1' \\
163 -c 'set nolist nomod ft=man' \\
164 -c 'let g:showmarks_enable=0' \\
165 -c 'runtime! macros/less.vim' -
166 END
167 fi
168
169 # Try to avoid sandbox problems. Bug #114475.
170 if [[ -d "${S}"/src/po ]] ; then
171 sed -i -e \
172 '/-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-rubyinterp \
226 --disable-gpm"
227 else
228 use debug && append-flags "-DDEBUG"
229
230 myconf="--with-features=huge --enable-multibyte"
231 myconf+=" $(use_enable acl)"
232 myconf+=" $(use_enable cscope)"
233 myconf+=" $(use_enable gpm)"
234 myconf+=" $(use_enable nls)"
235 myconf+=" $(use_enable perl perlinterp)"
236
237 if use python ; then
238 if [[ ${EPYTHON} == python3* ]] ; then
239 myconf+=" --enable-python3interp"
240 export vi_cv_path_python3="${PYTHON}"
241 else
242 myconf+=" --enable-pythoninterp"
243 export vi_cv_path_python="${PYTHON}"
244 fi
245 else
246 myconf+=" --disable-pythoninterp --disable-python3interp"
247 fi
248
249 myconf+=" $(use_enable lua luainterp)"
250 myconf+=" $(use_with luajit)"
251 myconf+=" $(use_enable ruby rubyinterp)"
252
253 # tclinterp is broken; when you --enable-tclinterp flag, then
254 # the following command never returns:
255 # VIMINIT='let OS=system("uname -s")' vim
256 # mzscheme support is currently broken. bug #91970
257 #myconf+=" $(use_enable mzscheme mzschemeinterp)"
258
259 # --with-features=huge forces on cscope even if we --disable it. We need
260 # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
261 if ! use cscope ; then
262 sed -i -e '/# define FEAT_CSCOPE/d' src/feature.h || \
263 die "couldn't disable cscope"
264 fi
265
266 # don't test USE=X here ... see bug #19115
267 # but need to provide a way to link against X ... see bug #20093
268 myconf+=" --enable-gui=no --disable-darwin $(use_with X x)"
269 fi
270
271 # Let Portage do the stripping. Some people like that.
272 export ac_cv_prog_STRIP="$(type -P true ) faking strip"
273
274 # Keep Gentoo Prefix env contained within the EPREFIX
275 use prefix && myconf+=" --without-local-dir"
276
277 econf \
278 --with-modified-by=Gentoo-${PVR} \
279 --disable-selinux \
280 ${myconf}
281 }
282
283 src_compile() {
284 # The following allows emake to be used
285 emake -j1 -C src auto/osdef.h objects
286
287 emake
288 }
289
290 src_test() {
291 echo
292 einfo "Starting vim tests. Several error messages will be shown"
293 einfo "while the tests run. This is normal behaviour and does not"
294 einfo "indicate a fault."
295 echo
296 ewarn "If the tests fail, your terminal may be left in a strange"
297 ewarn "state. Usually, running 'reset' will fix this."
298 echo
299
300 # Don't let vim talk to X
301 unset DISPLAY
302
303 # We've got to call make test from within testdir, since the Makefiles
304 # don't pass through our VIMPROG argument
305 cd "${S}"/src/testdir
306
307 # Test 49 won't work inside a portage environment
308 einfo "Test 49 isn't sandbox-friendly, so it will be skipped."
309 sed -i -e 's~test49.out~~g' Makefile
310
311 # We don't want to rebuild vim before running the tests
312 sed -i -e 's,: \$(VIMPROG),: ,' Makefile
313
314 # Don't try to do the additional GUI test
315 emake -j1 VIMPROG=../vim nongui \
316 || die "At least one test failed"
317 }
318
319 # Make convenience symlinks, hopefully without stepping on toes. Some
320 # of these links are "owned" by the vim ebuild when it is installed,
321 # but they might be good for gvim as well (see bug 45828)
322 update_vim_symlinks() {
323 has "${EAPI:-0}" 0 1 2 && use !prefix && EROOT="${ROOT}"
324 local f syms
325 syms="vimdiff rvim rview"
326 einfo "Calling eselect vi update..."
327 # Call this with --if-unset to respect user's choice (bug 187449)
328 eselect vi update --if-unset
329
330 # Make or remove convenience symlink, vim -> gvim
331 if [[ -f "${EROOT}"/usr/bin/gvim ]]; then
332 ln -s gvim "${EROOT}"/usr/bin/vim 2>/dev/null
333 elif [[ -L "${EROOT}"/usr/bin/vim && ! -f "${EROOT}"/usr/bin/vim ]]; then
334 rm "${EROOT}"/usr/bin/vim
335 fi
336
337 # Make or remove convenience symlinks to vim
338 if [[ -f "${EROOT}"/usr/bin/vim ]]; then
339 for f in ${syms}; do
340 ln -s vim "${EROOT}"/usr/bin/${f} 2>/dev/null
341 done
342 else
343 for f in ${syms}; do
344 if [[ -L "${EROOT}"/usr/bin/${f} && ! -f "${EROOT}"/usr/bin/${f} ]]; then
345 rm -f "${EROOT}"/usr/bin/${f}
346 fi
347 done
348 fi
349
350 # This will still break if you merge then remove the vi package,
351 # but there's only so much you can do, eh? Unfortunately we don't
352 # have triggers like are done in rpm-land.
353 }
354
355 src_install() {
356 local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
357
358 # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
359 # managed by eselect-vi
360 dobin src/vim
361 dosym vim /usr/bin/vimdiff
362 dosym vim /usr/bin/rvim
363 dosym vim /usr/bin/rview
364 if use vim-pager ; then
365 dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
366 dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
367 insinto ${vimfiles}/macros
368 doins runtime/macros/manpager.sh
369 fperms a+x ${vimfiles}/macros/manpager.sh
370 fi
371
372 newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
373
374 # We shouldn't be installing the ex or view man page symlinks, as they
375 # are managed by eselect-vi
376 rm -f "${ED}"/usr/share/man/man1/{ex,view}.1
377 }
378
379 pkg_postinst() {
380 # Update documentation tags (from vim-doc.eclass)
381 update_vim_helptags
382
383 if use X ; then
384 echo
385 elog "The 'X' USE flag enables vim <-> X communication, like"
386 elog "updating the xterm titlebar. It does not install a GUI."
387 fi
388 echo
389 elog "To install a GUI version of vim, use the app-editors/gvim"
390 elog "package."
391 echo
392 elog "Vim 7 includes an integrated spell checker. You need to install"
393 elog "word list files before you can use it. There are ebuilds for"
394 elog "some of these named app-vim/vim-spell-*. If your language of"
395 elog "choice is not included, please consult vim-spell.eclass for"
396 elog "instructions on how to make a package."
397 echo
398 ewarn "Note that the English word lists are no longer installed by"
399 ewarn "default."
400 echo
401
402 echo
403 elog "To see what's new in this release, use :help version${VIM_VERSION/.*/}.txt"
404
405 # Make convenience symlinks
406 update_vim_symlinks
407 }
408
409 pkg_postrm() {
410 # Update documentation tags (from vim-doc.eclass)
411 update_vim_helptags
412
413 # Make convenience symlinks
414 update_vim_symlinks
415 }