(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_gemname) op: assign_op.Equal rhs: {<mocha>} spids: [3] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<ruby-> ($ Id.VSub_DollarName '$_gemname')} spids: [6] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {<1.1.0>} spids: [10] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<1>} spids: [13] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Mocking and stubbing library with JMock/SchMock syntax'>)} spids: [16] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'http://gofreerange.com/mocha/docs'>)} spids: [21] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <noarch>)} spids: [26] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <MIT>)} spids: [31] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ <'ruby ruby-metaclass'>)} spids: [36] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends_dev) op: assign_op.Equal rhs: (word.Empty) spids: [41] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:makedepends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$depends_dev') <' ruby'>)} spids: [43] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install) op: assign_op.Equal rhs: {(DQ )} spids: [49] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: {(DQ )} spids: [53] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ <'http://gems.rubyforge.org/gems/'> ($ Id.VSub_DollarName '$_gemname') <-> ($ Id.VSub_DollarName '$pkgver') <.gem> ) } spids: [57] ) ] ) (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 '$_realname') <-> ($ Id.VSub_DollarName '$pkgver') } spids: [67] ) ] ) (command.ShFunction name: build body: (BraceGroup children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] ) ) (command.ShFunction name: package body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike '_gemdir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ruby>} {<-rubygems>} {<-e> (SQ <'puts Gem.default_dir'>)}) ) ) } ) (C {<local>} {<Id.Lit_VarLike '_geminstdir='> ($ Id.VSub_DollarName '$_gemdir') <'/gems/'> ($ Id.VSub_DollarName '$_gemname') <-> ($ Id.VSub_DollarName '$pkgver') } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<gem>} {<install>} {<--local>} {<--install-dir>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> ($ Id.VSub_DollarName '$_gemdir')} {<--ignore-dependencies>} {<--verbose>} {<--no-rdoc>} {<--no-ri>} {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$_gemname') <-> ($ Id.VSub_DollarName '$pkgver') <.gem> } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> ($ Id.VSub_DollarName '$_gemdir') <'/cache'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> ($ Id.VSub_DollarName '$_geminstdir') <'/ext'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/'> ($ Id.VSub_DollarName '$_geminstdir') <'/.require_paths'> } ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))}) (command.ForEach iter_name: i iter_words: [{<'usr/lib/ruby/gems/'> <Id.Lit_Star '*'> <'/bin/'> <Id.Lit_Star '*'>}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-e>} {(DQ ($ Id.VSub_DollarName '$i'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin'>}) (C {<ln>} {<-s>} {<'/'> ($ Id.VSub_DollarName '$i')} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'>} ) ] spids: [235 248] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:md5sums) op: assign_op.Equal rhs: {(DQ <'191449b906fcffca8526f1203028b8e2 mocha-1.1.0.gem'>)} spids: [282] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha256sums) op: assign_op.Equal rhs: { (DQ < 'f1d3385b5bed21bdcdcb9d26fd10139b2c7a67b1572e789ec014edf5acadf680 mocha-1.1.0.gem' > ) } spids: [287] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < '5a07c8364ae649a6be821c4b61c349d79e1dbf1e574ed95b07848f5dae3a2860e2f2e06499fc15b8352ec2146f273cc40ee8e65e670214f0f0669b6eedf698bb mocha-1.1.0.gem' > ) } spids: [292] ) ] ) ] )