Bug 242359 - New port: lang/ruby27 Object-oriented interpreted scripting language
Summary: New port: lang/ruby27 Object-oriented interpreted scripting language
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Koichiro Iwao
Depends on:
Reported: 2019-12-02 09:43 UTC by Yasuhiro Kimura
Modified: 2020-01-29 02:25 UTC (History)
3 users (show)

See Also:

Patch file (474.54 KB, patch)
2019-12-02 09:43 UTC, Yasuhiro Kimura
no flags Details | Diff
Updated patch file (474.54 KB, patch)
2019-12-04 10:11 UTC, Yasuhiro Kimura
no flags Details | Diff
Updated patch file (714.09 KB, patch)
2019-12-25 17:27 UTC, Yasuhiro Kimura
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura 2019-12-02 09:43:37 UTC
Created attachment 209597 [details]
Patch file

Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible.

This is version 2.7 series of Ruby.

To apply attached patch, please take following steps.

1. cd /usr/ports
2. svn copy lang/ruby26 lang/ruby27
3. svn patch /path/to/this/patch/lang_ruby27.patch
Comment 1 Koichiro Iwao freebsd_committer 2019-12-04 04:38:19 UTC
Can you also confirm if Ruby 2.7 build without `MAKE_JOBS_UNSAFE=yes`?
If it goes fine, please remove `MAKE_JOBS_UNSAFE=yes`.

I believe the following fix is included in Ruby 2.7:
Comment 2 Yasuhiro Kimura 2019-12-04 10:11:46 UTC
Created attachment 209679 [details]
Updated patch file

(In reply to Koichiro Iwao from comment #1)

Thanks for feedback. I confirmed this port can be build without "MAKE_JOBS_UNSAFE=yes" and updated patch. So please commit it instead of original one.
Comment 3 Koichiro Iwao freebsd_committer 2019-12-13 09:23:31 UTC
(In reply to Yasuhiro KIMURA from comment #2)
Kimura-san, can you just add lang/ruby27 to the current ports tree?
Just add it, and then adopt irb issue and gem manpath issue.

What do you think?
Comment 4 Yasuhiro Kimura 2019-12-22 07:04:19 UTC
(In reply to Koichiro Iwao from comment #3)

I have a question about "Just add it". From 2.7 new gem "racc" is included in source archive. And it installs /bin/racc. How it should be handled?

And there is bad news. Previously I reported that 2.7 can be build without "MAKE_JOBS_UNSAFE=yes". But it seems I made mistake while checking it. While updating patch to 2.7.0-rc2 I found build still fails without "MAKE_JOBS_UNSAFE=yes". I confirmed build also fails if do following steps.

1. tar xfpvJ ruby-2.7.0-rc2.tar.xz
2. cd ruby-2.7.0-rc2
3. ./configure
4. make -j $(sysctl -n kern.smp.cpus)

So this problem is not yet fixed in original ruby source tree.
Comment 5 Yasuhiro Kimura 2019-12-25 17:27:00 UTC
Created attachment 210226 [details]
Updated patch file

2.7.0 is released. So please commit attached patch instead of previous ones.
Comment 6 Adam Weinberger freebsd_committer 2019-12-29 19:06:56 UTC
Where are we at with this? I've been using this patch locally without problem.
Comment 7 Koichiro Iwao freebsd_committer 2020-01-28 05:49:38 UTC
Ruby 2.7 hasbeen added at r524061.

However, it still has "default gem" issue. 

lang/ruby26 has irb, ri, rdoc issue but lang/ruby27 additionally has racc.
I keep working on that.
Comment 8 Koichiro Iwao freebsd_committer 2020-01-28 07:04:06 UTC
Submitter's patch depends on bug 241555 and bug 241556 however lang/ruby27 has been added separately. No longer depends on these issues, closing.
Comment 9 commit-hook freebsd_committer 2020-01-29 02:25:57 UTC
A commit references this bug:

Author: meta
Date: Wed Jan 29 02:25:24 UTC 2020
New revision: 524527
URL: https://svnweb.freebsd.org/changeset/ports/524527

  lang/ruby27: throw out racc from lang/ruby27

  because racc is provied as "default gem" since Ruby 2.7 [1].

  We provide default gems as gem ports rather than a part of lang/ruby* port.
  files/patch-tool_rbinstall.rb does that. bin/*racc* are leftover wrapper
  script that the patch didn't remove default gem racc completely.

  racc is provided by devel/rubygem-racc. To avoid conflict racc gem port vs
  ruby port, throw it out completely from ruby port.

  [1] https://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20190620

  PR:		242359 237833
  Submitted by:	Yasuhiro KIMURA <yasu@utahime.org> (based on)