1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

- Force use of libreadline from ports rather than base, in order to avoid

unexpectedly getting readline from ports if it's already installed.
- Add patch to work with newer libreadline
- Provide an option to use libedit from ports, avoiding the libedit in base.
- Note 1: The patch to work with newer libreadline is only applied in the
  libreadline case since it actually breaks building with libedit.
- Note 2: libreadline is not BSD licensed and while libedit would be
  preferable, it seems to have issues with UTF8 still, see ruby bug 9204. Once
  that's resolved, we can make libedit the default.

PR:		ports/187928 [1] (based on)
PR:		ports/188077 [2] (based on)
Submitted by:	Shin-ya Murakami <murashin@gfd-dennou.org> [1]
Submitted by:	Christoph Moench-Tegeder <cmt@burggraben.net> [2]
Obtained from:	http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/readline/readline.c?r1=43458&r2=45225 (ruby upstream)
MFH:		2014Q2
This commit is contained in:
Steve Wills 2014-05-30 18:34:29 +00:00
parent a3bd135ce7
commit 07e2d47f53
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=355890
5 changed files with 76 additions and 14 deletions

View File

@ -193,7 +193,7 @@ RUBY21= "@comment "
# Ruby 2.0
#
RUBY_RELVERSION= 2.0.0
RUBY_PORTREVISION= 5
RUBY_PORTREVISION= 6
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 353
@ -209,7 +209,7 @@ RUBY21= "@comment "
# Ruby 2.1
#
RUBY_RELVERSION= 2.1.1
RUBY_PORTREVISION= 1
RUBY_PORTREVISION= 2
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0

View File

@ -40,16 +40,25 @@ USE_AUTOTOOLS= autoconf
WRKSRC= ${WRKDIR}/${PORTNAME}-${RUBY_DISTVERSION}
RUBY_VER= 2.0
USE_BZIP2= yes
USE_RUBY= yes
RUBY_NO_BUILD_DEPENDS= yes
RUBY_NO_RUN_DEPENDS= yes
NO_LATEST_LINK= yes
OPTIONS_DEFINE= RDOC DEBUG
RDOC_DESC= Build and install Rdoc indexes
DEBUG_DESC= Compile-in debug info
OPTIONS_DEFINE= RDOC DEBUG
OPTIONS_DEFAULT= READLINE
OPTIONS_RADIO= EDIT
OPTIONS_RADIO_EDIT= LIBEDIT READLINE
RDOC_DESC= Build and install Rdoc indexes
DEBUG_DESC= Compile-in debug info
EDIT_DESC= Which line editing lib to use
LIBEDIT_DESC= Use libedit
READLINE_DESC= Use libreadline
.include <bsd.port.options.mk>
USES= tar:bzip2
.include <bsd.port.pre.mk>
@ -83,6 +92,19 @@ CONFIGURE_ENV= CFLAGS="-I${LOCALBASE}/include ${CFLAGS}" \
LIBS="-L${LOCALBASE}/lib ${LDFLAGS}" \
debugflags=
.if ${PORT_OPTIONS:MLIBEDIT}
BUILD_DEPENDS+= libedit>=0:${PORTSDIR}/devel/libedit
RUN_DEPENDS+= libedit>=0:${PORTSDIR}/devel/libedit
CONFIGURE_ARGS+= --enable-libedit --with-libedit-prefix=${LOCALBASE}
.endif
.if ${PORT_OPTIONS:MREADLINE}
BUILD_DEPENDS+= readline>=0:${PORTSDIR}/devel/readline
RUN_DEPENDS+= readline>=0:${PORTSDIR}/devel/readline
CONFIGURE_ARGS+= --disable-libedit --with-readline-prefix=${LOCALBASE}
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ext__readline__readline.c
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
MLINKS= ${RUBY_NAME}.1 ruby.1
PLIST_SUB+= IF_DEFAULT=""
@ -159,8 +181,6 @@ pre-su-install:
${STAGEDIR}${RUBY_SITEARCHLIBDIR} \
${STAGEDIR}${RUBY_VENDORARCHLIBDIR}
${SETENV} LC_TIME=C /bin/date > ${STAGEDIR}${RUBY_RIDIR}/created.rid
${SETENV} LC_TIME=C /bin/date > ${STAGEDIR}${RUBY_SITERIDIR}/created.rid
${TOUCH} ${STAGEDIR}${RUBY_EXAMPLESDIR}/.keep_me
${TOUCH} ${STAGEDIR}${RUBY_DOCDIR}/.keep_me
${TOUCH} ${STAGEDIR}${RUBY_SITEARCHLIBDIR}/.keep_me

