## ## vim.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2004 The OpenPKG Project ## Copyright (c) 2000-2004 Ralf S. Engelschall ## Copyright (c) 2000-2004 Cable & Wireless ## ## 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. ## # package versions %define V_vl 6.3 %define V_vs 63 %define V_pl 14 # 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 Class: CORE Group: Editor License: Charityware Version: %{V_vl}.%{V_pl} Release: 20040724 # package options %option with_x11 no %option with_features normal %option with_multibyte no %option with_perl no %option with_python no # 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: vim.patch Patch1: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.001 Patch2: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.002 Patch3: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.003 Patch4: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.004 Patch5: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.005 Patch6: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.006 Patch7: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.007 Patch8: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.008 Patch9: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.009 Patch10: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.010 Patch11: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.011 Patch12: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.012 Patch13: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.013 Patch14: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.014 # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130 PreReq: OpenPKG, openpkg >= 20040130 %if "%{with_x11}" == "yes" BuildPreReq: X11, gtk PreReq: X11, gtk %endif %if "%{with_perl}" == "yes" BuildPreReq: perl PreReq: perl %endif %if "%{with_python}" == "yes" BuildPreReq: python PreReq: python %endif AutoReq: no AutoReqProv: no %description Vim (Vi Improved) is a text editor that is upwards compatible with the classical Unix Vi. It can be used to edit any ASCII text. It is especially useful for editing programs. Vim offers a lot of enhancements not available in the traditional Vi. For example, Vim has multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, and visual selection. %track prog vim:patchlevel = { version = %{V_vl}.%{V_pl} url = ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/ regex = (\d+\.\d+\.\d+) } prog vim:rt1 = { version = %{V_vl} url = ftp://ftp.vim.org/pub/vim/unix/ regex = vim-(\d+.\d+)-rt1\.tar\.gz } prog vim:rt2 = { version = %{V_vl} url = ftp://ftp.vim.org/pub/vim/unix/ regex = vim-(\d+.\d+)-rt2\.tar\.gz } prog vim:src1 = { version = %{V_vl} url = ftp://ftp.vim.org/pub/vim/unix/ regex = vim-(\d+.\d+)-src1\.tar\.gz } prog vim:src2 = { version = %{V_vl} url = ftp://ftp.vim.org/pub/vim/unix/ regex = vim-(\d+.\d+)-src2\.tar\.gz } %prep # unpack base distribution parts %setup -q -c %setup -q -T -D -a 1 %setup -q -T -D -a 2 %setup -q -T -D -a 3 %patch -p0 # apply initial jumbo patches # %{l_gzip} -d -c $RPM_SOURCE_DIR/%{V_vl}.1-100.gz |\ # %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true # apply remaining single patches i=1 while [ $i -le %{V_pl} ]; do cat $RPM_SOURCE_DIR/%{V_vl}.`echo $i | awk '{ printf("%03d", $0); }'` |\ %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true i=`expr $i + 1` done # reorder the terminal library search to make sure our ncurses is # not picked up too easily (because we do not want an explicit # dependency to it because of vim:CORE vs. ncurses:BASE). %{l_shtool} subst \ -e 's;ncurses termlib termcap curses;termlib termcap ncurses curses;' \ vim%{V_vs}/src/auto/configure # adjust introduction text for OpenPKG branding %{l_shtool} subst \ -e 's;Modified by;Packaged by;' \ vim%{V_vs}/src/version.c %build # configure package cd vim%{V_vs}/src CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} \ --with-modified-by='%{l_openpkg_release}' \ %if "%{with_x11}" == "yes" --with-x \ --x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \ --x-libraries=`%{l_prefix}/etc/rc --query x11_libdir` \ --enable-gui=gtk \ --with-gtk-prefix=%{l_prefix} \ --disable-gtktest \ --without-gnome \ %else --without-x \ --disable-gui \ %endif %if "%{with_features}" == "huge" --with-features=huge \ %else %if "%{with_features}" == "big" --with-features=big \ %else %if "%{with_features}" == "small" --with-features=small \ %else --with-features=normal \ %endif %endif %endif %if "%{with_multibyte}" == "yes" --enable-multibyte \ %endif %if "%{with_perl}" == "yes" --enable-perlinterp=%{l_prefix}/bin/perl \ %endif %if "%{with_python}" == "yes" --enable-pythoninterp=%{l_prefix}/bin/python \ %endif --disable-nls %{l_shtool} subst \ -e 's;^\(VIMRTDIR[^=]*=\).*;\1;' \ Makefile # build package %{l_make} %{l_mflags -O} %install # perform package installation procedure rm -rf $RPM_BUILD_ROOT ( cd vim%{V_vs}/src %{l_make} %{l_mflags} install \ prefix=$RPM_BUILD_ROOT%{l_prefix} ) || exit $? # strip down installation hierarchy 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 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/tools rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/macros # add links for program runtime variants for link in vi ex rview rvim view vimdiff; 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 # install run-command script %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.vim} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean rm -rf $RPM_BUILD_ROOT