1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00

Update vim to 8.0.0019, add GTK3 support, and take maintainership.

Many, many thanks to Sunpoet for all the time he has spent working
on and improving this port!

Many smaller changes in this update as well:
- Languange support was moved into its own OPTIONS group for clarity
  (a visual change only; it does not affect the knobs themselves)
- Add LICENSE
- Reorganize and format the Makefile for clarity
- Remove a few pieces of cruft
- Add many missing dependencies for most of the GUI options
- Use better (more robust) build constructs where possible

PR:		212771
Approved by:	maintainer timeout
This commit is contained in:
Adam Weinberger 2016-10-01 05:36:41 +00:00
parent 7b4cb871d6
commit e013a28f26
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=423033
3 changed files with 87 additions and 57 deletions

View File

@ -1,7 +1,7 @@
# Created by: David O'Brien (obrien@NUXI.com)
# $FreeBSD$
MAINTAINER= sunpoet@FreeBSD.org
MAINTAINER= adamw@FreeBSD.org
COMMENT= Improved version of the vi editor (lite package)
LITE= yes

View File

@ -2,53 +2,61 @@
# $FreeBSD$
PORTNAME= vim
PORTVERSION= 7.4.2367
PORTVERSION= 8.0.0019
DISTVERSIONPREFIX= v
CATEGORIES?= editors
MAINTAINER?= sunpoet@FreeBSD.org
MAINTAINER?= adamw@FreeBSD.org
COMMENT?= Improved version of the vi editor
OPTIONS_DEFINE= CSCOPE DEFAULT_VIMRC EXUBERANT_CTAGS LUA NLS PERL PYTHON RUBY TCL XTERM_SAVE
OPTIONS_SINGLE= UI
OPTIONS_SINGLE_UI= ATHENA CONSOLE GNOME GTK2 MOTIF X11
OPTIONS_SUB= yes
LICENSE= VIM
LICENSE_NAME= VIM License
LICENSE_FILE= ${WRKSRC}/runtime/doc/uganda.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
OPTIONS_DEFINE= CSCOPE DEFAULT_VIMRC EXUBERANT_CTAGS NLS XTERM_SAVE
OPTIONS_SINGLE= UI
OPTIONS_SINGLE_UI= ATHENA CONSOLE GNOME GTK2 GTK3 MOTIF X11
OPTIONS_GROUP= LANGBIND
OPTIONS_GROUP_LANGBIND= LUA PERL PYTHON RUBY TCL
OPTIONS_SUB= yes
DEFAULT_VIMRC_DESC= Install bundled vimrc as default setting
EXUBERANT_CTAGS_DESC= Use exctags instead of ctags
XTERM_SAVE_DESC= Restore xterm screen after exit
UI_DESC= User interface
ATHENA_DESC= Athena GUI toolkit
CSCOPE_DESC= cscope support
CONSOLE_DESC= Console/terminal mode
DEFAULT_VIMRC_DESC= Install bundled vimrc as default setting
EXUBERANT_CTAGS_DESC= Use exctags instead of ctags
UI_DESC= User interface
XTERM_SAVE_DESC= Restore xterm screen after exit
PORTSCOUT= site:https://github.com/vim/vim/releases
LANGBIND_DESC= Optional language bindings
ALL_TARGET= # empty
MAKE_ARGS+= CC="${CC}" CONF_ARGS="--prefix=${PREFIX} ${CSCOPE_ARG}" STRIP="${STRIP_CMD}" CONF_OPT_MULTIBYTE=--enable-multibyte CONF_TERM_LIB=--with-tlib=termlib
MAKE_ARGS+= CC="${CC}" CONF_ARGS="--prefix=${PREFIX} ${CSCOPE_ARG}" STRIP="${STRIP_CMD}"
MAKE_ARGS+= VIMRUNTIMEDIR=${PREFIX}/share/vim/${VIM_VER} VIMRCLOC=${ETCDIR}
MAKE_ARGS+= CONF_OPT_MULTIBYTE=--enable-multibyte CONF_TERM_LIB=--with-tlib=termlib
REINPLACE_ARGS= -i ''
USES= cpe iconv ncurses pkgconfig shebangfix
WANT_GNOME= yes
PLIST_SUB= VIM_VER=${VIM_VER}
PORTDATA= ${VIM_VER}
VIM_VER= ${PORTNAME}${PORTVERSION:R:S|.||g}
USE_GITHUB= yes
CPE_VERSION= ${PORTVERSION:R}
SLAVEDIRS= editors/vim-lite
USE_GITHUB= yes
SHEBANG_FILES= runtime/tools/efm_perl.pl
CPE_VERSION= ${PORTVERSION:R}
PORTSCOUT= site:https://github.com/vim/vim/releases
.if defined(LITE)
PKGNAMESUFFIX+= -lite
CONFLICTS_INSTALL= vim-[0-9]*
OPTIONS_DEFAULT=DEFAULT_VIMRC
OPTIONS_EXCLUDE=ATHENA CSCOPE EXUBERANT_CTAGS GNOME GTK2 LUA MOTIF NLS PERL PYTHON RUBY TCL X11 XTERM_SAVE
OPTIONS_SLAVE= CONSOLE
OPTIONS_EXCLUDE:= ${OPTIONS_DEFINE:NDEFAULT_VIMRC} \
${OPTIONS_SINGLE_UI:NCONSOLE} \
${OPTIONS_GROUP_LANGBIND}
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=no --without-x" \
CONF_OPT_LUA=--disable-luainterp \
CONF_OPT_PERL=--disable-perlinterp \
@ -65,39 +73,61 @@ MAKE_ARGS+= CONF_OPT_FEAT=--with-features=huge \
PLIST_SUB+= NON_LITE=""
.endif
ATHENA_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=athena
ATHENA_PLIST_SUB= GUI=""
ATHENA_USE= XORG=xaw
CONSOLE_MAKE_ARGS= CONF_OPT_GUI="--enable-gui=no --without-x"
CONSOLE_PLIST_SUB= GUI="@comment "
# GENERAL OPTIONS
CSCOPE_MAKE_ARGS= CONF_OPT_CSCOPE=--enable-cscope
CSCOPE_RUN_DEPENDS= cscope:devel/cscope
EXUBERANT_CTAGS_RUN_DEPENDS= exctags:devel/ctags
GNOME_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=gnome2 X_LIBS="$$(X_LIBS) -lX11 -lXpm -lXt"
GNOME_PLIST_SUB= GUI=""
GNOME_USE= GNOME=libgnomeui XORG=glproto,xpm,xt
GTK2_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=gtk2 X_LIBS="$$(X_LIBS) -lX11 -lXpm -lXt"
GTK2_PLIST_SUB= GUI=""
GTK2_USE= GNOME=gtk20 XORG=xpm,xt
LUA_MAKE_ARGS= CONF_OPT_LUA=--enable-luainterp=dynamic CONF_OPT_LUA_PREFIX=--with-lua-prefix=${LOCALBASE}
LUA_USES= lua
MOTIF_MAKE_ARGS= CONF_OPT_GUI='--enable-gui=motif --with-motif-lib="${MOTIFLIB}"' MOTIFHOME=${LOCALBASE}
MOTIF_PLIST_SUB= GUI=""
MOTIF_USES= motif
NLS_MAKE_ARGS= CONF_OPT_NLS=--enable-nls
NLS_MAKE_ARGS_OFF= CONF_OPT_NLS=--disable-nls
NLS_USES= gettext
PERL_MAKE_ARGS= CONF_OPT_PERL=--enable-perlinterp
PERL_USES= perl5
PYTHON_USES= python
RUBY_MAKE_ARGS= CONF_OPT_RUBY=--enable-rubyinterp
RUBY_USE= RUBY=yes
TCL_MAKE_ARGS= CONF_OPT_TCL="--enable-tclinterp --with-tclsh=tclsh${TCL_VER}"
TCL_USES= tcl:85+
# UI
ATHENA_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=athena
ATHENA_PLIST_SUB= GUI=""
ATHENA_USE= XORG=ice,sm,x11,xaw,xmu,xpm,xt
CONSOLE_MAKE_ARGS= CONF_OPT_GUI="--enable-gui=no --without-x"
CONSOLE_PLIST_SUB= GUI="@comment "
GNOME_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=gnome2 X_LIBS="$$(X_LIBS) -lX11 -lXpm -lXt"
GNOME_PLIST_SUB= GUI=""
GNOME_IMPLIES= NLS
GNOME_USE= GNOME=gdkpixbuf2,libgnomeui XORG=ice,sm,glproto,x11,xpm,xt
GTK2_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=gtk2 X_LIBS="$$(X_LIBS) -lX11 -lXpm -lXt"
GTK2_PLIST_SUB= GUI=""
GTK2_USE= GNOME=gdkpixbuf2,gtk20 XORG=ice,sm,x11,xpm,xt
GTK3_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=gtk3 X_LIBS="$$(X_LIBS) -lX11 -lXpm -lXt"
GTK3_PLIST_SUB= GUI=""
GTK3_USE= GNOME=cairo,gdkpixbuf2,gtk30 XORG=ice,sm,x11,xpm,xt
MOTIF_MAKE_ARGS= CONF_OPT_GUI='--enable-gui=motif --with-motif-lib="${MOTIFLIB}"' MOTIFHOME=${LOCALBASE}
MOTIF_PLIST_SUB= GUI=""
MOTIF_USES= motif
MOTIF_USE= XORG=ice,sm,x11,xmu,xt
X11_MAKE_ARGS= CONF_OPT_GUI="--enable-gui=no --with-x" X_LIBS="$$(X_LIBS) -lX11 -lXt"
X11_PLIST_SUB= GUI="@comment "
X11_USE= XORG=x11,xt
# LANGUAGE BINDINGS
LUA_MAKE_ARGS= CONF_OPT_LUA=--enable-luainterp=dynamic CONF_OPT_LUA_PREFIX=--with-lua-prefix=${LOCALBASE}
LUA_USES= lua
PERL_MAKE_ARGS= CONF_OPT_PERL=--enable-perlinterp
PERL_USES= perl5
PYTHON_USES= python
RUBY_MAKE_ARGS= CONF_OPT_RUBY=--enable-rubyinterp
RUBY_USE= RUBY=yes
TCL_MAKE_ARGS= CONF_OPT_TCL="--enable-tclinterp --with-tclsh=tclsh${TCL_VER}"
TCL_USES= tcl:85+
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MPYTHON}
@ -123,7 +153,7 @@ post-patch-EXUBERANT_CTAGS-on:
pre-configure:
@${CP} ${WRKSRC}/src/config.mk.dist ${WRKSRC}/src/auto/config.mk
@(cd ${WRKSRC}/src/ && ${MAKE_CMD} distclean)
@${DO_MAKE_BUILD} -C ${WRKSRC}/src distclean
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
-e 's|\$$gtk_config_prefix/bin/gtk-config|\$${GTK_CONFIG}|g' \
-e 's|\$$gtk_config_exec_prefix/bin/gtk-config|\$${GTK_CONFIG}|g' \
@ -133,31 +163,31 @@ pre-configure-XTERM_SAVE-on:
@${REINPLACE_CMD} -e '/FEAT_XTERM_SAVE/ s|.*|#define FEAT_XTERM_SAVE|' ${WRKSRC}/src/feature.h
post-configure:
@(cd ${WRKSRC}/src/ && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} scratch config)
@${DO_MAKE_BUILD} -C ${WRKSRC}/src scratch config
@${REINPLACE_CMD} -e 's|#define HAVE_SYSINFO 1|/* #undef HAVE_SYSINFO */|' ${WRKSRC}/src/auto/config.h
post-install:
${MKDIR} ${STAGEDIR}${DATADIR}/${VIM_VER}/lang/
.for file in evim rview rvim vimdiff
${TEST} -e ${STAGEDIR}${PREFIX}/bin/${file} || ${LN} -fs vim ${STAGEDIR}${PREFIX}/bin/${file}
${LN} -fs vim ${STAGEDIR}${PREFIX}/bin/${file}
.endfor
.if !${PORT_OPTIONS:MCONSOLE} && !${PORT_OPTIONS:MX11}
.if empty(PORT_OPTIONS:MCONSOLE) && empty(PORT_OPTIONS:MX11)
.for file in eview gview gvim gvimdiff rgview rgvim
${TEST} -e ${STAGEDIR}${PREFIX}/bin/${file} || ${LN} -fs vim ${STAGEDIR}${PREFIX}/bin/${file}
${LN} -fs vim ${STAGEDIR}${PREFIX}/bin/${file}
.endfor
.endif
post-install-DEFAULT_VIMRC-on:
${MKDIR} ${STAGEDIR}${ETCDIR}
@${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${FILESDIR}/vimrc ${STAGEDIR}${ETCDIR}/gvimrc.sample
${INSTALL_DATA} ${FILESDIR}/vimrc ${STAGEDIR}${ETCDIR}/vimrc.sample
post-install-NLS-off:
${MKDIR} ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap/
${INSTALL_DATA} ${WRKSRC}/runtime/keymap/* ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap/
${INSTALL_DATA} ${FILESDIR}/vietnamese_viscii.vim ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap/
@${MKDIR} ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap
${INSTALL_DATA} ${WRKSRC}/runtime/keymap/* ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap
${INSTALL_DATA} ${FILESDIR}/vietnamese_viscii.vim ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap
post-install-NLS-on:
${INSTALL_DATA} ${FILESDIR}/vietnamese_viscii.vim ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap/
${INSTALL_DATA} ${FILESDIR}/vietnamese_viscii.vim ${STAGEDIR}${DATADIR}/${VIM_VER}/keymap
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1474128105
SHA256 (vim-vim-v7.4.2367_GH0.tar.gz) = a9ae4031ccd73cc60e771e8bf9b3c8b7f10f63a67efce7f61cd694cd8d7cda5c
SIZE (vim-vim-v7.4.2367_GH0.tar.gz) = 12916710
TIMESTAMP = 1475291592
SHA256 (vim-vim-v8.0.0019_GH0.tar.gz) = f13a76504b2f976228edd7169d592870a6af45614d82ae2a9c312fc17ab3d4ad
SIZE (vim-vim-v8.0.0019_GH0.tar.gz) = 12919003