vim.spec 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. ##
  2. ## vim.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.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 135
  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: 20031027
  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. Patch0: vim.patch
  53. Patch1: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.001
  54. Patch2: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.002
  55. Patch3: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.003
  56. Patch4: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.004
  57. Patch5: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.005
  58. Patch6: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.006
  59. Patch7: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.007
  60. Patch8: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.008
  61. Patch9: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.009
  62. Patch10: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.010
  63. Patch11: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.011
  64. Patch12: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.012
  65. Patch13: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.013
  66. Patch14: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.014
  67. Patch15: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.015
  68. Patch16: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.016
  69. Patch17: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.017
  70. Patch18: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.018
  71. Patch19: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.019
  72. Patch20: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.020
  73. Patch21: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.021
  74. Patch22: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.022
  75. Patch23: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.023
  76. Patch24: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.024
  77. Patch25: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.025
  78. Patch26: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.026
  79. Patch27: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.027
  80. Patch28: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.028
  81. Patch29: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.029
  82. Patch30: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.030
  83. Patch31: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.031
  84. Patch32: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.032
  85. Patch33: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.033
  86. Patch34: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.034
  87. Patch35: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.035
  88. Patch36: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.036
  89. Patch37: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.037
  90. Patch38: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.038
  91. Patch39: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.039
  92. Patch40: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.040
  93. Patch41: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.041
  94. Patch42: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.042
  95. Patch43: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.043
  96. Patch44: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.044
  97. Patch45: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.045
  98. Patch46: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.046
  99. Patch47: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.047
  100. Patch48: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.048
  101. Patch49: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.049
  102. Patch50: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.050
  103. Patch51: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.051
  104. Patch52: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.052
  105. Patch53: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.053
  106. Patch54: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.054
  107. Patch55: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.055
  108. Patch56: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.056
  109. Patch57: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.057
  110. Patch58: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.058
  111. Patch59: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.059
  112. Patch60: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.060
  113. Patch61: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.061
  114. Patch62: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.062
  115. Patch63: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.063
  116. Patch64: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.064
  117. Patch65: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.065
  118. Patch66: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.066
  119. Patch67: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.067
  120. Patch68: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.068
  121. Patch69: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.069
  122. Patch70: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.070
  123. Patch71: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.071
  124. Patch72: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.072
  125. Patch73: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.073
  126. Patch74: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.074
  127. Patch75: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.075
  128. Patch76: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.076
  129. Patch77: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.077
  130. Patch78: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.078
  131. Patch79: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.079
  132. Patch80: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.080
  133. Patch81: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.081
  134. Patch82: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.082
  135. Patch83: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.083
  136. Patch84: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.084
  137. Patch85: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.085
  138. Patch86: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.086
  139. Patch87: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.087
  140. Patch88: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.088
  141. Patch89: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.089
  142. Patch90: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.090
  143. Patch91: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.091
  144. Patch92: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.092
  145. Patch93: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.093
  146. Patch94: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.094
  147. Patch95: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.095
  148. Patch96: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.096
  149. Patch97: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.097
  150. Patch98: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.098
  151. Patch99: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.099
  152. Patch100: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.100
  153. Patch101: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.101
  154. Patch102: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.102
  155. Patch103: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.103
  156. Patch104: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.104
  157. Patch105: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.105
  158. Patch106: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.106
  159. Patch107: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.107
  160. Patch108: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.108
  161. Patch109: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.109
  162. Patch110: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.110
  163. Patch111: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.111
  164. Patch112: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.112
  165. Patch113: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.113
  166. Patch114: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.114
  167. Patch115: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.115
  168. Patch116: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.116
  169. Patch117: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.117
  170. Patch118: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.118
  171. Patch119: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.119
  172. Patch120: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.120
  173. Patch121: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.121
  174. Patch122: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.122
  175. Patch123: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.123
  176. Patch124: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.124
  177. Patch125: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.125
  178. Patch126: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.126
  179. Patch127: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.127
  180. Patch128: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.128
  181. Patch129: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.129
  182. Patch130: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.130
  183. Patch131: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.131
  184. Patch132: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.132
  185. Patch133: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.133
  186. Patch134: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.134
  187. Patch135: ftp://ftp.vim.org/pub/vim/patches/%{V_vl}.135
  188. # build information
  189. Prefix: %{l_prefix}
  190. BuildRoot: %{l_buildroot}
  191. BuildPreReq: OpenPKG, openpkg >= 20030927
  192. PreReq: OpenPKG, openpkg >= 20030927
  193. %if "%{with_x11}" == "yes"
  194. BuildPreReq: X11, gtk
  195. PreReq: X11, gtk
  196. %endif
  197. %if "%{with_perl}" == "yes"
  198. BuildPreReq: perl
  199. PreReq: perl
  200. %endif
  201. %if "%{with_python}" == "yes"
  202. BuildPreReq: python
  203. PreReq: python
  204. %endif
  205. AutoReq: no
  206. AutoReqProv: no
  207. %description
  208. Vim (Vi Improved) is a text editor that is upwards compatible
  209. with the classical Unix Vi. It can be used to edit any ASCII
  210. text. It is especially useful for editing programs. Vim offers
  211. a lot of enhancements not available in the traditional Vi. For
  212. example, Vim has multi level undo, multi windows and buffers, syntax
  213. highlighting, command line editing, filename completion, on-line
  214. help, and visual selection.
  215. %prep
  216. # unpack base distribution parts
  217. %setup0 -q -c
  218. %setup1 -q -T -D -a 1
  219. %setup2 -q -T -D -a 2
  220. %setup3 -q -T -D -a 3
  221. %patch0 -p0
  222. # apply initial jumbo patches
  223. # %{l_gzip} -d -c $RPM_SOURCE_DIR/%{V_vl}.1-100.gz |\
  224. # %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  225. # apply remaining single patches
  226. i=1
  227. while [ $i -le %{V_pl} ]; do
  228. cat $RPM_SOURCE_DIR/%{V_vl}.`echo $i | awk '{ printf("%03d", $0); }'` |\
  229. %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  230. i=`expr $i + 1`
  231. done
  232. # reorder the terminal library search to make sure our ncurses is
  233. # not picked up too easily (because we do not want an explicit
  234. # dependency to it because of vim:CORE vs. ncurses:BASE).
  235. %{l_shtool} subst \
  236. -e 's;ncurses termlib termcap curses;termlib termcap ncurses curses;' \
  237. vim%{V_vs}/src/auto/configure
  238. # adjust introduction text for OpenPKG branding
  239. %{l_shtool} subst \
  240. -e 's;Modified by;Packaged by;' \
  241. vim%{V_vs}/src/version.c
  242. %build
  243. # configure package
  244. cd vim%{V_vs}/src
  245. CC="%{l_cc}" \
  246. CFLAGS="%{l_cflags -O}" \
  247. CPPFLAGS="%{l_cppflags}" \
  248. LDFLAGS="%{l_ldflags}" \
  249. ./configure \
  250. --prefix=%{l_prefix} \
  251. --with-modified-by='%{l_openpkg_release}' \
  252. %if "%{with_x11}" == "yes"
  253. --with-x \
  254. --x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \
  255. --x-libraries=`%{l_prefix}/etc/rc --query x11_libdir` \
  256. --enable-gui=gtk \
  257. --with-gtk-prefix=%{l_prefix} \
  258. --disable-gtktest \
  259. --without-gnome \
  260. %else
  261. --without-x \
  262. --disable-gui \
  263. %endif
  264. %if "%{with_features}" == "huge"
  265. --with-features=huge \
  266. %else
  267. %if "%{with_features}" == "big"
  268. --with-features=big \
  269. %else
  270. %if "%{with_features}" == "small"
  271. --with-features=small \
  272. %else
  273. --with-features=normal \
  274. %endif
  275. %endif
  276. %endif
  277. %if "%{with_multibyte}" == "yes"
  278. --enable-multibyte \
  279. %endif
  280. %if "%{with_perl}" == "yes"
  281. --enable-perlinterp=%{l_prefix}/bin/perl \
  282. %endif
  283. %if "%{with_python}" == "yes"
  284. --enable-pythoninterp=%{l_prefix}/bin/python \
  285. %endif
  286. --disable-nls
  287. %{l_shtool} subst \
  288. -e 's;^\(VIMRTDIR[^=]*=\).*;\1;' \
  289. Makefile
  290. # build package
  291. %{l_make} %{l_mflags -O}
  292. %install
  293. # perform package installation procedure
  294. rm -rf $RPM_BUILD_ROOT
  295. ( cd vim%{V_vs}/src
  296. %{l_make} %{l_mflags} install \
  297. prefix=$RPM_BUILD_ROOT%{l_prefix}
  298. ) || exit $?
  299. # strip down installation hierarchy
  300. strip $RPM_BUILD_ROOT%{l_prefix}/bin/vim
  301. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/xxd
  302. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/xxd.1
  303. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/tools
  304. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/macros
  305. # add links for program runtime variants
  306. for link in vi ex rview rvim view vimdiff; do
  307. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  308. ln $RPM_BUILD_ROOT%{l_prefix}/bin/vim \
  309. $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  310. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  311. ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/vim.1 \
  312. $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  313. done
  314. # install run-command script
  315. %{l_shtool} mkdir -f -p -m 755 \
  316. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  317. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  318. %{SOURCE rc.vim} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  319. # determine installation files
  320. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  321. %files -f files
  322. %clean
  323. rm -rf $RPM_BUILD_ROOT