Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ruby: update to 3.3.5 #1365

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 29 additions & 3 deletions lang/ruby/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,29 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=ruby
PKG_VERSION:=3.3.4
PKG_VERSION:=3.3.5
PKG_RELEASE:=1

# First two numbes
PKG_ABI_VERSION:=$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://cache.ruby-lang.org/pub/ruby/$(PKG_ABI_VERSION)/
PKG_HASH:=fe6a30f97d54e029768f2ddf4923699c416cdbc3a6e96db3e2d5716c7db96a34
PKG_HASH:=3781a3504222c2f26cb4b9eb9c1a12dbf4944d366ce24a9ff8cf99ecbce75196
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <[email protected]>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:ruby-lang:ruby

PKG_BUILD_DEPENDS:=ruby/host

# YJIT may not be suitable for certain applications. It
# currently only supports macOS, Linux and BSD on x86-64 and
# arm64/aarch64 CPUs.
# Ruby 3.3.5 (latest) still does not support cross-compiling. It
# will only work when target matches the host arch. Anyway, we
# will provide a working rustc for those supported archs to let
# it work when they match.
PKG_BUILD_DEPENDS:=ruby/host RUBY_ENABLE_YJIT:rust/host
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
Expand All @@ -38,6 +46,7 @@ HOST_CONFIGURE_ARGS += \
--disable-install-doc \
--disable-install-rdoc \
--disable-install-capi \
--disable-yjit \
--without-gmp \
--with-static-linked-ext \
--with-out-ext=-test-/*,bigdecimal,cgi/escape,continuation,coverage,etc,fcntl,fiddle,io/console,json,json/generator,json/parser,mathn/complex,mathn/rational,nkf,objspace,pty,racc/cparse,rbconfig/sizeof,readline,rubyvm,syslog,win32,win32ole,win32/resolv
Expand Down Expand Up @@ -71,6 +80,12 @@ CONFIGURE_ARGS += --disable-jit-support
# Host JIT does work but it is not worth it
HOST_CONFIGURE_ARGS += --disable-jit-support

ifndef CONFIG_RUBY_ENABLE_YJIT
# it is only worth it to enable yjit for target package
CONFIGURE_ARGS += --disable-yjit
endif


# Apple ld generates warning if LD_FLAGS var includes path to lib that is not
# exist (e.g. -L$(STAGING_DIR)/host/lib). configure script fails if ld generates
# any output
Expand Down Expand Up @@ -152,6 +167,17 @@ define RubyDependency
endef

define Package/ruby/config
config RUBY_ENABLE_YJIT
bool "Enable YJIT"
depends on PACKAGE_ruby
depends on x86_64||aarch64
default y if x86_64||aarch64
help
YJIT is a lightweight, minimalistic Ruby JIT built
inside CRuby. It lazily compiles code using a Basic Block Versioning (BBV)
architecture. YJIT is currently supported for macOS, Linux and BSD on x86-64
and arm64/aarch64 CPUs.

comment "Standard Library"
depends on PACKAGE_ruby

Expand Down