[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [jmadata-users33] software to read GPV (and to convert intoNetCDF)



��Ƿ�������RASC�Ǥ���

> �Ǥ���(1), (2) ��ޤ����󥹥ȡ��뤹��С�(3)��ź�դ��� setup.rb
> ��Ŭ���ʺ�ȥǥ��쥯�ȥ꡼�Ǽ¹Ԥ���Х���������ɡ����󥹥ȡ���
> �Ǥ��ޤ���(2)��NetCDF���縵�� C �Ǥ��������󥹥ȡ���Ǥ��Ƥ����
> ��ʬ�Ǥ����ʤ���(3) ����Ȥϰʲ����̤�Ǥ����Ǹ�Σ��Ĥ�������
> ����ΤǤ���

��®�Ƕ��̤Ǥ���������  setup.rb ���Զ�礬����ޤ����Τǡ�ľ��
�ޤ�������ź�դ��ޤ���
#!/usr/bin/env ruby

URL = { 
   'NArray'=> 'http://www.ir.isas.ac.jp/~masa/ruby/dist/narray-0.5.6p2.tar.gz',
   'RubyNetCDF' => 'http://ruby.gfd-dennou.org/products/ruby-netcdf/ruby-netcdf-0.3.5.tar.gz',
   'MultiBitNums' => 'http://ruby.gfd-dennou.org/products/multibitnums/multibitnums-0.1.1.tar.gz',
   'gpv' =>  'http://ruby.gfd-dennou.org/products/gpv/gpv-0.1.1.tar.gz'
}
TOP = {
   'NArray' => 'narray-0.5.6p2',
   'RubyNetCDF' => 'ruby-netcdf-0.3.5',
   'MultiBitNums' => 'multibitnums-0.1.1',
   'gpv' =>  'gpv-0.1.1'
}
REQUIRE = {
   'NArray' => 'narray',
   'RubyNetCDF' => 'numru/netcdf',
   'MultiBitNums' => 'numru/multibitnums',
   'gpv' => 'numru/gpv'
}
INSTALL = {
   'NArray' => "tar xvzf #{TOP['NArray']}.tar.gz && cd #{TOP['NArray']} && ruby extconf.rb && make  && make site-install",
   'RubyNetCDF' => "tar xvzf #{TOP['RubyNetCDF']}.tar.gz && cd #{TOP['RubyNetCDF']} && ruby extconf.rb && make && make site-install",
   'MultiBitNums' => "tar xvzf #{TOP['MultiBitNums']}.tar.gz && cd #{TOP['MultiBitNums']} && ruby extconf.rb && make && make site-install",
   'gpv' => "tar xvzf #{TOP['gpv']}.tar.gz && cd #{TOP['gpv']} && ruby install.rb"
}

URL.each_key do |soft|
   begin
      print "checking for #{soft}...\n"
      require REQUIRE[soft]
      print " --> found\n"
   rescue LoadError
      print " --> not found. ",
	  "Would you like to Download and install it? (y, n); \n"
      ans = gets()
      if ( ans =~ /^y/ )
	 print "downloading #{URL[soft]} with wget ...\n"
	 stat = system("wget #{URL[soft]}") 
	 raise 'Could not download ' + URL[soft] if (!stat)
	 print "installing #{soft}...\n",INSTALL[soft],"\n"
	 stat = system(INSTALL[soft])
	 raise 'Installation failed: ' + soft if (!stat)
      else
	 raise "You need to install it\n"
      end
   end
end