aboutsummaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authoradamw <adamw@FreeBSD.org>2016-10-01 13:36:41 +0800
committeradamw <adamw@FreeBSD.org>2016-10-01 13:36:41 +0800
commite0509cdda7790fd011365833c341a922ec9380c4 (patch)
treee26d64e13c574706fecb8a56c6ee1c59504fe189 /editors
parent310bef51f0fa8b1cb22ecff653701a01ca092b3f (diff)
downloadfreebsd-ports-gnome-e0509cdda7790fd011365833c341a922ec9380c4.tar.gz
freebsd-ports-gnome-e0509cdda7790fd011365833c341a922ec9380c4.tar.zst
freebsd-ports-gnome-e0509cdda7790fd011365833c341a922ec9380c4.zip
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
Diffstat (limited to 'editors')
-rw-r--r--editors/vim-lite/Makefile2
-rw-r--r--editors/vim/Makefile118
-rw-r--r--editors/vim/distinfo6
3 files changed, 78 insertions, 48 deletions
diff --git a/editors/vim-lite/Makefile b/editors/vim-lite/Makefile
index b97f3cdfa34b..bd5c13567a7a 100644
--- a/editors/vim-lite/Makefile
+++ b/editors/vim-lite/Makefile
@@ -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
diff --git a/editors/vim/Makefile b/editors/vim/Makefile
index 77818e344f4a..dd9ec057e681 100644
--- a/editors/vim/Makefile
+++ b/editors/vim/Makefile
@@ -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
-ATHENA_DESC= Athena GUI toolkit
-CSCOPE_DESC= cscope support
-CONSOLE_DESC= Console/terminal mode
+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
-UI_DESC= User interface
XTERM_SAVE_DESC= Restore xterm screen after exit
-PORTSCOUT= site:https://github.com/vim/vim/releases
+UI_DESC= User interface
+ATHENA_DESC= Athena GUI toolkit
+CSCOPE_DESC= cscope support
+CONSOLE_DESC= Console/terminal mode
+
+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,38 +73,60 @@ MAKE_ARGS+= CONF_OPT_FEAT=--with-features=huge \
PLIST_SUB+= NON_LITE=""
.endif
+# GENERAL OPTIONS
+CSCOPE_MAKE_ARGS= CONF_OPT_CSCOPE=--enable-cscope
+CSCOPE_RUN_DEPENDS= cscope:devel/cscope
+
+EXUBERANT_CTAGS_RUN_DEPENDS= exctags:devel/ctags
+
+NLS_MAKE_ARGS= CONF_OPT_NLS=--enable-nls
+NLS_MAKE_ARGS_OFF= CONF_OPT_NLS=--disable-nls
+NLS_USES= gettext
+
+# UI
ATHENA_MAKE_ARGS= CONF_OPT_GUI=--enable-gui=athena
ATHENA_PLIST_SUB= GUI=""
-ATHENA_USE= XORG=xaw
+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 "
-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
+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=gtk20 XORG=xpm,xt
-LUA_MAKE_ARGS= CONF_OPT_LUA=--enable-luainterp=dynamic CONF_OPT_LUA_PREFIX=--with-lua-prefix=${LOCALBASE}
-LUA_USES= lua
+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
-NLS_MAKE_ARGS= CONF_OPT_NLS=--enable-nls
-NLS_MAKE_ARGS_OFF= CONF_OPT_NLS=--disable-nls
-NLS_USES= gettext
+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+
-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
.include <bsd.port.pre.mk>
@@ -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>
diff --git a/editors/vim/distinfo b/editors/vim/distinfo
index cfc85dcdf64f..c475749ee0ca 100644
--- a/editors/vim/distinfo
+++ b/editors/vim/distinfo
@@ -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