GentooにRuby1.9をインストールした
Portageツリー(パッケージ管理のリポジトリみたいなの)をstableにしてもtestingにしてもRuby1.8系しか出なくて、昼間にTwitterでこんなことをつぶやいていました。
「あー、くそー、ebuild作るか―」と、Ruby1.8系のebuildを参考にしようと思いPortageツリー(/usr/porta
1 $ ls -l /usr/portage/dev-lan g/ruby/ 2 total 116 3 -rw-r--r-- 1 portage portage 64001 Jun 29 06:40 ChangeLog 4 -rw-r--r-- 1 portage portage 4479 Jun 29 06:40 Manifest 5 drwxr-xr-x 2 portage portage 4096 Jun 14 20:05 files 6 -rw-r--r-- 1 portage portage 262 Aug 23 2008 metadata.x ml 7 -rw-r--r-- 1 portage portage 5427 Jun 21 23:35 ruby-1.8.6 _p369.ebui ld 8 -rw-r--r-- 1 portage portage 5364 Jun 18 22:12 ruby-1.8.7 _p174.ebui ld 9 -rw-r--r-- 1 portage portage 5716 Jun 21 02:35 ruby-1.9.1 _p129-r1.e build 10 -rw-r--r-- 1 portage portage 5538 May 24 21:35 ruby-1.9.1 _p129.ebui ld
気が抜けて思わずTwit
追記 09/07/11 以下は非推奨
「ebuildがあるってことは、マスクされてるのか!」というGentooユーザの直感により、/usr/porta
1 # Alex Legler <a3li@gentoo.org> (20 Mar 2009) 2 # Ruby 1.9.1 for preliminary testing of libraries depending on it, bug 203706. 3 # Expect (many) breakages and incompatib ilities. 4 # Want to help testing? #gentoo-rub y on Freenode 5 >=dev-lang/ ruby-1.9.1 6 =dev-ruby/ rubygems-1 .3.1-r30
を以下のようにコメントアウトする。
1 # Alex Legler <a3li@gentoo.org> (20 Mar 2009) 2 # Ruby 1.9.1 for preliminary testing of libraries depending on it, bug 203706. 3 # Expect (many) breakages and incompatib ilities. 4 # Want to help testing? #gentoo-rub y on Freenode 5 #>=dev-lang/ ruby-1.9.1 6 #=dev-ruby/ rubygems-1 .3.1-r30
編集が終了すれば、インストールします。
追記 09/07/11 こっちが推奨. thanks, ursmさん!
/usr/porta
1 >=dev-lang/ruby-1.9.1
1 # ACCEPT_KEYWORDS="~x86" emerge ruby
インストールが終了したら、標準でRuby1.8ではなく1.9を使うようにします。
1 # eselect ruby set ruby19 2 Successfully switched to profile: 3 ruby19 4 5 # eselect ruby list 6 Available Ruby profiles: 7 [1] ruby18 (with Rubygems) 8 [2] ruby19 (with Rubygems) * 9 10 # ruby -v 11 ruby 1.9.1p129 (2009-05-12 revision 23412) [i686-linux ]
以上でインストール完了。
Gentooすばらしい。
GentooにScalaをインストールしてみた
最近、こういう理由で(?)Scalaがアツイと僕の周りの人が騒いでいたので僕もその流れに乗ってみました。
周りがMacばっかりなので、Gentooにインストールしてみたいと思います。
Scalaをインストール
まず、このような操作をしてみました。
1 # emerge scala -pv 2 3 These are the packages that would be merged, in order: 4 5 Calculating dependenci es... done! 6 7 !!! All ebuilds that could satisfy "dev-lang/s cala" have been masked. 8 !!! One of the following masked packages is required to complete your request: 9 - dev-lang/s cala-2.7.5 (masked by: ~x86 keyword) 10 - dev-lang/s cala-2.7.4 -r1 (masked by: ~x86 keyword) 11 - dev-lang/s cala-2.7.4 (masked by: ~x86 keyword) 12 - dev-lang/s cala-2.7.3 -r1 (masked by: ~x86 keyword) 13 - dev-lang/s cala-2.7.3 (masked by: ~x86 keyword) 14 - dev-lang/s cala-2.7.2 (masked by: ~x86 keyword)
maskedパッケージでした。
なので、ACCEPT_KEY
1 # ACCEPT_KEYWORDS="~x86" emerge scala
これでOKかと思いきや、scalaのコンパイルでエラーという悲しい状況になりました。
Gentooではソースからコンパイルする以外にバイナリをインストールすることが可能なので、そちらで試してみます。
1 # USE="binary" ACCEPT_KEYWORDS="~x86" emerge scala
これでscalaのバイナリがインストールされます。
ScalaでHello, World!
インストールが済んだら、早速使ってみましょう。まず、インタラクティブシェルを立ち上げます。
1 $ scala 2 Welcome to Scala version 2.7.5.r0-b2009060519 1508 (Java HotSpot(TM) Client VM, Java 1.6.0_13). 3 Type in expression s to have them evaluated. 4 Type :help for more informatio n. 5 6 scala>
よくわからず、書いてみました
1 scala> object HelloWorld{ 2 | def main( arg : Array[String] ) = { 3 | println("Hello, World!") 4 | } 5 | } 6 defined module HelloWorld 7 8 scala> HelloWorld .main(null) 9 Hello, World!
真面目に勉強するなら、Scala By Example(英語/PDF)とかを読むと良いのかも知れません。
とりあえず、今回はこれだけで。
面白そうなのは、ScalaのコードをAndroidで動かすとかですかね。
Android携帯ほしい><