source: trunk/dports/editors/vim-app/Portfile @ 111960

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

editors/vim, editors/vim-app:
Update to version 7.4.052, probably closes #40672

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 11.5 KB
Line 
1# $Id: Portfile 111960 2013-10-06 21:31:19Z raimue@macports.org $
2
3PortSystem          1.0
4
5name                vim-app
6set realname        vim
7set vim_version     7.4
8set vim_patchlevel  052
9version             ${vim_version}.${vim_patchlevel}
10categories          editors
11platforms           darwin
12license             Vim GPL-2+
13maintainers         raimue
14description         Vim.app is a GUI version of the famous editor vim.
15long_description    This port provides Vim.app, a GUI version of the famous editor vim. \
16                        Vim is a highly configurable text editor built to enable efficient text editing.
17
18homepage            http://www.vim.org/
19
20master_sites        http://ftp.vim.org/pub/vim/unix/:vim \
21                    http://www.douglas.stebila.ca/files/code/vim/app/:app_aqua \
22                    http://www.douglas.stebila.ca/files/code/vim/doc/:doc_aqua
23patch_sites         http://ftp.vim.org/pub/vim/patches/${vim_version}
24use_bzip2           yes
25distfiles           vim-${vim_version}${extract.suffix}:vim \
26                    app-bm.tar.gz:app_aqua \
27                    doc.tar.gz:doc_aqua
28dist_subdir         vim/${vim_version}
29worksrcdir          vim[strsed ${vim_version} {g/\.//}]
30
31# Generate patchfiles
32set low 1
33set patchlevel [string trimleft $vim_patchlevel 0]
34while {$low <= $patchlevel} {
35    patchfiles-append [format "%s.%03d" $vim_version $low]
36    incr low 1
37}
38
39# Use MacPorts' default compilers
40# http://trac.macports.org/wiki/UsingTheRightCompiler
41patchfiles-append   patch-src-Makefile.diff
42post-patch {
43    reinplace "s|@@CC@@|${configure.cc}|g" ${worksrcpath}/src/Makefile
44}
45
46checksums \
47  vim-${vim_version}${extract.suffix} \
48    md5     607e135c559be642f210094ad023dc65 \
49    sha1    601abf7cc2b5ab186f40d8790e542f86afca86b7 \
50    rmd160  f23f62dccdbf84cbf907a0cd38c7077a87e764ee \
51    sha256  d0f5a6d2c439f02d97fa21bd9121f4c5abb1f6cd8b5a79d3ca82867495734ade \
52  app-bm.tar.gz \
53    md5 418b9e615a34ae5aad918f5c5a694a44 \
54  doc.tar.gz \
55    md5 692f7874fc617162d0fe110daf39a98a
56
57checksums-append \
58    7.4.001 md5 f234692c9ab5265ba6ba6f55c0f81764 \
59    7.4.002 md5 a03e1a5ad3722f2011751dda977641af \
60    7.4.003 md5 e6d070f592bb6da4d8cf2f7f134425e5 \
61    7.4.004 md5 77566c96ea0feb3effd5624e02126b11 \
62    7.4.005 md5 c71f2af8c787f6b7f57be9937f925a20 \
63    7.4.006 md5 88f99b8f2e2a5eab0b054b839edc3856 \
64    7.4.007 md5 59f1c6e00ae3309a3f998e795b998be1 \
65    7.4.008 md5 6d17c2f54ed124b03d60121e9a7aa150 \
66    7.4.009 md5 e53775eb1a632e68e14d2002b8c220b4 \
67    7.4.010 md5 ed08869476205e90af14e0be02cc5cfd \
68    7.4.011 md5 b87237dfa835d07a005d3d3a8476fb34 \
69    7.4.012 md5 d058bb40d1c670529c19c3c3d3c76421 \
70    7.4.013 md5 c5d0ae4f982c57467bc330f03f1f176d \
71    7.4.014 md5 914eb6390a5a6b677c2f0ef0edefb60c \
72    7.4.015 md5 56c2924732fc886e46569a399864a5cc \
73    7.4.016 md5 35a4cf5f64dcb948bb13a2db592c168f \
74    7.4.017 md5 67f6ab40bdd3107c0731766278cfdc73 \
75    7.4.018 md5 4c8b21a64040356066c5bcc4d056bec5 \
76    7.4.019 md5 fbf7aef0eab753fcf4c4d575c76fd4bf \
77    7.4.020 md5 c6a5bc4865a5e5e8c16333d5095fd571 \
78    7.4.021 md5 a983fabe523f0c91cbeec43a16b599c9 \
79    7.4.022 md5 612b6401b7ad5a8859439dc1e257ad05 \
80    7.4.023 md5 cdd8466563a0fd4fb538dbc1606d4a42 \
81    7.4.024 md5 7720495cecc60252198c1c5056de010a \
82    7.4.025 md5 161173463dc95145c48f7691aee73f13 \
83    7.4.026 md5 8e0181a33d4cf99f3ff8f359c99af7b5 \
84    7.4.027 md5 97f5e46883edf23f873522db86e721a6 \
85    7.4.028 md5 163291f22218e69281f8b0a136252bd5 \
86    7.4.029 md5 93b6179890ea3f33da2916ef0ae3160e \
87    7.4.030 md5 8c1d1829bfce977bbe91df885673b05a \
88    7.4.031 md5 83673b79f3e04ea837aeb4f3acdf0350 \
89    7.4.032 md5 b98fc58c605dba8d14d566af3da42d15 \
90    7.4.033 md5 92a277e660a6968448d9d941df55a308 \
91    7.4.034 md5 3510a4181c7719b6c948cde1a9591a5a \
92    7.4.035 md5 83476f1ca3fd83ca39681c6315a633bf \
93    7.4.036 md5 c52b130beb86f26623fca7b5051ad3e3 \
94    7.4.037 md5 469ab2d656828dd1a2c1859ff4498ac7 \
95    7.4.038 md5 5d37bfced730ed51b2aa5e77759ddcce \
96    7.4.039 md5 0e0d62af9d594237b518bd0795d49103 \
97    7.4.040 md5 84dd9c9058de4463c5326dde032f3860 \
98    7.4.041 md5 b1c570c620c30879b5bf0b2093696a52 \
99    7.4.042 md5 f71fd77d501107cc22d7129d6f7444a4 \
100    7.4.043 md5 d86c84c860cc47a1f7dd76f8ac1ecd83 \
101    7.4.044 md5 a206223e7ae7e95e948a628e59ad82ce \
102    7.4.045 md5 72bf2ace92f8a11a535798e987f444d2 \
103    7.4.046 md5 4573290a76d7541bcfb0e051a4fc42f7 \
104    7.4.047 md5 7ff734a7afdee370c98e02b966844adb \
105    7.4.048 md5 ea675c709cd6011adc30fcf0def31ee4 \
106    7.4.049 md5 9664c92bd4c17065a4df9dc24c63ac76 \
107    7.4.050 md5 b15ffb4672e82d67cf3ea5d3fdc77ed8 \
108    7.4.051 md5 6b2af52b734806187f9e7effc2e43d64 \
109    7.4.052 md5 d32a541d7f5224c9fdacb6a81a73d695
110
111depends_build       bin:grep:grep
112depends_lib         port:ncurses \
113                    port:gettext \
114                    port:libiconv
115
116pre-fetch {
117    if {${os.platform} == "darwin" && ${os.major} >= 10} {
118        ui_error "${name} does not run on Mac OS X 10.6 or greater. Please use MacVim instead."
119        return -code error "incompatible Mac OS X version"
120    }
121}
122
123autoconf.cmd make autoconf
124autoconf.pre_args
125autoconf.args
126autoconf.dir ${worksrcpath}/src
127
128configure.pre_args  --prefix=${applications_dir}
129configure.args      --enable-gui=carbon \
130                    --without-x \
131                    --disable-gpm \
132                    --mandir=${prefix}/share/man \
133                    --with-tlib=ncurses \
134                    --enable-multibyte \
135                    --with-developer-dir=${developer_dir}
136
137extract.only        ${realname}-${vim_version}${extract.suffix}
138post-extract {
139    system "tar xvfz ${distpath}/app-bm.tar.gz -C ${workpath}"
140    system "tar xvfz ${distpath}/doc.tar.gz -C ${workpath}"
141}
142
143post-patch {
144        set features [open ${worksrcpath}/src/feature.h a+]
145        puts $features "#define SYS_VIMRC_FILE \"${prefix}/etc/vimrc\""
146        close $features
147}
148
149test.run            yes
150
151pre-destroot {
152    xinstall -d ${destroot}${applications_dir}
153}
154
155destroot {
156    # copy Vim.app
157    file copy ${worksrcpath}/src/Vim.app ${destroot}${applications_dir}
158    xinstall -m 644 ${filespath}/vimrc ${filespath}/gvimrc \
159      ${destroot}${applications_dir}/Vim.app
160    xinstall -m 644 ${workpath}/doc-txt.icns \
161      ${destroot}${applications_dir}/Vim.app/Contents/Resources
162    xinstall -m 644 ${workpath}/app.icns \
163      ${destroot}${applications_dir}/Vim.app/Contents/Resources/gui_mac.icns
164    # remove the broken link to 'runtime', copy the folder instead
165    set runtimePath \
166      "${destroot}${applications_dir}/Vim.app/Contents/Resources/vim/runtime"
167    file delete ${runtimePath}
168    file copy ${worksrcpath}/runtime ${runtimePath}
169    # fix permissions
170    foreach f [glob ${runtimePath}/autoload/*.vim] {
171            file attributes ${f} -permissions 0644
172    }
173    # install launchscript
174    xinstall -m 755 ${filespath}/gvim.sh ${destroot}${prefix}/bin/gvim
175    reinplace "s|@APPPATH@|${applications_dir}|g" ${destroot}${prefix}/bin/gvim
176
177    # allow for Vim.App to open .nfo, .vim, .latex, .tex, .diff files
178    system "patch -d ${destroot}${applications_dir}/Vim.app/Contents/ -p0 < ${filespath}/patch-Info.plist.diff"
179}
180
181if {![variant_isset big] && ![variant_isset huge]} {
182    default_variants +huge
183}
184
185variant big description {Build big feature set} conflicts huge {
186    configure.args-append --with-features=big
187}
188variant huge description {Build huge feature set} conflicts big {
189    configure.args-append --with-features=huge
190}
191variant xim description {Build with support for X Input Method} {
192    configure.args-append --enable-xim
193}
194
195# FIXME: Does not work with vim 7.3 yet
196# variant shell description {Enables shell windows} {
197    # # Patch taken from http://www.wana.at/vimshell/
198    # patchfiles-append       patch-vimshell.diff
199# }
200
201variant perl description {Enable Perl scripting} {
202    configure.args-append   --enable-perlinterp
203    depends_lib-append      path:bin/perl:perl5
204}
205variant python requires python25 description {Compatibility variant, requires +python25} {}
206variant python25 conflicts python26 python27 description {Enable Python scripting} {
207    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.5
208    patchfiles-append       patch-python.diff
209    depends_lib-append      port:python25
210
211    use_autoconf yes
212    # Overwriting autoconf.cmd above removes dependency, add it again
213    depends_build-append port:autoconf
214}
215variant python26 conflicts python25 python27 description {Enable Python scripting} {
216    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.6
217    patchfiles-append       patch-python.diff
218    depends_lib-append      port:python26
219
220    use_autoconf yes
221    # Overwriting autoconf.cmd above removes dependency, add it again
222    depends_build-append port:autoconf
223}
224variant python27 conflicts python25 python26 description {Enable Python scripting} {
225    configure.args-append   --enable-pythoninterp --with-python=${prefix}/bin/python2.7
226    patchfiles-append       patch-python.diff
227    depends_lib-append      port:python27
228
229    use_autoconf yes
230    # Overwriting autoconf.cmd above removes dependency, add it again
231    depends_build-append port:autoconf
232}
233variant python31 conflicts python32 python33 description {Enable Python scripting} {
234    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.1
235    patchfiles-append       patch-python3.diff
236    depends_lib-append      port:python31
237
238    use_autoconf yes
239    # Overwriting autoconf.cmd above removes dependency, add it again
240    depends_build-append port:autoconf
241}
242variant python32 conflicts python31 python33 description {Enable Python scripting} {
243    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.2
244    patchfiles-append       patch-python3.diff
245    depends_lib-append      port:python32
246
247    use_autoconf yes
248    # Overwriting autoconf.cmd above removes dependency, add it again
249    depends_build-append port:autoconf
250}
251variant python33 conflicts python31 python32 description {Enable Python scripting} {
252    configure.args-append   --enable-python3interp --with-python3=${prefix}/bin/python3.3
253    patchfiles-append       patch-python3.diff
254    depends_lib-append      port:python33
255
256    use_autoconf yes
257    # Overwriting autoconf.cmd above removes dependency, add it again
258    depends_build-append port:autoconf
259}
260variant ruby requires ruby18 description {Compatibility variant, requires +ruby18} {}
261variant ruby18 conflicts ruby19 description {Enable Ruby scripting} {
262    configure.args-append   --enable-rubyinterp
263    configure.args-append   --with-ruby-command=${prefix}/bin/ruby1.8
264    depends_lib-append      port:ruby
265}
266variant ruby19 conflicts ruby description {Enable Ruby scripting} {
267    configure.args-append   --enable-rubyinterp
268    configure.args-append   --with-ruby-command=${prefix}/bin/ruby1.9
269    depends_lib-append      port:ruby19
270}
271variant tcl description {Enable Tcl scripting} {
272    configure.args-append   --enable-tclinterp \
273                            --with-tclsh=${prefix}/bin/tclsh
274    patchfiles-append       patch-tcl.diff
275    depends_lib-append      port:tcl
276
277    use_autoconf yes
278    # Overwriting autoconf.cmd above removes dependency, add it again
279    depends_build-append port:autoconf
280}
281
282variant cscope description {Enable source code browsing with cscope} {
283    configure.args-append   --enable-cscope
284}
285
286platform darwin powerpc {
287    post-destroot {
288        xinstall -m 644 ${workpath}/app.icns ${destroot}${applications_dir}/Vim.app/Contents/Resources/appIcon.icns
289    }
290}
291
292platform darwin 13 {
293    patchfiles-append patch-compat-darwin13.diff
294}
295
296livecheck.type  regex
297livecheck.url   http://ftp.vim.org/pub/${realname}/patches/${vim_version}/?O=D
298livecheck.version [format "%s.%03d" $vim_version $vim_patchlevel]
299livecheck.regex (${vim_version}\.\\d+)
Note: See TracBrowser for help on using the repository browser.