aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2021-09-02 06:36:47 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2021-09-02 06:36:47 +0000
commit620f205539a43fd8da97750d33eebdfc1e133330 (patch)
tree693b87e15c5fc434bc130b442f0bff20a6124c15 /editors
parenta055899f4f1c41d07ae5b8d3f5a9983173ef76f6 (diff)
downloadports-620f205539a43fd8da97750d33eebdfc1e133330.tar.gz
ports-620f205539a43fd8da97750d33eebdfc1e133330.zip
Diffstat (limited to 'editors')
-rw-r--r--editors/Makefile2
-rw-r--r--editors/vim-console/Makefile12
-rw-r--r--editors/vim-console/pkg-descr14
-rw-r--r--editors/vim-tiny/Makefile19
-rw-r--r--editors/vim-tiny/pkg-descr15
-rw-r--r--editors/vim/Makefile166
-rw-r--r--editors/vim/distinfo6
-rw-r--r--editors/vim/pkg-descr6
-rw-r--r--editors/vim/pkg-plist-tiny (renamed from editors/vim-tiny/pkg-plist)0
9 files changed, 105 insertions, 135 deletions
diff --git a/editors/Makefile b/editors/Makefile
index 071288f27a88..79b5cba41c67 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -261,8 +261,6 @@
SUBDIR += vigor
SUBDIR += vile
SUBDIR += vim
- SUBDIR += vim-console
- SUBDIR += vim-tiny
SUBDIR += vscode
SUBDIR += web-mode
SUBDIR += with-editor
diff --git a/editors/vim-console/Makefile b/editors/vim-console/Makefile
deleted file mode 100644
index 676344d22338..000000000000
--- a/editors/vim-console/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# Created by: David O'Brien (obrien@NUXI.com)
-
-PKGNAMESUFFIX= -console
-
-COMMENT= Improved version of the vi editor (console only)
-
-CONFLICTS_INSTALL= vim vim-tiny
-
-CONSOLE= yes
-MASTERDIR= ${.CURDIR}/../vim
-
-.include "${MASTERDIR}/Makefile"
diff --git a/editors/vim-console/pkg-descr b/editors/vim-console/pkg-descr
deleted file mode 100644
index bef080aff377..000000000000
--- a/editors/vim-console/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-Vim is a highly configurable text editor built to enable efficient text editing.
-It is an improved version of the vi editor distributed with most UNIX systems.
-
-Vim is often called a "programmer's editor," and so useful for programming that
-many consider it an entire IDE. It's not just for programmers, though. Vim is
-perfect for all kinds of text editing, from composing email to editing
-configuration files.
-
-This is the console-only version. It differs from the main vim package only in
-lack of Gtk2 GUI and no external language bindings. The editing experience is
-identical.
-
-WWW: http://www.vim.org/
-WWW: https://github.com/vim/vim
diff --git a/editors/vim-tiny/Makefile b/editors/vim-tiny/Makefile
deleted file mode 100644
index 6982ad848100..000000000000
--- a/editors/vim-tiny/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# Created by: Adam Weinberger <adamw@FreeBSD.org>
-
-PKGNAMESUFFIX= -tiny
-
-COMMENT= Improved version of the vi editor (vim binary only)
-
-CONFLICTS_INSTALL= vim vim-console
-
-TINY= yes
-MASTERDIR= ${.CURDIR}/../vim
-
-PORTDATA= # Not for -tiny
-PLIST= ${.CURDIR}/pkg-plist
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/src/vim ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/runtime/doc/vim.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
-
-.include "${MASTERDIR}/Makefile"
diff --git a/editors/vim-tiny/pkg-descr b/editors/vim-tiny/pkg-descr
deleted file mode 100644
index 58a3e04a64b2..000000000000
--- a/editors/vim-tiny/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-Vim is a highly configurable text editor built to enable efficient text editing.
-It is an improved version of the vi editor distributed with most UNIX systems.
-
-Vim is often called a "programmer's editor," and so useful for programming that
-many consider it an entire IDE. It's not just for programmers, though. Vim is
-perfect for all kinds of text editing, from composing email to editing
-configuration files.
-
-This is the "tiny" version, which is console-only and contains ONLY the vim
-binary. It contains no help files, syntax files, or any other runtime files,
-and is designed only for minimal installs. You almost always want the vim
-or vim-console package instead.
-
-WWW: http://www.vim.org/
-WWW: https://github.com/vim/vim
diff --git a/editors/vim/Makefile b/editors/vim/Makefile
index 24ed2902e873..5ee67ee2e4a9 100644
--- a/editors/vim/Makefile
+++ b/editors/vim/Makefile
@@ -1,13 +1,12 @@
# Created by: David O'Brien <obrien@cs.ucdavis.edu>
PORTNAME= vim
-PORTVERSION= 8.2.3273
-PORTREVISION= 1
+PORTVERSION= 8.2.3394
DISTVERSIONPREFIX= v
CATEGORIES= editors
MAINTAINER= adamw@FreeBSD.org
-COMMENT?= Improved version of the vi editor
+COMMENT= Improved version of the vi editor (${FLAVOR:U} flavor)
LICENSE= VIM
LICENSE_NAME= VIM License
@@ -17,10 +16,9 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
USES= cpe iconv ncurses pkgconfig shebangfix
USE_GITHUB= yes
-CONFLICTS_INSTALL?= vim-console vim-tiny
-
# Vim will try to link against libcanberra if it's installed
CONFIGURE_ARGS= --disable-canberra \
+ --enable-cscope \
--enable-gui=${GUI} \
--enable-multibyte \
--with-tlib=ncursesw
@@ -31,25 +29,92 @@ MAKE_ARGS= STRIP="${STRIP_CMD}" \
CPE_VERSION= ${PORTVERSION:R}
GNU_CONFIGURE= yes
PLIST_SUB= VIM_VER=${VIM_VER}
-PORTDATA?= ${VIM_VER}
+PORTDATA= ${VIM_VER}
PORTSCOUT= ignore:1
SHEBANG_FILES= runtime/tools/demoserver.py runtime/tools/efm_perl.pl
VIM_VER= ${PORTNAME}${PORTVERSION:R:S|.||g}
-# OPTIONS for normal (non-tiny) vim
-# ### Make sure any new options are excluded below in CONSOLE/TINY
-OPTIONS_DEFAULT= CSCOPE DEFAULT_VIMRC CTAGS_EXUBERANT GTK3 PERL PYTHON RUBY
-OPTIONS_DEFINE= CSCOPE DEFAULT_VIMRC MAKE_JOBS NLS XTERM_SAVE
-OPTIONS_SINGLE= CTAGS UI
+# Flavors {{{1
+# FLAVORS are used to build various Vim GUIs. The default flavor (`vim') is
+# console-only.
+FLAVORS= console athena gtk2 gtk3 motif x11 tiny
+
+# GUI flavors
+.if ${FLAVOR:U} == console
+GUI= no
+PLIST_SUB+= GUI="@comment " DESKTOP="@comment "
+CONFLICTS_INSTALL= vim-athena vim-gtk2 vim-gtk3 vim-motif vim-tiny vim-x11
+
+.elif ${FLAVOR:U} == tiny
+PKGNAMESUFFIX= -tiny
+GUI= no
+PLIST= ${.CURDIR}/pkg-plist-tiny
+CONFLICTS_INSTALL= vim-athena vim-console vim-gtk2 vim-gtk3 vim-motif vim-x11
+
+.elif ${FLAVOR:U} == athena
+PKGNAMESUFFIX= -athena
+GUI= athena
+CONFIGURE_ARGS+=--enable-xim --enable-fontset
+PLIST_SUB+= GUI="" DESKTOP="@comment "
+USES+= xorg
+USE_XORG+= ice sm x11 xaw xmu xpm xt
+CONFLICTS_INSTALL= vim-console vim-gtk2 vim-gtk3 vim-motif vim-tiny vim-x11
+
+.elif ${FLAVOR:U} == gtk2
+PKGNAMESUFFIX= -gtk2
+GUI= gtk2
+INSTALLS_ICONS= yes
+CONFIGURE_ARGS+=--enable-xim --enable-fontset
+PLIST_SUB+= GUI="" DESKTOP=""
+USES+= desktop-file-utils gnome xorg
+USE_GNOME= gdkpixbuf2 gtk20
+USE_XORG= ice sm x11 xpm xt
+CONFLICTS_INSTALL= vim-athena vim-console vim-gtk3 vim-motif vim-tiny vim-x11
+
+.elif ${FLAVOR:U} == gtk3
+PKGNAMESUFFIX= -gtk3
+GUI= gtk3
+INSTALLS_ICONS= yes
+CONFIGURE_ARGS+=--enable-xim --enable-fontset
+PLIST_SUB+= GUI="" DESKTOP=""
+USES+= desktop-file-utils gnome xorg
+USE_GNOME= cairo gdkpixbuf2 gtk30
+USE_XORG= ice sm x11 xpm xt
+CONFLICTS_INSTALL= vim-athena vim-console vim-gtk2 vim-motif vim-tiny vim-x11
+
+.elif ${FLAVOR:U} == motif
+PKGNAMESUFFIX= -motif
+GUI= motif
+CONFIGURE_ARGS+=--enable-xim --enable-fontset --with-motif=lib="${MOTIFLIB}"
+CONFIGURE_ENV+= MOTIFHOME=${LOCALBASE}
+PLIST_SUB+= GUI="" DESKTOP="@comment "
+USES+= motif xorg
+USE_XORG= ice sm x11 xmu xt
+CONFLICTS_INSTALL= vim-athena vim-console vim-gtk2 vim-gtk3 vim-tiny vim-x11
+
+.elif ${FLAVOR:U} == x11
+PKGNAMESUFFIX= -x11
+GUI= no
+CONFIGURE_ARGS+=--enable-xim --enable-fontset --with-x
+PLIST_SUB+= GUI="@comment " DESKTOP="@comment "
+USES+= xorg
+USE_XORG= ice sm x11 xt
+CONFLICTS_INSTALL= vim-athena vim-console vim-gtk2 vim-gtk3 vim-motif vim-tiny
+.endif
+
+# Options {{{1
+# The bulk of the OPTIONS are for normal (non-tiny) vim
+### Make sure any new options are excluded below in CONSOLE/TINY
+OPTIONS_DEFAULT= CTAGS_BASE DEFAULT_VIMRC PYTHON
+OPTIONS_DEFINE= DEFAULT_VIMRC MAKE_JOBS NLS XTERM_SAVE
+OPTIONS_SINGLE= CTAGS
OPTIONS_SINGLE_CTAGS= CTAGS_BASE CTAGS_EXUBERANT CTAGS_UNIVERSAL
-OPTIONS_SINGLE_UI= ATHENA CONSOLE GTK2 GTK3 MOTIF X11
OPTIONS_GROUP= LANGBIND
OPTIONS_GROUP_LANGBIND= LUA PERL PYTHON RUBY SCHEME TCL
OPTIONS_SUB= yes
# vim-tiny excludes everything except CONSOLE, DEFAULT_VIMRC, MAKE_JOBS
-.if defined(CONSOLE) || defined(TINY)
-OPTIONS_SLAVE= CONSOLE
+.if ${FLAVOR:U} == tiny
OPTIONS_EXCLUDE:= ${OPTIONS_DEFINE:NDEFAULT_VIMRC:NMAKE_JOBS} \
${OPTIONS_SINGLE_UI:NCONSOLE} \
${OPTIONS_GROUP_LANGBIND} \
@@ -64,22 +129,11 @@ CTAGS_BASE_DESC= Use system ctags
CTAGS_EXUBERANT_DESC= Use exctags instead of ctags
CTAGS_UNIVERSAL_DESC= Use uctags instead of ctags
-UI_DESC= User interface
-ATHENA_DESC= Athena GUI toolkit
-CSCOPE_DESC= cscope support
-CONSOLE_DESC= Console/terminal mode
-
-LANGBIND_DESC= Optional language bindings
-SCHEME_DESC= MzScheme (Racket) bindings
-
# BROKEN: ruby.h: error: wrong number of arguments specified for 'deprecated' attribute
OPTIONS_EXCLUDE_powerpc64= RUBY
OPTIONS_EXCLUDE_powerpc64le= RUBY
# GENERAL OPTIONS
-CSCOPE_CONFIGURE_ENABLE=cscope
-CSCOPE_RUN_DEPENDS= cscope:devel/cscope
-
CTAGS_EXUBERANT_RUN_DEPENDS= exctags:devel/ctags
CTAGS_UNIVERSAL_RUN_DEPENDS= uctags:devel/universal-ctags
@@ -88,40 +142,9 @@ MAKE_JOBS_VARS_OFF= MAKE_JOBS_UNSAFE=yes
NLS_CONFIGURE_ENABLE= nls
NLS_USES= gettext
-# UI
-ATHENA_PLIST_SUB= GUI="" DESKTOP="@comment "
-ATHENA_USES= xorg
-ATHENA_USE= XORG=ice,sm,x11,xaw,xmu,xpm,xt
-ATHENA_VARS= GUI=athena
-
-CONSOLE_CONFIGURE_OFF= --enable-xim --enable-fontset
-CONSOLE_PLIST_SUB= GUI="@comment " DESKTOP="@comment "
-CONSOLE_VARS= GUI=no
-
-GTK2_PLIST_SUB= GUI="" DESKTOP=""
-GTK2_USE= GNOME=gdkpixbuf2,gtk20 XORG=ice,sm,x11,xpm,xt
-GTK2_USES= desktop-file-utils gnome xorg
-GTK2_VARS= GUI=gtk2 INSTALLS_ICONS=yes
-
-GTK3_PLIST_SUB= GUI="" DESKTOP=""
-GTK3_USE= GNOME=cairo,gdkpixbuf2,gtk30 XORG=ice,sm,x11,xpm,xt
-GTK3_USES= desktop-file-utils gnome xorg
-GTK3_VARS= GUI=gtk3 INSTALLS_ICONS=yes
-
-MOTIF_CONFIGURE_ENV= MOTIFHOME=${LOCALBASE}
-MOTIF_CONFIGURE_WITH= motif-lib="${MOTIFLIB}"
-MOTIF_PLIST_SUB= GUI="" DESKTOP="@comment "
-MOTIF_USE= XORG=ice,sm,x11,xmu,xt
-MOTIF_USES= motif xorg
-MOTIF_VARS= GUI=motif
-
-X11_CONFIGURE_WITH= x
-X11_PLIST_SUB= GUI="@comment " DESKTOP="@comment "
-X11_USE= XORG=ice,sm,x11,xt
-X11_USES= xorg
-X11_VARS= GUI=no
-
# LANGUAGE BINDINGS
+LANGBIND_DESC= Optional language bindings
+
LUA_CONFIGURE_ENABLE= luainterp
LUA_CONFIGURE_WITH= lua-prefix=${LOCALBASE}
LUA_USES= lua
@@ -129,12 +152,14 @@ LUA_USES= lua
PERL_CONFIGURE_ENABLE= perlinterp
PERL_USES= perl5
-PYTHON_USES= python
+PYTHON_USES= python:3.6+
PYTHON_USES_OFF= python:env
+PYTHON_CONFIGURE_ARGS= --enable-python3interp --with-python3-command=${PYTHON_CMD}
RUBY_CONFIGURE_ENABLE= rubyinterp
RUBY_USE= RUBY=yes
+SCHEME_DESC= MzScheme (Racket) bindings
SCHEME_CONFIGURE_ENABLE=mzschemeinterp
SCHEME_BUILD_DEPENDS= mzscheme:lang/racket
SCHEME_RUN_DEPENDS= ${SCHEME_BUILD_DEPENDS}
@@ -143,17 +168,11 @@ TCL_CONFIGURE_ENABLE= tclinterp
TCL_CONFIGURE_WITH= tclsh=tclsh${TCL_VER}
TCL_USES= tcl
+# Targets {{{1
.include <bsd.port.pre.mk>
-.if ${PORT_OPTIONS:MPYTHON}
-. if !empty(WITH_DEBUG)
+.if ${PORT_OPTIONS:MPYTHON} && !empty(WITH_DEBUG)
CFLAGS+= -DPy_DEBUG -DPy_DEBUG_NO_PYMALLOC
-. endif
-. if ${PYTHON_MAJOR_VER} == 3
-CONFIGURE_ARGS+= --enable-python3interp --with-python3-command=${PYTHON_CMD}
-. else
-CONFIGURE_ARGS+= --enable-pythoninterp --with-python-command=${PYTHON_CMD}
-. endif
.endif
post-extract:
@@ -173,13 +192,20 @@ post-install-DEFAULT_VIMRC-on:
${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${FILESDIR}/vimrc ${STAGEDIR}${ETCDIR}/vimrc.sample
-.if !defined(TINY)
+.if ${FLAVOR:U} == tiny
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}/${VIM_VER}
+ ${INSTALL_PROGRAM} ${WRKSRC}/src/vim ${STAGEDIR}${PREFIX}/bin
+ ${TOUCH} ${STAGEDIR}${DATADIR}/${VIM_VER}/defaults.vim
+ ${INSTALL_MAN} ${WRKSRC}/runtime/doc/vim.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
+
+.else # flavor != tiny
post-install:
${RM} ${STAGEDIR}${PREFIX}/bin/ex
${RM} ${STAGEDIR}${PREFIX}/bin/view
-.for F in eview evim gview gvim gvimdiff rgview rgvim rview rvim vimdiff
+. for F in eview evim gview gvim gvimdiff rgview rgvim rview rvim vimdiff
${LN} -sf vim ${STAGEDIR}${PREFIX}/bin/$F
-.endfor
+. endfor
# OPTIONS
post-patch-CTAGS_BASE-on:
diff --git a/editors/vim/distinfo b/editors/vim/distinfo
index f63fb5f51611..081caf079ae3 100644
--- a/editors/vim/distinfo
+++ b/editors/vim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1627902718
-SHA256 (vim-vim-v8.2.3273_GH0.tar.gz) = 03c5f8962aa68107e4310895b0679c463f6aef2452759ccac50cd052eda49b76
-SIZE (vim-vim-v8.2.3273_GH0.tar.gz) = 15665556
+TIMESTAMP = 1630541775
+SHA256 (vim-vim-v8.2.3394_GH0.tar.gz) = aae16c7705bd22e1ecc9316366ad19193a980b986019557aa95f04f6bacd0b10
+SIZE (vim-vim-v8.2.3394_GH0.tar.gz) = 15708831
diff --git a/editors/vim/pkg-descr b/editors/vim/pkg-descr
index 96764a7b709e..daacdb5d7419 100644
--- a/editors/vim/pkg-descr
+++ b/editors/vim/pkg-descr
@@ -6,5 +6,11 @@ many consider it an entire IDE. It's not just for programmers, though. Vim is
perfect for all kinds of text editing, from composing email to editing
configuration files.
+FreeBSD has the following Vim packages:
+* vim: Console-only Vim (vim binary) with all runtime files
+* vim-gtk3, -gtk2, -athena, -motif, -x11: Console Vim plus a GUI (gvim binary)
+* vim-tiny: Vim binary only, with no runtime files. Not useful for most people;
+ intended for minimal (ex. jail) installations
+
WWW: http://www.vim.org/
WWW: https://github.com/vim/vim
diff --git a/editors/vim-tiny/pkg-plist b/editors/vim/pkg-plist-tiny
index 4f0add561d15..4f0add561d15 100644
--- a/editors/vim-tiny/pkg-plist
+++ b/editors/vim/pkg-plist-tiny