main
 1# frozen_string_literal: true
 2
 3name "ruby"
 4
 5license "BSD-2-Clause"
 6license_file "BSDL"
 7license_file "COPYING"
 8license_file "LEGAL"
 9
10default_version "3.0.0"
11
12dependency "libffi"
13dependency "liblzma"
14dependency "libxml2"
15dependency "libyaml"
16dependency "openssl"
17dependency "zlib"
18
19source \
20  url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz",
21  sha256: "a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28"
22
23relative_path "ruby-#{version}"
24embedded_dir = "#{install_dir}/embedded"
25
26build do
27  env = with_standard_compiler_flags(with_embedded_path)
28  configure_command = [
29    "--disable-debug-env",
30    "--disable-dtrace",
31    "--disable-install-capi",
32    "--disable-install-doc",
33    "--disable-install-rdoc",
34    "--disable-jit-support",
35    "--enable-shared",
36    "--prefix=#{embedded_dir}",
37    "--with-out-ext=dbm,readline,rdoc,win32,win32ole,sdbm",
38    "--without-gdbm",
39    "--without-gmp",
40    "--without-jemalloc",
41    "--without-tk",
42    "--without-valgrind"
43  ]
44  configure(*configure_command, env: env)
45  make "-j #{workers}", env: env
46  make "-j #{workers} install", env: env
47end
48
49build do
50  %w[benchmark pstore rss test-unit webrick minitest].each do |gem_name|
51    delete "#{embedded_dir}/lib/ruby/gems/**/gems/#{gem_name}*"
52    delete "#{embedded_dir}/lib/ruby/**/#{gem_name}*"
53  end
54
55  delete "#{embedded_dir}/bin/*rac*"
56  delete "#{embedded_dir}/bin/erb"
57  delete "#{embedded_dir}/bin/irb"
58  delete "#{embedded_dir}/bin/rake"
59  delete "#{embedded_dir}/bin/rdoc"
60  delete "#{embedded_dir}/bin/ri"
61  delete "#{embedded_dir}/bin/thor"
62  delete "#{embedded_dir}/lib/ruby/gems/**/cache"
63  delete "#{embedded_dir}/lib/ruby/gems/**/doc"
64  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.github"
65  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.gitignore"
66  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.travis.yml"
67  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/bundler/man"
68  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/man"
69  delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/test"
70  delete "#{embedded_dir}/share"
71end