pantry/projects/ruby-lang.org/package.yml
Jacob Heider 50224807cb fix(ruby)
fixes #236
fixes #237
fixes #238
fixes #239
fixes #240
fixes #288
fixes #289
fixes #290
fixes #291
fixes #292
fixes #293
fixes #294
fixes #295
fixes #296
fixes #297
fixes #298
fixes #299
fixes #300
fixes #301
fixes #302
fixes #303
fixes #304
fixes #305
fixes #306
fixes #307
fixes #308
fixes #309
fixes #310
fixes #311
fixes #312
fixes #313
fixes #314
fixes #315
2023-02-13 21:23:02 -05:00

74 lines
1.7 KiB
YAML

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: '*'