View File

@ -0,0 +1,11 @@
--- ext/readline/readline.c.orig 2013/10/29 03:09:00 43458
+++ ext/readline/readline.c 2014/03/01 07:19:08 45225
@@ -1974,7 +1974,7 @@
rl_attempted_completion_function = readline_attempted_completion_function;
#if defined(HAVE_RL_PRE_INPUT_HOOK)
- rl_pre_input_hook = (Function *)readline_pre_input_hook;
+ rl_pre_input_hook = (rl_hook_func_t *)readline_pre_input_hook;
#endif
#ifdef HAVE_RL_CATCH_SIGNALS
rl_catch_signals = 0;

View File

@ -40,16 +40,25 @@ USE_AUTOTOOLS= autoconf
WRKSRC= ${WRKDIR}/${PORTNAME}-${RUBY_DISTVERSION}
RUBY_VER= 2.1
USE_BZIP2= yes
USE_RUBY= yes
RUBY_NO_BUILD_DEPENDS= yes
RUBY_NO_RUN_DEPENDS= yes
NO_LATEST_LINK= yes
MAKE_JOBS_UNSAFE= yes
OPTIONS_DEFINE= RDOC DEBUG
RDOC_DESC= Build and install Rdoc indexes
DEBUG_DESC= Compile-in debug info
OPTIONS_DEFINE= RDOC DEBUG
OPTIONS_DEFAULT= READLINE
OPTIONS_RADIO= EDIT
OPTIONS_RADIO_EDIT= LIBEDIT READLINE
RDOC_DESC= Build and install Rdoc indexes
DEBUG_DESC= Compile-in debug info
EDIT_DESC= Which line editing lib to use
LIBEDIT_DESC= Use libedit
READLINE_DESC= Use libreadline
.include <bsd.port.options.mk>
USES= tar:bzip2
.include <bsd.port.pre.mk>
@ -83,6 +92,19 @@ CONFIGURE_ENV= CFLAGS="-I${LOCALBASE}/include ${CFLAGS}" \
LIBS="-L${LOCALBASE}/lib ${LDFLAGS}" \
debugflags=
.if ${PORT_OPTIONS:MLIBEDIT}
BUILD_DEPENDS+= libedit>=0:${PORTSDIR}/devel/libedit
RUN_DEPENDS+= libedit>=0:${PORTSDIR}/devel/libedit
CONFIGURE_ARGS+= --enable-libedit --with-libedit-prefix=${LOCALBASE}
.endif
.if ${PORT_OPTIONS:MREADLINE}
BUILD_DEPENDS+= readline>=0:${PORTSDIR}/devel/readline
RUN_DEPENDS+= readline>=0:${PORTSDIR}/devel/readline
CONFIGURE_ARGS+= --disable-libedit --with-readline-prefix=${LOCALBASE}
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ext__readline__readline.c
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
MLINKS= ${RUBY_NAME}.1 ruby.1
PLIST_SUB+= IF_DEFAULT=""
@ -155,8 +177,6 @@ pre-su-install:
${STAGEDIR}${RUBY_SITEARCHLIBDIR} \
${STAGEDIR}${RUBY_VENDORARCHLIBDIR}
${SETENV} LC_TIME=C /bin/date > ${STAGEDIR}${RUBY_RIDIR}/created.rid
${SETENV} LC_TIME=C /bin/date > ${STAGEDIR}${RUBY_SITERIDIR}/created.rid
${TOUCH} ${STAGEDIR}${RUBY_EXAMPLESDIR}/.keep_me
${TOUCH} ${STAGEDIR}${RUBY_DOCDIR}/.keep_me
${TOUCH} ${STAGEDIR}${RUBY_SITEARCHLIBDIR}/.keep_me

View File

@ -0,0 +1,11 @@
--- ext/readline/readline.c.orig 2013/10/29 03:09:00 43458
+++ ext/readline/readline.c 2014/03/01 07:19:08 45225
@@ -1974,7 +1974,7 @@
rl_attempted_completion_function = readline_attempted_completion_function;
#if defined(HAVE_RL_PRE_INPUT_HOOK)
- rl_pre_input_hook = (Function *)readline_pre_input_hook;
+ rl_pre_input_hook = (rl_hook_func_t *)readline_pre_input_hook;
#endif
#ifdef HAVE_RL_CATCH_SIGNALS
rl_catch_signals = 0;