include $(TOPDIR)/rules.mk
PKG_NAME:=ruby
-PKG_VERSION:=2.3.3
+PKG_VERSION:=2.4.0
PKG_RELEASE:=1
-PKG_LIBVER:=2.3
+PKG_LIBVER:=2.4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://cache.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/
-PKG_MD5SUM:=882e6146ed26c6e78c02342835f5d46b86de95f0dc4e16543294bc656594cc5b
+PKG_MD5SUM:=440bbbdc49d08d3650f340dccb35986d9399177ad69a204def56e5d3954600cf
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
--disable-install-rdoc \
--disable-install-capi \
--without-gmp \
- --with-out-ext=tk,tk/tkutil,win32,win32ole,dbm,gdbm,readline \
+ --with-out-ext=-test-/array/resize,-test-/bignum,-test-/bug-3571,-test-/bug-5832,-test-/bug_reporter,-test-/class,-test-/debug,-test-/dln/empty,-test-/exception,-test-/fatal,-test-/file,-test-/float,-test-/funcall,-test-/gvl/call_without_gvl,-test-/hash,-test-/integer,-test-/iseq_load,-test-/iter,-test-/load/dot.dot,-test-/marshal/compat,-test-/marshal/internal_ivar,-test-/marshal/usr,-test-/memory_status,-test-/method,-test-/notimplement,-test-/num2int,-test-/path_to_class,-test-/popen_deadlock,-test-/postponed_job,-test-/printf,-test-/proc,-test-/rational,-test-/recursion,-test-/st/foreach,-test-/st/numhash,-test-/st/update,-test-/string,-test-/struct,-test-/symbol,-test-/time,-test-/tracepoint,-test-/typeddata,-test-/vm,-test-/wait_for_single_fd,-test-/win32/console,-test-/win32/dln,-test-/win32/fd_setsize,bigdecimal,cgi/escape,continuation,coverage,dbm,etc,fcntl,fiber,fiddle,gdbm,io/console,io/nonblock,io/wait,json,json/generator,json/parser,mathn/complex,mathn/rational,nkf,objspace,openssl,pathname,pty,racc/cparse,rbconfig/sizeof,readline,ripper,rubyvm,sdbm,socket,syslog,win32,win32ole,win32/resolv,zlib
# Does not compile with this. Workaround is --without-gmp
# https://bugs.ruby-lang.org/issues/11940
--disable-install-capi \
--with-ruby-version=minor \
--with-iconv-dir=$(ICONV_PREFIX) \
- --with-out-ext=tk,tk/tkutil,win32,win32ole
+ --with-out-ext=win32,win32ole
ifndef CONFIG_RUBY_DIGEST_USE_OPENSSL
CONFIGURE_ARGS += \
# Ruby uses DLDFLAGS and not LDFLAGS for libraries. LDFLAGS is only for execs.
# However, DLDFLAGS from configure is not passed to Makefile when target is linux.
# XLDFLAGS is used by both libraries and execs. This is somehow brute force but
-# if will fix when some LD_FLAGS is needef for libraries. As side effect, it will
+# it will fix when some LD_FLAGS is needef for libraries. As side effect, it will
# duplicate ld args for binaries.
CONFIGURE_VARS += XLDFLAGS="$(TARGET_LDFLAGS)"
/usr/lib/ruby/$(PKG_LIBVER)/thwait.rb
/usr/lib/ruby/$(PKG_LIBVER)/mutex_m.rb
/usr/lib/ruby/$(PKG_LIBVER)/sync.rb
-/usr/lib/ruby/$(PKG_LIBVER)/*/thread.so
/usr/lib/ruby/$(PKG_LIBVER)/*/io/wait.so
/usr/lib/ruby/$(PKG_LIBVER)/*/io/nonblock.so
endef
/usr/lib/ruby/$(PKG_LIBVER)/openssl
/usr/lib/ruby/$(PKG_LIBVER)/openssl.rb
/usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so
+/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/openssl-*.gemspec
endef
define Package/ruby-optparse/files
/usr/lib/ruby/$(PKG_LIBVER)/observer.rb
/usr/lib/ruby/$(PKG_LIBVER)/singleton.rb
/usr/lib/ruby/$(PKG_LIBVER)/forwardable.rb
+/usr/lib/ruby/$(PKG_LIBVER)/forwardable
endef
define Package/ruby-powerassert/files
define Package/ruby-psych/files
/usr/lib/ruby/$(PKG_LIBVER)/psych
/usr/lib/ruby/$(PKG_LIBVER)/psych.rb
-/usr/lib/ruby/$(PKG_LIBVER)/psych_jars.rb
/usr/lib/ruby/$(PKG_LIBVER)/*/psych.so
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/psych-*.gemspec
endef
endef
define Package/ruby-rake/files-excluded
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/doc
-/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/test
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/*.rdoc
-/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/*.txt
-/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-10.4.2/lib/rake/runtest.rb
endef
define Package/ruby-rake/install
$(INSTALL_DIR) $(1)/usr/bin
endef
define Package/ruby-xmlrpc/files
-/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc
-/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc.rb
+/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-*
+/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/xmlrpc-*.gemspec
+endef
+define Package/ruby-xmlrpc/files-excluded
+/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-0.2.1/*.md
+/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-0.2.1/*.txt
endef
define Package/ruby-yaml/files
$$(eval $$(call BuildPackage,ruby-$(1)))
endef
-$(eval $(call BuildPackage,ruby))
$(eval $(call BuildPackage,libruby))
+$(eval $(call BuildPackage,ruby))
$(eval $(call RubyBuildPackage,bigdecimal,Arbitrary-precision decimal floating-point library,))
$(eval $(call RubyBuildPackage,cgi,CGI support toolkit,+ruby-filelib +ruby-pstore))
-$(eval $(call RubyBuildPackage,csv,CSV library,+ruby-patterns +ruby-datetime +ruby-enc))
+$(eval $(call RubyBuildPackage,csv,CSV library,+ruby-patterns +ruby-datetime +ruby-enc +ruby-misc))
$(eval $(call RubyBuildPackage,datetime,date library))
$(eval $(call RubyBuildPackage,dbm,support for dbm,+libdb47))
-$(eval $(call RubyBuildPackage,debuglib,debug library,+ruby-multithread +ruby-prettyprint))
+$(eval $(call RubyBuildPackage,debuglib,debug library,+ruby-prettyprint))
$(eval $(call RubyBuildPackage,did-you-mean,did you mean? experience,+ruby-misc))
$(eval $(call RubyBuildPackage,digest,Digest Library,+RUBY_DIGEST_USE_OPENSSL:libopenssl))
$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-filelib +ruby-patterns +ruby-socket))
$(eval $(call RubyBuildPackage,irb,(interactive shell),+ruby-debuglib +ruby-filelib +ruby-math))
$(eval $(call RubyBuildPackage,json,support for JSON,+ruby-datetime +ruby-misc))
$(eval $(call RubyBuildPackage,logger,logger and syslog library,+ruby-multithread))
-$(eval $(call RubyBuildPackage,math,math library,+ruby-patterns))
+$(eval $(call RubyBuildPackage,math,math library,+ruby-patterns +ruby-misc))
$(eval $(call RubyBuildPackage,minitest,Gem minitest,+ruby-gems))
$(eval $(call RubyBuildPackage,misc,standard libraries subset (miscellaneous files),))
$(eval $(call RubyBuildPackage,mkmf,makefile library,+ruby-filelib +ruby-optparse +ruby-rbconfig))
$(eval $(call RubyBuildPackage,nkf,Network Kanji Filter,+ruby-enc))
$(eval $(call RubyBuildPackage,openssl,support for openssl,+ruby-enc +ruby-multithread +libopenssl))
$(eval $(call RubyBuildPackage,optparse,command-line option analysis,+ruby-misc))
-$(eval $(call RubyBuildPackage,patterns,design patterns implementation,+ruby-multithread))
-$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-ripper))
+$(eval $(call RubyBuildPackage,patterns,design patterns implementation,))
+$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-ripper +ruby-debuglib))
$(eval $(call RubyBuildPackage,prettyprint,PrettyPrint library,+ruby-misc))
$(eval $(call RubyBuildPackage,pstore,file based persistence,+ruby-digest +ruby-enc))
$(eval $(call RubyBuildPackage,psych,YAML parser and emitter,+ruby-bigdecimal +ruby-datetime +ruby-misc +ruby-enc +libyaml))
$(eval $(call RubyBuildPackage,racc,LALR parser generator,))
-$(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-datetime +ruby-filelib +ruby-optparse +ruby-patterns +ruby-rbconfig))
+$(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-filelib +ruby-optparse +ruby-patterns +ruby-rbconfig +ruby-multithread))
$(eval $(call RubyBuildPackage,rbconfig,RbConfig,))
$(eval $(call RubyBuildPackage,rdoc,documentation generator,+ruby-erb +ruby-irb +ruby-json +ruby-racc +ruby-rake +ruby-yaml +ruby-zlib))
$(eval $(call RubyBuildPackage,readline,support for readline,+libncurses +libreadline))
-$(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-patterns +ruby-enc))
+$(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-patterns +ruby-enc +ruby-misc))
$(eval $(call RubyBuildPackage,rinda,Linda paradigm implementation,+ruby-drb))
$(eval $(call RubyBuildPackage,ripper,script parser,))
$(eval $(call RubyBuildPackage,rss,RSS toolkit,+ruby-net +ruby-nkf +ruby-rexml))
$(eval $(call RubyBuildPackage,sdbm,simple file-based key-value dbm implementation,))
-$(eval $(call RubyBuildPackage,shell,idiomatic Ruby interface,+ruby-patterns))
+$(eval $(call RubyBuildPackage,shell,idiomatic Ruby interface,+ruby-patterns +ruby-multithread))
$(eval $(call RubyBuildPackage,socket,socket support,+ruby-multithread))
-$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-erb +ruby-optparse +ruby-powerassert +ruby-prettyprint +ruby-rexml +ruby-yaml))
+$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-erb +ruby-optparse +ruby-powerassert +ruby-rexml +ruby-yaml))
$(eval $(call RubyBuildPackage,unicodenormalize,String additions for Unicode normalization,+ruby-enc +ruby-enc-extra))
$(eval $(call RubyBuildPackage,uri,library to handle URI,+ruby-socket +ruby-enc))
$(eval $(call RubyBuildPackage,webrick,Web server toolkit,+ruby-erb +ruby-net +ruby-patterns +ruby-rbconfig))
+++ /dev/null
-https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/53414
-
-Fixes:
-
-https://bugs.ruby-lang.org/issues/11941
-
-It might be incorporated in the following release
-
-Index: aclocal.m4
-===================================================================
---- a/aclocal.m4 (revision 53413)
-+++ b/aclocal.m4 (revision 53414)
-@@ -1,46 +0,0 @@
--# -*- autoconf -*-
--
--AC_DEFUN([_COLORIZE_RESULT_PREPARE], [
-- msg_checking= msg_result_yes= msg_result_no= msg_result_other= msg_reset=
-- AS_IF([test "x${CONFIGURE_TTY}" = xyes -o -t 1], [
-- msg_begin="`tput smso 2>/dev/null`"
-- AS_CASE(["$msg_begin"], ['\e@<:@'*m],
-- [msg_begin="`echo "$msg_begin" | sed ['s/[0-9]*m$//']`"
-- msg_checking="${msg_begin}33m"
-- AS_IF([test ${TEST_COLORS:+set}], [
-- msg_result_yes=[`expr ":$TEST_COLORS:" : ".*:pass=\([^:]*\):"`]
-- msg_result_no=[`expr ":$TEST_COLORS:" : ".*:fail=\([^:]*\):"`]
-- msg_result_other=[`expr ":$TEST_COLORS:" : ".*:skip=\([^:]*\):"`]
-- ])
-- msg_result_yes="${msg_begin}${msg_result_yes:-32;1}m"
-- msg_result_no="${msg_begin}${msg_result_no:-31;1}m"
-- msg_result_other="${msg_begin}${msg_result_other:-33;1}m"
-- msg_reset="${msg_begin}m"
-- ])
-- AS_UNSET(msg_begin)
-- ])
-- AS_REQUIRE_SHELL_FN([colorize_result],
-- [AS_FUNCTION_DESCRIBE([colorize_result], [MSG], [Colorize result])],
-- [AS_CASE(["$[]1"],
-- [yes], [AS_ECHO(["${msg_result_yes}$[]1${msg_reset}]")],
-- [no], [AS_ECHO(["${msg_result_no}$[]1${msg_reset}]")],
-- [AS_ECHO(["${msg_result_other}$[]1${msg_reset}]")])])
--])
--
--AC_DEFUN([COLORIZE_RESULT], [AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
-- AS_LITERAL_IF([$1],
-- [m4_case([$1],
-- [yes], [AS_ECHO(["${msg_result_yes}$1${msg_reset}"])],
-- [no], [AS_ECHO(["${msg_result_no}$1${msg_reset}"])],
-- [AS_ECHO(["${msg_result_other}$1${msg_reset}"])])],
-- [colorize_result "$1"]) dnl
--])
--
--AC_DEFUN([AC_CHECKING],[dnl
--AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
--AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])])
--
--AC_DEFUN([AC_MSG_RESULT], [dnl
--{ _AS_ECHO_LOG([result: $1])
--COLORIZE_RESULT([$1]); dnl
--}])
-Index: acinclude.m4
-===================================================================
---- a/acinclude.m4 (revision 0)
-+++ b/acinclude.m4 (revision 53414)
-@@ -0,0 +1,46 @@
-+# -*- autoconf -*-
-+
-+AC_DEFUN([_COLORIZE_RESULT_PREPARE], [
-+ msg_checking= msg_result_yes= msg_result_no= msg_result_other= msg_reset=
-+ AS_IF([test "x${CONFIGURE_TTY}" = xyes -o -t 1], [
-+ msg_begin="`tput smso 2>/dev/null`"
-+ AS_CASE(["$msg_begin"], ['\e@<:@'*m],
-+ [msg_begin="`echo "$msg_begin" | sed ['s/[0-9]*m$//']`"
-+ msg_checking="${msg_begin}33m"
-+ AS_IF([test ${TEST_COLORS:+set}], [
-+ msg_result_yes=[`expr ":$TEST_COLORS:" : ".*:pass=\([^:]*\):"`]
-+ msg_result_no=[`expr ":$TEST_COLORS:" : ".*:fail=\([^:]*\):"`]
-+ msg_result_other=[`expr ":$TEST_COLORS:" : ".*:skip=\([^:]*\):"`]
-+ ])
-+ msg_result_yes="${msg_begin}${msg_result_yes:-32;1}m"
-+ msg_result_no="${msg_begin}${msg_result_no:-31;1}m"
-+ msg_result_other="${msg_begin}${msg_result_other:-33;1}m"
-+ msg_reset="${msg_begin}m"
-+ ])
-+ AS_UNSET(msg_begin)
-+ ])
-+ AS_REQUIRE_SHELL_FN([colorize_result],
-+ [AS_FUNCTION_DESCRIBE([colorize_result], [MSG], [Colorize result])],
-+ [AS_CASE(["$[]1"],
-+ [yes], [AS_ECHO(["${msg_result_yes}$[]1${msg_reset}]")],
-+ [no], [AS_ECHO(["${msg_result_no}$[]1${msg_reset}]")],
-+ [AS_ECHO(["${msg_result_other}$[]1${msg_reset}]")])])
-+])
-+
-+AC_DEFUN([COLORIZE_RESULT], [AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
-+ AS_LITERAL_IF([$1],
-+ [m4_case([$1],
-+ [yes], [AS_ECHO(["${msg_result_yes}$1${msg_reset}"])],
-+ [no], [AS_ECHO(["${msg_result_no}$1${msg_reset}"])],
-+ [AS_ECHO(["${msg_result_other}$1${msg_reset}"])])],
-+ [colorize_result "$1"]) dnl
-+])
-+
-+AC_DEFUN([AC_CHECKING],[dnl
-+AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
-+AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])])
-+
-+AC_DEFUN([AC_MSG_RESULT], [dnl
-+{ _AS_ECHO_LOG([result: $1])
-+COLORIZE_RESULT([$1]); dnl
-+}])
-
-Property changes on: acinclude.m4
-___________________________________________________________________
-Added: svn:eol-style
-## -0,0 +1 ##
-+LF
-\ No newline at end of property
-Index: common.mk
-===================================================================
---- a/common.mk (revision 53413)
-+++ b/common.mk (revision 53414)
-@@ -518,7 +518,7 @@
- $(Q)$(RM) id.c id.h probes.dmyh
- $(Q)$(CHDIR) $(srcdir) && $(exec) $(RM) parse.c parse.h lex.c enc/trans/newline.c $(PRELUDES) revision.h
- $(Q)$(CHDIR) $(srcdir) && $(exec) $(RM) id.c id.h probes.dmyh
-- $(Q)$(CHDIR) $(srcdir) && $(exec) $(RM) configure tool/config.guess tool/config.sub gems/*.gem
-+ $(Q)$(CHDIR) $(srcdir) && $(exec) $(RM) configure aclocal.m4 tool/config.guess tool/config.sub gems/*.gem
- realclean-ext:: PHONY
- realclean-golf: distclean-golf
- $(Q)$(RM) $(GOLFPRELUDES)
-Index: Makefile.in
-===================================================================
---- a/Makefile.in (revision 53413)
-+++ b/Makefile.in (revision 53414)
-@@ -22,6 +22,7 @@
- YACC = bison
- PURIFY =
- AUTOCONF = autoconf
-+ACLOCAL = aclocal
- CONFIGURE = @CONFIGURE@
- @SET_MAKE@
- MKFILES = @MAKEFILES@
-@@ -310,6 +311,9 @@
- $(srcdir)/$(CONFIGURE): $(srcdir)/configure.in $(srcdir)/aclocal.m4
- $(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F)
-
-+$(srcdir)/aclocal.m4: $(srcdir)/acinclude.m4
-+ $(CHDIR) $(srcdir) && exec $(ACLOCAL)
-+
- incs: id.h
- all-incs: probes.h
-