aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorswills <swills@FreeBSD.org>2014-05-31 02:34:29 +0800
committerswills <swills@FreeBSD.org>2014-05-31 02:34:29 +0800
commitaff5badfaf3670e30f328cfcd95b38f424535a80 (patch)
tree71d21c296171786ae39a9a134e7ccad6bb2f17ec
parent765a671c754bba7c3dc1a2a449d3065479823c97 (diff)
downloadfreebsd-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.mk4
-rw-r--r--lang/ruby20/Makefile32
-rw-r--r--lang/ruby20/files/extra-patch-ext__readline__readline.c11
-rw-r--r--lang/ruby21/Makefile32
-rw-r--r--lang/ruby21/files/extra-patch-ext__readline__readline.c11
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;