vim.spec 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  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 133
  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: 20031026
  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. # build information
  187. Prefix: %{l_prefix}
  188. BuildRoot: %{l_buildroot}
  189. BuildPreReq: OpenPKG, openpkg >= 20030927
  190. PreReq: OpenPKG, openpkg >= 20030927
  191. %if "%{with_x11}" == "yes"
  192. BuildPreReq: X11, gtk
  193. PreReq: X11, gtk
  194. %endif
  195. %if "%{with_perl}" == "yes"
  196. BuildPreReq: perl
  197. PreReq: perl
  198. %endif
  199. %if "%{with_python}" == "yes"
  200. BuildPreReq: python
  201. PreReq: python
  202. %endif
  203. AutoReq: no
  204. AutoReqProv: no
  205. %description
  206. Vim (Vi Improved) is a text editor that is upwards compatible
  207. with the classical Unix Vi. It can be used to edit any ASCII
  208. text. It is especially useful for editing programs. Vim offers
  209. a lot of enhancements not available in the traditional Vi. For
  210. example, Vim has multi level undo, multi windows and buffers, syntax
  211. highlighting, command line editing, filename completion, on-line
  212. help, and visual selection.
  213. %prep
  214. # unpack base distribution parts
  215. %setup0 -q -c
  216. %setup1 -q -T -D -a 1
  217. %setup2 -q -T -D -a 2
  218. %setup3 -q -T -D -a 3
  219. %patch0 -p0
  220. # apply initial jumbo patches
  221. # %{l_gzip} -d -c $RPM_SOURCE_DIR/%{V_vl}.1-100.gz |\
  222. # %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  223. # apply remaining single patches
  224. i=1
  225. while [ $i -le %{V_pl} ]; do
  226. cat $RPM_SOURCE_DIR/%{V_vl}.`echo $i | awk '{ printf("%03d", $0); }'` |\
  227. %{l_patch} -p0 -E -t -s >/dev/null 2>&1 || true
  228. i=`expr $i + 1`
  229. done
  230. # reorder the terminal library search to make sure our ncurses is
  231. # not picked up too easily (because we do not want an explicit
  232. # dependency to it because of vim:CORE vs. ncurses:BASE).
  233. %{l_shtool} subst \
  234. -e 's;ncurses termlib termcap curses;termlib termcap ncurses curses;' \
  235. vim%{V_vs}/src/auto/configure
  236. # adjust introduction text for OpenPKG branding
  237. %{l_shtool} subst \
  238. -e 's;Modified by;Packaged by;' \
  239. vim%{V_vs}/src/version.c
  240. %build
  241. # configure package
  242. cd vim%{V_vs}/src
  243. CC="%{l_cc}" \
  244. CFLAGS="%{l_cflags -O}" \
  245. CPPFLAGS="%{l_cppflags}" \
  246. LDFLAGS="%{l_ldflags}" \
  247. ./configure \
  248. --prefix=%{l_prefix} \
  249. --with-modified-by='%{l_openpkg_release}' \
  250. %if "%{with_x11}" == "yes"
  251. --with-x \
  252. --x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \
  253. --x-libraries=`%{l_prefix}/etc/rc --query x11_libdir` \
  254. --enable-gui=gtk \
  255. --with-gtk-prefix=%{l_prefix} \
  256. --disable-gtktest \
  257. --without-gnome \
  258. %else
  259. --without-x \
  260. --disable-gui \
  261. %endif
  262. %if "%{with_features}" == "huge"
  263. --with-features=huge \
  264. %else
  265. %if "%{with_features}" == "big"
  266. --with-features=big \
  267. %else
  268. %if "%{with_features}" == "small"
  269. --with-features=small \
  270. %else
  271. --with-features=normal \
  272. %endif
  273. %endif
  274. %endif
  275. %if "%{with_multibyte}" == "yes"
  276. --enable-multibyte \
  277. %endif
  278. %if "%{with_perl}" == "yes"
  279. --enable-perlinterp=%{l_prefix}/bin/perl \
  280. %endif
  281. %if "%{with_python}" == "yes"
  282. --enable-pythoninterp=%{l_prefix}/bin/python \
  283. %endif
  284. --disable-nls
  285. %{l_shtool} subst \
  286. -e 's;^\(VIMRTDIR[^=]*=\).*;\1;' \
  287. Makefile
  288. # build package
  289. %{l_make} %{l_mflags -O}
  290. %install
  291. # perform package installation procedure
  292. rm -rf $RPM_BUILD_ROOT
  293. ( cd vim%{V_vs}/src
  294. %{l_make} %{l_mflags} install \
  295. prefix=$RPM_BUILD_ROOT%{l_prefix}
  296. ) || exit $?
  297. # strip down installation hierarchy
  298. strip $RPM_BUILD_ROOT%{l_prefix}/bin/vim
  299. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/xxd
  300. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/xxd.1
  301. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/tools
  302. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/vim/macros
  303. # add links for program runtime variants
  304. for link in vi ex rview rvim view vimdiff; do
  305. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  306. ln $RPM_BUILD_ROOT%{l_prefix}/bin/vim \
  307. $RPM_BUILD_ROOT%{l_prefix}/bin/$link
  308. rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  309. ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/vim.1 \
  310. $RPM_BUILD_ROOT%{l_prefix}/man/man1/$link.1
  311. done
  312. # install run-command script
  313. %{l_shtool} mkdir -f -p -m 755 \
  314. $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
  315. %{l_shtool} install -c -m 755 %{l_value -s -a} \
  316. %{SOURCE rc.vim} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  317. # determine installation files
  318. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  319. %files -f files
  320. %clean
  321. rm -rf $RPM_BUILD_ROOT