midilib 2.0.2 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/install.rb CHANGED
@@ -5,53 +5,72 @@
5
5
  # This script installs midilib into the Ruby site-local library directory.
6
6
  #
7
7
  # Author:: Jim Menard (mailto:jim@jimmenard.com)
8
- # Copyright:: Copyright (c) 2003-2012 by Jim Menard
8
+ # Copyright:: Copyright (c) 2003-2013 by Jim Menard
9
9
  # License:: Distributed under the same license as Ruby.
10
10
  #
11
11
 
12
12
  require 'getoptlong'
13
- require 'ftools'
14
13
  require 'find'
14
+ begin
15
+ require 'ftools'
16
+ def mkdirs(dir)
17
+ File.makedirs(dir)
18
+ end
19
+
20
+ def install(*args)
21
+ File.install(*args)
22
+ end
23
+ rescue LoadError
24
+ require 'fileutils'
25
+ def mkdirs(dir)
26
+ FileUtils.mkdir_p(dir)
27
+ end
28
+
29
+ def install(*args)
30
+ args[2] = { mode: args[2], verbose: args[3] }
31
+ args.pop
32
+ FileUtils.install(*args)
33
+ end
34
+ end
15
35
 
16
36
  SOURCE_DIR = 'lib'
17
37
  LIB_DIR = 'midilib'
18
38
  IO_DIR = File.join(LIB_DIR, 'io')
19
39
 
20
40
  def instdir
21
- g = GetoptLong.new(['--install-dir', '-i', GetoptLong::REQUIRED_ARGUMENT])
22
- g.each { | name, arg |
23
- if name == '--install-dir'
24
- return arg
25
- else
26
- $stderr.puts "usage: $0 [--install-dir dir]"
27
- end
28
- }
29
-
30
- begin
31
- require 'rbconfig'
32
- libdir = Config::CONFIG['sitedir'] + "/" +
33
- Config::CONFIG['MAJOR'] + "." +
34
- Config::CONFIG['MINOR']
35
- rescue ScriptError
36
- $LOAD_PATH.each do |l|
37
- if l =~ /site_ruby/ && l =~ /\d$/ && l !~ /#{PLATFORM}/
38
- libdir = l
39
- break
40
- end
41
- end
42
- STDERR.puts "Can't find required file `rbconfig.rb'."
43
- STDERR.puts "The `midilib' files need to be installed manually in" +
44
- " #{libdir}"
41
+ g = GetoptLong.new(['--install-dir', '-i', GetoptLong::REQUIRED_ARGUMENT])
42
+ g.each do |name, arg|
43
+ if name == '--install-dir'
44
+ return arg
45
+ else
46
+ warn 'usage: $0 [--install-dir dir]'
45
47
  end
46
- return libdir
48
+ end
49
+
50
+ begin
51
+ require 'rbconfig'
52
+ libdir = Config::CONFIG['sitedir'] + '/' +
53
+ Config::CONFIG['MAJOR'] + '.' +
54
+ Config::CONFIG['MINOR']
55
+ rescue ScriptError
56
+ $LOAD_PATH.each do |l|
57
+ if l =~ /site_ruby/ && l =~ /\d$/ && l !~ /#{PLATFORM}/
58
+ libdir = l
59
+ break
60
+ end
61
+ end
62
+ warn "Can't find required file `rbconfig.rb'."
63
+ warn "The `midilib' files need to be installed manually in #{libdir}"
64
+ end
65
+ libdir
47
66
  end
48
67
 
49
- INSTALL_DIR = instdir()
68
+ INSTALL_DIR = instdir
50
69
  files = Dir.chdir('lib') { Dir['**/*.rb'] }
51
70
 
52
- files.each { | f |
53
- dir = File.dirname(f)
54
- target_dir = File.join(INSTALL_DIR, dir)
55
- File.makedirs(target_dir) unless File.exist?(target_dir)
56
- File.install(File.join('lib', f), File.join(INSTALL_DIR, f), 0644, true)
57
- }
71
+ files.each do |f|
72
+ dir = File.dirname(f)
73
+ target_dir = File.join(INSTALL_DIR, dir)
74
+ mkdirs(target_dir) unless File.exist?(target_dir)
75
+ install(File.join('lib', f), File.join(INSTALL_DIR, f), 0o644, true)
76
+ end