[MacPorts] #15912: ruby port group: prepare for ruby 1.9

MacPorts noreply at macports.org
Tue Jul 8 00:17:42 PDT 2008


#15912: ruby port group: prepare for ruby 1.9
------------------------------------+---------------------------------------
  Reporter:  febeling at macports.org  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  enhancement            |      Status:  new                                  
  Priority:  Normal                 |   Milestone:  MacPorts base enhancements           
 Component:  base                   |     Version:  1.7.0                                
Resolution:                         |    Keywords:                                       
------------------------------------+---------------------------------------
Changes (by febeling at macports.org):

 * cc: kimuraw at macports.org (added)

Comment:

 Replying to [comment:1 raimue at macports.org]:
 > Do we really need to split up the ports? It causes a lot of work for
 py-* and py25-* because we have no way to keep them in sync easily. So
 there are many python modules in the tree with different maintainers and
 different versions for py-* and py25-*.

 As much as I'd like to avoid this complexity, I'm still convinced that we
 need it. Depending on variables collected during build phase of ruby
 itself, the standard installers choose the library paths to install files
 into. And these paths contain the ruby version as one element. For 1.8 we
 have these paths:
 {{{
 /opt/local/lib/ruby/site_ruby/1.8
 /opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.2.2
 /opt/local/lib/ruby/site_ruby
 /opt/local/lib/ruby/vendor_ruby/1.8
 /opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.2.2
 /opt/local/lib/ruby/vendor_ruby
 /opt/local/lib/ruby/1.8
 /opt/local/lib/ruby/1.8/i686-darwin9.2.2
 }}}
 (Kimuraw changed this lately to exclude minor and teeny version numbers,
 though, for the arch-dependent directories.)

 For 1.9 we get these:
 {{{
 /opt/local/lib/ruby/site_ruby/1.9.0
 /opt/local/lib/ruby/site_ruby/1.9.0/i686-darwin9.3.0
 /opt/local/lib/ruby/site_ruby
 /opt/local/lib/ruby/vendor_ruby/1.9.0
 /opt/local/lib/ruby/vendor_ruby/1.9.0/i686-darwin9.3.0
 /opt/local/lib/ruby/vendor_ruby
 /opt/local/lib/ruby/1.9.0
 /opt/local/lib/ruby/1.9.0/i686-darwin9.3.0
 }}}

 > I am not a ruby expert so I don't know if there is a need to keep ruby
 1.8 and ruby 1.9 around at the same time.

 I think we do need both installed in parallel, because 1.9 is tagged
 somewhat "experimental", still people
 will try to use it productively to profit from it's increased performance.
 There is some ambiguity about
 all this so they will probablt co-exist for quite a while.

 The change between 1.8 and 1.9 is rather big, and it comprises syntax
 changes as well as internal changes, see [1].
 Even if you were to install libs always using ruby 1.8, 1.9 would not pick
 them up, at least not unless you patch
 that ruthlessly into the standard ruby behaviour. That would mean either
 we make 1.9 pretend it was 1.8, or
 we make both drop the version component of the paths. Both would mean
 asking for trouble, imho.

 I would love to hear how we can avoid this. I looked at linux
 distributions and only debian/testing
 has ruby1.9 so far (as of 3 weeks ago or so). And they go the same route
 and prepare packages
 for 1.8/1.9 in parallel.

 I'll add kimuraw as the ruby 1.8 maintainer to CC. Maybe he has some more
 insight/an opinion on this issue.


 [1] http://eigenclass.org/hiki/Changes+in+Ruby+1.9

-- 
Ticket URL: <http://trac.macports.org/ticket/15912#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list