Feature #9456
closedInclude bin/racc with ruby
Description
As you can see we include executables for Rake, RDoc, ri, ERB, RubyGems, and Irb with Ruby.
We should also include Racc as an executable for Ruby.
This resolves an issue where libraries requiring Racc, and using the binary executable, must install the Racc gem in order to use bin/racc.
I'm fairly sure this change won't cause any issues, so I'd be happy to commit it.
Updated by hsbt (Hiroshi SHIBATA) almost 11 years ago
Who are maintain it?
Updated by zzak (zzak _) almost 11 years ago
- Assignee set to aamine (Minero Aoki)
As Aaron has pointed out, the binary executable is GPL.
So I'm assigning this ticket to Aoki-san as this change depends on possibly re-licensing bin/racc
Updated by naruse (Yui NARUSE) almost 11 years ago
Why gem is not enough?
Are there libraries which need other than ext/racc?
Updated by zzak (zzak _) almost 11 years ago
Why gem is not enough?
For the same reason that the gem is included in stdlib, if we can't include the full functionality of the gem then it shouldn't be inclued in stdlib.
Updated by zzak (zzak _) almost 11 years ago
Are there libraries which need other than ext/racc?
RDoc does, here's the initial discussion that resulted in this ticket.
Updated by david_macmahon (David MacMahon) almost 11 years ago
I think a distinction needs to be made between the racc executable and the racc runtime library. My understanding is that the racc executable (bin/racc) is needed to develop a racc-based parser for a given application. Anyone who wants to use the application that contains the resultant parser needs the racc runtime library, but they don't need the racc executable. Thus, including the racc runtime library in the Ruby standard library is a way to ensure that racc parsers will be usable by anyone with a basic Ruby environment. Those who want to develop racc-based parsers will need the racc executable (and a suitable grammar file) to generate the parser, but those developers are more than capable of obtaining the racc executable (e.g. by installing the racc gem) for their own development environment.
Instead of asking for bin/racc to be included in the standard library, it make more sense (IMHO) to ask whether the racc runtime could be removed from the standard library so as not to favor one parser runtime library over another one. For example, since the racc runtime is included in stdlib, why not also include the treetop runtime (if there is one) or any other "runtime" library in stdlib? Where does line of reasoning end?
On the other hand, why even have a standard library if everything can be installed gems? Where would that line of reasoning end?
My guess is that the racc runtime library has been "grandfathered in" since it has been part of stdlib for so long (since Ruby 1.6?).
Dave
On Jan 27, 2014, at 6:48 PM, e@zzak.io wrote:
Issue #9456 has been updated by Zachary Scott.
Why gem is not enough?
For the same reason that the gem is included in stdlib, if we can't include the full functionality of the gem then it shouldn't be inclued in stdlib.
Bug #9456: Include bin/racc with ruby
https://bugs.ruby-lang.org/issues/9456#change-44648
- Author: Zachary Scott
- Status: Open
- Priority: Normal
- Assignee: Minero Aoki
- Category:
- Target version: current: 2.2.0
- ruby -v: 2.2.0dev
- Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
As you can see we include executables for Rake, RDoc, ri, ERB, RubyGems, and Irb with Ruby.
We should also include Racc as an executable for Ruby.
This resolves an issue where libraries requiring Racc, and using the binary executable, must install the Racc gem in order to use bin/racc.
I'm fairly sure this change won't cause any issues, so I'd be happy to commit it.
Updated by drbrain (Eric Hodel) almost 11 years ago
RDoc needs a racc runtime to parse the RD (rdtool) documentation in the ruby sources.
Updated by hsbt (Hiroshi SHIBATA) over 7 years ago
- Tracker changed from Bug to Feature
- Status changed from Open to Assigned
- Assignee changed from aamine (Minero Aoki) to hsbt (Hiroshi SHIBATA)
- Target version changed from 2.2.0 to 2.5
Updated by hsbt (Hiroshi SHIBATA) over 7 years ago
- Related to Feature #5481: Gemifying Ruby standard library added
Updated by hsbt (Hiroshi SHIBATA) over 7 years ago
Updated by hsbt (Hiroshi SHIBATA) almost 7 years ago
- Related to Feature #14158: Update racc library with changes from upstream added
Updated by hsbt (Hiroshi SHIBATA) over 5 years ago
I update the license of Ruby to racc upstream and picked ruby-core changes.
https://github.com/ruby/racc/pull/107
After this is merged, I'm going to merge bin/racc from upstream.
Updated by shyouhei (Shyouhei Urabe) over 5 years ago
hsbt (Hiroshi SHIBATA) wrote:
I update the license of Ruby to racc upstream
How dare you can do such thing? Do you actually own the copyright?
Updated by hsbt (Hiroshi SHIBATA) over 5 years ago
We resolved the issue of license on upstream. I'm going to merge bin/racc after it was fixed some of build failures: https://github.com/ruby/ruby/pull/2186
Updated by hsbt (Hiroshi SHIBATA) over 5 years ago
- Status changed from Assigned to Closed
I merged bin/racc at https://github.com/ruby/ruby/compare/1a2546c...754df26.