(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<ruby2.2>} spids: [42] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_pkgname) op: assign_op.Equal rhs: {<ruby>} spids: [45] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_majorver) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name pkgname> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<ruby>}) ) } spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_majorver') <.8>)} spids: [55] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_pkgver) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name pkgver> suffix_op: (suffix_op.PatSub pat:{<_>} replace:{<->} replace_mode:Id.Undefined_Tok) ) } spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_abiver) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$_majorver') <.0>)} spids: [70] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<0>} spids: [76] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'An object-oriented language for quick and easy programming'>)} spids: [79] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'http://www.ruby-lang.org/en/'>)} spids: [84] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <all>)} spids: [89] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <Ruby>)} spids: [94] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [99] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends_dev) op: assign_op.Equal rhs: {(DQ <gmp-dev>)} spids: [103] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:makedepends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$depends_dev') <' zlib-dev libressl-dev gdbm-dev db-dev readline-dev\n'> <'\tlibffi-dev coreutils yaml-dev autoconf'> ) } spids: [108] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'-doc '> ($ Id.VSub_DollarName '$pkgname') <'-dev '> ($ Id.VSub_DollarName '$pkgname') <'-irb::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-rdoc::noarch '> ($ Id.VSub_DollarName '$pkgname') <'-rake::noarch '> ($ Id.VSub_DollarName '$pkgname') <'-bigdecimal::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-io-console:io_console '> ($ Id.VSub_DollarName '$pkgname') <'-minitest::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-json '> ($ Id.VSub_DollarName '$pkgname') <'-libs\n'> <'\t'> ) } spids: [115] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ <'ftp://ftp.ruby-lang.org/pub/ruby/'> (braced_var_sub token: <Id.VSub_Name pkgver> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) ) <'/'> ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$_pkgver') <.tar.bz2> ) } spids: [143] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(DQ <'!fhs'>)} spids: [159] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:builddir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$_pkgver') ) } spids: [164] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_gemdir) op: assign_op.Equal rhs: {(DQ <'/usr/lib/ruby/gems/'> ($ Id.VSub_DollarName '$_abiver'))} spids: [174] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_rubydir) op: assign_op.Equal rhs: {(DQ <'/usr/lib/ruby/'> ($ Id.VSub_DollarName '$_abiver'))} spids: [180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_chost) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name CHOST> suffix_op: (suffix_op.PatSub pat: {<-alpine->} replace: {<->} replace_mode: Id.Undefined_Tok ) ) ) } spids: [186] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$CARCH'))} arms: [ (case_arm pat_list: [{<x86>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_arch) op: assign_op.Equal rhs: {(DQ <i386>)} spids: [210] ) ] ) ] spids: [207 208 214 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_arch) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CARCH'))} spids: [220] ) ] ) ] spids: [217 218 224 -1] ) ] ) (command.ShFunction name: prepare body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<default_prepare>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<autoconf>}) ] ) ) (command.ShFunction name: build body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<export>} {<Id.Lit_VarLike 'CFLAGS='> (DQ ($ Id.VSub_DollarName '$CFLAGS') <' -fno-omit-frame-pointer -fno-strict-aliasing'>) } ) (C {<export>} {<Id.Lit_VarLike 'CPPFLAGS='> (DQ ($ Id.VSub_DollarName '$CPPFLAGS') <' -fno-omit-frame-pointer -fno-strict-aliasing'> ) } ) (C {<export>} {<Id.Lit_VarLike 'INSTALL='> <install>}) (C {<export>} {<Id.Lit_VarLike 'ac_cv_func_isnan='> <yes>}) (C {<export>} {<Id.Lit_VarLike 'ac_cv_func_isinf='> <yes>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<'./configure'>} {<--build> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CBUILD')} {<--host> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CHOST')} {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--sysconfdir> <Id.Lit_Equals '='> <'/etc'>} {<--mandir> <Id.Lit_Equals '='> <'/usr/share/man'>} {<--infodir> <Id.Lit_Equals '='> <'/usr/share/info'>} {<--with-sitedir> <Id.Lit_Equals '='> (SQ <'/usr/local/lib/site_ruby'>)} {<--with-search-path> <Id.Lit_Equals '='> (DQ <'/usr/lib/site_ruby/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(ruby_ver)/'> ($ Id.VSub_DollarName '$_arch') <-linux> ) } {<--enable-pthread>} {<--disable-rpath>} {<--enable-shared>} {<--with-mantype> <Id.Lit_Equals '='> <man>} {<--program-suffix> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$_majorver')} {<--with-soname> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$pkgname')} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<make>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<make>} {<test>}) ] ) ) (command.ShFunction name: package body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/local'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<Id.Lit_VarLike 'f='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.CommandList children: [ (command.Sentence child: (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))}) terminator: <Id.Op_Semi _> ) (C {<find>} {<'usr/local'>} {<-type>} {<f>}) ] ) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$f'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<error>} {(DQ <'Found files in /usr/local:'>)}) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$f'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [516 529] ) ] ) ] spids: [477 491] ) ] ) (C {<install>} {<-Dm644>} {<COPYING>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/licenses/'> ($ Id.VSub_DollarName '$pkgname') <'/COPYING'> } ) ] ) ) (command.ShFunction name: rake body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Ruby based make-like utility'>)} spids: [580] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [586] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_mvgem>} {<rake>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<_mv>} {<'usr/bin/rake'> ($ Id.VSub_DollarName '$_majorver')}) ] ) ) (command.ShFunction name: irb body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'The Interactive Ruby'>)} spids: [619] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:replaces) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [625] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [631] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))}) (C {<_mv>} {<'usr/bin/irb'> ($ Id.VSub_DollarName '$_majorver')} {<'usr/lib/ruby/'> ($ Id.VSub_DollarName '$_abiver') <'/irb'> <Id.Lit_Star '*'>} ) ] ) ) (command.ShFunction name: rdoc body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Ruby documentation tool'>)} spids: [667] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <' '> ($ Id.VSub_DollarName '$pkgname') <'-json '> ($ Id.VSub_DollarName '$pkgname') <-io-console> ) } spids: [673] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_mvgem>} {<rdoc>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<_mv>} {<'usr/bin/ri'> ($ Id.VSub_DollarName '$_majorver')} {<'usr/bin/rdoc'> ($ Id.VSub_DollarName '$_majorver')} ) ] ) ) (command.ShFunction name: bigdecimal body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Ruby arbitrary-precision floating point decimal arithmetic'>)} spids: [716] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [722] ) ] ) (C {<_mvgem>} {<bigdecimal>}) ] ) ) (command.ShFunction name: io_console body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Ruby simple console IO library'>)} spids: [743] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [749] ) ] ) (C {<_mvgem>} {<io-console>}) (C {<_mv>} {($ Id.VSub_DollarName '$_rubydir') <'/io'>} {($ Id.VSub_DollarName '$_rubydir') <'/'> ($ Id.VSub_DollarName '$_chost') <'/io/console.so'> } ) ] ) ) (command.ShFunction name: minitest body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Ruby suite of testing facilities'>)} spids: [783] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [789] ) ] ) (C {<_mvgem>} {<minitest>}) ] ) ) (command.ShFunction name: json body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'JSON implementation as a Ruby extension in C'>)} spids: [810] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))} spids: [816] ) ] ) (C {<_mvgem>} {<json>}) ] ) ) (command.ShFunction name: libs body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Libraries necessary to run Ruby'>)} spids: [837] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [843] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr'>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/lib'>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/'>} ) ] ) ) (command.ShFunction name: _mv body: (BraceGroup children: [ (command.Sentence child:(C {<local>} {<i>}) terminator:<Id.Op_Semi _>) (command.ForEach iter_name: i iter_words: [{(DQ ($ Id.VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/'> (braced_var_sub token: <Id.VSub_Name i> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> (${ Id.VSub_Name i)} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/'> (braced_var_sub token: <Id.VSub_Name i> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) ) <'/'> } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) ] ) ) (command.ShFunction name: _mvgem body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))}) (command.Sentence child:(C {<local>} {<path>}) terminator:<Id.Op_Semi _>) (command.ForEach iter_name: path iter_words: [ {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> (${ Id.VSub_Number 1) <.rb>} {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> (${ Id.VSub_Number 1)} {<'./'> ($ Id.VSub_DollarName '$_rubydir') <'/'> ($ Id.VSub_DollarName '$_chost') <'/'> (${ Id.VSub_Number 1) } {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/gems/'> (${ Id.VSub_Number 1) <-> <Id.Lit_Star '*'> } {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/specifications/'> (${ Id.VSub_Number 1) <-> <Id.Lit_Star '*'> } {<'./'> ($ Id.VSub_DollarName '$_gemdir') <'/specifications/default/'> (${ Id.VSub_Number 1) <-> <Id.Lit_Star '*'> } ] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ ($ Id.VSub_DollarName '$pkgdir') <'/'> ($ Id.VSub_DollarName '$path'))} {<Id.Lit_RBracket ']'>} ) (C {<_mv>} {(DQ ($ Id.VSub_DollarName '$path'))}) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < 'aa1c65f76a51a57d9059a38a13a823112b53850a9e7d6f72c3f3e38d381412014521049f7065c1b00877501b3b554235135d0f308045c2a9da133c766f5b9e46 ruby-2.2.8.tar.bz2' > ) } spids: [1069] ) ] ) ] )