vim.spec 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. ##
  2. ## vim.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH
  4. ## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  5. ## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # package versions
  26. %define V_vl 6.2
  27. %define V_vs 62
  28. %define V_pl 21
  29. # package information
  30. Name: vim
  31. Summary: The Vi (Improved) Text Editor
  32. URL: http://www.vim.org/
  33. Vendor: Bram Moolenaar et al.
  34. Packager: The OpenPKG Project
  35. Distribution: OpenPKG [CORE]
  36. Group: Editor
  37. License: Charityware
  38. Version: %{V_vl}.%{V_pl}
  39. Release: 20030705
  40. # package options
  41. %option with_x11 no
  42. %option with_features normal
  43. %option with_multibyte no
  44. %option with_perl no
  45. %option with_python no
  46. # list of sources
  47. Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-src1.tar.gz
  48. Source1: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-src2.tar.gz
  49. Source2: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-rt1.tar.gz
  50. Source3: ftp://ftp.vim.org/pub/vim/unix/vim-%{V_vl}-rt2.tar.gz
  51. Source4: rc.vim
  52. Patch1: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.001
  53. Patch2: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.002
  54. Patch3: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.003
  55. Patch4: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.004
  56. Patch5: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.005
  57. Patch6: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.006
  58. Patch7: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.007
  59. Patch8: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.008
  60. Patch9: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.009
  61. Patch10: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.010
  62. Patch11: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.011
  63. Patch12: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.012
  64. Patch13: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.013
  65. Patch14: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.014
  66. Patch15: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.015
  67. Patch16: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.016
  68. Patch17: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.017
  69. Patch18: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.018
  70. Patch19: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.019
  71. Patch20: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.020
  72. Patch21: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.021
  73. # build information
  74. Prefix: %{l_prefix}
  75. BuildRoot: %{l_buildroot}
  76. BuildPreReq: OpenPKG, openpkg >= 20030103
  77. PreReq: OpenPKG, openpkg >= 20030103
  78. %if "%{with_x11}" == "yes"
  79. BuildPreReq: X11, gtk
  80. PreReq: X11, gtk
  81. %endif
  82. %if "%{with_perl}" == "yes"
  83. BuildPreReq: perl
  84. PreReq: perl
  85. %endif
  86. %if "%{with_python}" == "yes"
  87. BuildPreReq: python
  88. PreReq: python
  89. %endif
  90. AutoReq: no
  91. AutoReqProv: no
  92. %description
  93. Vim (Vi Improved) is a text editor that is upwards compatible
  94. with the classical Unix Vi. It can be used to edit any ASCII
  95. text. It is especially useful for editing programs. Vim offers
  96. a lot of enhancements not available in the traditional Vi. For
  97. example, Vim has multi level undo, multi windows and buffers, syntax
  98. highlighting, command line editing, filename completion, on-line
  99. help, and visual selection.
  100. %prep
  101. # unpack base distribution parts
  102. %setup0 -q -c
  103. %setup1 -q -T -D -a 1
  104. %setup2 -q -T -D -a 2
  105. %setup3 -q -T -D -a 3
  106. # apply initial jumbo patches
  107. # %{l_gzip} -d -c $RPM_SOURCE_DIR/%{V_vl}.1-100.gz |\
  108. # %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  109. # apply remaining single patches
  110. i=1
  111. while [ $i -le %{V_pl} ]; do
  112. cat $RPM_SOURCE_DIR/%{V_vl}.`echo $i | awk '{ printf("%03d", $0); }'` |\
  113. %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  114. i=`expr $i + 1`
  115. done
  116. # reorder the terminal library search to make sure our ncurses is
  117. # not picked up too easily (because we do not want an explicit
  118. # dependency to it because of vim:CORE vs. ncurses:BASE).
  119. %{l_shtool} subst \
  120. -e 's;ncurses termlib termcap curses;termlib termcap ncurses curses;' \
  121. vim%{V_vs}/src/auto/configure
  122. %build
  123. # configure package
  124. cd vim%{V_vs}/src
  125. CC="%{l_cc}" \
  126. CFLAGS="%{l_cflags -O}" \
  127. CPPFLAGS="%{l_cppflags}" \
  128. LDFLAGS="%{l_ldflags}" \
  129. ./configure \
  130. --prefix=%{l_prefix} \
  131. %if "%{with_x11}" == "yes"
  132. --with-x \
  133. --x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \
  134. --x-libraries=`%{l_prefix}/etc/rc --query x11_libdir` \
  135. --enable-gui=gtk \
  136. --with-gtk-prefix=%{l_prefix} \
  137. --disable-gtktest \
  138. --without-gnome \
  139. %else
  140. --without-x \
  141. --disable-gui \
  142. %endif
  143. %if "%{with_features}" == "huge"
  144. --with-features=huge \
  145. %else
  146. %if "%{with_features}" == "big"
  147. --with-features=big \
  148. %else
  149. %if "%{with_features}" == "small"
  150. --with-features=small \
  151. %else
  152. --with-features=normal \
  153. %endif
  154. %endif
  155. %endif
  156. %if "%{with_multibyte}" == "yes"
  157. --enable-multibyte \
  158. %endif
  159. %if "%{with_perl}" == "yes"
  160. --enable-perlinterp=%{l_prefix}/bin/perl \
  161. %endif
  162. %if "%{with_python}" == "yes"
  163. --enable-pythoninterp=%{l_prefix}/bin/python \
  164. %endif
  165. --disable-nls
  166. %{l_shtool} subst \
  167. -e 's;^\(VIMRTDIR[^=]*=\).*;\1;' \
  168. Makefile
  169. # build package
  170. %{l_make} %{l_mflags -O}
  171. %install
  172. # perform package installation procedure
  173. rm -rf $RPM_BUILD_ROOT
  174. ( cd vim%{V_vs}/src
  175. %{l_make} %{l_mflags} install \
  176. prefix=$RPM_BUILD_ROOT%{l_prefix} )
  177. # strip down installation hierarchy
  178. strip $RPM_BUILD_ROOT%{l_prefix}/bin/vim
  179. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/xxd
  180. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/xxd.1
  181. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/tools
  182. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/macros
  183. # add links for program runtime variants
  184. for link in vi ex rview rvim view vimdiff; do
  185. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  186. ln $RPM_BUILD_ROOT%{l_prefix}/bin/vim \
  187. $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  188. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  189. ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/vim.1 \
  190. $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  191. done
  192. # install run-command script
  193. %{l_shtool} mkdir -f -p -m 755 \
  194. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  195. %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
  196. %{SOURCE rc.vim} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  197. # determine installation files
  198. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  199. %files -f files
  200. %clean
  201. rm -rf $RPM_BUILD_ROOT