Project

General

Profile

Actions

Feature #9456

closed

Include bin/racc with ruby

Added by zzak (zzak _) about 10 years ago. Updated almost 5 years ago.

Status:
Closed
Target version:
-
[ruby-core:60153]

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.


Related issues 2 (0 open2 closed)

Related to Ruby master - Feature #5481: Gemifying Ruby standard libraryClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #14158: Update racc library with changes from upstreamClosedhsbt (Hiroshi SHIBATA)Actions

Updated by hsbt (Hiroshi SHIBATA) about 10 years ago

Who are maintain it?

Updated by zzak (zzak _) about 10 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) about 10 years ago

Why gem is not enough?
Are there libraries which need other than ext/racc?

Updated by zzak (zzak _) about 10 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 _) about 10 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) about 10 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, 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.

--
http://bugs.ruby-lang.org/

Updated by drbrain (Eric Hodel) about 10 years ago

RDoc needs a racc runtime to parse the RD (rdtool) documentation in the ruby sources.

Updated by hsbt (Hiroshi SHIBATA) almost 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
Actions #9

Updated by hsbt (Hiroshi SHIBATA) almost 7 years ago

  • Related to Feature #5481: Gemifying Ruby standard library added
Actions #11

Updated by naruse (Yui NARUSE) over 6 years ago

  • Target version deleted (2.5)
Actions #12

Updated by hsbt (Hiroshi SHIBATA) over 6 years ago

  • Related to Feature #14158: Update racc library with changes from upstream added

Updated by hsbt (Hiroshi SHIBATA) almost 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) almost 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) almost 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) almost 5 years ago

  • Status changed from Assigned to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0