| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 |
- ##
- ## vim.spec -- OpenPKG RPM Package Specification
- ## Copyright (c) 2000-2016 OpenPKG Foundation e.V. <http://openpkg.net/>
- ##
- ## 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 8.0
- %define V_vs 80
- %define V_pl 0088
- # package information
- Name: vim
- Summary: The Vi (Improved) Text Editor
- URL: http://www.vim.org/
- Vendor: Bram Moolenaar et al.
- Packager: OpenPKG Foundation e.V.
- Distribution: OpenPKG Community
- Class: CORE
- Group: Editor
- License: Charityware
- Version: %{V_vl}.%{V_pl}
- Release: 20161117
- # package options
- %option with_features normal
- %option with_multibyte yes
- %option with_perl no
- %option with_python no
- %option with_tcl no
- %option with_ruby no
- %option with_shell no
- # list of sources
- Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}.tar.bz2
- Source2: rc.vim
- Source3: vimrc
- Patch0: vim.patch
- Patch1: vim.patch.shell
- Patch101: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0001
- Patch102: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0002
- Patch103: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0003
- Patch104: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0004
- Patch105: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0005
- Patch106: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0006
- Patch107: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0007
- Patch108: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0008
- Patch109: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0009
- Patch110: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0010
- Patch111: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0011
- Patch112: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0012
- Patch113: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0013
- Patch114: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0014
- Patch115: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0015
- Patch116: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0016
- Patch117: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0017
- Patch118: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0018
- Patch119: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0019
- Patch120: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0020
- Patch121: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0021
- Patch122: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0022
- Patch123: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0023
- Patch124: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0024
- Patch125: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0025
- Patch126: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0026
- Patch127: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0027
- Patch128: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0028
- Patch129: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0029
- Patch130: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0030
- Patch131: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0031
- Patch132: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0032
- Patch133: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0033
- Patch134: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0034
- Patch135: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0035
- Patch136: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0036
- Patch137: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0037
- Patch138: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0038
- Patch139: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0039
- Patch140: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0040
- Patch141: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0041
- Patch142: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0042
- Patch143: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0043
- Patch144: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0044
- Patch145: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0045
- Patch146: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0046
- Patch147: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0047
- Patch148: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0048
- Patch149: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0049
- Patch150: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0050
- Patch151: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0051
- Patch152: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0052
- Patch153: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0053
- Patch154: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0054
- Patch155: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0055
- Patch156: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0056
- Patch157: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0057
- Patch158: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0058
- Patch159: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0059
- Patch160: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0060
- Patch161: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0061
- Patch162: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0062
- Patch163: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0063
- Patch164: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0064
- Patch165: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0065
- Patch166: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0066
- Patch167: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0067
- Patch168: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0068
- Patch169: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0069
- Patch170: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0070
- Patch171: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0071
- Patch172: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0072
- Patch173: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0073
- Patch174: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0074
- Patch175: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0075
- Patch176: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0076
- Patch177: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0077
- Patch178: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0078
- Patch179: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0079
- Patch180: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0080
- Patch181: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0081
- Patch182: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0082
- Patch183: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0083
- Patch184: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0084
- Patch185: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0085
- Patch186: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0086
- Patch187: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0087
- Patch188: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/%{V_vl}.0088
- # build information
- BuildPreReq: OpenPKG, openpkg >= 20160101, ncurses
- PreReq: OpenPKG, openpkg >= 20160101, ncurses
- %if "%{with_perl}" == "yes"
- BuildPreReq: perl
- PreReq: perl
- %endif
- %if "%{with_python}" == "yes"
- BuildPreReq: python
- PreReq: python
- %endif
- %if "%{with_tcl}" == "yes"
- BuildPreReq: tcl
- PreReq: tcl
- %endif
- %if "%{with_ruby}" == "yes"
- BuildPreReq: ruby
- PreReq: ruby
- %endif
- %if "%{with_shell}" == "yes"
- BuildPreReq: autoconf
- %endif
- %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 = {
- version = %{V_vl}
- url = ftp://ftp.vim.org/pub/vim/unix/
- regex = vim-(\d+.\d+)\.tar\.(gz|bz2)
- }
- prog vim:patchlevel = {
- version = %{V_vl}.%{V_pl}
- url = ftp://ftp.vim.org/pub/vim/patches/%{V_vl}/
- regex = (%{V_vl}\.\d+)
- }
- %prep
- # unpack base distribution parts
- %setup -q -c
- %patch -p0
- %if "%{with_shell}" == "yes"
- %patch -p0 -d vim%{V_vs} -P 1
- %endif
- # apply bundle patchsets
- # for patchset in 0001-1000; do
- # %{l_gzip} -d -c $RPM_SOURCE_DIR/%{V_vl}.$patchset.gz |\
- # %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
- # done
- # apply remaining single patches
- i=1
- while [ $i -le %{V_pl} ]; do
- cat $RPM_SOURCE_DIR/%{V_vl}.`echo $i | awk '{ printf("%04d", $0); }'` |\
- %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
- i=`expr $i + 1`
- done
- # adjust introduction text for OpenPKG branding
- %{l_shtool} subst \
- -e 's;Modified by;Packaged by;' \
- vim%{V_vs}/src/version.c
- # adjust paths to global configuration files
- %{l_shtool} subst \
- -e 's;^/\* \(#define SYS_VIMRC_FILE\).*$;\1 "%{l_prefix}/etc/vim/vimrc";' \
- -e 's;^/\* \(#define SYS_GVIMRC_FILE\).*$;\1 "%{l_prefix}/etc/vim/gvimrc";' \
- vim%{V_vs}/src/feature.h
- %if "%{with_python}" == "yes"
- # fix Python includes
- %{l_shtool} subst \
- -e 's;PYTHON_CFLAGS=.*$;PYTHON_CFLAGS="`python-config --includes`";' \
- vim%{V_vs}/src/auto/configure
- %endif
- %build
- # configure package
- cd vim%{V_vs}/src
- %if "%{with_shell}" == "yes"
- %{l_make} %{l_mflags} autoconf
- %endif
- CC="%{l_cc}" \
- CFLAGS="%{l_cflags -O}" \
- CPPFLAGS="%{l_cppflags}" \
- LDFLAGS="%{l_ldflags}" \
- GREP="grep" \
- ./configure \
- --prefix=%{l_prefix} \
- --mandir=%{l_prefix}/man \
- --with-local-dir=%{l_prefix} \
- --with-global-runtime=%{l_prefix}/lib/vim \
- --with-modified-by='%{l_openpkg_release}' \
- --with-tlib=ncurses \
- --without-x \
- --disable-gui \
- %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 \
- %else
- --disable-perlinterp \
- %endif
- %if "%{with_python}" == "yes"
- --enable-pythoninterp \
- --with-python-config-dir=%{l_prefix}/lib/python/config \
- %else
- --disable-pythoninterp \
- %endif
- %if "%{with_tcl}" == "yes"
- --enable-tclinterp \
- %else
- --disable-tclinterp \
- %endif
- %if "%{with_ruby}" == "yes"
- --enable-rubyinterp \
- %else
- --disable-rubyinterp \
- %endif
- --disable-nls
- %{l_shtool} subst \
- -e 's;^\(VIMRTDIR[^=]*=\).*;\1;' \
- Makefile
- # build package
- %{l_make} %{l_mflags -O}
- %install
- # perform package installation procedure
- ( cd vim%{V_vs}/src
- %{l_make} %{l_mflags} install \
- prefix=$RPM_BUILD_ROOT%{l_prefix} \
- MANDIR=$RPM_BUILD_ROOT%{l_prefix}/man
- ) || exit $?
- # strip down installation hierarchy
- strip $RPM_BUILD_ROOT%{l_prefix}/bin/vim >/dev/null 2>&1 || true
- 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
- # create installation area for addon packages
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/lib/vim
- # 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/
- # install default configuration
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/etc/vim
- %{l_shtool} install -c -m 755 %{l_value -s -a} \
- %{SOURCE vimrc} $RPM_BUILD_ROOT%{l_prefix}/etc/vim/
- # determine installation files
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
- %{l_files_std} \
- '%config %{l_prefix}/etc/vim/vimrc'
- %files -f files
- %clean
- %preun
- if [ $1 -eq 0 ]; then
- # remove a (usually empty) "helptags" file of addon packages
- rm -f $RPM_INSTALL_PREFIX/lib/vim/doc/tags >/dev/null 2>&1 || true
- fi
|