diff options
author | swills <swills@FreeBSD.org> | 2014-05-31 02:34:29 +0800 |
---|---|---|
committer | swills <swills@FreeBSD.org> | 2014-05-31 02:34:29 +0800 |
commit | aff5badfaf3670e30f328cfcd95b38f424535a80 (patch) | |
tree | 71d21c296171786ae39a9a134e7ccad6bb2f17ec | |
parent | 765a671c754bba7c3dc1a2a449d3065479823c97 (diff) | |
download | freebsd-ports-gnome-aff5badfaf3670e30f328cfcd95b38f424535a80.tar.gz freebsd-ports-gnome-aff5badfaf3670e30f328cfcd95b38f424535a80.tar.zst freebsd-ports-gnome-aff5badfaf3670e30f328cfcd95b38f424535a80.zip |
- 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
-rw-r--r-- | Mk/bsd.ruby.mk | 4 | ||||
-rw-r--r-- | lang/ruby20/Makefile | 32 | ||||
-rw-r--r-- | lang/ruby20/files/extra-patch-ext__readline__readline.c | 11 | ||||
-rw-r--r-- | lang/ruby21/Makefile | 32 | ||||
-rw-r--r-- | lang/ruby21/files/extra-patch-ext__readline__readline.c | 11 |
5 files changed, 76 insertions, 14 deletions
diff --git a/Mk/bsd.ruby.mk b/Mk/bsd.ruby.mk index c4449adb52e6..371778c8b4b0 100644 --- a/Mk/bsd.ruby.mk +++ b/Mk/bsd.ruby.mk @@ -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 diff --git a/lang/ruby20/Makefile b/lang/ruby20/Makefile index 63d1256cba3a..d4c681e22c7b 100644 --- a/lang/ruby20/Makefile +++ b/lang/ruby20/Makefile @@ -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 diff --git a/lang/ruby20/files/extra-patch-ext__readline__readline.c b/lang/ruby20/files/extra-patch-ext__readline__readline.c new file mode 100644 index 000000000000..dd5a2eb1282b --- /dev/null +++ b/lang/ruby20/files/extra-patch-ext__readline__readline.c @@ -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; diff --git a/lang/ruby21/Makefile b/lang/ruby21/Makefile index f6fde6857377..cec3881a344a 100644 --- a/lang/ruby21/Makefile +++ b/lang/ruby21/Makefile @@ -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 diff --git a/lang/ruby21/files/extra-patch-ext__readline__readline.c b/lang/ruby21/files/extra-patch-ext__readline__readline.c new file mode 100644 index 000000000000..dd5a2eb1282b --- /dev/null +++ b/lang/ruby21/files/extra-patch-ext__readline__readline.c @@ -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; |