freebsd-ports/editors/vim/Makefile

275 lines
8.3 KiB
Makefile
Raw Normal View History

# ex:ts=8
# Ports collection makefile for: vim
# Date created: Sat June 29, 1996
# Whom: David O'Brien (obrien@cs.ucdavis.edu)
#
# $FreeBSD$
#
PORTNAME?= vim
# ! _NEVER_ reduce or lower PATCHLEVEL, even if the PATCHLEVEL
# ! value # is added to BADPATCHES. Doing otherwise will cause
# ! PORTEPOCH to be needed, which we do NOT want.
2012-09-29 01:29:02 +02:00
PATCHLEVEL= 669
PORTVERSION= 7.3.${PATCHLEVEL}
2006-12-14 00:41:59 +01:00
RELEASE= vim-${PORTVERSION:C/\.[0-9a-z]*$//}
2012-08-17 18:08:14 +02:00
PORTREVISION?= 0
CATEGORIES?= editors
2003-02-07 04:49:24 +01:00
MASTER_SITES= ${MASTER_SITE_VIM}
2006-12-14 00:41:59 +01:00
DISTFILES= ${RELEASE}${EXTRACT_SUFX}
2009-06-17 16:50:27 +02:00
PATCH_SITES= ${MASTER_SITES:S|unix|patches/${PORTVERSION:C/\.[0-9a-z]*$//}|}\
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/obrien/:local
2008-09-04 18:59:05 +02:00
PATCHFILES!= /usr/bin/jot -s " " -w ${PORTVERSION:C/\.[0-9]*$//}.%03d \
${PATCHLEVEL} 1 ${PATCHLEVEL}
2002-01-24 12:47:53 +01:00
# bits to remove
2012-09-29 01:29:02 +02:00
BADPATCHES= 122 225 235 246 247 252 253 336 386 387 400 434 487 491 527 569 578 579 580 581 583 584 603 611 629 640 650 654 655 656 657 658 659 660 670 671 672
.for p in ${BADPATCHES}
PATCHFILES:= ${PATCHFILES:N7.3.${p}}
.endfor
MAINTAINER?= obrien@FreeBSD.org
COMMENT?= Vi "workalike", with many additional features
SLAVEDIRS= editors/vim-lite
.if defined(WITH_OPTIONS) || defined(WITH_VIM_OPTIONS)
.include "${.CURDIR}/../vim/options"
.include <bsd.port.options.mk>
.endif
CONFLICTS= vim6* vim*-gnome libsysinfo
.if defined(LITE)
CONFLICTS+= vim*
.else
CONFLICTS+= vim*-lite
.endif
MAKE_JOBS_UNSAFE= yes
2001-05-10 02:40:33 +02:00
USE_BZIP2= yes
DIST_SUBDIR= vim
2002-04-09 04:23:01 +02:00
WRKSRC= ${WRKDIR}/vim${PORTVERSION:C/\.[0-9]*$//:S/.//g}/src
2003-06-06 21:01:42 +02:00
PATCH_DIST_ARGS= -d ${WRKSRC:S/src$//} --batch --forward --quiet -E ${PATCH_DIST_STRIP}
2001-10-30 19:56:02 +01:00
# consider
#PATCH_DIST_ARGS= -t
REINPLACE_ARGS= -i ""
MAKE_ARGS+= CONF_ARGS="--prefix=${PREFIX} --with-tlib=termlib ${CSCOPE_ARG}"
ALL_TARGET= #
2006-12-14 00:41:59 +01:00
_DATADIR= ${RELEASE:S/-//g:S/.//g}
DATADIR= ${PREFIX}/share/vim/${_DATADIR}
PLIST_SUB= VIM_VER=${_DATADIR}
MAN1= evim.1 vim.1 vimdiff.1 vimtutor.1 xxd.1
2004-08-09 14:01:24 +02:00
MLINKS= vim.1 rvim.1 vim.1 rview.1
.if !defined(LITE)
2004-08-09 14:01:24 +02:00
MLINKS+= vim.1 gvim.1 vim.1 gview.1 vimdiff.1 gvimdiff.1 \
vim.1 rgvim.1 vim.1 rgview.1 evim.1 eview.1
.endif
.if !defined(WITHOUT_NLS)
MANLANG= "" ru.KOI8-R ru.UTF-8 pl.ISO8859-2 pl.UTF-8 pl fr.ISO8859-1 \
fr.UTF-8 fr it.ISO8859-1 it.UTF-8 it
.endif
.if defined(PACKAGE_BUILDING) && !defined(LITE)
WITH_CSCOPE= yes
WITH_EXUBERANT_CTAGS=yes
2009-06-17 16:50:27 +02:00
WITH_PERL= yes
WITH_PYTHON= yes
WITH_RUBY= yes
WITH_TCL= yes
WITH_LUA= yes
.endif
.if defined(WITH_PYTHON)
USE_PYTHON= yes
MAKE_ARGS+= CONF_OPT_PYTHON="--enable-pythoninterp"
.endif
.if defined(WITH_RUBY)
USE_RUBY= yes
MAKE_ARGS+= CONF_OPT_RUBY="--enable-rubyinterp"
.endif
.if defined(WITH_TCL)
USE_TCL= 85+
.endif
.if defined(WITH_LUA)
USE_LUA= yes
MAKE_ARGS+= CONF_OPT_LUA="--enable-luainterp=dynamic" \
MAKE_ARGS+= CONF_OPT_LUA_PREFIX="--with-lua-prefix=${LOCALBASE}"
.endif
.if defined(WITH_PERL)
WANT_PERL= yes
.endif
.if !defined(LITE) && !defined(NO_GUI) && !defined(WITHOUT_GUI) && !defined(WITHOUT_X11) && !defined(WITH_X11_ONLY) && !defined(WITH_ATHENA) && !defined(WITH_MOTIF)
WANT_GNOME= yes
.endif
.include <bsd.port.pre.mk>
.if defined(LITE)
PKGNAMESUFFIX= -lite
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=no --without-x --enable-multibyte"
MAKE_ARGS+= CONF_OPT_PERL="--disable-perlinterp --disable-pythoninterp --disable-tclinterp --disable-rubyinterp --disable-luainterp"
.else # !LITE
2001-10-24 19:24:00 +02:00
MAKE_ARGS+= CONF_OPT_FEAT="--with-features=big"
I18N= CONF_OPT_MULTIBYTE="--enable-multibyte --enable-fontset --enable-xim"
. if defined(NO_GUI) || defined(WITHOUT_GUI)
WITHOUT_X11= yes
. endif
. if defined(WITH_CSCOPE)
RUN_DEPENDS+= cscope:${PORTSDIR}/devel/cscope
MAKE_ARGS+= CONF_OPT_CSCOPE="--enable-cscope"
. endif
. if defined(WITH_EXUBERANT_CTAGS)
RUN_DEPENDS+= exctags:${PORTSDIR}/devel/ctags
. endif
. if defined(WITH_PERL)
USE_PERL5= yes
MAKE_ARGS+= CONF_OPT_PERL="--enable-perlinterp"
. endif
. if defined(WITH_TCL)
MAKE_ARGS+= CONF_OPT_TCL="--enable-tclinterp --with-tclsh="${TCLSH:S/${LOCALBASE}\/bin\///g}""
. endif
. if !defined(WITHOUT_X11)
# for now default the GUI to the GTK+ one
. if !defined(WITH_X11_ONLY) && !defined(WITH_ATHENA) && !defined(WITH_MOTIF) && !defined(WITH_GNOME2) && !defined(WITH_GTK2)
WITH_GTK2= yes
. endif
. if defined(WITH_ATHENA)
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=athena" ${I18N}
. elif defined(WITH_GTK2)
USE_GNOME= gtk20
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=gtk2 --with-gtk-prefix=${LOCALBASE}" ${I18N}
MAKE_ARGS+= X_LIBS="$(X_LIBS) -lXt"
USE_XORG+= xt
. elif defined(WITH_GNOME2)
USE_GNOME= libgnomeui
PKGNAMESUFFIX= -gnome2
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=gnome2" ${I18N}
MAKE_ARGS+= X_LIBS="$(X_LIBS) -lXt"
USE_XORG+= xt glproto
. elif defined(WITH_MOTIF)
USE_MOTIF= yes
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=motif --with-motif-lib=\"${MOTIFLIB}\"" MOTIFHOME=${LOCALBASE} ${I18N}
. elif defined(WITH_X11_ONLY)
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=no --with-x" ${I18N}
. endif
. else # WITHOUT_X11
MAKE_ARGS+= CONF_OPT_GUI="--enable-gui=no --without-x" ${I18N}
. endif # WITHOUT_X11
.endif # LITE
.if exists(${LOCALBASE}/lib/libiconv.so)
USE_ICONV= yes
.endif
.if !defined(WITHOUT_NLS)
USE_GETTEXT= yes
.else
MAKE_ARGS+= CONF_OPT_NLS="--disable-nls"
.endif
.if defined(WITH_EXUBERANT_CTAGS)
CTAGS_CMD= exctags -R .
.else
CTAGS_CMD= ${FIND} . -type f \\|${XARGS} ctags
.endif
post-patch:
@(${FIND} ${WRKSRC}/../runtime/ -name menu\*.vim -print0 | ${XARGS} -0 \
${REINPLACE_CMD} -e 's,ctags -R \.,${CTAGS_CMD},g')
.if !defined(STRIP) || ${STRIP} == ""
${REINPLACE_CMD} '/$$(STRIP)/d' ${WRKSRC}/Makefile
.endif
2002-10-06 09:11:14 +02:00
pre-configure:
@(cd ${WRKSRC} ; ${MAKE} distclean)
@${REINPLACE_CMD} -e ' \
s|\$$gtk_config_prefix/bin/gtk-config|\$${GTK_CONFIG}|g; \
s|\$$gtk_config_exec_prefix/bin/gtk-config|\$${GTK_CONFIG}|g; \
s|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/auto/configure
2006-11-26 06:37:07 +01:00
.if defined(WITH_XTERM_SAVE)
@${REINPLACE_CMD} -e ' \
s|/\* #define FEAT_XTERM_SAVE \*/|#define FEAT_XTERM_SAVE|g' \
2006-11-26 06:37:07 +01:00
${WRKSRC}/feature.h
.endif
post-configure:
@(cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} scratch config)
# Clean up junk files to keep them from being installed.
pre-install:
@${FIND} ${WRKSRC:H} -type f -name '*.orig' -delete
post-install:
2001-04-15 09:33:31 +02:00
[ -e ${PREFIX}/bin/gvim ] || (cd ${PREFIX}/bin ; ${LN} -sf vim gvim)
# below needed for `vim-lite' port
2002-10-20 04:45:14 +02:00
${TEST} -e ${PREFIX}/bin/rgvim || (cd ${PREFIX}/bin ; ${LN} -sf vim rgvim)
${TEST} -e ${PREFIX}/bin/gview || (cd ${PREFIX}/bin ; ${LN} -sf vim gview)
${TEST} -e ${PREFIX}/bin/rgview || (cd ${PREFIX}/bin ; ${LN} -sf vim rgview)
2002-10-20 04:45:14 +02:00
${TEST} -e ${PREFIX}/bin/evim || (cd ${PREFIX}/bin ; ${LN} -sf vim evim)
${TEST} -e ${PREFIX}/bin/eview || (cd ${PREFIX}/bin ; ${LN} -sf vim eview)
${TEST} -e ${PREFIX}/bin/gvimdiff \
|| (cd ${PREFIX}/bin ; ${LN} -sf vim gvimdiff)
${TEST} -e ${PREFIX}/bin/gvimtutor \
|| (cd ${PREFIX}/bin ; ${LN} -sf vimtutor gvimtutor)
2001-12-03 08:13:35 +01:00
${INSTALL_DATA} ${FILESDIR}/vietnamese_viscii.vim ${DATADIR}/keymap
2011-06-20 19:40:31 +02:00
cd ${PREFIX} ; \
${FIND} share/vim/${_DATADIR} -type f -o -type l \
2004-01-22 12:06:02 +01:00
| ${SORT} \
>${WRKDIR}/PLIST.share-vim
2011-06-20 19:40:31 +02:00
cd ${PREFIX} ; \
2004-01-22 12:06:02 +01:00
${FIND} share/vim/${_DATADIR} -type d \
| ${SORT} -r | ${SED} -e 's/^/@dirrm /g' \
>>${WRKDIR}/PLIST.share-vim
${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
${ECHO_CMD} "/Insert PLIST.share-vim" >> ${WRKDIR}/ex.script
${ECHO_CMD} "d" >> ${WRKDIR}/ex.script
${ECHO_CMD} "r ${WRKDIR}/PLIST.share-vim" >> ${WRKDIR}/ex.script
${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script
${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-share-vim
cd ${WRKDIR} ; ex < ex.script
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
show-options:
@${MAKE} -DWITH_OPTIONS showconfig
2012-09-29 01:29:02 +02:00
.if defined(ONT_CHECKSUM)
checksum:
.endif
2010-10-31 22:17:21 +01:00
cklatest: .PHONY
@${ECHO} -n "Currently at: "
@${MAKE} -V PATCHLEVEL
2012-09-29 01:29:02 +02:00
-(${SED} -i '' "s/^PATCHLEVEL=.*$$/PATCHLEVEL= `ncftpls \
2004-08-03 21:15:39 +02:00
ftp://ftp.vim.org/pub/vim/patches/${PORTVERSION:C/\.[0-9a-z]*$//}/ \
2012-04-24 19:44:43 +02:00
| grep "^${PORTVERSION:C/\.[0-9a-z]*$//}" \
2010-10-02 03:55:08 +02:00
| ${SED} -n -e 's/${PORTVERSION:C/[0-9]*$//}\([0-9][0-9][0-9]\)$$/\1/p' \
2012-09-29 01:29:02 +02:00
| ${TAIL} -1`/" Makefile)
@${ECHO} -n "Now at: "
@${MAKE} -V PATCHLEVEL
2003-08-10 02:42:47 +02:00
2004-05-03 01:36:15 +02:00
find-bad-patches:
2009-02-11 18:29:11 +01:00
@cd ${DISTDIR} ; egrep -l \
2009-11-17 18:17:12 +01:00
'(src/if_(ole|mzsch)|src/gui_(w32|w48|mac)|src/os_(riscos|cyg|os2|vms|amiga|win32|mswin))|src(/testdir)?/Make_(dos|cyg|vms|mvc|ming|os2|amiga|mms)'\
2004-12-11 03:22:13 +01:00
vim/${PORTVERSION:C/\.[0-9a-z]*$//}*
2007-10-25 18:31:25 +02:00
2008-01-31 08:53:24 +01:00
ckp:
2012-09-29 01:29:02 +02:00
/usr/bin/time -h ${MAKE} -DPATCH_DEBUG -DONT_CHECKSUM clean patch
2009-06-17 16:50:27 +02:00
ckmtree:
${MTREE_CMD} -f ${MTREE_FILE} -p ${PREFIX}
2000-10-05 08:47:41 +02:00
.include <bsd.port.post.mk>