pantry/projects/ruby-lang.org/package.yml
Max Howell 122973d1d4 fix ruby irb
This means we stop linking the rubygems library to the rubygems pkg. Which means our ruby may have an older rubygems gem installed than the rubygems pkg and this is problematic.

at this time I dunno what a solution is since I could not otherwise get irb to work.

Requires a deeper dive but RN I have too many things to fix.
2023-06-14 12:02:41 -04:00

98 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

distributable:
url: https://cache.ruby-lang.org/pub/ruby/{{version.marketing}}/ruby-{{version}}.tar.xz
strip-components: 1
versions:
github: ruby/ruby/tags
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: '*'
gnu.org/patch: '*'
gnu.org/bison: ^3
gnu.org/autoconf: '*'
linux:
ruby-lang.org: ~3.1 # ruby requires ruby to build
# ^^ only linux because we got issues on darwin currently
env:
ARGS:
- --prefix="{{prefix}}"
- --enable-load-relative # makes us relocatable
- --disable-rubygems # we provide rubygems.org
- --without-gmp
- --with-rubyarchprefix={{prefix}}/lib/ruby # no need for architecture specific crap
- --with-rubyhdrdir={{prefix}}/include # ^^
- --with-rubyarchhdrdir={{prefix}}/include # ^^
- --disable-multiarch # ^^
- --with-vendordir=no # is empty so dont pollute
- --with-vendorarchdir=no # ^^
- --with-sitedir=no # ^^
- --with-sitearchdir=no # ^^
script:
- patch -p1 < props/mkconfig.rb.diff
- ./configure $ARGS
- make --jobs {{hw.concurrency}} install
# we provide these as `rubygems.org`
- run: rm bundle bundler gem
working-directory: ${{prefix}}/bin
- fix-shebangs.ts ${{prefix}}/bin/*
- run: |
rm -rf share/ri
rm -rf share/doc
rm -rf lib/ruby/site_ruby
rm -rf lib/ruby/vendor_ruby
working-directory:
${{prefix}}
# weirdly files get put here and we can't figure out how to stop it
- run: |
mv *-{{hw.platform}}*/* .
rmdir *-{{hw.platform}}*
working-directory:
${{prefix}}/lib
- run: sed -i.bak
-e 's|$(DESTDIR){{prefix}}|$(topdir)|g'
-e 's|CONFIG\["topdir"\] = .*|CONFIG\["topdir"\] = TOPDIR|g'
rbconfig.rb
working-directory:
${{prefix}}/lib/ruby/{{version.marketing}}.0
test:
dependencies:
tea.xyz/gx/cc: c99 # for native extensions
tea.xyz/gx/make: '*'
script: |
ruby -e 'puts "Hello World!"'
echo 'puts 1' | irb
provides:
- bin/erb
- bin/irb
- bin/racc
- bin/rake
- bin/rbs
- bin/rdoc
- bin/ri
- bin/ruby
- bin/typeprof
interprets:
extensions: rb
args: ruby
companions:
rubygems.org: '*'