##
## vim.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2002 The OpenPKG Project
## Copyright (c) 2000-2002 Ralf S. Engelschall
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
%define V_vl 6.0
%define V_vs 60
%define V_pl 270
# package information
Name: vim
Summary: The Vi (Improved) Text Editor
URL: http://www.vim.org/
Vendor: Bram Moolenaar et al.
Packager: The OpenPKG Project
Distribution: OpenPKG [REL]
Group: Editor
License: Charityware
Version: %{V_vl}.%{V_pl}
Release: 20020222
# list of sources
Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-src1.tar.gz
Source1: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-src2.tar.gz
Source2: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-rt1.tar.gz
Source3: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-rt2.tar.gz
Source4: rc.vim
Patch0: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.1-200.gz
Patch201: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.201
Patch202: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.202
Patch203: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.203
Patch204: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.204
Patch205: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.205
Patch206: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.206
Patch207: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.207
Patch208: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.208
Patch209: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.209
Patch210: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.210
Patch211: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.211
Patch212: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.212
Patch213: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.213
Patch214: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.214
Patch215: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.215
Patch216: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.216
Patch217: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.217
Patch218: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.218
Patch219: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.219
Patch220: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.220
Patch221: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.221
Patch222: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.222
Patch223: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.223
Patch224: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.224
Patch225: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.225
Patch226: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.226
Patch227: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.227
Patch228: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.228
Patch229: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.229
Patch230: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.230
Patch231: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.231
Patch232: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.232
Patch233: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.233
Patch234: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.234
Patch235: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.235
Patch236: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.236
Patch237: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.237
Patch238: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.238
Patch239: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.239
Patch240: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.240
Patch241: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.241
Patch242: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.242
Patch243: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.243
Patch244: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.244
Patch245: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.245
Patch246: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.246
Patch247: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.247
Patch248: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.248
Patch249: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.249
Patch250: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.250
Patch251: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.251
Patch252: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.252
Patch253: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.253
Patch254: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.254
Patch255: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.255
Patch256: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.256
Patch257: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.257
Patch258: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.258
Patch259: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.259
Patch260: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.260
Patch261: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.261
Patch262: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.262
Patch263: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.263
Patch264: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.264
Patch265: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.265
Patch266: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.266
Patch267: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.267
Patch268: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.268
Patch269: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.269
Patch270: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.270
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20020206, gzip, patch
PreReq: OpenPKG, openpkg >= 20020206
AutoReq: no
AutoReqProv: no
%description
Vim (Vi Improved) is a text editor that is upwards compatible to the
classical Unix Vi. It can be used to edit any ASCII text. It is especially
useful for editing programs. There are a lot of enhancements above Vi:
multi level undo, multi windows and buffers, syntax highlighting, com-
mand line editing, filename completion, on-line help, visual selection,
etc.
%prep
%setup0 -q -c
%setup1 -q -T -D -a 1
%setup2 -q -T -D -a 2
%setup3 -q -T -D -a 3
cd vim%{V_vs}
# apply vendor mega patch 6.0.001-6.0.200
%{l_prefix}/bin/gzip -d -c %{PATCH 6.0.1-200.gz} |\
%{l_prefix}/bin/patch -p0 -E -t -s >/dev/null 2>&1 || true
# apply remaining vendor patches 6.0.201-6.0.xxx
i=201
while [ $i -le 270 ]; do
cat $RPM_SOURCE_DIR/6.0.$i |\
%{l_prefix}/bin/patch -p0 -E -t -s >/dev/null 2>&1 || true
i=`expr $i + 1`
done
# prevent execution of autoconf
touch src/auto/configure
%build
( cd vim%{V_vs}/src
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--enable-max-features \
--without-x \
--with-tlib=termcap \
--disable-gui
%{l_make} %{l_mflags -O}
)
%install
( cd vim%{V_vs}/src
rm -rf $RPM_BUILD_ROOT
%{l_make} %{l_mflags} install prefix=$RPM_BUILD_ROOT%{l_prefix}
)
strip $RPM_BUILD_ROOT%{l_prefix}/bin/vim
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/xxd
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/xxd.1
for link in vi ex rview rvim view; do
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$link
ln $RPM_BUILD_ROOT%{l_prefix}/bin/vim \
$RPM_BUILD_ROOT%{l_prefix}/bin/$link
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/vim.1 \
$RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
done
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
%{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
%{SOURCE rc.vim} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT