source: trunk/dports/editors/vim/Portfile @ 111963

Last change on this file since 111963 was 111963, checked in by raimue@…, 6 years ago

editors/vim, editors/vim-app:
Fix use of the wrong compiler after applying patches to the configure script.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 11.0 KB
Line 
1# $Id: Portfile 111963 2013-10-06 22:03:17Z raimue@macports.org $
2
3PortSystem          1.0
4
5name                vim
6set vim_version     7.4
7set vim_patchlevel  052
8version             ${vim_version}.${vim_patchlevel}
9categories          editors
10platforms           darwin freebsd
11license             Vim GPL-2+
12maintainers         raimue
13description         Vi \"workalike\" with many additional features
14long_description \
15    Vim is an advanced text editor that seeks to provide the power of the   \
16    de-facto Unix editor 'Vi', with a more complete feature set.
17
18homepage            http://www.vim.org/
19
20master_sites        http://ftp.vim.org/pub/vim/unix/
21patch_sites         http://ftp.vim.org/pub/vim/patches/${vim_version}
22distname            vim-${vim_version}
23use_bzip2           yes
24dist_subdir         vim/${vim_version}
25worksrcdir          vim[strsed ${vim_version} {g/\.//}]
26
27# Generate patchfiles
28set low 1
29set patchlevel [string trimleft $vim_patchlevel 0]
30while {$low <= $patchlevel} {
31    patchfiles-append [format "%s.%03d" $vim_version $low]
32    incr low 1
33}
34
35checksums \
36  vim-${vim_version}${extract.suffix} \
37    md5     607e135c559be642f210094ad023dc65 \
38    sha1    601abf7cc2b5ab186f40d8790e542f86afca86b7 \
39    rmd160  f23f62dccdbf84cbf907a0cd38c7077a87e764ee \
40    sha256  d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade
41
42checksums-append \
43    7.4.001 md5 f234692c9ab5265ba6ba6f55c0f81764 \
44    7.4.002 md5 a03e1a5ad3722f2011751dda977641af \
45    7.4.003 md5 e6d070f592bb6da4d8cf2f7f134425e5 \
46    7.4.004 md5 77566c96ea0feb3effd5624e02126b11 \
47    7.4.005 md5 c71f2af8c787f6b7f57be9937f925a20 \
48    7.4.006 md5 88f99b8f2e2a5eab0b054b839edc3856 \
49    7.4.007 md5 59f1c6e00ae3309a3f998e795b998be1 \
50    7.4.008 md5 6d17c2f54ed124b03d60121e9a7aa150 \
51    7.4.009 md5 e53775eb1a632e68e14d2002b8c220b4 \
52    7.4.010 md5 ed08869476205e90af14e0be02cc5cfd \
53    7.4.011 md5 b87237dfa835d07a005d3d3a8476fb34 \
54    7.4.012 md5 d058bb40d1c670529c19c3c3d3c76421 \
55    7.4.013 md5 c5d0ae4f982c57467bc330f03f1f176d \
56    7.4.014 md5 914eb6390a5a6b677c2f0ef0edefb60c \
57    7.4.015 md5 56c2924732fc886e46569a399864a5cc \
58    7.4.016 md5 35a4cf5f64dcb948bb13a2db592c168f \
59    7.4.017 md5 67f6ab40bdd3107c0731766278cfdc73 \
60    7.4.018 md5 4c8b21a64040356066c5bcc4d056bec5 \
61    7.4.019 md5 fbf7aef0eab753fcf4c4d575c76fd4bf \
62    7.4.020 md5 c6a5bc4865a5e5e8c16333d5095fd571 \
63    7.4.021 md5 a983fabe523f0c91cbeec43a16b599c9 \
64    7.4.022 md5 612b6401b7ad5a8859439dc1e257ad05 \
65    7.4.023 md5 cdd8466563a0fd4fb538dbc1606d4a42 \
66    7.4.024 md5 7720495cecc60252198c1c5056de010a \
67    7.4.025 md5 161173463dc95145c48f7691aee73f13 \
68    7.4.026 md5 8e0181a33d4cf99f3ff8f359c99af7b5 \
69    7.4.027 md5 97f5e46883edf23f873522db86e721a6 \
70    7.4.028 md5 163291f22218e69281f8b0a136252bd5 \
71    7.4.029 md5 93b6179890ea3f33da2916ef0ae3160e \
72    7.4.030 md5 8c1d1829bfce977bbe91df885673b05a \
73    7.4.031 md5 83673b79f3e04ea837aeb4f3acdf0350 \
74    7.4.032 md5 b98fc58c605dba8d14d566af3da42d15 \
75    7.4.033 md5 92a277e660a6968448d9d941df55a308 \
76    7.4.034 md5 3510a4181c7719b6c948cde1a9591a5a \
77    7.4.035 md5 83476f1ca3fd83ca39681c6315a633bf \
78    7.4.036 md5 c52b130beb86f26623fca7b5051ad3e3 \
79    7.4.037 md5 469ab2d656828dd1a2c1859ff4498ac7 \
80    7.4.038 md5 5d37bfced730ed51b2aa5e77759ddcce \
81    7.4.039 md5 0e0d62af9d594237b518bd0795d49103 \
82    7.4.040 md5 84dd9c9058de4463c5326dde032f3860 \
83    7.4.041 md5 b1c570c620c30879b5bf0b2093696a52 \
84    7.4.042 md5 f71fd77d501107cc22d7129d6f7444a4 \
85    7.4.043 md5 d86c84c860cc47a1f7dd76f8ac1ecd83 \
86    7.4.044 md5 a206223e7ae7e95e948a628e59ad82ce \
87    7.4.045 md5 72bf2ace92f8a11a535798e987f444d2 \
88    7.4.046 md5 4573290a76d7541bcfb0e051a4fc42f7 \
89    7.4.047 md5 7ff734a7afdee370c98e02b966844adb \
90    7.4.048 md5 ea675c709cd6011adc30fcf0def31ee4 \
91    7.4.049 md5 9664c92bd4c17065a4df9dc24c63ac76 \
92    7.4.050 md5 b15ffb4672e82d67cf3ea5d3fdc77ed8 \
93    7.4.051 md5 6b2af52b734806187f9e7effc2e43d64 \
94    7.4.052 md5 d32a541d7f5224c9fdacb6a81a73d695
95
96depends_build       bin:grep:grep
97depends_lib         port:ncurses \
98                    port:gettext \
99                    port:libiconv
100
101autoconf.cmd make autoconf
102autoconf.pre_args
103autoconf.args
104autoconf.dir ${worksrcpath}/src
105
106post-patch {
107    set features [open ${worksrcpath}/src/feature.h a+]
108    puts $features "#define SYS_VIMRC_FILE \"${prefix}/etc/vimrc\""
109    close $features
110
111    # Ensure that auto/config.mk is never older than auto/configure.
112    # If the latter was modified by a patch, it would trigger a rebuild of
113    # auto/config.mk with the wrong environment resulting in the use of the
114    # wrong compiler.
115    file mtime ${worksrcpath}/src/auto/config.mk [clock seconds]
116}
117
118configure.args      --disable-gui \
119                    --without-x \
120                    --disable-gpm \
121                    --mandir=${prefix}/share/man \
122                    --with-tlib=ncurses \
123                    --enable-multibyte \
124                    --with-developer-dir=${developer_dir}
125
126post-destroot {
127    ln -s ${prefix}/bin/vim ${destroot}${prefix}/bin/vi
128}
129
130test.run            yes
131
132if {![variant_isset tiny] && ![variant_isset small] && ![variant_isset big] && ![variant_isset huge]} {
133    default_variants +huge
134}
135
136variant x11 description {Build CLI version with X support} {
137    configure.args-delete   --without-x
138    configure.args-append   --with-x --x-includes=${prefix}/include --x-libraries=${prefix}/lib
139    depends_lib-append      port:xorg-libXt
140}
141
142variant athena description {Build GUI version using Athena widgets} requires x11 conflicts gtk1 gtk2 motif {
143    configure.args-delete   --disable-gui
144    configure.args-append   --enable-gui=athena --disable-darwin
145    depends_lib-append      port:xorg-libXaw
146}
147variant gtk1 description {Build GUI version using GTK 1.x widgets} requires x11 conflicts athena gtk2 motif {
148    configure.args-delete   --disable-gui
149    configure.args-append   --enable-gui=gtk --disable-darwin
150    depends_lib-append      port:gtk1
151}
152variant gtk2 description {Build GUI version using GTK 2.x widgets} requires x11 conflicts athena gtk1 motif {
153    configure.args-delete   --disable-gui
154    configure.args-append   --enable-gui=gtk2 --disable-darwin
155    depends_lib-append      port:gtk2
156}
157variant motif description {Build GUI version with Motif widgets} requires x11 conflicts athena gtk1 gtk2 {
158    configure.args-delete   --disable-gui
159    configure.args-append   --enable-gui=motif --disable-darwin
160    depends_lib-append      lib:libXm:openmotif
161}
162
163variant tiny description {Build tiny feature set} {
164    configure.args-append --with-features=tiny
165}
166variant small description {Build small feature set} conflicts tiny {
167    configure.args-append --with-features=small
168}
169variant big description {Build big feature set} conflicts tiny small    {
170    configure.args-append --with-features=big
171}
172variant huge description {Build huge feature set} conflicts tiny small big {
173    configure.args-append --with-features=huge
174}
175variant xim description {Build with support for X Input Method} {
176    configure.args-append --enable-xim
177}
178
179# FIXME: Does not work with vim 7.3 yet
180# variant shell description {Enables shell windows} {
181    # # Patch taken from http://www.wana.at/vimshell/
182    # patchfiles-append       patch-vimshell.diff
183# }
184
185variant perl description {Enable Perl scripting} {
186    configure.args-append   --enable-perlinterp
187    depends_lib-append      path:bin/perl:perl5
188}
189variant python requires python25 description {Compatibility variant, requires +python25} {}
190variant python25 conflicts python26 python27 description {Enable Python scripting} {
191    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.5
192    patchfiles-append       patch-python.diff
193    depends_lib-append      port:python25
194
195    use_autoconf yes
196    # Overwriting autoconf.cmd above removes dependency, add it again
197    depends_build-append port:autoconf
198}
199variant python26 conflicts python25 python27 description {Enable Python scripting} {
200    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.6
201    patchfiles-append       patch-python.diff
202    depends_lib-append      port:python26
203
204    use_autoconf yes
205    # Overwriting autoconf.cmd above removes dependency, add it again
206    depends_build-append port:autoconf
207}
208variant python27 conflicts python25 python26 description {Enable Python scripting} {
209    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.7
210    patchfiles-append       patch-python.diff
211    depends_lib-append      port:python27
212
213    use_autoconf yes
214    # Overwriting autoconf.cmd above removes dependency, add it again
215    depends_build-append port:autoconf
216}
217variant python31 conflicts python32 python33 description {Enable Python scripting} {
218    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.1
219    patchfiles-append       patch-python3.diff
220    depends_lib-append      port:python31
221
222    use_autoconf yes
223    # Overwriting autoconf.cmd above removes dependency, add it again
224    depends_build-append port:autoconf
225}
226variant python32 conflicts python31 python33 description {Enable Python scripting} {
227    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.2
228    patchfiles-append       patch-python3.diff
229    depends_lib-append      port:python32
230
231    use_autoconf yes
232    # Overwriting autoconf.cmd above removes dependency, add it again
233    depends_build-append port:autoconf
234}
235variant python33 conflicts python31 python32 description {Enable Python scripting} {
236    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.3
237    patchfiles-append       patch-python3.diff
238    depends_lib-append      port:python33
239
240    use_autoconf yes
241    # Overwriting autoconf.cmd above removes dependency, add it again
242    depends_build-append port:autoconf
243}
244variant ruby requires ruby18 description {Compatibility variant, requires +ruby18} {}
245variant ruby18 conflicts ruby19 description {Enable Ruby scripting} {
246    configure.args-append   --enable-rubyinterp
247    configure.args-append   --with-ruby-command=${prefix}/bin/ruby1.8
248    depends_lib-append      port:ruby
249}
250variant ruby19 conflicts ruby description {Enable Ruby scripting} {
251    configure.args-append   --enable-rubyinterp
252    configure.args-append   --with-ruby-command=${prefix}/bin/ruby1.9
253    depends_lib-append      port:ruby19
254}
255variant tcl description {Enable Tcl scripting} {
256    configure.args-append   --enable-tclinterp \
257                            --with-tclsh=${prefix}/bin/tclsh
258    patchfiles-append       patch-tcl.diff
259    depends_lib-append      port:tcl
260
261    use_autoconf yes
262    # Overwriting autoconf.cmd above removes dependency, add it again
263    depends_build-append port:autoconf
264}
265
266variant cscope description {Enable source code browsing with cscope} {
267    configure.args-append   --enable-cscope
268}
269
270platform puredarwin {
271    configure.args-append --disable-darwin
272}
273
274platform darwin 13 {
275    patchfiles-append patch-compat-darwin13.diff
276}
277
278livecheck.type  regex
279livecheck.url   http://ftp.vim.org/pub/${name}/patches/${vim_version}/?O=D
280livecheck.version [format "%s.%03d" $vim_version $vim_patchlevel]
281livecheck.regex (${vim_version}\.\\d+)
Note: See TracBrowser for help on using the repository browser.