distributable: url: https://cache.ruby-lang.org/pub/ruby/{{version.marketing}}/ruby-{{version}}.tar.xz strip-components: 1 versions: github: ruby/ruby dependencies: openssl.org: ^1.1 pyyaml.org: ^0.2 zlib.net: ^1 build: dependencies: freedesktop.org/pkg-config: ^0.29 gnu.org/gettext: ^0.21 tea.xyz/gx/cc: c99 tea.xyz/gx/make: '*' script: | ./configure --prefix="{{prefix}}" --enable-load-relative --disable-rubygems make --jobs {{hw.concurrency}} install cd "{{prefix}}/lib/ruby/{{version.major}}.{{version.minor}}.0/rubygems" # use the GEM_PATH we want sed -i.bak -e 's;@default_dir ||=.*;@default_dir ||= File.expand_path(File.join(__FILE__, "../../../../../../gems", RbConfig::CONFIG["ruby_version"]));' defaults.rb rm defaults.rb.bak cd "{{prefix}}/bin" # we provide these as `rubygems.org` for GEM in bundle bundler gem rake rbs rdbg typeprof; do test -f $GEM && rm $GEM done for shim in $shims; do sed -i.bak -e 's_#!{{prefix}}/bin/ruby_#!/usr/bin/env ruby_' $shim rm $shim.bak done env: shims: - erb - irb - racc - rdoc - ri test: dependencies: #NOTE rubygems.org depends on us… so it may be difficult to test this # in a bootstrap scenario… rubygems.org: '*' tea.xyz/gx/cc: c99 # for native extensions tea.xyz/gx/make: '*' script: | ruby -e 'puts "Hello World!"' gem install hexapdf -v 0.28.0 hexapdf version test -d "{{tea.prefix}}"/ruby-lang.org/gems/{{version.major}}.{{version.minor}}.0/gems/hexapdf-0.28.0 provides: - bin/erb - bin/irb - bin/racc - bin/rdoc - bin/ri - bin/ruby interprets: extensions: rb args: ruby companions: rubygems.org: '*'