# $Id: Portfile 153607 2016-10-05 20:23:30Z raimue@macports.org $ PortSystem 1.0 PortGroup github 1.0 PortGroup compiler_blacklist_versions 1.0 set vim_version 8.0 set snapshot 110 github.setup macvim-dev macvim ${snapshot} snapshot- name MacVim version ${vim_version}.snapshot${snapshot} categories editors platforms darwin license Vim GPL-2+ maintainers raimue description MacVim is a GUI version of vim for Mac OS X long_description \ MacVim is a port of the text editor Vim to Mac OS X that is meant to look \ better and integrate more seamlessly with the Mac than vim-app. homepage https://macvim-dev.github.io/macvim/ checksums rmd160 08b672b2969c6a41ae3a85ec9a1306bc5d6f6a02 \ sha256 d8b67a8bbb0893f6dfdc33d902aeafde4e6dfa4d63e650b3160aa30bf0e3d0c6 depends_build bin:grep:grep depends_lib port:ncurses \ port:gettext \ port:libiconv patchfiles patch-MacVim-GCC-VERSION.diff \ patch-remove-sparkle.diff pre-fetch { if {${os.platform} eq "darwin" && ${os.major} < 12} { ui_error "${name} only runs on Mac OS X 10.8 or greater." return -code error "incompatible Mac OS X version" } } # does not run correctly when build with older clang releases, see #30985 compiler.blacklist {clang < 400} post-extract { # create cache directory file mkdir ${workpath}/caches } post-patch { reinplace "s|^# VIM_APP_DIR=/Applications$|VIM_APP_DIR=${applications_dir}|" \ ${worksrcpath}/src/MacVim/mvim # recompile patched .nib foreach nib {Preferences MainMenu} { ui_info "---> Running ibtool for ${nib}.nib" system -W ${worksrcpath} "ibtool --compile src/MacVim/English.lproj/${nib}.nib/keyedobjects.nib src/MacVim/English.lproj/${nib}.nib" } } autoconf.dir ${worksrcpath}/src configure.args --enable-gui=macvim \ --without-x \ --without-local-dir \ --disable-gpm \ --with-tlib=ncurses \ --enable-multibyte \ --enable-fail-if-missing \ --with-compiledby="MacPorts" # Old pre-compiled headers could influence build, #26723 build.args XCODEFLAGS="CACHE_ROOT=${workpath}/caches" destroot { copy ${worksrcpath}/src/MacVim/build/Release/MacVim.app ${destroot}${applications_dir} copy ${worksrcpath}/src/MacVim/mvim ${destroot}${prefix}/bin # Create MacVim vimdiff, view, ex equivalents ln -s mvim ${destroot}${prefix}/bin/mvimdiff ln -s mvim ${destroot}${prefix}/bin/mview # Link as mvimex as bin/mex conflicts with texlive ln -s mvim ${destroot}${prefix}/bin/mvimex } test.run yes if {![variant_isset big] && ![variant_isset huge]} { default_variants +huge } variant big description {Build big feature set} conflicts huge { } variant huge description {Build huge feature set} conflicts big { configure.args-append --with-features=huge } variant xim description {Build with support for X Input Method} { configure.args-append --enable-xim } variant perl description {Enable Perl scripting} { configure.args-append --enable-perlinterp depends_lib-append path:bin/perl:perl5 } # Compatibility variants, can be removed after 2015-12-26 variant python25 requires python27 description {Legacy variant} {} variant python31 requires python34 description {Legacy variant} {} variant python32 requires python34 description {Legacy variant} {} variant python26 conflicts python27 description {Enable Python scripting} { configure.args-append --enable-pythoninterp --with-python=${prefix}/bin/python2.6 patchfiles-append patch-python.diff depends_lib-append port:python26 use_autoconf yes } variant python27 conflicts python26 description {Enable Python scripting} { configure.args-append --enable-pythoninterp --with-python=${prefix}/bin/python2.7 patchfiles-append patch-python.diff depends_lib-append port:python27 use_autoconf yes } variant python33 conflicts python34 python35 description {Enable Python scripting} { configure.args-append --enable-python3interp --with-python3=${prefix}/bin/python3.3 patchfiles-append patch-python3.diff depends_lib-append port:python33 use_autoconf yes # Overwriting autoconf.cmd above removes dependency, add it again depends_build-append port:autoconf } variant python34 conflicts python33 python35 description {Enable Python scripting} { configure.args-append --enable-python3interp --with-python3=${prefix}/bin/python3.4 patchfiles-append patch-python3.diff depends_lib-append port:python34 use_autoconf yes # Overwriting autoconf.cmd above removes dependency, add it again depends_build-append port:autoconf } variant python35 conflicts python33 python34 description {Enable Python scripting} { configure.args-append --enable-python3interp --with-python3=${prefix}/bin/python3.5 patchfiles-append patch-python3.diff depends_lib-append port:python35 use_autoconf yes # Overwriting autoconf.cmd above removes dependency, add it again depends_build-append port:autoconf } variant ruby requires ruby18 description {Compatibility variant, requires +ruby18} {} variant ruby18 conflicts ruby19 ruby20 ruby21 ruby22 description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby1.8 depends_lib-append port:ruby } variant ruby19 conflicts ruby18 ruby20 ruby21 ruby22 description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby1.9 depends_lib-append port:ruby19 } variant ruby20 conflicts ruby18 ruby19 ruby21 ruby22 description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby2.0 depends_lib-append port:ruby20 } variant ruby21 conflicts ruby18 ruby19 ruby20 ruby22 description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby2.1 depends_lib-append port:ruby21 } variant ruby22 conflicts ruby18 ruby19 ruby20 ruby21 description {Enable Ruby scripting} { configure.args-append --enable-rubyinterp configure.args-append --with-ruby-command=${prefix}/bin/ruby2.2 depends_lib-append port:ruby22 } variant tcl description {Enable Tcl scripting} { configure.args-append --enable-tclinterp \ --with-tclsh=${prefix}/bin/tclsh patchfiles-append patch-tcl.diff depends_lib-append port:tcl use_autoconf yes } variant lua description {Enable Lua scripting} { configure.args-append --enable-luainterp \ --with-lua-prefix=${prefix} depends_lib-append port:lua } variant cscope description {Enable source code browsing with cscope} { configure.args-append --enable-cscope }